Safe Haskell | None |
---|---|
Language | Haskell2010 |
Aws
Synopsis
- data LogLevel
- type Logger = LogLevel -> Text -> IO ()
- defaultLog :: LogLevel -> Logger
- data Configuration = Configuration {
- timeInfo :: TimeInfo
- credentials :: Credentials
- logger :: Logger
- proxy :: Maybe Proxy
- baseConfiguration :: MonadIO io => io Configuration
- dbgConfiguration :: MonadIO io => io Configuration
- aws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)
- awsRef :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a
- pureAws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a
- simpleAws :: (Transaction r a, AsMemoryResponse a, MonadIO io) => Configuration -> ServiceConfiguration r NormalQuery -> r -> io (MemoryResponse a)
- unsafeAws :: (ResponseConsumer r a, Loggable (ResponseMetadata a), SignQuery r) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)
- unsafeAwsRef :: (ResponseConsumer r a, SignQuery r) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a
- awsUri :: (SignQuery request, MonadIO io) => Configuration -> ServiceConfiguration request UriOnlyQuery -> request -> io ByteString
- awsIteratedSource :: IteratedTransaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> forall i. ConduitT i (Response (ResponseMetadata a) a) (ResourceT IO) ()
- awsIteratedList :: (IteratedTransaction r a, ListResponse a i) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> forall j. ConduitT j i (ResourceT IO) ()
- type HTTPResponseConsumer a = Response (ConduitM () ByteString (ResourceT IO) ()) -> ResourceT IO a
- data Response m a = Response {}
- readResponse :: MonadThrow n => Response m a -> n a
- readResponseIO :: MonadIO io => Response m a -> io a
- type family ResponseMetadata resp
- class AsMemoryResponse resp where
- type MemoryResponse resp
- loadToMemory :: resp -> ResourceT IO (MemoryResponse resp)
- newtype XmlException = XmlException {}
- newtype HeaderException = HeaderException {}
- newtype FormException = FormException {}
- type family ServiceConfiguration request :: Type -> Type
- class DefaultServiceConfiguration config where
- defServiceConfig :: config
- debugServiceConfig :: config
- data NormalQuery
- data UriOnlyQuery
- data TimeInfo
- class (SignQuery r, ResponseConsumer r a, Loggable (ResponseMetadata a)) => Transaction r a | r -> a
- class Transaction r a => IteratedTransaction r a | r -> a
- data Credentials = Credentials {
- accessKeyID :: ByteString
- secretAccessKey :: ByteString
- v4SigningKeys :: IORef [V4Key]
- iamToken :: Maybe ByteString
- isAnonymousCredentials :: Bool
- makeCredentials :: MonadIO io => ByteString -> ByteString -> io Credentials
- credentialsDefaultFile :: MonadIO io => io (Maybe FilePath)
- credentialsDefaultKey :: Text
- loadCredentialsFromFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)
- loadCredentialsFromEnv :: MonadIO io => io (Maybe Credentials)
- loadCredentialsFromInstanceMetadata :: MonadIO io => io (Maybe Credentials)
- loadCredentialsFromEnvOrFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)
- loadCredentialsFromEnvOrFileOrInstanceMetadata :: MonadIO io => FilePath -> Text -> io (Maybe Credentials)
- loadCredentialsDefault :: MonadIO io => io (Maybe Credentials)
- anonymousCredentials :: MonadIO io => io Credentials
Logging
The severity of a log message, in rising order.
type Logger = LogLevel -> Text -> IO () #
The interface for any logging function. Takes log level and a log message, and can perform an arbitrary IO action.
defaultLog :: LogLevel -> Logger #
The default logger defaultLog minLevel
, which prints log messages above level minLevel
to stderr
.
Configuration
data Configuration #
The configuration for an AWS request. You can use multiple configurations in parallel, even over the same HTTP connection manager.
Constructors
Configuration | |
Fields
|
baseConfiguration :: MonadIO io => io Configuration #
The default configuration, with credentials loaded from environment variable or configuration file
(see loadCredentialsDefault
).
dbgConfiguration :: MonadIO io => io Configuration #
Debug configuration, which logs much more verbosely.
Transaction runners
Safe runners
aws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a) #
awsRef :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a #
pureAws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a #
simpleAws :: (Transaction r a, AsMemoryResponse a, MonadIO io) => Configuration -> ServiceConfiguration r NormalQuery -> r -> io (MemoryResponse a) #
Unsafe runners
unsafeAws :: (ResponseConsumer r a, Loggable (ResponseMetadata a), SignQuery r) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a) #
Run an AWS transaction, without enforcing that response and request type form a valid transaction pair.
This is especially useful for debugging and development, you should not have to use it in production.
All errors are caught and wrapped in the Response
value.
Metadata is wrapped in the Response, and also logged at level Info
.
unsafeAwsRef :: (ResponseConsumer r a, SignQuery r) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a #
Run an AWS transaction, without enforcing that response and request type form a valid transaction pair.
This is especially useful for debugging and development, you should not have to use it in production.
Errors are not caught, and need to be handled with exception handlers.
Metadata is put in the IORef
, but not logged.
URI runners
awsUri :: (SignQuery request, MonadIO io) => Configuration -> ServiceConfiguration request UriOnlyQuery -> request -> io ByteString #
Run a URI-only AWS transaction. Returns a URI that can be sent anywhere. Does not work with all requests.
Usage:
uri <- awsUri cfg request
Iterated runners
awsIteratedSource :: IteratedTransaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> forall i. ConduitT i (Response (ResponseMetadata a) a) (ResourceT IO) () #
awsIteratedList :: (IteratedTransaction r a, ListResponse a i) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> forall j. ConduitT j i (ResourceT IO) () #
Response
Full HTTP response
type HTTPResponseConsumer a = Response (ConduitM () ByteString (ResourceT IO) ()) -> ResourceT IO a #
A full HTTP response parser. Takes HTTP status, response headers, and response body.
Metadata in responses
A response with metadata. Can also contain an error response, or
an internal error, via Attempt
.
Response forms a Writer-like monad.
Constructors
Response | |
Fields
|
readResponse :: MonadThrow n => Response m a -> n a #
Read a response result (if it's a success response, fail otherwise).
readResponseIO :: MonadIO io => Response m a -> io a #
Read a response result (if it's a success response, fail otherwise). In MonadIO.
type family ResponseMetadata resp #
Metadata associated with a response. Typically there is one metadata type for each AWS service.
Instances
Memory responses
class AsMemoryResponse resp where #
Class for responses that are fully loaded into memory
Associated Types
type MemoryResponse resp #
Methods
loadToMemory :: resp -> ResourceT IO (MemoryResponse resp) #
Instances
Exception types
newtype XmlException #
An error that occurred during XML parsing / validation.
Constructors
XmlException | |
Fields |
Instances
Exception XmlException # | |
Defined in Aws.Core Methods toException :: XmlException -> SomeException # fromException :: SomeException -> Maybe XmlException # displayException :: XmlException -> String # | |
Show XmlException # | |
Defined in Aws.Core Methods showsPrec :: Int -> XmlException -> ShowS # show :: XmlException -> String # showList :: [XmlException] -> ShowS # |
newtype HeaderException #
An error that occurred during header parsing / validation.
Constructors
HeaderException | |
Fields |
Instances
Exception HeaderException # | |
Defined in Aws.Core Methods toException :: HeaderException -> SomeException # | |
Show HeaderException # | |
Defined in Aws.Core Methods showsPrec :: Int -> HeaderException -> ShowS # show :: HeaderException -> String # showList :: [HeaderException] -> ShowS # |
newtype FormException #
An error that occurred during form parsing / validation.
Constructors
FormException | |
Fields |
Instances
Exception FormException # | |
Defined in Aws.Core Methods toException :: FormException -> SomeException # fromException :: SomeException -> Maybe FormException # displayException :: FormException -> String # | |
Show FormException # | |
Defined in Aws.Core Methods showsPrec :: Int -> FormException -> ShowS # show :: FormException -> String # showList :: [FormException] -> ShowS # |
Query
Service configuration
type family ServiceConfiguration request :: Type -> Type #
Additional information, like API endpoints and service-specific preferences.
Instances
type ServiceConfiguration BatchGetItem # | |
Defined in Aws.DynamoDb.Commands.BatchGetItem | |
type ServiceConfiguration BatchWriteItem # | |
type ServiceConfiguration DeleteItem # | |
Defined in Aws.DynamoDb.Commands.DeleteItem | |
type ServiceConfiguration GetItem # | |
Defined in Aws.DynamoDb.Commands.GetItem | |
type ServiceConfiguration PutItem # | |
Defined in Aws.DynamoDb.Commands.PutItem | |
type ServiceConfiguration Query # | |
Defined in Aws.DynamoDb.Commands.Query | |
type ServiceConfiguration Scan # | |
Defined in Aws.DynamoDb.Commands.Scan | |
type ServiceConfiguration CreateTable # | |
Defined in Aws.DynamoDb.Commands.Table | |
type ServiceConfiguration DeleteTable # | |
Defined in Aws.DynamoDb.Commands.Table | |
type ServiceConfiguration DescribeTable # | |
Defined in Aws.DynamoDb.Commands.Table | |
type ServiceConfiguration ListTables # | |
Defined in Aws.DynamoDb.Commands.Table | |
type ServiceConfiguration UpdateTable # | |
Defined in Aws.DynamoDb.Commands.Table | |
type ServiceConfiguration UpdateItem # | |
Defined in Aws.DynamoDb.Commands.UpdateItem | |
type ServiceConfiguration AddUserToGroup # | |
Defined in Aws.Iam.Commands.AddUserToGroup | |
type ServiceConfiguration CreateAccessKey # | |
Defined in Aws.Iam.Commands.CreateAccessKey | |
type ServiceConfiguration CreateGroup # | |
Defined in Aws.Iam.Commands.CreateGroup | |
type ServiceConfiguration CreateUser # | |
Defined in Aws.Iam.Commands.CreateUser | |
type ServiceConfiguration DeleteAccessKey # | |
Defined in Aws.Iam.Commands.DeleteAccessKey | |
type ServiceConfiguration DeleteGroup # | |
Defined in Aws.Iam.Commands.DeleteGroup | |
type ServiceConfiguration DeleteGroupPolicy # | |
type ServiceConfiguration DeleteUser # | |
Defined in Aws.Iam.Commands.DeleteUser | |
type ServiceConfiguration DeleteUserPolicy # | |
type ServiceConfiguration GetGroupPolicy # | |
Defined in Aws.Iam.Commands.GetGroupPolicy | |
type ServiceConfiguration GetUser # | |
Defined in Aws.Iam.Commands.GetUser | |
type ServiceConfiguration GetUserPolicy # | |
Defined in Aws.Iam.Commands.GetUserPolicy | |
type ServiceConfiguration ListAccessKeys # | |
Defined in Aws.Iam.Commands.ListAccessKeys | |
type ServiceConfiguration ListGroupPolicies # | |
type ServiceConfiguration ListGroups # | |
Defined in Aws.Iam.Commands.ListGroups | |
type ServiceConfiguration ListMfaDevices # | |
Defined in Aws.Iam.Commands.ListMfaDevices | |
type ServiceConfiguration ListUserPolicies # | |
type ServiceConfiguration ListUsers # | |
Defined in Aws.Iam.Commands.ListUsers | |
type ServiceConfiguration PutGroupPolicy # | |
Defined in Aws.Iam.Commands.PutGroupPolicy | |
type ServiceConfiguration PutUserPolicy # | |
Defined in Aws.Iam.Commands.PutUserPolicy | |
type ServiceConfiguration RemoveUserFromGroup # | |
type ServiceConfiguration UpdateAccessKey # | |
Defined in Aws.Iam.Commands.UpdateAccessKey | |
type ServiceConfiguration UpdateGroup # | |
Defined in Aws.Iam.Commands.UpdateGroup | |
type ServiceConfiguration UpdateUser # | |
Defined in Aws.Iam.Commands.UpdateUser | |
type ServiceConfiguration CopyObject # | |
Defined in Aws.S3.Commands.CopyObject | |
type ServiceConfiguration DeleteBucket # | |
Defined in Aws.S3.Commands.DeleteBucket | |
type ServiceConfiguration DeleteObject # | |
Defined in Aws.S3.Commands.DeleteObject | |
type ServiceConfiguration DeleteObjectVersion # | |
type ServiceConfiguration DeleteObjects # | |
Defined in Aws.S3.Commands.DeleteObjects | |
type ServiceConfiguration GetBucket # | |
Defined in Aws.S3.Commands.GetBucket | |
type ServiceConfiguration GetBucketLocation # | |
type ServiceConfiguration GetBucketObjectVersions # | |
type ServiceConfiguration GetObject # | |
Defined in Aws.S3.Commands.GetObject | |
type ServiceConfiguration GetService # | |
Defined in Aws.S3.Commands.GetService | |
type ServiceConfiguration HeadObject # | |
Defined in Aws.S3.Commands.HeadObject | |
type ServiceConfiguration AbortMultipartUpload # | |
Defined in Aws.S3.Commands.Multipart | |
type ServiceConfiguration CompleteMultipartUpload # | |
Defined in Aws.S3.Commands.Multipart | |
type ServiceConfiguration InitiateMultipartUpload # | |
Defined in Aws.S3.Commands.Multipart | |
type ServiceConfiguration UploadPart # | |
Defined in Aws.S3.Commands.Multipart | |
type ServiceConfiguration PutBucket # | |
Defined in Aws.S3.Commands.PutBucket | |
type ServiceConfiguration PutBucketVersioning # | |
type ServiceConfiguration PutObject # | |
Defined in Aws.S3.Commands.PutObject | |
type ServiceConfiguration DeleteIdentity # | |
Defined in Aws.Ses.Commands.DeleteIdentity | |
type ServiceConfiguration GetIdentityDkimAttributes # | |
type ServiceConfiguration GetIdentityNotificationAttributes # | |
type ServiceConfiguration GetIdentityVerificationAttributes # | |
type ServiceConfiguration ListIdentities # | |
Defined in Aws.Ses.Commands.ListIdentities | |
type ServiceConfiguration SendRawEmail # | |
Defined in Aws.Ses.Commands.SendRawEmail | |
type ServiceConfiguration SetIdentityDkimEnabled # | |
type ServiceConfiguration SetIdentityFeedbackForwardingEnabled # | |
type ServiceConfiguration SetIdentityNotificationTopic # | |
type ServiceConfiguration VerifyDomainDkim # | |
type ServiceConfiguration VerifyDomainIdentity # | |
type ServiceConfiguration VerifyEmailIdentity # | |
type ServiceConfiguration BatchDeleteAttributes # | |
type ServiceConfiguration BatchPutAttributes # | |
type ServiceConfiguration DeleteAttributes # | |
Defined in Aws.SimpleDb.Commands.Attributes | |
type ServiceConfiguration GetAttributes # | |
Defined in Aws.SimpleDb.Commands.Attributes | |
type ServiceConfiguration PutAttributes # | |
Defined in Aws.SimpleDb.Commands.Attributes | |
type ServiceConfiguration CreateDomain # | |
Defined in Aws.SimpleDb.Commands.Domain | |
type ServiceConfiguration DeleteDomain # | |
Defined in Aws.SimpleDb.Commands.Domain | |
type ServiceConfiguration DomainMetadata # | |
Defined in Aws.SimpleDb.Commands.Domain | |
type ServiceConfiguration ListDomains # | |
Defined in Aws.SimpleDb.Commands.Domain | |
type ServiceConfiguration Select # | |
Defined in Aws.SimpleDb.Commands.Select | |
type ServiceConfiguration ChangeMessageVisibility # | |
Defined in Aws.Sqs.Commands.Message | |
type ServiceConfiguration DeleteMessage # | |
Defined in Aws.Sqs.Commands.Message | |
type ServiceConfiguration ReceiveMessage # | |
Defined in Aws.Sqs.Commands.Message | |
type ServiceConfiguration SendMessage # | |
Defined in Aws.Sqs.Commands.Message | |
type ServiceConfiguration AddPermission # | |
Defined in Aws.Sqs.Commands.Permission | |
type ServiceConfiguration RemovePermission # | |
Defined in Aws.Sqs.Commands.Permission | |
type ServiceConfiguration CreateQueue # | |
Defined in Aws.Sqs.Commands.Queue | |
type ServiceConfiguration DeleteQueue # | |
Defined in Aws.Sqs.Commands.Queue | |
type ServiceConfiguration ListQueues # | |
Defined in Aws.Sqs.Commands.Queue | |
type ServiceConfiguration GetQueueAttributes # | |
type ServiceConfiguration SetQueueAttributes # | |
class DefaultServiceConfiguration config where #
Default configuration for a specific service.
Minimal complete definition
Methods
defServiceConfig :: config #
Default service configuration.
debugServiceConfig :: config #
Default debugging-only configuration. (Normally using HTTP instead of HTTPS for easier debugging.)
Instances
DefaultServiceConfiguration (DdbConfiguration NormalQuery) # | |
Defined in Aws.DynamoDb.Core | |
DefaultServiceConfiguration (IamConfiguration NormalQuery) # | |
Defined in Aws.Iam.Core | |
DefaultServiceConfiguration (IamConfiguration UriOnlyQuery) # | |
Defined in Aws.Iam.Core | |
DefaultServiceConfiguration (S3Configuration NormalQuery) # | |
Defined in Aws.S3.Core | |
DefaultServiceConfiguration (S3Configuration UriOnlyQuery) # | |
Defined in Aws.S3.Core | |
DefaultServiceConfiguration (SesConfiguration NormalQuery) # | |
Defined in Aws.Ses.Core | |
DefaultServiceConfiguration (SesConfiguration UriOnlyQuery) # | |
Defined in Aws.Ses.Core | |
DefaultServiceConfiguration (SdbConfiguration NormalQuery) # | |
Defined in Aws.SimpleDb.Core | |
DefaultServiceConfiguration (SdbConfiguration UriOnlyQuery) # | |
Defined in Aws.SimpleDb.Core | |
DefaultServiceConfiguration (SqsConfiguration NormalQuery) # | |
Defined in Aws.Sqs.Core | |
DefaultServiceConfiguration (SqsConfiguration UriOnlyQuery) # | |
Defined in Aws.Sqs.Core |
data NormalQuery #
Tag type for normal queries.
Instances
DefaultServiceConfiguration (DdbConfiguration NormalQuery) # | |
Defined in Aws.DynamoDb.Core | |
DefaultServiceConfiguration (IamConfiguration NormalQuery) # | |
Defined in Aws.Iam.Core | |
DefaultServiceConfiguration (S3Configuration NormalQuery) # | |
Defined in Aws.S3.Core | |
DefaultServiceConfiguration (SesConfiguration NormalQuery) # | |
Defined in Aws.Ses.Core | |
DefaultServiceConfiguration (SdbConfiguration NormalQuery) # | |
Defined in Aws.SimpleDb.Core | |
DefaultServiceConfiguration (SqsConfiguration NormalQuery) # | |
Defined in Aws.Sqs.Core | |
Default (DdbConfiguration NormalQuery) # | |
Defined in Aws.DynamoDb.Core Methods |
data UriOnlyQuery #
Tag type for URI-only queries.
Instances
DefaultServiceConfiguration (IamConfiguration UriOnlyQuery) # | |
Defined in Aws.Iam.Core | |
DefaultServiceConfiguration (S3Configuration UriOnlyQuery) # | |
Defined in Aws.S3.Core | |
DefaultServiceConfiguration (SesConfiguration UriOnlyQuery) # | |
Defined in Aws.Ses.Core | |
DefaultServiceConfiguration (SdbConfiguration UriOnlyQuery) # | |
Defined in Aws.SimpleDb.Core | |
DefaultServiceConfiguration (SqsConfiguration UriOnlyQuery) # | |
Defined in Aws.Sqs.Core |
Expiration
Whether to restrict the signature validity with a plain timestamp, or with explicit expiration (absolute or relative).
Transactions
class (SignQuery r, ResponseConsumer r a, Loggable (ResponseMetadata a)) => Transaction r a | r -> a #
Associates a request type and a response type in a bi-directional way.
This allows the type-checker to infer the response type when given the request type and vice versa.
Note that the actual request generation and response parsing
resides in SignQuery
and ResponseConsumer
respectively.
Instances
Transaction BatchGetItem BatchGetItemResponse # | |
Defined in Aws.DynamoDb.Commands.BatchGetItem | |
Transaction BatchWriteItem BatchWriteItemResponse # | |
Defined in Aws.DynamoDb.Commands.BatchWriteItem | |
Transaction DeleteItem DeleteItemResponse # | |
Defined in Aws.DynamoDb.Commands.DeleteItem | |
Transaction GetItem GetItemResponse # | |
Defined in Aws.DynamoDb.Commands.GetItem | |
Transaction PutItem PutItemResponse # | |
Defined in Aws.DynamoDb.Commands.PutItem | |
Transaction Query QueryResponse # | |
Defined in Aws.DynamoDb.Commands.Query | |
Transaction Scan ScanResponse # | |
Defined in Aws.DynamoDb.Commands.Scan | |
Transaction CreateTable CreateTableResult # | |
Defined in Aws.DynamoDb.Commands.Table | |
Transaction DeleteTable DeleteTableResult # | |
Defined in Aws.DynamoDb.Commands.Table | |
Transaction DescribeTable DescribeTableResult # | |
Defined in Aws.DynamoDb.Commands.Table | |
Transaction ListTables ListTablesResult # | |
Defined in Aws.DynamoDb.Commands.Table | |
Transaction UpdateTable UpdateTableResult # | |
Defined in Aws.DynamoDb.Commands.Table | |
Transaction UpdateItem UpdateItemResponse # | |
Defined in Aws.DynamoDb.Commands.UpdateItem | |
Transaction AddUserToGroup AddUserToGroupResponse # | |
Defined in Aws.Iam.Commands.AddUserToGroup | |
Transaction CreateAccessKey CreateAccessKeyResponse # | |
Defined in Aws.Iam.Commands.CreateAccessKey | |
Transaction CreateGroup CreateGroupResponse # | |
Defined in Aws.Iam.Commands.CreateGroup | |
Transaction CreateUser CreateUserResponse # | |
Defined in Aws.Iam.Commands.CreateUser | |
Transaction DeleteAccessKey DeleteAccessKeyResponse # | |
Defined in Aws.Iam.Commands.DeleteAccessKey | |
Transaction DeleteGroup DeleteGroupResponse # | |
Defined in Aws.Iam.Commands.DeleteGroup | |
Transaction DeleteGroupPolicy DeleteGroupPolicyResponse # | |
Defined in Aws.Iam.Commands.DeleteGroupPolicy | |
Transaction DeleteUser DeleteUserResponse # | |
Defined in Aws.Iam.Commands.DeleteUser | |
Transaction DeleteUserPolicy DeleteUserPolicyResponse # | |
Defined in Aws.Iam.Commands.DeleteUserPolicy | |
Transaction GetGroupPolicy GetGroupPolicyResponse # | |
Defined in Aws.Iam.Commands.GetGroupPolicy | |
Transaction GetUser GetUserResponse # | |
Defined in Aws.Iam.Commands.GetUser | |
Transaction GetUserPolicy GetUserPolicyResponse # | |
Defined in Aws.Iam.Commands.GetUserPolicy | |
Transaction ListAccessKeys ListAccessKeysResponse # | |
Defined in Aws.Iam.Commands.ListAccessKeys | |
Transaction ListGroupPolicies ListGroupPoliciesResponse # | |
Defined in Aws.Iam.Commands.ListGroupPolicies | |
Transaction ListGroups ListGroupsResponse # | |
Defined in Aws.Iam.Commands.ListGroups | |
Transaction ListMfaDevices ListMfaDevicesResponse # | |
Defined in Aws.Iam.Commands.ListMfaDevices | |
Transaction ListUserPolicies ListUserPoliciesResponse # | |
Defined in Aws.Iam.Commands.ListUserPolicies | |
Transaction ListUsers ListUsersResponse # | |
Defined in Aws.Iam.Commands.ListUsers | |
Transaction PutGroupPolicy PutGroupPolicyResponse # | |
Defined in Aws.Iam.Commands.PutGroupPolicy | |
Transaction PutUserPolicy PutUserPolicyResponse # | |
Defined in Aws.Iam.Commands.PutUserPolicy | |
Transaction RemoveUserFromGroup RemoveUserFromGroupResponse # | |
Defined in Aws.Iam.Commands.RemoveUserFromGroup | |
Transaction UpdateAccessKey UpdateAccessKeyResponse # | |
Defined in Aws.Iam.Commands.UpdateAccessKey | |
Transaction UpdateGroup UpdateGroupResponse # | |
Defined in Aws.Iam.Commands.UpdateGroup | |
Transaction UpdateUser UpdateUserResponse # | |
Defined in Aws.Iam.Commands.UpdateUser | |
Transaction CopyObject CopyObjectResponse # | |
Defined in Aws.S3.Commands.CopyObject | |
Transaction DeleteBucket DeleteBucketResponse # | |
Defined in Aws.S3.Commands.DeleteBucket | |
Transaction DeleteObject DeleteObjectResponse # | |
Defined in Aws.S3.Commands.DeleteObject | |
Transaction DeleteObjectVersion DeleteObjectVersionResponse # | |
Defined in Aws.S3.Commands.DeleteObjectVersion | |
Transaction DeleteObjects DeleteObjectsResponse # | |
Defined in Aws.S3.Commands.DeleteObjects | |
Transaction GetBucket GetBucketResponse # | |
Defined in Aws.S3.Commands.GetBucket | |
Transaction GetBucketLocation GetBucketLocationResponse # | |
Defined in Aws.S3.Commands.GetBucketLocation | |
Transaction GetBucketObjectVersions GetBucketObjectVersionsResponse # | |
Defined in Aws.S3.Commands.GetBucketObjectVersions | |
Transaction GetObject GetObjectResponse # | |
Defined in Aws.S3.Commands.GetObject | |
Transaction GetService GetServiceResponse # | |
Defined in Aws.S3.Commands.GetService | |
Transaction HeadObject HeadObjectResponse # | |
Defined in Aws.S3.Commands.HeadObject | |
Transaction AbortMultipartUpload AbortMultipartUploadResponse # | |
Defined in Aws.S3.Commands.Multipart | |
Transaction CompleteMultipartUpload CompleteMultipartUploadResponse # | |
Defined in Aws.S3.Commands.Multipart | |
Transaction InitiateMultipartUpload InitiateMultipartUploadResponse # | |
Defined in Aws.S3.Commands.Multipart | |
Transaction UploadPart UploadPartResponse # | |
Defined in Aws.S3.Commands.Multipart | |
Transaction PutBucket PutBucketResponse # | |
Defined in Aws.S3.Commands.PutBucket | |
Transaction PutBucketVersioning PutBucketVersioningResponse # | |
Defined in Aws.S3.Commands.PutBucketVersioning | |
Transaction PutObject PutObjectResponse # | |
Defined in Aws.S3.Commands.PutObject | |
Transaction DeleteIdentity DeleteIdentityResponse # | |
Defined in Aws.Ses.Commands.DeleteIdentity | |
Transaction GetIdentityDkimAttributes GetIdentityDkimAttributesResponse # | |
Defined in Aws.Ses.Commands.GetIdentityDkimAttributes | |
Transaction GetIdentityNotificationAttributes GetIdentityNotificationAttributesResponse # | |
Transaction GetIdentityVerificationAttributes GetIdentityVerificationAttributesResponse # | |
Transaction ListIdentities ListIdentitiesResponse # | |
Defined in Aws.Ses.Commands.ListIdentities | |
Transaction SendRawEmail SendRawEmailResponse # | |
Defined in Aws.Ses.Commands.SendRawEmail | |
Transaction SetIdentityDkimEnabled SetIdentityDkimEnabledResponse # | |
Defined in Aws.Ses.Commands.SetIdentityDkimEnabled | |
Transaction SetIdentityFeedbackForwardingEnabled SetIdentityFeedbackForwardingEnabledResponse # | |
Transaction SetIdentityNotificationTopic SetIdentityNotificationTopicResponse # | |
Transaction VerifyDomainDkim VerifyDomainDkimResponse # | |
Defined in Aws.Ses.Commands.VerifyDomainDkim | |
Transaction VerifyDomainIdentity VerifyDomainIdentityResponse # | |
Defined in Aws.Ses.Commands.VerifyDomainIdentity | |
Transaction VerifyEmailIdentity VerifyEmailIdentityResponse # | |
Defined in Aws.Ses.Commands.VerifyEmailIdentity | |
Transaction BatchDeleteAttributes BatchDeleteAttributesResponse # | |
Defined in Aws.SimpleDb.Commands.Attributes | |
Transaction BatchPutAttributes BatchPutAttributesResponse # | |
Defined in Aws.SimpleDb.Commands.Attributes | |
Transaction DeleteAttributes DeleteAttributesResponse # | |
Defined in Aws.SimpleDb.Commands.Attributes | |
Transaction GetAttributes GetAttributesResponse # | |
Defined in Aws.SimpleDb.Commands.Attributes | |
Transaction PutAttributes PutAttributesResponse # | |
Defined in Aws.SimpleDb.Commands.Attributes | |
Transaction CreateDomain CreateDomainResponse # | |
Defined in Aws.SimpleDb.Commands.Domain | |
Transaction DeleteDomain DeleteDomainResponse # | |
Defined in Aws.SimpleDb.Commands.Domain | |
Transaction DomainMetadata DomainMetadataResponse # | |
Defined in Aws.SimpleDb.Commands.Domain | |
Transaction ListDomains ListDomainsResponse # | |
Defined in Aws.SimpleDb.Commands.Domain | |
Transaction Select SelectResponse # | |
Defined in Aws.SimpleDb.Commands.Select | |
Transaction ChangeMessageVisibility ChangeMessageVisibilityResponse # | |
Defined in Aws.Sqs.Commands.Message | |
Transaction DeleteMessage DeleteMessageResponse # | |
Defined in Aws.Sqs.Commands.Message | |
Transaction ReceiveMessage ReceiveMessageResponse # | |
Defined in Aws.Sqs.Commands.Message | |
Transaction SendMessage SendMessageResponse # | |
Defined in Aws.Sqs.Commands.Message | |
Transaction AddPermission AddPermissionResponse # | |
Defined in Aws.Sqs.Commands.Permission | |
Transaction RemovePermission RemovePermissionResponse # | |
Defined in Aws.Sqs.Commands.Permission | |
Transaction CreateQueue CreateQueueResponse # | |
Defined in Aws.Sqs.Commands.Queue | |
Transaction DeleteQueue DeleteQueueResponse # | |
Defined in Aws.Sqs.Commands.Queue | |
Transaction ListQueues ListQueuesResponse # | |
Defined in Aws.Sqs.Commands.Queue | |
Transaction GetQueueAttributes GetQueueAttributesResponse # | |
Defined in Aws.Sqs.Commands.QueueAttributes | |
Transaction SetQueueAttributes SetQueueAttributesResponse # | |
Defined in Aws.Sqs.Commands.QueueAttributes |
class Transaction r a => IteratedTransaction r a | r -> a #
A transaction that may need to be split over multiple requests, for example because of upstream response size limits.
Minimal complete definition
Instances
IteratedTransaction Query QueryResponse # | |
Defined in Aws.DynamoDb.Commands.Query Methods nextIteratedRequest :: Query -> QueryResponse -> Maybe Query # | |
IteratedTransaction Scan ScanResponse # | |
Defined in Aws.DynamoDb.Commands.Scan Methods nextIteratedRequest :: Scan -> ScanResponse -> Maybe Scan # | |
IteratedTransaction ListAccessKeys ListAccessKeysResponse # | |
Defined in Aws.Iam.Commands.ListAccessKeys Methods nextIteratedRequest :: ListAccessKeys -> ListAccessKeysResponse -> Maybe ListAccessKeys # | |
IteratedTransaction ListGroupPolicies ListGroupPoliciesResponse # | |
Defined in Aws.Iam.Commands.ListGroupPolicies Methods nextIteratedRequest :: ListGroupPolicies -> ListGroupPoliciesResponse -> Maybe ListGroupPolicies # | |
IteratedTransaction ListGroups ListGroupsResponse # | |
Defined in Aws.Iam.Commands.ListGroups Methods nextIteratedRequest :: ListGroups -> ListGroupsResponse -> Maybe ListGroups # | |
IteratedTransaction ListMfaDevices ListMfaDevicesResponse # | |
Defined in Aws.Iam.Commands.ListMfaDevices Methods nextIteratedRequest :: ListMfaDevices -> ListMfaDevicesResponse -> Maybe ListMfaDevices # | |
IteratedTransaction ListUserPolicies ListUserPoliciesResponse # | |
Defined in Aws.Iam.Commands.ListUserPolicies Methods nextIteratedRequest :: ListUserPolicies -> ListUserPoliciesResponse -> Maybe ListUserPolicies # | |
IteratedTransaction ListUsers ListUsersResponse # | |
Defined in Aws.Iam.Commands.ListUsers Methods nextIteratedRequest :: ListUsers -> ListUsersResponse -> Maybe ListUsers # | |
IteratedTransaction GetBucket GetBucketResponse # | |
Defined in Aws.S3.Commands.GetBucket Methods nextIteratedRequest :: GetBucket -> GetBucketResponse -> Maybe GetBucket # | |
IteratedTransaction GetBucketObjectVersions GetBucketObjectVersionsResponse # | |
IteratedTransaction ListDomains ListDomainsResponse # | |
Defined in Aws.SimpleDb.Commands.Domain Methods nextIteratedRequest :: ListDomains -> ListDomainsResponse -> Maybe ListDomains # | |
IteratedTransaction Select SelectResponse # | |
Defined in Aws.SimpleDb.Commands.Select Methods nextIteratedRequest :: Select -> SelectResponse -> Maybe Select # |
Credentials
data Credentials #
AWS access credentials.
Constructors
Credentials | |
Fields
|
Instances
Show Credentials # | |
Defined in Aws.Core Methods showsPrec :: Int -> Credentials -> ShowS # show :: Credentials -> String # showList :: [Credentials] -> ShowS # |
Arguments
:: MonadIO io | |
=> ByteString | AWS Access Key ID |
-> ByteString | AWS Secret Access Key |
-> io Credentials |
credentialsDefaultFile :: MonadIO io => io (Maybe FilePath) #
The file where access credentials are loaded, when using loadCredentialsDefault
.
May return Nothing
if HOME
is unset.
Value: directory/.aws-keys
credentialsDefaultKey :: Text #
The key to be used in the access credential file that is loaded, when using loadCredentialsDefault
.
Value: default
loadCredentialsFromFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials) #
Load credentials from a (text) file given a key name.
The file consists of a sequence of lines, each in the following format:
keyName awsKeyID awsKeySecret
loadCredentialsFromEnv :: MonadIO io => io (Maybe Credentials) #
Load credentials from the environment variables AWS_ACCESS_KEY_ID
and AWS_ACCESS_KEY_SECRET
(or AWS_SECRET_ACCESS_KEY
), if possible.
loadCredentialsFromInstanceMetadata :: MonadIO io => io (Maybe Credentials) #
loadCredentialsFromEnvOrFile :: MonadIO io => FilePath -> Text -> io (Maybe Credentials) #
Load credentials from environment variables if possible, or alternatively from a file with a given key name.
See loadCredentialsFromEnv
and loadCredentialsFromFile
for details.
loadCredentialsFromEnvOrFileOrInstanceMetadata :: MonadIO io => FilePath -> Text -> io (Maybe Credentials) #
Load credentials from environment variables if possible, or alternatively from the instance metadata store, or alternatively from a file with a given key name.
See loadCredentialsFromEnv
, loadCredentialsFromFile
and loadCredentialsFromInstanceMetadata
for details.
loadCredentialsDefault :: MonadIO io => io (Maybe Credentials) #
Load credentials from environment variables if possible, or alternative from the default file with the default key name.
Default file: directory/.aws-keys
Default key name: default
See loadCredentialsFromEnv
and loadCredentialsFromFile
for details.
anonymousCredentials :: MonadIO io => io Credentials #
Make a dummy Credentials that can be used to access some AWS services anonymously.