amazonka-kms-1.4.1: Amazon Key Management Service SDK.

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

Network.AWS.KMS

Contents

Description

AWS Key Management Service

AWS Key Management Service (AWS KMS) is an encryption and key management web service. This guide describes the AWS KMS operations that you can call programmatically. For general information about AWS KMS, see the AWS Key Management Service Developer Guide.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .Net, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWS KMS and other AWS services. For example, the SDKs take care of tasks such as signing requests (see below), managing errors, and retrying requests automatically. For more information about the AWS SDKs, including how to download and install them, see Tools for Amazon Web Services.

We recommend that you use the AWS SDKs to make programmatic API calls to AWS KMS.

Clients must support TLS (Transport Layer Security) 1.0. We recommend TLS 1.2. Clients must also support cipher suites with Perfect Forward Secrecy (PFS) such as Ephemeral Diffie-Hellman (DHE) or Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). Most modern systems such as Java 7 and later support these modes.

Signing Requests

Requests must be signed by using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account access key ID and secret key for everyday work with AWS KMS. Instead, use the access key ID and secret access key for an IAM user, or you can use the AWS Security Token Service to generate temporary security credentials that you can use to sign requests.

All AWS KMS operations require Signature Version 4.

Logging API Requests

AWS KMS supports AWS CloudTrail, a service that logs AWS API calls and related events for your AWS account and delivers them to an Amazon S3 bucket that you specify. By using the information collected by CloudTrail, you can determine what requests were made to AWS KMS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

Additional Resources

For more information about credentials and request signing, see the following:

Commonly Used APIs

Of the APIs discussed in this guide, the following will prove the most useful for most applications. You will likely perform actions other than these, such as creating keys and assigning policies, by using the console.

Synopsis

Service Configuration

kms :: Service Source #

API version '2014-11-01' of the Amazon Key Management Service SDK configuration.

Errors

Error matchers are designed for use with the functions provided by Control.Exception.Lens. This allows catching (and rethrowing) service specific errors returned by KMS.

InvalidMarkerException

_InvalidMarkerException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the marker that specifies where pagination should next begin is not valid.

KMSInvalidStateException

_KMSInvalidStateException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the state of the specified resource is not valid for this request.

For more information about how key state affects the use of a customer master key (CMK), go to How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

InvalidKeyUsageException

_InvalidKeyUsageException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the specified KeySpec parameter is not valid. The currently supported value is ENCRYPT/DECRYPT.

MalformedPolicyDocumentException

_MalformedPolicyDocumentException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the specified policy is not syntactically or semantically correct.

UnsupportedOperationException

_UnsupportedOperationException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because a specified parameter is not supported.

DisabledException

_DisabledException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the specified key was marked as disabled.

KeyUnavailableException

_KeyUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the key was not available. The request can be retried.

KMSInternalException

_KMSInternalException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because an internal exception occurred. The request can be retried.

NotFoundException

_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the specified entity or resource could not be found.

InvalidAliasNameException

_InvalidAliasNameException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the specified alias name is not valid.

InvalidGrantIdException

_InvalidGrantIdException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the specified GrantId is not valid.

InvalidGrantTokenException

_InvalidGrantTokenException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because a grant token provided as part of the request is invalid.

InvalidARNException

_InvalidARNException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because a specified ARN was not valid.

DependencyTimeoutException

_DependencyTimeoutException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The system timed out while trying to fulfill the request. The request can be retried.

InvalidCiphertextException

_InvalidCiphertextException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because the specified ciphertext has been corrupted or is otherwise invalid.

AlreadyExistsException

_AlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because it attempted to create a resource that already exists.

LimitExceededException

_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source #

The request was rejected because a limit was exceeded. For more information, see Limits in the AWS Key Management Service Developer Guide.

Waiters

Waiters poll by repeatedly sending a request until some remote success condition configured by the Wait specification is fulfilled. The Wait specification determines how many attempts should be made, in addition to delay and retry strategies.

Operations

Some AWS operations return results that are incomplete and require subsequent requests in order to obtain the entire result set. The process of sending subsequent requests to continue where a previous request left off is called pagination. For example, the ListObjects operation of Amazon S3 returns up to 1000 objects at a time, and you must send subsequent requests with the appropriate Marker in order to retrieve the next page of results.

Operations that have an AWSPager instance can transparently perform subsequent requests, correctly setting Markers and other request facets to iterate through the entire result set of a truncated API operation. Operations which support this have an additional note in the documentation.

Many operations have the ability to filter results on the server side. See the individual operation parameters for details.

Encrypt

ListGrants (Paginated)

DisableKeyRotation

GenerateDataKeyWithoutPlaintext

EnableKeyRotation

CreateAlias

CreateGrant

ListAliases (Paginated)

ListRetirableGrants

GenerateRandom

CreateKey

DisableKey

RetireGrant

ListKeys (Paginated)

GetKeyRotationStatus

GenerateDataKey

DeleteAlias

UpdateAlias

DescribeKey

CancelKeyDeletion

Decrypt

UpdateKeyDescription

ReEncrypt

ListKeyPolicies (Paginated)

ScheduleKeyDeletion

PutKeyPolicy

EnableKey

RevokeGrant

GetKeyPolicy

Types

DataKeySpec

data DataKeySpec Source #

Constructors

AES128 
AES256 

Instances

Bounded DataKeySpec Source # 
Enum DataKeySpec Source # 
Eq DataKeySpec Source # 
Data DataKeySpec Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> DataKeySpec -> c DataKeySpec #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c DataKeySpec #

toConstr :: DataKeySpec -> Constr #

dataTypeOf :: DataKeySpec -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c DataKeySpec) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c DataKeySpec) #

gmapT :: (forall b. Data b => b -> b) -> DataKeySpec -> DataKeySpec #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> DataKeySpec -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> DataKeySpec -> r #

gmapQ :: (forall d. Data d => d -> u) -> DataKeySpec -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> DataKeySpec -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> DataKeySpec -> m DataKeySpec #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> DataKeySpec -> m DataKeySpec #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> DataKeySpec -> m DataKeySpec #

Ord DataKeySpec Source # 
Read DataKeySpec Source # 
Show DataKeySpec Source # 
Generic DataKeySpec Source # 

Associated Types

type Rep DataKeySpec :: * -> * #

Hashable DataKeySpec Source # 
ToJSON DataKeySpec Source # 
NFData DataKeySpec Source # 

Methods

rnf :: DataKeySpec -> () #

ToQuery DataKeySpec Source # 
ToHeader DataKeySpec Source # 
ToByteString DataKeySpec Source # 
FromText DataKeySpec Source # 
ToText DataKeySpec Source # 

Methods

toText :: DataKeySpec -> Text #

type Rep DataKeySpec Source # 
type Rep DataKeySpec = D1 (MetaData "DataKeySpec" "Network.AWS.KMS.Types.Sum" "amazonka-kms-1.4.1-GF628EecSPSCenC7tCeKjK" False) ((:+:) (C1 (MetaCons "AES128" PrefixI False) U1) (C1 (MetaCons "AES256" PrefixI False) U1))

GrantOperation

data GrantOperation Source #

Instances

Bounded GrantOperation Source # 
Enum GrantOperation Source # 
Eq GrantOperation Source # 
Data GrantOperation Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GrantOperation -> c GrantOperation #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GrantOperation #

toConstr :: GrantOperation -> Constr #

dataTypeOf :: GrantOperation -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c GrantOperation) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GrantOperation) #

gmapT :: (forall b. Data b => b -> b) -> GrantOperation -> GrantOperation #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GrantOperation -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GrantOperation -> r #

gmapQ :: (forall d. Data d => d -> u) -> GrantOperation -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GrantOperation -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GrantOperation -> m GrantOperation #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GrantOperation -> m GrantOperation #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GrantOperation -> m GrantOperation #

Ord GrantOperation Source # 
Read GrantOperation Source # 
Show GrantOperation Source # 
Generic GrantOperation Source # 

Associated Types

type Rep GrantOperation :: * -> * #

Hashable GrantOperation Source # 
ToJSON GrantOperation Source # 
FromJSON GrantOperation Source # 
NFData GrantOperation Source # 

Methods

rnf :: GrantOperation -> () #

ToQuery GrantOperation Source # 
ToHeader GrantOperation Source # 
ToByteString GrantOperation Source # 
FromText GrantOperation Source # 
ToText GrantOperation Source # 
type Rep GrantOperation Source # 
type Rep GrantOperation = D1 (MetaData "GrantOperation" "Network.AWS.KMS.Types.Sum" "amazonka-kms-1.4.1-GF628EecSPSCenC7tCeKjK" False) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "CreateGrant" PrefixI False) U1) (C1 (MetaCons "Decrypt" PrefixI False) U1)) ((:+:) (C1 (MetaCons "DescribeKey" PrefixI False) U1) (C1 (MetaCons "Encrypt" PrefixI False) U1))) ((:+:) ((:+:) (C1 (MetaCons "GenerateDataKey" PrefixI False) U1) (C1 (MetaCons "GenerateDataKeyWithoutPlaintext" PrefixI False) U1)) ((:+:) (C1 (MetaCons "ReEncryptFrom" PrefixI False) U1) ((:+:) (C1 (MetaCons "ReEncryptTo" PrefixI False) U1) (C1 (MetaCons "RetireGrant" PrefixI False) U1)))))

KeyState

data KeyState Source #

Instances

Bounded KeyState Source # 
Enum KeyState Source # 
Eq KeyState Source # 
Data KeyState Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KeyState -> c KeyState #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KeyState #

toConstr :: KeyState -> Constr #

dataTypeOf :: KeyState -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c KeyState) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeyState) #

gmapT :: (forall b. Data b => b -> b) -> KeyState -> KeyState #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KeyState -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KeyState -> r #

gmapQ :: (forall d. Data d => d -> u) -> KeyState -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KeyState -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KeyState -> m KeyState #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyState -> m KeyState #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyState -> m KeyState #

Ord KeyState Source # 
Read KeyState Source # 
Show KeyState Source # 
Generic KeyState Source # 

Associated Types

type Rep KeyState :: * -> * #

Methods

from :: KeyState -> Rep KeyState x #

to :: Rep KeyState x -> KeyState #

Hashable KeyState Source # 

Methods

hashWithSalt :: Int -> KeyState -> Int #

hash :: KeyState -> Int #

FromJSON KeyState Source # 
NFData KeyState Source # 

Methods

rnf :: KeyState -> () #

ToQuery KeyState Source # 
ToHeader KeyState Source # 

Methods

toHeader :: HeaderName -> KeyState -> [Header] #

ToByteString KeyState Source # 

Methods

toBS :: KeyState -> ByteString #

FromText KeyState Source # 
ToText KeyState Source # 

Methods

toText :: KeyState -> Text #

type Rep KeyState Source # 
type Rep KeyState = D1 (MetaData "KeyState" "Network.AWS.KMS.Types.Sum" "amazonka-kms-1.4.1-GF628EecSPSCenC7tCeKjK" False) ((:+:) (C1 (MetaCons "Disabled" PrefixI False) U1) ((:+:) (C1 (MetaCons "Enabled" PrefixI False) U1) (C1 (MetaCons "PendingDeletion" PrefixI False) U1)))

KeyUsageType

data KeyUsageType Source #

Constructors

EncryptDecrypt 

Instances

Bounded KeyUsageType Source # 
Enum KeyUsageType Source # 
Eq KeyUsageType Source # 
Data KeyUsageType Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KeyUsageType -> c KeyUsageType #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KeyUsageType #

toConstr :: KeyUsageType -> Constr #

dataTypeOf :: KeyUsageType -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c KeyUsageType) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeyUsageType) #

gmapT :: (forall b. Data b => b -> b) -> KeyUsageType -> KeyUsageType #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KeyUsageType -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KeyUsageType -> r #

gmapQ :: (forall d. Data d => d -> u) -> KeyUsageType -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KeyUsageType -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KeyUsageType -> m KeyUsageType #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyUsageType -> m KeyUsageType #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyUsageType -> m KeyUsageType #

Ord KeyUsageType Source # 
Read KeyUsageType Source # 
Show KeyUsageType Source # 
Generic KeyUsageType Source # 

Associated Types

type Rep KeyUsageType :: * -> * #

Hashable KeyUsageType Source # 
ToJSON KeyUsageType Source # 
FromJSON KeyUsageType Source # 
NFData KeyUsageType Source # 

Methods

rnf :: KeyUsageType -> () #

ToQuery KeyUsageType Source # 
ToHeader KeyUsageType Source # 
ToByteString KeyUsageType Source # 
FromText KeyUsageType Source # 
ToText KeyUsageType Source # 

Methods

toText :: KeyUsageType -> Text #

type Rep KeyUsageType Source # 
type Rep KeyUsageType = D1 (MetaData "KeyUsageType" "Network.AWS.KMS.Types.Sum" "amazonka-kms-1.4.1-GF628EecSPSCenC7tCeKjK" False) (C1 (MetaCons "EncryptDecrypt" PrefixI False) U1)

AliasListEntry

data AliasListEntry Source #

Contains information about an alias.

See: aliasListEntry smart constructor.

Instances

Eq AliasListEntry Source # 
Data AliasListEntry Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AliasListEntry -> c AliasListEntry #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c AliasListEntry #

toConstr :: AliasListEntry -> Constr #

dataTypeOf :: AliasListEntry -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c AliasListEntry) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c AliasListEntry) #

gmapT :: (forall b. Data b => b -> b) -> AliasListEntry -> AliasListEntry #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AliasListEntry -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AliasListEntry -> r #

gmapQ :: (forall d. Data d => d -> u) -> AliasListEntry -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AliasListEntry -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AliasListEntry -> m AliasListEntry #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AliasListEntry -> m AliasListEntry #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AliasListEntry -> m AliasListEntry #

Read AliasListEntry Source # 
Show AliasListEntry Source # 
Generic AliasListEntry Source # 

Associated Types

type Rep AliasListEntry :: * -> * #

Hashable AliasListEntry Source # 
FromJSON AliasListEntry Source # 
NFData AliasListEntry Source # 

Methods

rnf :: AliasListEntry -> () #

type Rep AliasListEntry Source # 
type Rep AliasListEntry = D1 (MetaData "AliasListEntry" "Network.AWS.KMS.Types.Product" "amazonka-kms-1.4.1-GF628EecSPSCenC7tCeKjK" False) (C1 (MetaCons "AliasListEntry'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_aleTargetKeyId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) ((:*:) (S1 (MetaSel (Just Symbol "_aleAliasName") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_aleAliasARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))))))

aliasListEntry :: AliasListEntry Source #

Creates a value of AliasListEntry with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

aleTargetKeyId :: Lens' AliasListEntry (Maybe Text) Source #

String that contains the key identifier pointed to by the alias.

aleAliasName :: Lens' AliasListEntry (Maybe Text) Source #

String that contains the alias.

aleAliasARN :: Lens' AliasListEntry (Maybe Text) Source #

String that contains the key ARN.

GrantConstraints

data GrantConstraints Source #

A structure for specifying the conditions under which the operations permitted by the grant are allowed.

You can use this structure to allow the operations permitted by the grant only when a specified encryption context is present. For more information about encryption context, see Encryption Context in the AWS Key Management Service Developer Guide.

See: grantConstraints smart constructor.

Instances

Eq GrantConstraints Source # 
Data GrantConstraints Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GrantConstraints -> c GrantConstraints #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GrantConstraints #

toConstr :: GrantConstraints -> Constr #

dataTypeOf :: GrantConstraints -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c GrantConstraints) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GrantConstraints) #

gmapT :: (forall b. Data b => b -> b) -> GrantConstraints -> GrantConstraints #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GrantConstraints -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GrantConstraints -> r #

gmapQ :: (forall d. Data d => d -> u) -> GrantConstraints -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GrantConstraints -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GrantConstraints -> m GrantConstraints #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GrantConstraints -> m GrantConstraints #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GrantConstraints -> m GrantConstraints #

Read GrantConstraints Source # 
Show GrantConstraints Source # 
Generic GrantConstraints Source # 
Hashable GrantConstraints Source # 
ToJSON GrantConstraints Source # 
FromJSON GrantConstraints Source # 
NFData GrantConstraints Source # 

Methods

rnf :: GrantConstraints -> () #

type Rep GrantConstraints Source # 
type Rep GrantConstraints = D1 (MetaData "GrantConstraints" "Network.AWS.KMS.Types.Product" "amazonka-kms-1.4.1-GF628EecSPSCenC7tCeKjK" False) (C1 (MetaCons "GrantConstraints'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_gcEncryptionContextEquals") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe (Map Text Text)))) (S1 (MetaSel (Just Symbol "_gcEncryptionContextSubset") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe (Map Text Text))))))

grantConstraints :: GrantConstraints Source #

Creates a value of GrantConstraints with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

gcEncryptionContextEquals :: Lens' GrantConstraints (HashMap Text Text) Source #

Contains a list of key-value pairs that must be present in the encryption context of a subsequent operation permitted by the grant. When a subsequent operation permitted by the grant includes an encryption context that matches this list, the grant allows the operation. Otherwise, the operation is not allowed.

gcEncryptionContextSubset :: Lens' GrantConstraints (HashMap Text Text) Source #

Contains a list of key-value pairs, a subset of which must be present in the encryption context of a subsequent operation permitted by the grant. When a subsequent operation permitted by the grant includes an encryption context that matches this list or is a subset of this list, the grant allows the operation. Otherwise, the operation is not allowed.

GrantListEntry

data GrantListEntry Source #

Contains information about an entry in a list of grants.

See: grantListEntry smart constructor.

Instances

Eq GrantListEntry Source # 
Data GrantListEntry Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GrantListEntry -> c GrantListEntry #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GrantListEntry #

toConstr :: GrantListEntry -> Constr #

dataTypeOf :: GrantListEntry -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c GrantListEntry) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GrantListEntry) #

gmapT :: (forall b. Data b => b -> b) -> GrantListEntry -> GrantListEntry #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GrantListEntry -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GrantListEntry -> r #

gmapQ :: (forall d. Data d => d -> u) -> GrantListEntry -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GrantListEntry -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GrantListEntry -> m GrantListEntry #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GrantListEntry -> m GrantListEntry #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GrantListEntry -> m GrantListEntry #

Read GrantListEntry Source # 
Show GrantListEntry Source # 
Generic GrantListEntry Source # 

Associated Types

type Rep GrantListEntry :: * -> * #

Hashable GrantListEntry Source # 
FromJSON GrantListEntry Source # 
NFData GrantListEntry Source # 

Methods

rnf :: GrantListEntry -> () #

type Rep GrantListEntry Source # 

grantListEntry :: GrantListEntry Source #

Creates a value of GrantListEntry with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

gleKeyId :: Lens' GrantListEntry (Maybe Text) Source #

The unique identifier for the customer master key (CMK) to which the grant applies.

gleRetiringPrincipal :: Lens' GrantListEntry (Maybe Text) Source #

The principal that can retire the grant.

gleIssuingAccount :: Lens' GrantListEntry (Maybe Text) Source #

The AWS account under which the grant was issued.

gleGrantId :: Lens' GrantListEntry (Maybe Text) Source #

The unique identifier for the grant.

gleConstraints :: Lens' GrantListEntry (Maybe GrantConstraints) Source #

The conditions under which the grant's operations are allowed.

gleGranteePrincipal :: Lens' GrantListEntry (Maybe Text) Source #

The principal that receives the grant's permissions.

gleName :: Lens' GrantListEntry (Maybe Text) Source #

The friendly name that identifies the grant. If a name was provided in the CreateGrant request, that name is returned. Otherwise this value is null.

gleCreationDate :: Lens' GrantListEntry (Maybe UTCTime) Source #

The date and time when the grant was created.

gleOperations :: Lens' GrantListEntry [GrantOperation] Source #

The list of operations permitted by the grant.

KeyListEntry

data KeyListEntry Source #

Contains information about each entry in the key list.

See: keyListEntry smart constructor.

Instances

Eq KeyListEntry Source # 
Data KeyListEntry Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KeyListEntry -> c KeyListEntry #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KeyListEntry #

toConstr :: KeyListEntry -> Constr #

dataTypeOf :: KeyListEntry -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c KeyListEntry) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeyListEntry) #

gmapT :: (forall b. Data b => b -> b) -> KeyListEntry -> KeyListEntry #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KeyListEntry -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KeyListEntry -> r #

gmapQ :: (forall d. Data d => d -> u) -> KeyListEntry -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KeyListEntry -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KeyListEntry -> m KeyListEntry #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyListEntry -> m KeyListEntry #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyListEntry -> m KeyListEntry #

Read KeyListEntry Source # 
Show KeyListEntry Source # 
Generic KeyListEntry Source # 

Associated Types

type Rep KeyListEntry :: * -> * #

Hashable KeyListEntry Source # 
FromJSON KeyListEntry Source # 
NFData KeyListEntry Source # 

Methods

rnf :: KeyListEntry -> () #

type Rep KeyListEntry Source # 
type Rep KeyListEntry = D1 (MetaData "KeyListEntry" "Network.AWS.KMS.Types.Product" "amazonka-kms-1.4.1-GF628EecSPSCenC7tCeKjK" False) (C1 (MetaCons "KeyListEntry'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_kleKeyId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))) (S1 (MetaSel (Just Symbol "_kleKeyARN") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text)))))

keyListEntry :: KeyListEntry Source #

Creates a value of KeyListEntry with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

kleKeyId :: Lens' KeyListEntry (Maybe Text) Source #

Unique identifier of the key.

KeyMetadata

data KeyMetadata Source #

Contains metadata about a customer master key (CMK).

This data type is used as a response element for the CreateKey and DescribeKey operations.

See: keyMetadata smart constructor.

Instances

Eq KeyMetadata Source # 
Data KeyMetadata Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> KeyMetadata -> c KeyMetadata #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c KeyMetadata #

toConstr :: KeyMetadata -> Constr #

dataTypeOf :: KeyMetadata -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c KeyMetadata) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c KeyMetadata) #

gmapT :: (forall b. Data b => b -> b) -> KeyMetadata -> KeyMetadata #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> KeyMetadata -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> KeyMetadata -> r #

gmapQ :: (forall d. Data d => d -> u) -> KeyMetadata -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> KeyMetadata -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> KeyMetadata -> m KeyMetadata #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyMetadata -> m KeyMetadata #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> KeyMetadata -> m KeyMetadata #

Read KeyMetadata Source # 
Show KeyMetadata Source # 
Generic KeyMetadata Source # 

Associated Types

type Rep KeyMetadata :: * -> * #

Hashable KeyMetadata Source # 
FromJSON KeyMetadata Source # 
NFData KeyMetadata Source # 

Methods

rnf :: KeyMetadata -> () #

type Rep KeyMetadata Source # 

keyMetadata Source #

Arguments

:: Text

kmKeyId

-> KeyMetadata 

Creates a value of KeyMetadata with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

kmEnabled :: Lens' KeyMetadata (Maybe Bool) Source #

Specifies whether the key is enabled. When KeyState is Enabled this value is true, otherwise it is false.

kmARN :: Lens' KeyMetadata (Maybe Text) Source #

The Amazon Resource Name (ARN) of the key. For examples, see AWS Key Management Service (AWS KMS) in the Example ARNs section of the AWS General Reference.

kmKeyState :: Lens' KeyMetadata (Maybe KeyState) Source #

The state of the customer master key (CMK).

For more information about how key state affects the use of a CMK, go to How Key State Affects the Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

kmAWSAccountId :: Lens' KeyMetadata (Maybe Text) Source #

The twelve-digit account ID of the AWS account that owns the key.

kmKeyUsage :: Lens' KeyMetadata (Maybe KeyUsageType) Source #

The cryptographic operations for which you can use the key. Currently the only allowed value is ENCRYPT_DECRYPT, which means you can use the key for the Encrypt and Decrypt operations.

kmCreationDate :: Lens' KeyMetadata (Maybe UTCTime) Source #

The date and time when the key was created.

kmDeletionDate :: Lens' KeyMetadata (Maybe UTCTime) Source #

The date and time after which AWS KMS deletes the customer master key (CMK). This value is present only when KeyState is PendingDeletion, otherwise this value is null.

kmDescription :: Lens' KeyMetadata (Maybe Text) Source #

The friendly description of the key.

kmKeyId :: Lens' KeyMetadata Text Source #

The globally unique identifier for the key.

ListGrantsResponse

data ListGrantsResponse Source #

See: listGrantsResponse smart constructor.

Instances

Eq ListGrantsResponse Source # 
Data ListGrantsResponse Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ListGrantsResponse -> c ListGrantsResponse #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ListGrantsResponse #

toConstr :: ListGrantsResponse -> Constr #

dataTypeOf :: ListGrantsResponse -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ListGrantsResponse) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ListGrantsResponse) #

gmapT :: (forall b. Data b => b -> b) -> ListGrantsResponse -> ListGrantsResponse #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ListGrantsResponse -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ListGrantsResponse -> r #

gmapQ :: (forall d. Data d => d -> u) -> ListGrantsResponse -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ListGrantsResponse -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ListGrantsResponse -> m ListGrantsResponse #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ListGrantsResponse -> m ListGrantsResponse #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ListGrantsResponse -> m ListGrantsResponse #

Read ListGrantsResponse Source # 
Show ListGrantsResponse Source # 
Generic ListGrantsResponse Source # 
Hashable ListGrantsResponse Source # 
FromJSON ListGrantsResponse Source # 
NFData ListGrantsResponse Source # 

Methods

rnf :: ListGrantsResponse -> () #

type Rep ListGrantsResponse Source # 
type Rep ListGrantsResponse = D1 (MetaData "ListGrantsResponse" "Network.AWS.KMS.Types.Product" "amazonka-kms-1.4.1-GF628EecSPSCenC7tCeKjK" False) (C1 (MetaCons "ListGrantsResponse'" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_lgTruncated") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Bool))) ((:*:) (S1 (MetaSel (Just Symbol "_lgGrants") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe [GrantListEntry]))) (S1 (MetaSel (Just Symbol "_lgNextMarker") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Text))))))

listGrantsResponse :: ListGrantsResponse Source #

Creates a value of ListGrantsResponse with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

lgTruncated :: Lens' ListGrantsResponse (Maybe Bool) Source #

A flag that indicates whether there are more items in the list. If your results were truncated, you can use the Marker parameter to make a subsequent pagination request to retrieve more items in the list.

lgNextMarker :: Lens' ListGrantsResponse (Maybe Text) Source #

When Truncated is true, this value is present and contains the value to use for the Marker parameter in a subsequent pagination request.