packages feed

amazonka-s3 0.3.6 → 1.0.0

raw patch · 73 files changed

+13130/−11712 lines, 73 filesdep +amazonka-s3dep +amazonka-testdep +bytestringdep ~amazonka-coredep ~basePVP ok

version bump matches the API change (PVP)

Dependencies added: amazonka-s3, amazonka-test, bytestring, lens, tasty, tasty-hunit, text, time, unordered-containers

Dependency ranges changed: amazonka-core, base

API changes (from Hackage documentation)

- Network.AWS.S3.AbortMultipartUpload: amurRequestCharged :: Lens' AbortMultipartUploadResponse (Maybe RequestCharged)
- Network.AWS.S3.AbortMultipartUpload: instance ToXML AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance ToXMLRoot AbortMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: cmu1Bucket :: Lens' CompleteMultipartUpload Text
- Network.AWS.S3.CompleteMultipartUpload: cmu1Key :: Lens' CompleteMultipartUpload Text
- Network.AWS.S3.CompleteMultipartUpload: cmu1MultipartUpload :: Lens' CompleteMultipartUpload (Maybe CompletedMultipartUpload)
- Network.AWS.S3.CompleteMultipartUpload: cmu1RequestPayer :: Lens' CompleteMultipartUpload (Maybe RequestPayer)
- Network.AWS.S3.CompleteMultipartUpload: cmu1UploadId :: Lens' CompleteMultipartUpload Text
- Network.AWS.S3.CompleteMultipartUpload: cmur1Bucket :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: cmur1ETag :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: cmur1Expiration :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: cmur1Key :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: cmur1Location :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: cmur1RequestCharged :: Lens' CompleteMultipartUploadResponse (Maybe RequestCharged)
- Network.AWS.S3.CompleteMultipartUpload: cmur1SSEKMSKeyId :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: cmur1ServerSideEncryption :: Lens' CompleteMultipartUploadResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.CompleteMultipartUpload: cmur1VersionId :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: instance ToXML CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance ToXMLRoot CompleteMultipartUpload
- Network.AWS.S3.CopyObject: corCopyObjectResult :: Lens' CopyObjectResponse (Maybe CopyObjectResult)
- Network.AWS.S3.CopyObject: corCopySourceVersionId :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corExpiration :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corRequestCharged :: Lens' CopyObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.CopyObject: corSSECustomerAlgorithm :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corSSECustomerKeyMD5 :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corSSEKMSKeyId :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corServerSideEncryption :: Lens' CopyObjectResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.CopyObject: instance ToXML CopyObject
- Network.AWS.S3.CopyObject: instance ToXMLRoot CopyObject
- Network.AWS.S3.CreateBucket: cbrLocation :: Lens' CreateBucketResponse (Maybe Text)
- Network.AWS.S3.CreateBucket: instance Monoid CreateBucketResponse
- Network.AWS.S3.CreateBucket: instance Ord CreateBucketResponse
- Network.AWS.S3.CreateBucket: instance ToXML CreateBucket
- Network.AWS.S3.CreateBucket: instance ToXMLRoot CreateBucket
- Network.AWS.S3.CreateMultipartUpload: cmurBucket :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmurKey :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmurRequestCharged :: Lens' CreateMultipartUploadResponse (Maybe RequestCharged)
- Network.AWS.S3.CreateMultipartUpload: cmurSSECustomerAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmurSSECustomerKeyMD5 :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmurSSEKMSKeyId :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmurServerSideEncryption :: Lens' CreateMultipartUploadResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.CreateMultipartUpload: cmurUploadId :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: instance ToXML CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance ToXMLRoot CreateMultipartUpload
- Network.AWS.S3.DeleteBucket: instance IsString DeleteBucket
- Network.AWS.S3.DeleteBucket: instance Monoid DeleteBucket
- Network.AWS.S3.DeleteBucket: instance Ord DeleteBucket
- Network.AWS.S3.DeleteBucket: instance Ord DeleteBucketResponse
- Network.AWS.S3.DeleteBucket: instance ToXML DeleteBucket
- Network.AWS.S3.DeleteBucket: instance ToXMLRoot DeleteBucket
- Network.AWS.S3.DeleteBucketCors: data DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: data DeleteBucketCorsResponse
- Network.AWS.S3.DeleteBucketCors: dbcBucket :: Lens' DeleteBucketCors Text
- Network.AWS.S3.DeleteBucketCors: deleteBucketCors :: Text -> DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: deleteBucketCorsResponse :: DeleteBucketCorsResponse
- Network.AWS.S3.DeleteBucketCors: instance AWSRequest DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance Constructor C1_0DeleteBucketCorsResponse
- Network.AWS.S3.DeleteBucketCors: instance Datatype D1DeleteBucketCorsResponse
- Network.AWS.S3.DeleteBucketCors: instance Eq DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance Eq DeleteBucketCorsResponse
- Network.AWS.S3.DeleteBucketCors: instance Generic DeleteBucketCorsResponse
- Network.AWS.S3.DeleteBucketCors: instance IsString DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance Monoid DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance Ord DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance Ord DeleteBucketCorsResponse
- Network.AWS.S3.DeleteBucketCors: instance Read DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance Read DeleteBucketCorsResponse
- Network.AWS.S3.DeleteBucketCors: instance Show DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance Show DeleteBucketCorsResponse
- Network.AWS.S3.DeleteBucketCors: instance ToHeaders DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance ToPath DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance ToQuery DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance ToXML DeleteBucketCors
- Network.AWS.S3.DeleteBucketCors: instance ToXMLRoot DeleteBucketCors
- Network.AWS.S3.DeleteBucketLifecycle: instance IsString DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance Monoid DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance Ord DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance Ord DeleteBucketLifecycleResponse
- Network.AWS.S3.DeleteBucketLifecycle: instance ToXML DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance ToXMLRoot DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketPolicy: instance IsString DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance Monoid DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance Ord DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance Ord DeleteBucketPolicyResponse
- Network.AWS.S3.DeleteBucketPolicy: instance ToXML DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance ToXMLRoot DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketReplication: instance IsString DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance Monoid DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance Ord DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance Ord DeleteBucketReplicationResponse
- Network.AWS.S3.DeleteBucketReplication: instance ToXML DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance ToXMLRoot DeleteBucketReplication
- Network.AWS.S3.DeleteBucketTagging: instance IsString DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance Monoid DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance Ord DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance Ord DeleteBucketTaggingResponse
- Network.AWS.S3.DeleteBucketTagging: instance ToXML DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance ToXMLRoot DeleteBucketTagging
- Network.AWS.S3.DeleteBucketWebsite: instance IsString DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance Monoid DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance Ord DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance Ord DeleteBucketWebsiteResponse
- Network.AWS.S3.DeleteBucketWebsite: instance ToXML DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance ToXMLRoot DeleteBucketWebsite
- Network.AWS.S3.DeleteObject: dorDeleteMarker :: Lens' DeleteObjectResponse (Maybe Bool)
- Network.AWS.S3.DeleteObject: dorRequestCharged :: Lens' DeleteObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.DeleteObject: dorVersionId :: Lens' DeleteObjectResponse (Maybe Text)
- Network.AWS.S3.DeleteObject: instance ToXML DeleteObject
- Network.AWS.S3.DeleteObject: instance ToXMLRoot DeleteObject
- Network.AWS.S3.DeleteObjects: do1Bucket :: Lens' DeleteObjects Text
- Network.AWS.S3.DeleteObjects: do1Delete :: Lens' DeleteObjects Delete
- Network.AWS.S3.DeleteObjects: do1MFA :: Lens' DeleteObjects (Maybe Text)
- Network.AWS.S3.DeleteObjects: do1RequestPayer :: Lens' DeleteObjects (Maybe RequestPayer)
- Network.AWS.S3.DeleteObjects: dor1Deleted :: Lens' DeleteObjectsResponse [DeletedObject]
- Network.AWS.S3.DeleteObjects: dor1Errors :: Lens' DeleteObjectsResponse [S3ServiceError]
- Network.AWS.S3.DeleteObjects: dor1RequestCharged :: Lens' DeleteObjectsResponse (Maybe RequestCharged)
- Network.AWS.S3.DeleteObjects: instance ToXML DeleteObjects
- Network.AWS.S3.DeleteObjects: instance ToXMLRoot DeleteObjects
- Network.AWS.S3.GetBucketAcl: data GetBucketAcl
- Network.AWS.S3.GetBucketAcl: data GetBucketAclResponse
- Network.AWS.S3.GetBucketAcl: gbaBucket :: Lens' GetBucketAcl Text
- Network.AWS.S3.GetBucketAcl: gbarGrants :: Lens' GetBucketAclResponse [Grant]
- Network.AWS.S3.GetBucketAcl: gbarOwner :: Lens' GetBucketAclResponse (Maybe Owner)
- Network.AWS.S3.GetBucketAcl: getBucketAcl :: Text -> GetBucketAcl
- Network.AWS.S3.GetBucketAcl: getBucketAclResponse :: GetBucketAclResponse
- Network.AWS.S3.GetBucketAcl: instance AWSRequest GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance Eq GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance Eq GetBucketAclResponse
- Network.AWS.S3.GetBucketAcl: instance FromXML GetBucketAclResponse
- Network.AWS.S3.GetBucketAcl: instance IsString GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance Monoid GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance Ord GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance Read GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance Read GetBucketAclResponse
- Network.AWS.S3.GetBucketAcl: instance Show GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance Show GetBucketAclResponse
- Network.AWS.S3.GetBucketAcl: instance ToHeaders GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance ToPath GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance ToQuery GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance ToXML GetBucketAcl
- Network.AWS.S3.GetBucketAcl: instance ToXMLRoot GetBucketAcl
- Network.AWS.S3.GetBucketCors: data GetBucketCors
- Network.AWS.S3.GetBucketCors: data GetBucketCorsResponse
- Network.AWS.S3.GetBucketCors: gbcBucket :: Lens' GetBucketCors Text
- Network.AWS.S3.GetBucketCors: gbcrCORSRules :: Lens' GetBucketCorsResponse [CORSRule]
- Network.AWS.S3.GetBucketCors: getBucketCors :: Text -> GetBucketCors
- Network.AWS.S3.GetBucketCors: getBucketCorsResponse :: GetBucketCorsResponse
- Network.AWS.S3.GetBucketCors: instance AWSRequest GetBucketCors
- Network.AWS.S3.GetBucketCors: instance Eq GetBucketCors
- Network.AWS.S3.GetBucketCors: instance Eq GetBucketCorsResponse
- Network.AWS.S3.GetBucketCors: instance FromXML GetBucketCorsResponse
- Network.AWS.S3.GetBucketCors: instance IsString GetBucketCors
- Network.AWS.S3.GetBucketCors: instance Monoid GetBucketCors
- Network.AWS.S3.GetBucketCors: instance Monoid GetBucketCorsResponse
- Network.AWS.S3.GetBucketCors: instance Ord GetBucketCors
- Network.AWS.S3.GetBucketCors: instance Read GetBucketCors
- Network.AWS.S3.GetBucketCors: instance Read GetBucketCorsResponse
- Network.AWS.S3.GetBucketCors: instance Semigroup GetBucketCorsResponse
- Network.AWS.S3.GetBucketCors: instance Show GetBucketCors
- Network.AWS.S3.GetBucketCors: instance Show GetBucketCorsResponse
- Network.AWS.S3.GetBucketCors: instance ToHeaders GetBucketCors
- Network.AWS.S3.GetBucketCors: instance ToPath GetBucketCors
- Network.AWS.S3.GetBucketCors: instance ToQuery GetBucketCors
- Network.AWS.S3.GetBucketCors: instance ToXML GetBucketCors
- Network.AWS.S3.GetBucketCors: instance ToXMLRoot GetBucketCors
- Network.AWS.S3.GetBucketLifecycle: gbl1Bucket :: Lens' GetBucketLifecycle Text
- Network.AWS.S3.GetBucketLifecycle: gblrRules :: Lens' GetBucketLifecycleResponse [Rule]
- Network.AWS.S3.GetBucketLifecycle: instance FromXML GetBucketLifecycleResponse
- Network.AWS.S3.GetBucketLifecycle: instance IsString GetBucketLifecycle
- Network.AWS.S3.GetBucketLifecycle: instance Monoid GetBucketLifecycle
- Network.AWS.S3.GetBucketLifecycle: instance Monoid GetBucketLifecycleResponse
- Network.AWS.S3.GetBucketLifecycle: instance Ord GetBucketLifecycle
- Network.AWS.S3.GetBucketLifecycle: instance Semigroup GetBucketLifecycleResponse
- Network.AWS.S3.GetBucketLifecycle: instance ToXML GetBucketLifecycle
- Network.AWS.S3.GetBucketLifecycle: instance ToXMLRoot GetBucketLifecycle
- Network.AWS.S3.GetBucketLocation: gblrLocationConstraint :: Lens' GetBucketLocationResponse (Maybe Region)
- Network.AWS.S3.GetBucketLocation: instance FromXML GetBucketLocationResponse
- Network.AWS.S3.GetBucketLocation: instance IsString GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance Monoid GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance Ord GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance ToXML GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance ToXMLRoot GetBucketLocation
- Network.AWS.S3.GetBucketLogging: gbl2Bucket :: Lens' GetBucketLogging Text
- Network.AWS.S3.GetBucketLogging: gblrLoggingEnabled :: Lens' GetBucketLoggingResponse (Maybe LoggingEnabled)
- Network.AWS.S3.GetBucketLogging: instance FromXML GetBucketLoggingResponse
- Network.AWS.S3.GetBucketLogging: instance IsString GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance Monoid GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance Ord GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance ToXML GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance ToXMLRoot GetBucketLogging
- Network.AWS.S3.GetBucketNotification: data GetBucketNotification
- Network.AWS.S3.GetBucketNotification: data GetBucketNotificationResponse
- Network.AWS.S3.GetBucketNotification: gbnBucket :: Lens' GetBucketNotification Text
- Network.AWS.S3.GetBucketNotification: gbnrCloudFunctionConfiguration :: Lens' GetBucketNotificationResponse (Maybe CloudFunctionConfiguration)
- Network.AWS.S3.GetBucketNotification: gbnrQueueConfiguration :: Lens' GetBucketNotificationResponse (Maybe QueueConfigurationDeprecated)
- Network.AWS.S3.GetBucketNotification: gbnrTopicConfiguration :: Lens' GetBucketNotificationResponse (Maybe TopicConfigurationDeprecated)
- Network.AWS.S3.GetBucketNotification: getBucketNotification :: Text -> GetBucketNotification
- Network.AWS.S3.GetBucketNotification: getBucketNotificationResponse :: GetBucketNotificationResponse
- Network.AWS.S3.GetBucketNotification: instance AWSRequest GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance Eq GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance Eq GetBucketNotificationResponse
- Network.AWS.S3.GetBucketNotification: instance FromXML GetBucketNotificationResponse
- Network.AWS.S3.GetBucketNotification: instance IsString GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance Monoid GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance Ord GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance Read GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance Read GetBucketNotificationResponse
- Network.AWS.S3.GetBucketNotification: instance Show GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance Show GetBucketNotificationResponse
- Network.AWS.S3.GetBucketNotification: instance ToHeaders GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance ToPath GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance ToQuery GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance ToXML GetBucketNotification
- Network.AWS.S3.GetBucketNotification: instance ToXMLRoot GetBucketNotification
- Network.AWS.S3.GetBucketNotificationConfiguration: data GetBucketNotificationConfigurationResponse
- Network.AWS.S3.GetBucketNotificationConfiguration: gbnc1Bucket :: Lens' GetBucketNotificationConfiguration Text
- Network.AWS.S3.GetBucketNotificationConfiguration: gbncrLambdaFunctionConfigurations :: Lens' GetBucketNotificationConfigurationResponse [LambdaFunctionConfiguration]
- Network.AWS.S3.GetBucketNotificationConfiguration: gbncrQueueConfigurations :: Lens' GetBucketNotificationConfigurationResponse [QueueConfiguration]
- Network.AWS.S3.GetBucketNotificationConfiguration: gbncrTopicConfigurations :: Lens' GetBucketNotificationConfigurationResponse [TopicConfiguration]
- Network.AWS.S3.GetBucketNotificationConfiguration: getBucketNotificationConfigurationResponse :: GetBucketNotificationConfigurationResponse
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Eq GetBucketNotificationConfigurationResponse
- Network.AWS.S3.GetBucketNotificationConfiguration: instance FromXML GetBucketNotificationConfigurationResponse
- Network.AWS.S3.GetBucketNotificationConfiguration: instance IsString GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Monoid GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Ord GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Read GetBucketNotificationConfigurationResponse
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Show GetBucketNotificationConfigurationResponse
- Network.AWS.S3.GetBucketNotificationConfiguration: instance ToXML GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance ToXMLRoot GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketPolicy: gbprPolicy :: Lens' GetBucketPolicyResponse (Maybe Text)
- Network.AWS.S3.GetBucketPolicy: instance FromXML GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: instance IsString GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance Monoid GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance Monoid GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: instance Ord GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance Ord GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: instance ToXML GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance ToXMLRoot GetBucketPolicy
- Network.AWS.S3.GetBucketReplication: gbrrReplicationConfiguration :: Lens' GetBucketReplicationResponse (Maybe ReplicationConfiguration)
- Network.AWS.S3.GetBucketReplication: instance FromXML GetBucketReplicationResponse
- Network.AWS.S3.GetBucketReplication: instance IsString GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance Monoid GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance Ord GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance ToXML GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance ToXMLRoot GetBucketReplication
- Network.AWS.S3.GetBucketRequestPayment: gbrprPayer :: Lens' GetBucketRequestPaymentResponse (Maybe Payer)
- Network.AWS.S3.GetBucketRequestPayment: instance FromXML GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketRequestPayment: instance IsString GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance Monoid GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance Ord GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance ToXML GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance ToXMLRoot GetBucketRequestPayment
- Network.AWS.S3.GetBucketTagging: gbtrTagSet :: Lens' GetBucketTaggingResponse [Tag]
- Network.AWS.S3.GetBucketTagging: instance FromXML GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance IsList GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance IsString GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance Monoid GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance Monoid GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance Ord GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance Semigroup GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance ToXML GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance ToXMLRoot GetBucketTagging
- Network.AWS.S3.GetBucketVersioning: gbvrMFADelete :: Lens' GetBucketVersioningResponse (Maybe MFADeleteStatus)
- Network.AWS.S3.GetBucketVersioning: gbvrStatus :: Lens' GetBucketVersioningResponse (Maybe BucketVersioningStatus)
- Network.AWS.S3.GetBucketVersioning: instance FromXML GetBucketVersioningResponse
- Network.AWS.S3.GetBucketVersioning: instance IsString GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance Monoid GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance Ord GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance ToXML GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance ToXMLRoot GetBucketVersioning
- Network.AWS.S3.GetBucketWebsite: gbwrErrorDocument :: Lens' GetBucketWebsiteResponse (Maybe ErrorDocument)
- Network.AWS.S3.GetBucketWebsite: gbwrIndexDocument :: Lens' GetBucketWebsiteResponse (Maybe IndexDocument)
- Network.AWS.S3.GetBucketWebsite: gbwrRedirectAllRequestsTo :: Lens' GetBucketWebsiteResponse (Maybe RedirectAllRequestsTo)
- Network.AWS.S3.GetBucketWebsite: gbwrRoutingRules :: Lens' GetBucketWebsiteResponse [RoutingRule]
- Network.AWS.S3.GetBucketWebsite: instance FromXML GetBucketWebsiteResponse
- Network.AWS.S3.GetBucketWebsite: instance IsString GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance Monoid GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance Ord GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance ToXML GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance ToXMLRoot GetBucketWebsite
- Network.AWS.S3.GetObject: gorAcceptRanges :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorBody :: Lens' GetObjectResponse RsBody
- Network.AWS.S3.GetObject: gorCacheControl :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorContentDisposition :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorContentEncoding :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorContentLanguage :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorContentLength :: Lens' GetObjectResponse (Maybe Int)
- Network.AWS.S3.GetObject: gorContentType :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorDeleteMarker :: Lens' GetObjectResponse (Maybe Bool)
- Network.AWS.S3.GetObject: gorETag :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorExpiration :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorExpires :: Lens' GetObjectResponse (Maybe UTCTime)
- Network.AWS.S3.GetObject: gorLastModified :: Lens' GetObjectResponse (Maybe UTCTime)
- Network.AWS.S3.GetObject: gorMetadata :: Lens' GetObjectResponse (HashMap (CI Text) Text)
- Network.AWS.S3.GetObject: gorMissingMeta :: Lens' GetObjectResponse (Maybe Int)
- Network.AWS.S3.GetObject: gorReplicationStatus :: Lens' GetObjectResponse (Maybe ReplicationStatus)
- Network.AWS.S3.GetObject: gorRequestCharged :: Lens' GetObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.GetObject: gorRestore :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorSSECustomerAlgorithm :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorSSECustomerKeyMD5 :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorSSEKMSKeyId :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorServerSideEncryption :: Lens' GetObjectResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.GetObject: gorVersionId :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorWebsiteRedirectLocation :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: instance ToXML GetObject
- Network.AWS.S3.GetObject: instance ToXMLRoot GetObject
- Network.AWS.S3.GetObjectAcl: data GetObjectAcl
- Network.AWS.S3.GetObjectAcl: data GetObjectAclResponse
- Network.AWS.S3.GetObjectAcl: getObjectAcl :: Text -> Text -> GetObjectAcl
- Network.AWS.S3.GetObjectAcl: getObjectAclResponse :: GetObjectAclResponse
- Network.AWS.S3.GetObjectAcl: goaBucket :: Lens' GetObjectAcl Text
- Network.AWS.S3.GetObjectAcl: goaKey :: Lens' GetObjectAcl Text
- Network.AWS.S3.GetObjectAcl: goaRequestPayer :: Lens' GetObjectAcl (Maybe RequestPayer)
- Network.AWS.S3.GetObjectAcl: goaVersionId :: Lens' GetObjectAcl (Maybe Text)
- Network.AWS.S3.GetObjectAcl: goarGrants :: Lens' GetObjectAclResponse [Grant]
- Network.AWS.S3.GetObjectAcl: goarOwner :: Lens' GetObjectAclResponse (Maybe Owner)
- Network.AWS.S3.GetObjectAcl: goarRequestCharged :: Lens' GetObjectAclResponse (Maybe RequestCharged)
- Network.AWS.S3.GetObjectAcl: instance AWSRequest GetObjectAcl
- Network.AWS.S3.GetObjectAcl: instance Eq GetObjectAcl
- Network.AWS.S3.GetObjectAcl: instance Eq GetObjectAclResponse
- Network.AWS.S3.GetObjectAcl: instance Read GetObjectAcl
- Network.AWS.S3.GetObjectAcl: instance Read GetObjectAclResponse
- Network.AWS.S3.GetObjectAcl: instance Show GetObjectAcl
- Network.AWS.S3.GetObjectAcl: instance Show GetObjectAclResponse
- Network.AWS.S3.GetObjectAcl: instance ToHeaders GetObjectAcl
- Network.AWS.S3.GetObjectAcl: instance ToPath GetObjectAcl
- Network.AWS.S3.GetObjectAcl: instance ToQuery GetObjectAcl
- Network.AWS.S3.GetObjectAcl: instance ToXML GetObjectAcl
- Network.AWS.S3.GetObjectAcl: instance ToXMLRoot GetObjectAcl
- Network.AWS.S3.GetObjectTorrent: gotrBody :: Lens' GetObjectTorrentResponse RsBody
- Network.AWS.S3.GetObjectTorrent: gotrRequestCharged :: Lens' GetObjectTorrentResponse (Maybe RequestCharged)
- Network.AWS.S3.GetObjectTorrent: instance ToXML GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance ToXMLRoot GetObjectTorrent
- Network.AWS.S3.HeadBucket: instance IsString HeadBucket
- Network.AWS.S3.HeadBucket: instance Monoid HeadBucket
- Network.AWS.S3.HeadBucket: instance Ord HeadBucket
- Network.AWS.S3.HeadBucket: instance Ord HeadBucketResponse
- Network.AWS.S3.HeadBucket: instance ToXML HeadBucket
- Network.AWS.S3.HeadBucket: instance ToXMLRoot HeadBucket
- Network.AWS.S3.HeadObject: horAcceptRanges :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horCacheControl :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horContentDisposition :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horContentEncoding :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horContentLanguage :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horContentLength :: Lens' HeadObjectResponse (Maybe Int)
- Network.AWS.S3.HeadObject: horContentType :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horDeleteMarker :: Lens' HeadObjectResponse (Maybe Bool)
- Network.AWS.S3.HeadObject: horETag :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horExpiration :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horExpires :: Lens' HeadObjectResponse (Maybe UTCTime)
- Network.AWS.S3.HeadObject: horLastModified :: Lens' HeadObjectResponse (Maybe UTCTime)
- Network.AWS.S3.HeadObject: horMetadata :: Lens' HeadObjectResponse (HashMap (CI Text) Text)
- Network.AWS.S3.HeadObject: horMissingMeta :: Lens' HeadObjectResponse (Maybe Int)
- Network.AWS.S3.HeadObject: horReplicationStatus :: Lens' HeadObjectResponse (Maybe ReplicationStatus)
- Network.AWS.S3.HeadObject: horRequestCharged :: Lens' HeadObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.HeadObject: horRestore :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horSSECustomerAlgorithm :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horSSECustomerKeyMD5 :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horSSEKMSKeyId :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horServerSideEncryption :: Lens' HeadObjectResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.HeadObject: horVersionId :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horWebsiteRedirectLocation :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: instance ToXML HeadObject
- Network.AWS.S3.HeadObject: instance ToXMLRoot HeadObject
- Network.AWS.S3.ListBuckets: instance FromXML ListBucketsResponse
- Network.AWS.S3.ListBuckets: instance Ord ListBuckets
- Network.AWS.S3.ListBuckets: instance ToXML ListBuckets
- Network.AWS.S3.ListBuckets: instance ToXMLRoot ListBuckets
- Network.AWS.S3.ListBuckets: lbrBuckets :: Lens' ListBucketsResponse [Bucket]
- Network.AWS.S3.ListBuckets: lbrOwner :: Lens' ListBucketsResponse (Maybe Owner)
- Network.AWS.S3.ListMultipartUploads: instance FromXML ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: instance ToXML ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance ToXMLRoot ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: lmurBucket :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmurCommonPrefixes :: Lens' ListMultipartUploadsResponse [CommonPrefix]
- Network.AWS.S3.ListMultipartUploads: lmurDelimiter :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmurEncodingType :: Lens' ListMultipartUploadsResponse (Maybe EncodingType)
- Network.AWS.S3.ListMultipartUploads: lmurIsTruncated :: Lens' ListMultipartUploadsResponse (Maybe Bool)
- Network.AWS.S3.ListMultipartUploads: lmurKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmurMaxUploads :: Lens' ListMultipartUploadsResponse (Maybe Int)
- Network.AWS.S3.ListMultipartUploads: lmurNextKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmurNextUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmurPrefix :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmurUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmurUploads :: Lens' ListMultipartUploadsResponse [MultipartUpload]
- Network.AWS.S3.ListObjectVersions: instance FromXML ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: instance ToXML ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance ToXMLRoot ListObjectVersions
- Network.AWS.S3.ListObjectVersions: lovrCommonPrefixes :: Lens' ListObjectVersionsResponse [CommonPrefix]
- Network.AWS.S3.ListObjectVersions: lovrDeleteMarkers :: Lens' ListObjectVersionsResponse [DeleteMarkerEntry]
- Network.AWS.S3.ListObjectVersions: lovrDelimiter :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lovrEncodingType :: Lens' ListObjectVersionsResponse (Maybe EncodingType)
- Network.AWS.S3.ListObjectVersions: lovrIsTruncated :: Lens' ListObjectVersionsResponse (Maybe Bool)
- Network.AWS.S3.ListObjectVersions: lovrKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lovrMaxKeys :: Lens' ListObjectVersionsResponse (Maybe Int)
- Network.AWS.S3.ListObjectVersions: lovrName :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lovrNextKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lovrNextVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lovrPrefix :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lovrVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lovrVersions :: Lens' ListObjectVersionsResponse [ObjectVersion]
- Network.AWS.S3.ListObjects: instance FromXML ListObjectsResponse
- Network.AWS.S3.ListObjects: instance ToXML ListObjects
- Network.AWS.S3.ListObjects: instance ToXMLRoot ListObjects
- Network.AWS.S3.ListObjects: lorCommonPrefixes :: Lens' ListObjectsResponse [CommonPrefix]
- Network.AWS.S3.ListObjects: lorContents :: Lens' ListObjectsResponse [Object]
- Network.AWS.S3.ListObjects: lorDelimiter :: Lens' ListObjectsResponse (Maybe Text)
- Network.AWS.S3.ListObjects: lorEncodingType :: Lens' ListObjectsResponse (Maybe EncodingType)
- Network.AWS.S3.ListObjects: lorIsTruncated :: Lens' ListObjectsResponse (Maybe Bool)
- Network.AWS.S3.ListObjects: lorMarker :: Lens' ListObjectsResponse (Maybe Text)
- Network.AWS.S3.ListObjects: lorMaxKeys :: Lens' ListObjectsResponse (Maybe Int)
- Network.AWS.S3.ListObjects: lorName :: Lens' ListObjectsResponse (Maybe Text)
- Network.AWS.S3.ListObjects: lorNextMarker :: Lens' ListObjectsResponse (Maybe Text)
- Network.AWS.S3.ListObjects: lorPrefix :: Lens' ListObjectsResponse (Maybe Text)
- Network.AWS.S3.ListParts: instance ToXML ListParts
- Network.AWS.S3.ListParts: instance ToXMLRoot ListParts
- Network.AWS.S3.ListParts: lprBucket :: Lens' ListPartsResponse (Maybe Text)
- Network.AWS.S3.ListParts: lprInitiator :: Lens' ListPartsResponse (Maybe Initiator)
- Network.AWS.S3.ListParts: lprIsTruncated :: Lens' ListPartsResponse (Maybe Bool)
- Network.AWS.S3.ListParts: lprKey :: Lens' ListPartsResponse (Maybe Text)
- Network.AWS.S3.ListParts: lprMaxParts :: Lens' ListPartsResponse (Maybe Int)
- Network.AWS.S3.ListParts: lprNextPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)
- Network.AWS.S3.ListParts: lprOwner :: Lens' ListPartsResponse (Maybe Owner)
- Network.AWS.S3.ListParts: lprPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)
- Network.AWS.S3.ListParts: lprParts :: Lens' ListPartsResponse [Part]
- Network.AWS.S3.ListParts: lprRequestCharged :: Lens' ListPartsResponse (Maybe RequestCharged)
- Network.AWS.S3.ListParts: lprStorageClass :: Lens' ListPartsResponse (Maybe StorageClass)
- Network.AWS.S3.ListParts: lprUploadId :: Lens' ListPartsResponse (Maybe Text)
- Network.AWS.S3.PutBucketAcl: data PutBucketAcl
- Network.AWS.S3.PutBucketAcl: data PutBucketAclResponse
- Network.AWS.S3.PutBucketAcl: instance AWSRequest PutBucketAcl
- Network.AWS.S3.PutBucketAcl: instance Constructor C1_0PutBucketAclResponse
- Network.AWS.S3.PutBucketAcl: instance Datatype D1PutBucketAclResponse
- Network.AWS.S3.PutBucketAcl: instance Eq PutBucketAcl
- Network.AWS.S3.PutBucketAcl: instance Eq PutBucketAclResponse
- Network.AWS.S3.PutBucketAcl: instance Generic PutBucketAclResponse
- Network.AWS.S3.PutBucketAcl: instance Ord PutBucketAclResponse
- Network.AWS.S3.PutBucketAcl: instance Read PutBucketAcl
- Network.AWS.S3.PutBucketAcl: instance Read PutBucketAclResponse
- Network.AWS.S3.PutBucketAcl: instance Show PutBucketAcl
- Network.AWS.S3.PutBucketAcl: instance Show PutBucketAclResponse
- Network.AWS.S3.PutBucketAcl: instance ToHeaders PutBucketAcl
- Network.AWS.S3.PutBucketAcl: instance ToPath PutBucketAcl
- Network.AWS.S3.PutBucketAcl: instance ToQuery PutBucketAcl
- Network.AWS.S3.PutBucketAcl: instance ToXML PutBucketAcl
- Network.AWS.S3.PutBucketAcl: instance ToXMLRoot PutBucketAcl
- Network.AWS.S3.PutBucketAcl: pbaACL :: Lens' PutBucketAcl (Maybe BucketCannedACL)
- Network.AWS.S3.PutBucketAcl: pbaAccessControlPolicy :: Lens' PutBucketAcl (Maybe AccessControlPolicy)
- Network.AWS.S3.PutBucketAcl: pbaBucket :: Lens' PutBucketAcl Text
- Network.AWS.S3.PutBucketAcl: pbaContentMD5 :: Lens' PutBucketAcl (Maybe Text)
- Network.AWS.S3.PutBucketAcl: pbaGrantFullControl :: Lens' PutBucketAcl (Maybe Text)
- Network.AWS.S3.PutBucketAcl: pbaGrantRead :: Lens' PutBucketAcl (Maybe Text)
- Network.AWS.S3.PutBucketAcl: pbaGrantReadACP :: Lens' PutBucketAcl (Maybe Text)
- Network.AWS.S3.PutBucketAcl: pbaGrantWrite :: Lens' PutBucketAcl (Maybe Text)
- Network.AWS.S3.PutBucketAcl: pbaGrantWriteACP :: Lens' PutBucketAcl (Maybe Text)
- Network.AWS.S3.PutBucketAcl: putBucketAcl :: Text -> PutBucketAcl
- Network.AWS.S3.PutBucketAcl: putBucketAclResponse :: PutBucketAclResponse
- Network.AWS.S3.PutBucketCors: data PutBucketCors
- Network.AWS.S3.PutBucketCors: data PutBucketCorsResponse
- Network.AWS.S3.PutBucketCors: instance AWSRequest PutBucketCors
- Network.AWS.S3.PutBucketCors: instance Constructor C1_0PutBucketCorsResponse
- Network.AWS.S3.PutBucketCors: instance Datatype D1PutBucketCorsResponse
- Network.AWS.S3.PutBucketCors: instance Eq PutBucketCors
- Network.AWS.S3.PutBucketCors: instance Eq PutBucketCorsResponse
- Network.AWS.S3.PutBucketCors: instance Generic PutBucketCorsResponse
- Network.AWS.S3.PutBucketCors: instance Ord PutBucketCorsResponse
- Network.AWS.S3.PutBucketCors: instance Read PutBucketCors
- Network.AWS.S3.PutBucketCors: instance Read PutBucketCorsResponse
- Network.AWS.S3.PutBucketCors: instance Show PutBucketCors
- Network.AWS.S3.PutBucketCors: instance Show PutBucketCorsResponse
- Network.AWS.S3.PutBucketCors: instance ToHeaders PutBucketCors
- Network.AWS.S3.PutBucketCors: instance ToPath PutBucketCors
- Network.AWS.S3.PutBucketCors: instance ToQuery PutBucketCors
- Network.AWS.S3.PutBucketCors: instance ToXML PutBucketCors
- Network.AWS.S3.PutBucketCors: instance ToXMLRoot PutBucketCors
- Network.AWS.S3.PutBucketCors: pbcBucket :: Lens' PutBucketCors Text
- Network.AWS.S3.PutBucketCors: pbcCORSConfiguration :: Lens' PutBucketCors (Maybe CORSConfiguration)
- Network.AWS.S3.PutBucketCors: pbcContentMD5 :: Lens' PutBucketCors (Maybe Text)
- Network.AWS.S3.PutBucketCors: putBucketCors :: Text -> PutBucketCors
- Network.AWS.S3.PutBucketCors: putBucketCorsResponse :: PutBucketCorsResponse
- Network.AWS.S3.PutBucketLifecycle: instance Ord PutBucketLifecycleResponse
- Network.AWS.S3.PutBucketLifecycle: instance ToXML PutBucketLifecycle
- Network.AWS.S3.PutBucketLifecycle: instance ToXMLRoot PutBucketLifecycle
- Network.AWS.S3.PutBucketLifecycle: pbl1Bucket :: Lens' PutBucketLifecycle Text
- Network.AWS.S3.PutBucketLifecycle: pbl1ContentMD5 :: Lens' PutBucketLifecycle (Maybe Text)
- Network.AWS.S3.PutBucketLifecycle: pbl1LifecycleConfiguration :: Lens' PutBucketLifecycle (Maybe LifecycleConfiguration)
- Network.AWS.S3.PutBucketLogging: instance Ord PutBucketLoggingResponse
- Network.AWS.S3.PutBucketLogging: instance ToXML PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance ToXMLRoot PutBucketLogging
- Network.AWS.S3.PutBucketNotification: data PutBucketNotification
- Network.AWS.S3.PutBucketNotification: data PutBucketNotificationResponse
- Network.AWS.S3.PutBucketNotification: instance AWSRequest PutBucketNotification
- Network.AWS.S3.PutBucketNotification: instance Constructor C1_0PutBucketNotificationResponse
- Network.AWS.S3.PutBucketNotification: instance Datatype D1PutBucketNotificationResponse
- Network.AWS.S3.PutBucketNotification: instance Eq PutBucketNotification
- Network.AWS.S3.PutBucketNotification: instance Eq PutBucketNotificationResponse
- Network.AWS.S3.PutBucketNotification: instance Generic PutBucketNotificationResponse
- Network.AWS.S3.PutBucketNotification: instance Ord PutBucketNotificationResponse
- Network.AWS.S3.PutBucketNotification: instance Read PutBucketNotification
- Network.AWS.S3.PutBucketNotification: instance Read PutBucketNotificationResponse
- Network.AWS.S3.PutBucketNotification: instance Show PutBucketNotification
- Network.AWS.S3.PutBucketNotification: instance Show PutBucketNotificationResponse
- Network.AWS.S3.PutBucketNotification: instance ToHeaders PutBucketNotification
- Network.AWS.S3.PutBucketNotification: instance ToPath PutBucketNotification
- Network.AWS.S3.PutBucketNotification: instance ToQuery PutBucketNotification
- Network.AWS.S3.PutBucketNotification: instance ToXML PutBucketNotification
- Network.AWS.S3.PutBucketNotification: instance ToXMLRoot PutBucketNotification
- Network.AWS.S3.PutBucketNotification: pbnBucket :: Lens' PutBucketNotification Text
- Network.AWS.S3.PutBucketNotification: pbnContentMD5 :: Lens' PutBucketNotification (Maybe Text)
- Network.AWS.S3.PutBucketNotification: pbnNotificationConfiguration :: Lens' PutBucketNotification NotificationConfigurationDeprecated
- Network.AWS.S3.PutBucketNotification: putBucketNotification :: Text -> NotificationConfigurationDeprecated -> PutBucketNotification
- Network.AWS.S3.PutBucketNotification: putBucketNotificationResponse :: PutBucketNotificationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Ord PutBucketNotificationConfigurationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: instance ToXML PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance ToXMLRoot PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketPolicy: instance Ord PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance Ord PutBucketPolicyResponse
- Network.AWS.S3.PutBucketPolicy: instance ToXML PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance ToXMLRoot PutBucketPolicy
- Network.AWS.S3.PutBucketReplication: instance Ord PutBucketReplicationResponse
- Network.AWS.S3.PutBucketReplication: instance ToXML PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance ToXMLRoot PutBucketReplication
- Network.AWS.S3.PutBucketRequestPayment: instance Ord PutBucketRequestPaymentResponse
- Network.AWS.S3.PutBucketRequestPayment: instance ToXML PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance ToXMLRoot PutBucketRequestPayment
- Network.AWS.S3.PutBucketTagging: instance Ord PutBucketTaggingResponse
- Network.AWS.S3.PutBucketTagging: instance ToXML PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance ToXMLRoot PutBucketTagging
- Network.AWS.S3.PutBucketVersioning: instance Ord PutBucketVersioningResponse
- Network.AWS.S3.PutBucketVersioning: instance ToXML PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance ToXMLRoot PutBucketVersioning
- Network.AWS.S3.PutBucketWebsite: instance Ord PutBucketWebsiteResponse
- Network.AWS.S3.PutBucketWebsite: instance ToXML PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance ToXMLRoot PutBucketWebsite
- Network.AWS.S3.PutObject: porETag :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObject: porExpiration :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObject: porRequestCharged :: Lens' PutObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.PutObject: porSSECustomerAlgorithm :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObject: porSSECustomerKeyMD5 :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObject: porSSEKMSKeyId :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObject: porServerSideEncryption :: Lens' PutObjectResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.PutObject: porVersionId :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObjectAcl: data PutObjectAcl
- Network.AWS.S3.PutObjectAcl: data PutObjectAclResponse
- Network.AWS.S3.PutObjectAcl: instance AWSRequest PutObjectAcl
- Network.AWS.S3.PutObjectAcl: instance Eq PutObjectAcl
- Network.AWS.S3.PutObjectAcl: instance Eq PutObjectAclResponse
- Network.AWS.S3.PutObjectAcl: instance Read PutObjectAcl
- Network.AWS.S3.PutObjectAcl: instance Read PutObjectAclResponse
- Network.AWS.S3.PutObjectAcl: instance Show PutObjectAcl
- Network.AWS.S3.PutObjectAcl: instance Show PutObjectAclResponse
- Network.AWS.S3.PutObjectAcl: instance ToHeaders PutObjectAcl
- Network.AWS.S3.PutObjectAcl: instance ToPath PutObjectAcl
- Network.AWS.S3.PutObjectAcl: instance ToQuery PutObjectAcl
- Network.AWS.S3.PutObjectAcl: instance ToXML PutObjectAcl
- Network.AWS.S3.PutObjectAcl: instance ToXMLRoot PutObjectAcl
- Network.AWS.S3.PutObjectAcl: poaACL :: Lens' PutObjectAcl (Maybe ObjectCannedACL)
- Network.AWS.S3.PutObjectAcl: poaAccessControlPolicy :: Lens' PutObjectAcl (Maybe AccessControlPolicy)
- Network.AWS.S3.PutObjectAcl: poaBucket :: Lens' PutObjectAcl Text
- Network.AWS.S3.PutObjectAcl: poaContentMD5 :: Lens' PutObjectAcl (Maybe Text)
- Network.AWS.S3.PutObjectAcl: poaGrantFullControl :: Lens' PutObjectAcl (Maybe Text)
- Network.AWS.S3.PutObjectAcl: poaGrantRead :: Lens' PutObjectAcl (Maybe Text)
- Network.AWS.S3.PutObjectAcl: poaGrantReadACP :: Lens' PutObjectAcl (Maybe Text)
- Network.AWS.S3.PutObjectAcl: poaGrantWrite :: Lens' PutObjectAcl (Maybe Text)
- Network.AWS.S3.PutObjectAcl: poaGrantWriteACP :: Lens' PutObjectAcl (Maybe Text)
- Network.AWS.S3.PutObjectAcl: poaKey :: Lens' PutObjectAcl Text
- Network.AWS.S3.PutObjectAcl: poaRequestPayer :: Lens' PutObjectAcl (Maybe RequestPayer)
- Network.AWS.S3.PutObjectAcl: poarRequestCharged :: Lens' PutObjectAclResponse (Maybe RequestCharged)
- Network.AWS.S3.PutObjectAcl: putObjectAcl :: Text -> Text -> PutObjectAcl
- Network.AWS.S3.PutObjectAcl: putObjectAclResponse :: PutObjectAclResponse
- Network.AWS.S3.RestoreObject: instance ToXML RestoreObject
- Network.AWS.S3.RestoreObject: instance ToXMLRoot RestoreObject
- Network.AWS.S3.RestoreObject: rorRequestCharged :: Lens' RestoreObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.Types: AuthenticatedRead :: ObjectCannedACL
- Network.AWS.S3.Types: BucketOwnerFullControl :: ObjectCannedACL
- Network.AWS.S3.Types: BucketOwnerRead :: ObjectCannedACL
- Network.AWS.S3.Types: CannedAuthenticatedRead :: BucketCannedACL
- Network.AWS.S3.Types: CannedPrivate :: BucketCannedACL
- Network.AWS.S3.Types: CannedPublicRead :: BucketCannedACL
- Network.AWS.S3.Types: CannedPublicReadWrite :: BucketCannedACL
- Network.AWS.S3.Types: Http :: Protocol
- Network.AWS.S3.Types: Https :: Protocol
- Network.AWS.S3.Types: MFADDisabled :: MFADelete
- Network.AWS.S3.Types: MFADEnabled :: MFADelete
- Network.AWS.S3.Types: MFADSDisabled :: MFADeleteStatus
- Network.AWS.S3.Types: MFADSEnabled :: MFADeleteStatus
- Network.AWS.S3.Types: PBucketOwner :: Payer
- Network.AWS.S3.Types: PRequester :: Payer
- Network.AWS.S3.Types: Private :: ObjectCannedACL
- Network.AWS.S3.Types: PublicRead :: ObjectCannedACL
- Network.AWS.S3.Types: PublicReadWrite :: ObjectCannedACL
- Network.AWS.S3.Types: RRSDisabled :: ReplicationRuleStatus
- Network.AWS.S3.Types: RRSEnabled :: ReplicationRuleStatus
- Network.AWS.S3.Types: SCReducedRedundancy :: StorageClass
- Network.AWS.S3.Types: SCStandard :: StorageClass
- Network.AWS.S3.Types: TSCGlacier :: TransitionStorageClass
- Network.AWS.S3.Types: Url :: EncodingType
- Network.AWS.S3.Types: cHttpErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)
- Network.AWS.S3.Types: cfcCloudFunction :: Lens' CloudFunctionConfiguration (Maybe Text)
- Network.AWS.S3.Types: cfcEvent :: Lens' CloudFunctionConfiguration (Maybe Event)
- Network.AWS.S3.Types: cfcEvents :: Lens' CloudFunctionConfiguration [Event]
- Network.AWS.S3.Types: cfcId :: Lens' CloudFunctionConfiguration (Maybe Text)
- Network.AWS.S3.Types: cfcInvocationRole :: Lens' CloudFunctionConfiguration (Maybe Text)
- Network.AWS.S3.Types: cloudFunctionConfiguration :: CloudFunctionConfiguration
- Network.AWS.S3.Types: corscCORSRules :: Lens' CORSConfiguration [CORSRule]
- Network.AWS.S3.Types: corsconfiguration :: CORSConfiguration
- Network.AWS.S3.Types: corsrAllowedHeaders :: Lens' CORSRule [Text]
- Network.AWS.S3.Types: corsrAllowedMethods :: Lens' CORSRule [Text]
- Network.AWS.S3.Types: corsrAllowedOrigins :: Lens' CORSRule [Text]
- Network.AWS.S3.Types: corsrExposeHeaders :: Lens' CORSRule [Text]
- Network.AWS.S3.Types: corsrMaxAgeSeconds :: Lens' CORSRule (Maybe Int)
- Network.AWS.S3.Types: corsrule :: CORSRule
- Network.AWS.S3.Types: data CloudFunctionConfiguration
- Network.AWS.S3.Types: data GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: data NotificationConfigurationDeprecated
- Network.AWS.S3.Types: data QueueConfigurationDeprecated
- Network.AWS.S3.Types: data RESTError :: *
- Network.AWS.S3.Types: data TopicConfigurationDeprecated
- Network.AWS.S3.Types: do1DeleteMarker :: Lens' DeletedObject (Maybe Bool)
- Network.AWS.S3.Types: do1DeleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)
- Network.AWS.S3.Types: do1Key :: Lens' DeletedObject (Maybe Text)
- Network.AWS.S3.Types: do1VersionId :: Lens' DeletedObject (Maybe Text)
- Network.AWS.S3.Types: gID :: Lens' Grantee (Maybe Text)
- Network.AWS.S3.Types: gbncBucket :: Lens' GetBucketNotificationConfigurationRequest Text
- Network.AWS.S3.Types: getBucketNotificationConfigurationRequest :: Text -> GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: iID :: Lens' Initiator (Maybe Text)
- Network.AWS.S3.Types: instance Constructor C1_0BucketCannedACL
- Network.AWS.S3.Types: instance Constructor C1_0BucketLogsPermission
- Network.AWS.S3.Types: instance Constructor C1_0BucketVersioningStatus
- Network.AWS.S3.Types: instance Constructor C1_0EncodingType
- Network.AWS.S3.Types: instance Constructor C1_0Event
- Network.AWS.S3.Types: instance Constructor C1_0ExpirationStatus
- Network.AWS.S3.Types: instance Constructor C1_0MFADelete
- Network.AWS.S3.Types: instance Constructor C1_0MFADeleteStatus
- Network.AWS.S3.Types: instance Constructor C1_0MetadataDirective
- Network.AWS.S3.Types: instance Constructor C1_0ObjectCannedACL
- Network.AWS.S3.Types: instance Constructor C1_0ObjectStorageClass
- Network.AWS.S3.Types: instance Constructor C1_0ObjectVersionStorageClass
- Network.AWS.S3.Types: instance Constructor C1_0Payer
- Network.AWS.S3.Types: instance Constructor C1_0Permission
- Network.AWS.S3.Types: instance Constructor C1_0Protocol
- Network.AWS.S3.Types: instance Constructor C1_0ReplicationRuleStatus
- Network.AWS.S3.Types: instance Constructor C1_0ReplicationStatus
- Network.AWS.S3.Types: instance Constructor C1_0RequestCharged
- Network.AWS.S3.Types: instance Constructor C1_0RequestPayer
- Network.AWS.S3.Types: instance Constructor C1_0ServerSideEncryption
- Network.AWS.S3.Types: instance Constructor C1_0StorageClass
- Network.AWS.S3.Types: instance Constructor C1_0TransitionStorageClass
- Network.AWS.S3.Types: instance Constructor C1_0Type
- Network.AWS.S3.Types: instance Constructor C1_1BucketCannedACL
- Network.AWS.S3.Types: instance Constructor C1_1BucketLogsPermission
- Network.AWS.S3.Types: instance Constructor C1_1BucketVersioningStatus
- Network.AWS.S3.Types: instance Constructor C1_1Event
- Network.AWS.S3.Types: instance Constructor C1_1ExpirationStatus
- Network.AWS.S3.Types: instance Constructor C1_1MFADelete
- Network.AWS.S3.Types: instance Constructor C1_1MFADeleteStatus
- Network.AWS.S3.Types: instance Constructor C1_1MetadataDirective
- Network.AWS.S3.Types: instance Constructor C1_1ObjectCannedACL
- Network.AWS.S3.Types: instance Constructor C1_1ObjectStorageClass
- Network.AWS.S3.Types: instance Constructor C1_1Payer
- Network.AWS.S3.Types: instance Constructor C1_1Permission
- Network.AWS.S3.Types: instance Constructor C1_1Protocol
- Network.AWS.S3.Types: instance Constructor C1_1ReplicationRuleStatus
- Network.AWS.S3.Types: instance Constructor C1_1ReplicationStatus
- Network.AWS.S3.Types: instance Constructor C1_1StorageClass
- Network.AWS.S3.Types: instance Constructor C1_1Type
- Network.AWS.S3.Types: instance Constructor C1_2BucketCannedACL
- Network.AWS.S3.Types: instance Constructor C1_2BucketLogsPermission
- Network.AWS.S3.Types: instance Constructor C1_2Event
- Network.AWS.S3.Types: instance Constructor C1_2ObjectCannedACL
- Network.AWS.S3.Types: instance Constructor C1_2ObjectStorageClass
- Network.AWS.S3.Types: instance Constructor C1_2Permission
- Network.AWS.S3.Types: instance Constructor C1_2ReplicationStatus
- Network.AWS.S3.Types: instance Constructor C1_2Type
- Network.AWS.S3.Types: instance Constructor C1_3BucketCannedACL
- Network.AWS.S3.Types: instance Constructor C1_3Event
- Network.AWS.S3.Types: instance Constructor C1_3ObjectCannedACL
- Network.AWS.S3.Types: instance Constructor C1_3Permission
- Network.AWS.S3.Types: instance Constructor C1_3ReplicationStatus
- Network.AWS.S3.Types: instance Constructor C1_4Event
- Network.AWS.S3.Types: instance Constructor C1_4ObjectCannedACL
- Network.AWS.S3.Types: instance Constructor C1_4Permission
- Network.AWS.S3.Types: instance Constructor C1_5ObjectCannedACL
- Network.AWS.S3.Types: instance Datatype D1BucketCannedACL
- Network.AWS.S3.Types: instance Datatype D1BucketLogsPermission
- Network.AWS.S3.Types: instance Datatype D1BucketVersioningStatus
- Network.AWS.S3.Types: instance Datatype D1EncodingType
- Network.AWS.S3.Types: instance Datatype D1Event
- Network.AWS.S3.Types: instance Datatype D1ExpirationStatus
- Network.AWS.S3.Types: instance Datatype D1MFADelete
- Network.AWS.S3.Types: instance Datatype D1MFADeleteStatus
- Network.AWS.S3.Types: instance Datatype D1MetadataDirective
- Network.AWS.S3.Types: instance Datatype D1ObjectCannedACL
- Network.AWS.S3.Types: instance Datatype D1ObjectStorageClass
- Network.AWS.S3.Types: instance Datatype D1ObjectVersionStorageClass
- Network.AWS.S3.Types: instance Datatype D1Payer
- Network.AWS.S3.Types: instance Datatype D1Permission
- Network.AWS.S3.Types: instance Datatype D1Protocol
- Network.AWS.S3.Types: instance Datatype D1ReplicationRuleStatus
- Network.AWS.S3.Types: instance Datatype D1ReplicationStatus
- Network.AWS.S3.Types: instance Datatype D1RequestCharged
- Network.AWS.S3.Types: instance Datatype D1RequestPayer
- Network.AWS.S3.Types: instance Datatype D1ServerSideEncryption
- Network.AWS.S3.Types: instance Datatype D1StorageClass
- Network.AWS.S3.Types: instance Datatype D1TransitionStorageClass
- Network.AWS.S3.Types: instance Datatype D1Type
- Network.AWS.S3.Types: instance Enum BucketCannedACL
- Network.AWS.S3.Types: instance Enum BucketLogsPermission
- Network.AWS.S3.Types: instance Enum BucketVersioningStatus
- Network.AWS.S3.Types: instance Enum EncodingType
- Network.AWS.S3.Types: instance Enum Event
- Network.AWS.S3.Types: instance Enum ExpirationStatus
- Network.AWS.S3.Types: instance Enum MFADelete
- Network.AWS.S3.Types: instance Enum MFADeleteStatus
- Network.AWS.S3.Types: instance Enum MetadataDirective
- Network.AWS.S3.Types: instance Enum NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance Enum ObjectCannedACL
- Network.AWS.S3.Types: instance Enum ObjectStorageClass
- Network.AWS.S3.Types: instance Enum ObjectVersionStorageClass
- Network.AWS.S3.Types: instance Enum Payer
- Network.AWS.S3.Types: instance Enum Permission
- Network.AWS.S3.Types: instance Enum Protocol
- Network.AWS.S3.Types: instance Enum ReplicationRuleStatus
- Network.AWS.S3.Types: instance Enum ReplicationStatus
- Network.AWS.S3.Types: instance Enum RequestCharged
- Network.AWS.S3.Types: instance Enum RequestPayer
- Network.AWS.S3.Types: instance Enum RestoreRequest
- Network.AWS.S3.Types: instance Enum ServerSideEncryption
- Network.AWS.S3.Types: instance Enum StorageClass
- Network.AWS.S3.Types: instance Enum TransitionStorageClass
- Network.AWS.S3.Types: instance Enum Type
- Network.AWS.S3.Types: instance Eq AccessControlPolicy
- Network.AWS.S3.Types: instance Eq Bucket
- Network.AWS.S3.Types: instance Eq BucketCannedACL
- Network.AWS.S3.Types: instance Eq BucketLoggingStatus
- Network.AWS.S3.Types: instance Eq BucketLogsPermission
- Network.AWS.S3.Types: instance Eq BucketVersioningStatus
- Network.AWS.S3.Types: instance Eq CORSConfiguration
- Network.AWS.S3.Types: instance Eq CORSRule
- Network.AWS.S3.Types: instance Eq CloudFunctionConfiguration
- Network.AWS.S3.Types: instance Eq CommonPrefix
- Network.AWS.S3.Types: instance Eq CompletedMultipartUpload
- Network.AWS.S3.Types: instance Eq CompletedPart
- Network.AWS.S3.Types: instance Eq Condition
- Network.AWS.S3.Types: instance Eq CopyObjectResult
- Network.AWS.S3.Types: instance Eq CopyPartResult
- Network.AWS.S3.Types: instance Eq CreateBucketConfiguration
- Network.AWS.S3.Types: instance Eq Delete
- Network.AWS.S3.Types: instance Eq DeleteMarkerEntry
- Network.AWS.S3.Types: instance Eq DeletedObject
- Network.AWS.S3.Types: instance Eq Destination
- Network.AWS.S3.Types: instance Eq EncodingType
- Network.AWS.S3.Types: instance Eq ErrorDocument
- Network.AWS.S3.Types: instance Eq Event
- Network.AWS.S3.Types: instance Eq ExpirationStatus
- Network.AWS.S3.Types: instance Eq GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: instance Eq Grant
- Network.AWS.S3.Types: instance Eq Grantee
- Network.AWS.S3.Types: instance Eq IndexDocument
- Network.AWS.S3.Types: instance Eq Initiator
- Network.AWS.S3.Types: instance Eq LambdaFunctionConfiguration
- Network.AWS.S3.Types: instance Eq LifecycleConfiguration
- Network.AWS.S3.Types: instance Eq LifecycleExpiration
- Network.AWS.S3.Types: instance Eq LoggingEnabled
- Network.AWS.S3.Types: instance Eq MFADelete
- Network.AWS.S3.Types: instance Eq MFADeleteStatus
- Network.AWS.S3.Types: instance Eq MetadataDirective
- Network.AWS.S3.Types: instance Eq MultipartUpload
- Network.AWS.S3.Types: instance Eq NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance Eq NoncurrentVersionTransition
- Network.AWS.S3.Types: instance Eq NotificationConfiguration
- Network.AWS.S3.Types: instance Eq NotificationConfigurationDeprecated
- Network.AWS.S3.Types: instance Eq Object
- Network.AWS.S3.Types: instance Eq ObjectCannedACL
- Network.AWS.S3.Types: instance Eq ObjectIdentifier
- Network.AWS.S3.Types: instance Eq ObjectStorageClass
- Network.AWS.S3.Types: instance Eq ObjectVersion
- Network.AWS.S3.Types: instance Eq ObjectVersionStorageClass
- Network.AWS.S3.Types: instance Eq Owner
- Network.AWS.S3.Types: instance Eq Part
- Network.AWS.S3.Types: instance Eq Payer
- Network.AWS.S3.Types: instance Eq Permission
- Network.AWS.S3.Types: instance Eq Protocol
- Network.AWS.S3.Types: instance Eq QueueConfiguration
- Network.AWS.S3.Types: instance Eq QueueConfigurationDeprecated
- Network.AWS.S3.Types: instance Eq Redirect
- Network.AWS.S3.Types: instance Eq RedirectAllRequestsTo
- Network.AWS.S3.Types: instance Eq ReplicationConfiguration
- Network.AWS.S3.Types: instance Eq ReplicationRule
- Network.AWS.S3.Types: instance Eq ReplicationRuleStatus
- Network.AWS.S3.Types: instance Eq ReplicationStatus
- Network.AWS.S3.Types: instance Eq RequestCharged
- Network.AWS.S3.Types: instance Eq RequestPayer
- Network.AWS.S3.Types: instance Eq RequestPaymentConfiguration
- Network.AWS.S3.Types: instance Eq RestoreRequest
- Network.AWS.S3.Types: instance Eq RoutingRule
- Network.AWS.S3.Types: instance Eq Rule
- Network.AWS.S3.Types: instance Eq S3ServiceError
- Network.AWS.S3.Types: instance Eq ServerSideEncryption
- Network.AWS.S3.Types: instance Eq StorageClass
- Network.AWS.S3.Types: instance Eq Tag
- Network.AWS.S3.Types: instance Eq Tagging
- Network.AWS.S3.Types: instance Eq TargetGrant
- Network.AWS.S3.Types: instance Eq TopicConfiguration
- Network.AWS.S3.Types: instance Eq TopicConfigurationDeprecated
- Network.AWS.S3.Types: instance Eq Transition
- Network.AWS.S3.Types: instance Eq TransitionStorageClass
- Network.AWS.S3.Types: instance Eq Type
- Network.AWS.S3.Types: instance Eq VersioningConfiguration
- Network.AWS.S3.Types: instance Eq WebsiteConfiguration
- Network.AWS.S3.Types: instance FromText BucketCannedACL
- Network.AWS.S3.Types: instance FromText BucketLogsPermission
- Network.AWS.S3.Types: instance FromText BucketVersioningStatus
- Network.AWS.S3.Types: instance FromText EncodingType
- Network.AWS.S3.Types: instance FromText Event
- Network.AWS.S3.Types: instance FromText ExpirationStatus
- Network.AWS.S3.Types: instance FromText MFADelete
- Network.AWS.S3.Types: instance FromText MFADeleteStatus
- Network.AWS.S3.Types: instance FromText MetadataDirective
- Network.AWS.S3.Types: instance FromText ObjectCannedACL
- Network.AWS.S3.Types: instance FromText ObjectStorageClass
- Network.AWS.S3.Types: instance FromText ObjectVersionStorageClass
- Network.AWS.S3.Types: instance FromText Payer
- Network.AWS.S3.Types: instance FromText Permission
- Network.AWS.S3.Types: instance FromText Protocol
- Network.AWS.S3.Types: instance FromText ReplicationRuleStatus
- Network.AWS.S3.Types: instance FromText ReplicationStatus
- Network.AWS.S3.Types: instance FromText RequestCharged
- Network.AWS.S3.Types: instance FromText RequestPayer
- Network.AWS.S3.Types: instance FromText ServerSideEncryption
- Network.AWS.S3.Types: instance FromText StorageClass
- Network.AWS.S3.Types: instance FromText TransitionStorageClass
- Network.AWS.S3.Types: instance FromText Type
- Network.AWS.S3.Types: instance FromXML AccessControlPolicy
- Network.AWS.S3.Types: instance FromXML Bucket
- Network.AWS.S3.Types: instance FromXML BucketCannedACL
- Network.AWS.S3.Types: instance FromXML BucketLoggingStatus
- Network.AWS.S3.Types: instance FromXML BucketLogsPermission
- Network.AWS.S3.Types: instance FromXML BucketVersioningStatus
- Network.AWS.S3.Types: instance FromXML CORSConfiguration
- Network.AWS.S3.Types: instance FromXML CORSRule
- Network.AWS.S3.Types: instance FromXML CloudFunctionConfiguration
- Network.AWS.S3.Types: instance FromXML CommonPrefix
- Network.AWS.S3.Types: instance FromXML CompletedMultipartUpload
- Network.AWS.S3.Types: instance FromXML CompletedPart
- Network.AWS.S3.Types: instance FromXML Condition
- Network.AWS.S3.Types: instance FromXML CopyObjectResult
- Network.AWS.S3.Types: instance FromXML CopyPartResult
- Network.AWS.S3.Types: instance FromXML CreateBucketConfiguration
- Network.AWS.S3.Types: instance FromXML Delete
- Network.AWS.S3.Types: instance FromXML DeleteMarkerEntry
- Network.AWS.S3.Types: instance FromXML DeletedObject
- Network.AWS.S3.Types: instance FromXML Destination
- Network.AWS.S3.Types: instance FromXML EncodingType
- Network.AWS.S3.Types: instance FromXML ErrorDocument
- Network.AWS.S3.Types: instance FromXML Event
- Network.AWS.S3.Types: instance FromXML ExpirationStatus
- Network.AWS.S3.Types: instance FromXML GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: instance FromXML Grant
- Network.AWS.S3.Types: instance FromXML Grantee
- Network.AWS.S3.Types: instance FromXML IndexDocument
- Network.AWS.S3.Types: instance FromXML Initiator
- Network.AWS.S3.Types: instance FromXML LambdaFunctionConfiguration
- Network.AWS.S3.Types: instance FromXML LifecycleConfiguration
- Network.AWS.S3.Types: instance FromXML LifecycleExpiration
- Network.AWS.S3.Types: instance FromXML LoggingEnabled
- Network.AWS.S3.Types: instance FromXML MFADelete
- Network.AWS.S3.Types: instance FromXML MFADeleteStatus
- Network.AWS.S3.Types: instance FromXML MetadataDirective
- Network.AWS.S3.Types: instance FromXML MultipartUpload
- Network.AWS.S3.Types: instance FromXML NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance FromXML NoncurrentVersionTransition
- Network.AWS.S3.Types: instance FromXML NotificationConfiguration
- Network.AWS.S3.Types: instance FromXML NotificationConfigurationDeprecated
- Network.AWS.S3.Types: instance FromXML Object
- Network.AWS.S3.Types: instance FromXML ObjectCannedACL
- Network.AWS.S3.Types: instance FromXML ObjectIdentifier
- Network.AWS.S3.Types: instance FromXML ObjectStorageClass
- Network.AWS.S3.Types: instance FromXML ObjectVersion
- Network.AWS.S3.Types: instance FromXML ObjectVersionStorageClass
- Network.AWS.S3.Types: instance FromXML Owner
- Network.AWS.S3.Types: instance FromXML Part
- Network.AWS.S3.Types: instance FromXML Payer
- Network.AWS.S3.Types: instance FromXML Permission
- Network.AWS.S3.Types: instance FromXML Protocol
- Network.AWS.S3.Types: instance FromXML QueueConfiguration
- Network.AWS.S3.Types: instance FromXML QueueConfigurationDeprecated
- Network.AWS.S3.Types: instance FromXML Redirect
- Network.AWS.S3.Types: instance FromXML RedirectAllRequestsTo
- Network.AWS.S3.Types: instance FromXML ReplicationConfiguration
- Network.AWS.S3.Types: instance FromXML ReplicationRule
- Network.AWS.S3.Types: instance FromXML ReplicationRuleStatus
- Network.AWS.S3.Types: instance FromXML ReplicationStatus
- Network.AWS.S3.Types: instance FromXML RequestCharged
- Network.AWS.S3.Types: instance FromXML RequestPayer
- Network.AWS.S3.Types: instance FromXML RequestPaymentConfiguration
- Network.AWS.S3.Types: instance FromXML RestoreRequest
- Network.AWS.S3.Types: instance FromXML RoutingRule
- Network.AWS.S3.Types: instance FromXML Rule
- Network.AWS.S3.Types: instance FromXML S3ServiceError
- Network.AWS.S3.Types: instance FromXML ServerSideEncryption
- Network.AWS.S3.Types: instance FromXML StorageClass
- Network.AWS.S3.Types: instance FromXML Tag
- Network.AWS.S3.Types: instance FromXML Tagging
- Network.AWS.S3.Types: instance FromXML TargetGrant
- Network.AWS.S3.Types: instance FromXML TopicConfiguration
- Network.AWS.S3.Types: instance FromXML TopicConfigurationDeprecated
- Network.AWS.S3.Types: instance FromXML Transition
- Network.AWS.S3.Types: instance FromXML TransitionStorageClass
- Network.AWS.S3.Types: instance FromXML Type
- Network.AWS.S3.Types: instance FromXML VersioningConfiguration
- Network.AWS.S3.Types: instance FromXML WebsiteConfiguration
- Network.AWS.S3.Types: instance Generic BucketCannedACL
- Network.AWS.S3.Types: instance Generic BucketLogsPermission
- Network.AWS.S3.Types: instance Generic BucketVersioningStatus
- Network.AWS.S3.Types: instance Generic EncodingType
- Network.AWS.S3.Types: instance Generic Event
- Network.AWS.S3.Types: instance Generic ExpirationStatus
- Network.AWS.S3.Types: instance Generic MFADelete
- Network.AWS.S3.Types: instance Generic MFADeleteStatus
- Network.AWS.S3.Types: instance Generic MetadataDirective
- Network.AWS.S3.Types: instance Generic ObjectCannedACL
- Network.AWS.S3.Types: instance Generic ObjectStorageClass
- Network.AWS.S3.Types: instance Generic ObjectVersionStorageClass
- Network.AWS.S3.Types: instance Generic Payer
- Network.AWS.S3.Types: instance Generic Permission
- Network.AWS.S3.Types: instance Generic Protocol
- Network.AWS.S3.Types: instance Generic ReplicationRuleStatus
- Network.AWS.S3.Types: instance Generic ReplicationStatus
- Network.AWS.S3.Types: instance Generic RequestCharged
- Network.AWS.S3.Types: instance Generic RequestPayer
- Network.AWS.S3.Types: instance Generic ServerSideEncryption
- Network.AWS.S3.Types: instance Generic StorageClass
- Network.AWS.S3.Types: instance Generic TransitionStorageClass
- Network.AWS.S3.Types: instance Generic Type
- Network.AWS.S3.Types: instance Hashable BucketCannedACL
- Network.AWS.S3.Types: instance Hashable BucketLogsPermission
- Network.AWS.S3.Types: instance Hashable BucketVersioningStatus
- Network.AWS.S3.Types: instance Hashable EncodingType
- Network.AWS.S3.Types: instance Hashable Event
- Network.AWS.S3.Types: instance Hashable ExpirationStatus
- Network.AWS.S3.Types: instance Hashable MFADelete
- Network.AWS.S3.Types: instance Hashable MFADeleteStatus
- Network.AWS.S3.Types: instance Hashable MetadataDirective
- Network.AWS.S3.Types: instance Hashable ObjectCannedACL
- Network.AWS.S3.Types: instance Hashable ObjectStorageClass
- Network.AWS.S3.Types: instance Hashable ObjectVersionStorageClass
- Network.AWS.S3.Types: instance Hashable Payer
- Network.AWS.S3.Types: instance Hashable Permission
- Network.AWS.S3.Types: instance Hashable Protocol
- Network.AWS.S3.Types: instance Hashable ReplicationRuleStatus
- Network.AWS.S3.Types: instance Hashable ReplicationStatus
- Network.AWS.S3.Types: instance Hashable RequestCharged
- Network.AWS.S3.Types: instance Hashable RequestPayer
- Network.AWS.S3.Types: instance Hashable ServerSideEncryption
- Network.AWS.S3.Types: instance Hashable StorageClass
- Network.AWS.S3.Types: instance Hashable TransitionStorageClass
- Network.AWS.S3.Types: instance Hashable Type
- Network.AWS.S3.Types: instance Integral NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance Integral RestoreRequest
- Network.AWS.S3.Types: instance IsList Tagging
- Network.AWS.S3.Types: instance IsString Destination
- Network.AWS.S3.Types: instance IsString ErrorDocument
- Network.AWS.S3.Types: instance IsString GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: instance IsString IndexDocument
- Network.AWS.S3.Types: instance Monoid CORSConfiguration
- Network.AWS.S3.Types: instance Monoid CommonPrefix
- Network.AWS.S3.Types: instance Monoid CompletedMultipartUpload
- Network.AWS.S3.Types: instance Monoid Destination
- Network.AWS.S3.Types: instance Monoid ErrorDocument
- Network.AWS.S3.Types: instance Monoid GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: instance Monoid IndexDocument
- Network.AWS.S3.Types: instance Monoid LifecycleConfiguration
- Network.AWS.S3.Types: instance Monoid Tagging
- Network.AWS.S3.Types: instance Num NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance Num RestoreRequest
- Network.AWS.S3.Types: instance Ord Bucket
- Network.AWS.S3.Types: instance Ord BucketCannedACL
- Network.AWS.S3.Types: instance Ord BucketLogsPermission
- Network.AWS.S3.Types: instance Ord BucketVersioningStatus
- Network.AWS.S3.Types: instance Ord CORSRule
- Network.AWS.S3.Types: instance Ord CommonPrefix
- Network.AWS.S3.Types: instance Ord CompletedPart
- Network.AWS.S3.Types: instance Ord Condition
- Network.AWS.S3.Types: instance Ord CopyObjectResult
- Network.AWS.S3.Types: instance Ord CopyPartResult
- Network.AWS.S3.Types: instance Ord DeletedObject
- Network.AWS.S3.Types: instance Ord Destination
- Network.AWS.S3.Types: instance Ord EncodingType
- Network.AWS.S3.Types: instance Ord ErrorDocument
- Network.AWS.S3.Types: instance Ord Event
- Network.AWS.S3.Types: instance Ord ExpirationStatus
- Network.AWS.S3.Types: instance Ord GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: instance Ord IndexDocument
- Network.AWS.S3.Types: instance Ord Initiator
- Network.AWS.S3.Types: instance Ord LifecycleExpiration
- Network.AWS.S3.Types: instance Ord MFADelete
- Network.AWS.S3.Types: instance Ord MFADeleteStatus
- Network.AWS.S3.Types: instance Ord MetadataDirective
- Network.AWS.S3.Types: instance Ord NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance Ord ObjectCannedACL
- Network.AWS.S3.Types: instance Ord ObjectIdentifier
- Network.AWS.S3.Types: instance Ord ObjectStorageClass
- Network.AWS.S3.Types: instance Ord ObjectVersionStorageClass
- Network.AWS.S3.Types: instance Ord Owner
- Network.AWS.S3.Types: instance Ord Part
- Network.AWS.S3.Types: instance Ord Payer
- Network.AWS.S3.Types: instance Ord Permission
- Network.AWS.S3.Types: instance Ord Protocol
- Network.AWS.S3.Types: instance Ord ReplicationRuleStatus
- Network.AWS.S3.Types: instance Ord ReplicationStatus
- Network.AWS.S3.Types: instance Ord RequestCharged
- Network.AWS.S3.Types: instance Ord RequestPayer
- Network.AWS.S3.Types: instance Ord RestoreRequest
- Network.AWS.S3.Types: instance Ord S3ServiceError
- Network.AWS.S3.Types: instance Ord ServerSideEncryption
- Network.AWS.S3.Types: instance Ord StorageClass
- Network.AWS.S3.Types: instance Ord Tag
- Network.AWS.S3.Types: instance Ord TransitionStorageClass
- Network.AWS.S3.Types: instance Ord Type
- Network.AWS.S3.Types: instance Read AccessControlPolicy
- Network.AWS.S3.Types: instance Read Bucket
- Network.AWS.S3.Types: instance Read BucketCannedACL
- Network.AWS.S3.Types: instance Read BucketLoggingStatus
- Network.AWS.S3.Types: instance Read BucketLogsPermission
- Network.AWS.S3.Types: instance Read BucketVersioningStatus
- Network.AWS.S3.Types: instance Read CORSConfiguration
- Network.AWS.S3.Types: instance Read CORSRule
- Network.AWS.S3.Types: instance Read CloudFunctionConfiguration
- Network.AWS.S3.Types: instance Read CommonPrefix
- Network.AWS.S3.Types: instance Read CompletedMultipartUpload
- Network.AWS.S3.Types: instance Read CompletedPart
- Network.AWS.S3.Types: instance Read Condition
- Network.AWS.S3.Types: instance Read CopyObjectResult
- Network.AWS.S3.Types: instance Read CopyPartResult
- Network.AWS.S3.Types: instance Read CreateBucketConfiguration
- Network.AWS.S3.Types: instance Read Delete
- Network.AWS.S3.Types: instance Read DeleteMarkerEntry
- Network.AWS.S3.Types: instance Read DeletedObject
- Network.AWS.S3.Types: instance Read Destination
- Network.AWS.S3.Types: instance Read EncodingType
- Network.AWS.S3.Types: instance Read ErrorDocument
- Network.AWS.S3.Types: instance Read Event
- Network.AWS.S3.Types: instance Read ExpirationStatus
- Network.AWS.S3.Types: instance Read GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: instance Read Grant
- Network.AWS.S3.Types: instance Read Grantee
- Network.AWS.S3.Types: instance Read IndexDocument
- Network.AWS.S3.Types: instance Read Initiator
- Network.AWS.S3.Types: instance Read LambdaFunctionConfiguration
- Network.AWS.S3.Types: instance Read LifecycleConfiguration
- Network.AWS.S3.Types: instance Read LifecycleExpiration
- Network.AWS.S3.Types: instance Read LoggingEnabled
- Network.AWS.S3.Types: instance Read MFADelete
- Network.AWS.S3.Types: instance Read MFADeleteStatus
- Network.AWS.S3.Types: instance Read MetadataDirective
- Network.AWS.S3.Types: instance Read MultipartUpload
- Network.AWS.S3.Types: instance Read NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance Read NoncurrentVersionTransition
- Network.AWS.S3.Types: instance Read NotificationConfiguration
- Network.AWS.S3.Types: instance Read NotificationConfigurationDeprecated
- Network.AWS.S3.Types: instance Read Object
- Network.AWS.S3.Types: instance Read ObjectCannedACL
- Network.AWS.S3.Types: instance Read ObjectIdentifier
- Network.AWS.S3.Types: instance Read ObjectStorageClass
- Network.AWS.S3.Types: instance Read ObjectVersion
- Network.AWS.S3.Types: instance Read ObjectVersionStorageClass
- Network.AWS.S3.Types: instance Read Owner
- Network.AWS.S3.Types: instance Read Part
- Network.AWS.S3.Types: instance Read Payer
- Network.AWS.S3.Types: instance Read Permission
- Network.AWS.S3.Types: instance Read Protocol
- Network.AWS.S3.Types: instance Read QueueConfiguration
- Network.AWS.S3.Types: instance Read QueueConfigurationDeprecated
- Network.AWS.S3.Types: instance Read Redirect
- Network.AWS.S3.Types: instance Read RedirectAllRequestsTo
- Network.AWS.S3.Types: instance Read ReplicationConfiguration
- Network.AWS.S3.Types: instance Read ReplicationRule
- Network.AWS.S3.Types: instance Read ReplicationRuleStatus
- Network.AWS.S3.Types: instance Read ReplicationStatus
- Network.AWS.S3.Types: instance Read RequestCharged
- Network.AWS.S3.Types: instance Read RequestPayer
- Network.AWS.S3.Types: instance Read RequestPaymentConfiguration
- Network.AWS.S3.Types: instance Read RestoreRequest
- Network.AWS.S3.Types: instance Read RoutingRule
- Network.AWS.S3.Types: instance Read Rule
- Network.AWS.S3.Types: instance Read S3ServiceError
- Network.AWS.S3.Types: instance Read ServerSideEncryption
- Network.AWS.S3.Types: instance Read StorageClass
- Network.AWS.S3.Types: instance Read Tag
- Network.AWS.S3.Types: instance Read Tagging
- Network.AWS.S3.Types: instance Read TargetGrant
- Network.AWS.S3.Types: instance Read TopicConfiguration
- Network.AWS.S3.Types: instance Read TopicConfigurationDeprecated
- Network.AWS.S3.Types: instance Read Transition
- Network.AWS.S3.Types: instance Read TransitionStorageClass
- Network.AWS.S3.Types: instance Read Type
- Network.AWS.S3.Types: instance Read VersioningConfiguration
- Network.AWS.S3.Types: instance Read WebsiteConfiguration
- Network.AWS.S3.Types: instance Real NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance Real RestoreRequest
- Network.AWS.S3.Types: instance Semigroup CORSConfiguration
- Network.AWS.S3.Types: instance Semigroup CompletedMultipartUpload
- Network.AWS.S3.Types: instance Semigroup LifecycleConfiguration
- Network.AWS.S3.Types: instance Semigroup Tagging
- Network.AWS.S3.Types: instance Show AccessControlPolicy
- Network.AWS.S3.Types: instance Show Bucket
- Network.AWS.S3.Types: instance Show BucketCannedACL
- Network.AWS.S3.Types: instance Show BucketLoggingStatus
- Network.AWS.S3.Types: instance Show BucketLogsPermission
- Network.AWS.S3.Types: instance Show BucketVersioningStatus
- Network.AWS.S3.Types: instance Show CORSConfiguration
- Network.AWS.S3.Types: instance Show CORSRule
- Network.AWS.S3.Types: instance Show CloudFunctionConfiguration
- Network.AWS.S3.Types: instance Show CommonPrefix
- Network.AWS.S3.Types: instance Show CompletedMultipartUpload
- Network.AWS.S3.Types: instance Show CompletedPart
- Network.AWS.S3.Types: instance Show Condition
- Network.AWS.S3.Types: instance Show CopyObjectResult
- Network.AWS.S3.Types: instance Show CopyPartResult
- Network.AWS.S3.Types: instance Show CreateBucketConfiguration
- Network.AWS.S3.Types: instance Show Delete
- Network.AWS.S3.Types: instance Show DeleteMarkerEntry
- Network.AWS.S3.Types: instance Show DeletedObject
- Network.AWS.S3.Types: instance Show Destination
- Network.AWS.S3.Types: instance Show EncodingType
- Network.AWS.S3.Types: instance Show ErrorDocument
- Network.AWS.S3.Types: instance Show Event
- Network.AWS.S3.Types: instance Show ExpirationStatus
- Network.AWS.S3.Types: instance Show GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: instance Show Grant
- Network.AWS.S3.Types: instance Show Grantee
- Network.AWS.S3.Types: instance Show IndexDocument
- Network.AWS.S3.Types: instance Show Initiator
- Network.AWS.S3.Types: instance Show LambdaFunctionConfiguration
- Network.AWS.S3.Types: instance Show LifecycleConfiguration
- Network.AWS.S3.Types: instance Show LifecycleExpiration
- Network.AWS.S3.Types: instance Show LoggingEnabled
- Network.AWS.S3.Types: instance Show MFADelete
- Network.AWS.S3.Types: instance Show MFADeleteStatus
- Network.AWS.S3.Types: instance Show MetadataDirective
- Network.AWS.S3.Types: instance Show MultipartUpload
- Network.AWS.S3.Types: instance Show NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance Show NoncurrentVersionTransition
- Network.AWS.S3.Types: instance Show NotificationConfiguration
- Network.AWS.S3.Types: instance Show NotificationConfigurationDeprecated
- Network.AWS.S3.Types: instance Show Object
- Network.AWS.S3.Types: instance Show ObjectCannedACL
- Network.AWS.S3.Types: instance Show ObjectIdentifier
- Network.AWS.S3.Types: instance Show ObjectStorageClass
- Network.AWS.S3.Types: instance Show ObjectVersion
- Network.AWS.S3.Types: instance Show ObjectVersionStorageClass
- Network.AWS.S3.Types: instance Show Owner
- Network.AWS.S3.Types: instance Show Part
- Network.AWS.S3.Types: instance Show Payer
- Network.AWS.S3.Types: instance Show Permission
- Network.AWS.S3.Types: instance Show Protocol
- Network.AWS.S3.Types: instance Show QueueConfiguration
- Network.AWS.S3.Types: instance Show QueueConfigurationDeprecated
- Network.AWS.S3.Types: instance Show Redirect
- Network.AWS.S3.Types: instance Show RedirectAllRequestsTo
- Network.AWS.S3.Types: instance Show ReplicationConfiguration
- Network.AWS.S3.Types: instance Show ReplicationRule
- Network.AWS.S3.Types: instance Show ReplicationRuleStatus
- Network.AWS.S3.Types: instance Show ReplicationStatus
- Network.AWS.S3.Types: instance Show RequestCharged
- Network.AWS.S3.Types: instance Show RequestPayer
- Network.AWS.S3.Types: instance Show RequestPaymentConfiguration
- Network.AWS.S3.Types: instance Show RestoreRequest
- Network.AWS.S3.Types: instance Show RoutingRule
- Network.AWS.S3.Types: instance Show Rule
- Network.AWS.S3.Types: instance Show S3ServiceError
- Network.AWS.S3.Types: instance Show ServerSideEncryption
- Network.AWS.S3.Types: instance Show StorageClass
- Network.AWS.S3.Types: instance Show Tag
- Network.AWS.S3.Types: instance Show Tagging
- Network.AWS.S3.Types: instance Show TargetGrant
- Network.AWS.S3.Types: instance Show TopicConfiguration
- Network.AWS.S3.Types: instance Show TopicConfigurationDeprecated
- Network.AWS.S3.Types: instance Show Transition
- Network.AWS.S3.Types: instance Show TransitionStorageClass
- Network.AWS.S3.Types: instance Show Type
- Network.AWS.S3.Types: instance Show VersioningConfiguration
- Network.AWS.S3.Types: instance Show WebsiteConfiguration
- Network.AWS.S3.Types: instance ToByteString BucketCannedACL
- Network.AWS.S3.Types: instance ToByteString BucketLogsPermission
- Network.AWS.S3.Types: instance ToByteString BucketVersioningStatus
- Network.AWS.S3.Types: instance ToByteString EncodingType
- Network.AWS.S3.Types: instance ToByteString Event
- Network.AWS.S3.Types: instance ToByteString ExpirationStatus
- Network.AWS.S3.Types: instance ToByteString MFADelete
- Network.AWS.S3.Types: instance ToByteString MFADeleteStatus
- Network.AWS.S3.Types: instance ToByteString MetadataDirective
- Network.AWS.S3.Types: instance ToByteString ObjectCannedACL
- Network.AWS.S3.Types: instance ToByteString ObjectStorageClass
- Network.AWS.S3.Types: instance ToByteString ObjectVersionStorageClass
- Network.AWS.S3.Types: instance ToByteString Payer
- Network.AWS.S3.Types: instance ToByteString Permission
- Network.AWS.S3.Types: instance ToByteString Protocol
- Network.AWS.S3.Types: instance ToByteString ReplicationRuleStatus
- Network.AWS.S3.Types: instance ToByteString ReplicationStatus
- Network.AWS.S3.Types: instance ToByteString RequestCharged
- Network.AWS.S3.Types: instance ToByteString RequestPayer
- Network.AWS.S3.Types: instance ToByteString ServerSideEncryption
- Network.AWS.S3.Types: instance ToByteString StorageClass
- Network.AWS.S3.Types: instance ToByteString TransitionStorageClass
- Network.AWS.S3.Types: instance ToByteString Type
- Network.AWS.S3.Types: instance ToHeader BucketCannedACL
- Network.AWS.S3.Types: instance ToHeader BucketLogsPermission
- Network.AWS.S3.Types: instance ToHeader BucketVersioningStatus
- Network.AWS.S3.Types: instance ToHeader EncodingType
- Network.AWS.S3.Types: instance ToHeader Event
- Network.AWS.S3.Types: instance ToHeader ExpirationStatus
- Network.AWS.S3.Types: instance ToHeader MFADelete
- Network.AWS.S3.Types: instance ToHeader MFADeleteStatus
- Network.AWS.S3.Types: instance ToHeader MetadataDirective
- Network.AWS.S3.Types: instance ToHeader ObjectCannedACL
- Network.AWS.S3.Types: instance ToHeader ObjectStorageClass
- Network.AWS.S3.Types: instance ToHeader ObjectVersionStorageClass
- Network.AWS.S3.Types: instance ToHeader Payer
- Network.AWS.S3.Types: instance ToHeader Permission
- Network.AWS.S3.Types: instance ToHeader Protocol
- Network.AWS.S3.Types: instance ToHeader ReplicationRuleStatus
- Network.AWS.S3.Types: instance ToHeader ReplicationStatus
- Network.AWS.S3.Types: instance ToHeader RequestCharged
- Network.AWS.S3.Types: instance ToHeader RequestPayer
- Network.AWS.S3.Types: instance ToHeader ServerSideEncryption
- Network.AWS.S3.Types: instance ToHeader StorageClass
- Network.AWS.S3.Types: instance ToHeader TransitionStorageClass
- Network.AWS.S3.Types: instance ToHeader Type
- Network.AWS.S3.Types: instance ToQuery BucketCannedACL
- Network.AWS.S3.Types: instance ToQuery BucketLogsPermission
- Network.AWS.S3.Types: instance ToQuery BucketVersioningStatus
- Network.AWS.S3.Types: instance ToQuery EncodingType
- Network.AWS.S3.Types: instance ToQuery Event
- Network.AWS.S3.Types: instance ToQuery ExpirationStatus
- Network.AWS.S3.Types: instance ToQuery MFADelete
- Network.AWS.S3.Types: instance ToQuery MFADeleteStatus
- Network.AWS.S3.Types: instance ToQuery MetadataDirective
- Network.AWS.S3.Types: instance ToQuery ObjectCannedACL
- Network.AWS.S3.Types: instance ToQuery ObjectStorageClass
- Network.AWS.S3.Types: instance ToQuery ObjectVersionStorageClass
- Network.AWS.S3.Types: instance ToQuery Payer
- Network.AWS.S3.Types: instance ToQuery Permission
- Network.AWS.S3.Types: instance ToQuery Protocol
- Network.AWS.S3.Types: instance ToQuery ReplicationRuleStatus
- Network.AWS.S3.Types: instance ToQuery ReplicationStatus
- Network.AWS.S3.Types: instance ToQuery RequestCharged
- Network.AWS.S3.Types: instance ToQuery RequestPayer
- Network.AWS.S3.Types: instance ToQuery ServerSideEncryption
- Network.AWS.S3.Types: instance ToQuery StorageClass
- Network.AWS.S3.Types: instance ToQuery TransitionStorageClass
- Network.AWS.S3.Types: instance ToQuery Type
- Network.AWS.S3.Types: instance ToText BucketCannedACL
- Network.AWS.S3.Types: instance ToText BucketLogsPermission
- Network.AWS.S3.Types: instance ToText BucketVersioningStatus
- Network.AWS.S3.Types: instance ToText EncodingType
- Network.AWS.S3.Types: instance ToText Event
- Network.AWS.S3.Types: instance ToText ExpirationStatus
- Network.AWS.S3.Types: instance ToText MFADelete
- Network.AWS.S3.Types: instance ToText MFADeleteStatus
- Network.AWS.S3.Types: instance ToText MetadataDirective
- Network.AWS.S3.Types: instance ToText ObjectCannedACL
- Network.AWS.S3.Types: instance ToText ObjectStorageClass
- Network.AWS.S3.Types: instance ToText ObjectVersionStorageClass
- Network.AWS.S3.Types: instance ToText Payer
- Network.AWS.S3.Types: instance ToText Permission
- Network.AWS.S3.Types: instance ToText Protocol
- Network.AWS.S3.Types: instance ToText ReplicationRuleStatus
- Network.AWS.S3.Types: instance ToText ReplicationStatus
- Network.AWS.S3.Types: instance ToText RequestCharged
- Network.AWS.S3.Types: instance ToText RequestPayer
- Network.AWS.S3.Types: instance ToText ServerSideEncryption
- Network.AWS.S3.Types: instance ToText StorageClass
- Network.AWS.S3.Types: instance ToText TransitionStorageClass
- Network.AWS.S3.Types: instance ToText Type
- Network.AWS.S3.Types: instance ToXML AccessControlPolicy
- Network.AWS.S3.Types: instance ToXML Bucket
- Network.AWS.S3.Types: instance ToXML BucketCannedACL
- Network.AWS.S3.Types: instance ToXML BucketLoggingStatus
- Network.AWS.S3.Types: instance ToXML BucketLogsPermission
- Network.AWS.S3.Types: instance ToXML BucketVersioningStatus
- Network.AWS.S3.Types: instance ToXML CORSConfiguration
- Network.AWS.S3.Types: instance ToXML CORSRule
- Network.AWS.S3.Types: instance ToXML CloudFunctionConfiguration
- Network.AWS.S3.Types: instance ToXML CommonPrefix
- Network.AWS.S3.Types: instance ToXML CompletedMultipartUpload
- Network.AWS.S3.Types: instance ToXML CompletedPart
- Network.AWS.S3.Types: instance ToXML Condition
- Network.AWS.S3.Types: instance ToXML CopyObjectResult
- Network.AWS.S3.Types: instance ToXML CopyPartResult
- Network.AWS.S3.Types: instance ToXML CreateBucketConfiguration
- Network.AWS.S3.Types: instance ToXML Delete
- Network.AWS.S3.Types: instance ToXML DeleteMarkerEntry
- Network.AWS.S3.Types: instance ToXML DeletedObject
- Network.AWS.S3.Types: instance ToXML Destination
- Network.AWS.S3.Types: instance ToXML EncodingType
- Network.AWS.S3.Types: instance ToXML ErrorDocument
- Network.AWS.S3.Types: instance ToXML Event
- Network.AWS.S3.Types: instance ToXML ExpirationStatus
- Network.AWS.S3.Types: instance ToXML GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: instance ToXML Grant
- Network.AWS.S3.Types: instance ToXML Grantee
- Network.AWS.S3.Types: instance ToXML IndexDocument
- Network.AWS.S3.Types: instance ToXML Initiator
- Network.AWS.S3.Types: instance ToXML LambdaFunctionConfiguration
- Network.AWS.S3.Types: instance ToXML LifecycleConfiguration
- Network.AWS.S3.Types: instance ToXML LifecycleExpiration
- Network.AWS.S3.Types: instance ToXML LoggingEnabled
- Network.AWS.S3.Types: instance ToXML MFADelete
- Network.AWS.S3.Types: instance ToXML MFADeleteStatus
- Network.AWS.S3.Types: instance ToXML MetadataDirective
- Network.AWS.S3.Types: instance ToXML MultipartUpload
- Network.AWS.S3.Types: instance ToXML NoncurrentVersionExpiration
- Network.AWS.S3.Types: instance ToXML NoncurrentVersionTransition
- Network.AWS.S3.Types: instance ToXML NotificationConfiguration
- Network.AWS.S3.Types: instance ToXML NotificationConfigurationDeprecated
- Network.AWS.S3.Types: instance ToXML Object
- Network.AWS.S3.Types: instance ToXML ObjectCannedACL
- Network.AWS.S3.Types: instance ToXML ObjectIdentifier
- Network.AWS.S3.Types: instance ToXML ObjectStorageClass
- Network.AWS.S3.Types: instance ToXML ObjectVersion
- Network.AWS.S3.Types: instance ToXML ObjectVersionStorageClass
- Network.AWS.S3.Types: instance ToXML Owner
- Network.AWS.S3.Types: instance ToXML Part
- Network.AWS.S3.Types: instance ToXML Payer
- Network.AWS.S3.Types: instance ToXML Permission
- Network.AWS.S3.Types: instance ToXML Protocol
- Network.AWS.S3.Types: instance ToXML QueueConfiguration
- Network.AWS.S3.Types: instance ToXML QueueConfigurationDeprecated
- Network.AWS.S3.Types: instance ToXML Redirect
- Network.AWS.S3.Types: instance ToXML RedirectAllRequestsTo
- Network.AWS.S3.Types: instance ToXML ReplicationConfiguration
- Network.AWS.S3.Types: instance ToXML ReplicationRule
- Network.AWS.S3.Types: instance ToXML ReplicationRuleStatus
- Network.AWS.S3.Types: instance ToXML ReplicationStatus
- Network.AWS.S3.Types: instance ToXML RequestCharged
- Network.AWS.S3.Types: instance ToXML RequestPayer
- Network.AWS.S3.Types: instance ToXML RequestPaymentConfiguration
- Network.AWS.S3.Types: instance ToXML RestoreRequest
- Network.AWS.S3.Types: instance ToXML RoutingRule
- Network.AWS.S3.Types: instance ToXML Rule
- Network.AWS.S3.Types: instance ToXML S3ServiceError
- Network.AWS.S3.Types: instance ToXML ServerSideEncryption
- Network.AWS.S3.Types: instance ToXML StorageClass
- Network.AWS.S3.Types: instance ToXML Tag
- Network.AWS.S3.Types: instance ToXML Tagging
- Network.AWS.S3.Types: instance ToXML TargetGrant
- Network.AWS.S3.Types: instance ToXML TopicConfiguration
- Network.AWS.S3.Types: instance ToXML TopicConfigurationDeprecated
- Network.AWS.S3.Types: instance ToXML Transition
- Network.AWS.S3.Types: instance ToXML TransitionStorageClass
- Network.AWS.S3.Types: instance ToXML Type
- Network.AWS.S3.Types: instance ToXML VersioningConfiguration
- Network.AWS.S3.Types: instance ToXML WebsiteConfiguration
- Network.AWS.S3.Types: instance ToXMLRoot AccessControlPolicy
- Network.AWS.S3.Types: instance ToXMLRoot CommonPrefix
- Network.AWS.S3.Types: instance ToXMLRoot GetBucketNotificationConfigurationRequest
- Network.AWS.S3.Types: instance ToXMLRoot Grant
- Network.AWS.S3.Types: instance ToXMLRoot NotificationConfiguration
- Network.AWS.S3.Types: instance ToXMLRoot NotificationConfigurationDeprecated
- Network.AWS.S3.Types: instance ToXMLRoot Owner
- Network.AWS.S3.Types: instance ToXMLRoot ReplicationConfiguration
- Network.AWS.S3.Types: lfcLambdaFunctionArn :: Lens' LambdaFunctionConfiguration Text
- Network.AWS.S3.Types: ncdCloudFunctionConfiguration :: Lens' NotificationConfigurationDeprecated (Maybe CloudFunctionConfiguration)
- Network.AWS.S3.Types: ncdQueueConfiguration :: Lens' NotificationConfigurationDeprecated (Maybe QueueConfigurationDeprecated)
- Network.AWS.S3.Types: ncdTopicConfiguration :: Lens' NotificationConfigurationDeprecated (Maybe TopicConfigurationDeprecated)
- Network.AWS.S3.Types: notificationConfigurationDeprecated :: NotificationConfigurationDeprecated
- Network.AWS.S3.Types: ns :: Text
- Network.AWS.S3.Types: oID :: Lens' Owner (Maybe Text)
- Network.AWS.S3.Types: qcQueueArn :: Lens' QueueConfiguration Text
- Network.AWS.S3.Types: qcdEvent :: Lens' QueueConfigurationDeprecated (Maybe Event)
- Network.AWS.S3.Types: qcdEvents :: Lens' QueueConfigurationDeprecated [Event]
- Network.AWS.S3.Types: qcdId :: Lens' QueueConfigurationDeprecated (Maybe Text)
- Network.AWS.S3.Types: qcdQueue :: Lens' QueueConfigurationDeprecated (Maybe Text)
- Network.AWS.S3.Types: queueConfigurationDeprecated :: QueueConfigurationDeprecated
- Network.AWS.S3.Types: rDays :: Lens' RestoreRequest Int
- Network.AWS.S3.Types: rHttpRedirectCode :: Lens' Redirect (Maybe Text)
- Network.AWS.S3.Types: rID :: Lens' Rule (Maybe Text)
- Network.AWS.S3.Types: rrID :: Lens' ReplicationRule (Maybe Text)
- Network.AWS.S3.Types: tcTopicArn :: Lens' TopicConfiguration Text
- Network.AWS.S3.Types: tcdEvent :: Lens' TopicConfigurationDeprecated (Maybe Event)
- Network.AWS.S3.Types: tcdEvents :: Lens' TopicConfigurationDeprecated [Event]
- Network.AWS.S3.Types: tcdId :: Lens' TopicConfigurationDeprecated (Maybe Text)
- Network.AWS.S3.Types: tcdTopic :: Lens' TopicConfigurationDeprecated (Maybe Text)
- Network.AWS.S3.Types: topicConfigurationDeprecated :: TopicConfigurationDeprecated
- Network.AWS.S3.UploadPart: uprETag :: Lens' UploadPartResponse (Maybe Text)
- Network.AWS.S3.UploadPart: uprRequestCharged :: Lens' UploadPartResponse (Maybe RequestCharged)
- Network.AWS.S3.UploadPart: uprSSECustomerAlgorithm :: Lens' UploadPartResponse (Maybe Text)
- Network.AWS.S3.UploadPart: uprSSECustomerKeyMD5 :: Lens' UploadPartResponse (Maybe Text)
- Network.AWS.S3.UploadPart: uprSSEKMSKeyId :: Lens' UploadPartResponse (Maybe Text)
- Network.AWS.S3.UploadPart: uprServerSideEncryption :: Lens' UploadPartResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.UploadPartCopy: instance ToXML UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance ToXMLRoot UploadPartCopy
- Network.AWS.S3.UploadPartCopy: upcrCopyPartResult :: Lens' UploadPartCopyResponse (Maybe CopyPartResult)
- Network.AWS.S3.UploadPartCopy: upcrCopySourceVersionId :: Lens' UploadPartCopyResponse (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcrRequestCharged :: Lens' UploadPartCopyResponse (Maybe RequestCharged)
- Network.AWS.S3.UploadPartCopy: upcrSSECustomerAlgorithm :: Lens' UploadPartCopyResponse (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcrSSECustomerKeyMD5 :: Lens' UploadPartCopyResponse (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcrSSEKMSKeyId :: Lens' UploadPartCopyResponse (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcrServerSideEncryption :: Lens' UploadPartCopyResponse (Maybe ServerSideEncryption)
+ Network.AWS.S3: AES256 :: ServerSideEncryption
+ Network.AWS.S3: AWSKMS :: ServerSideEncryption
+ Network.AWS.S3: AmazonCustomerByEmail :: Type
+ Network.AWS.S3: BAuthenticatedRead :: BucketCannedACL
+ Network.AWS.S3: BPrivate :: BucketCannedACL
+ Network.AWS.S3: BPublicRead :: BucketCannedACL
+ Network.AWS.S3: BPublicReadWrite :: BucketCannedACL
+ Network.AWS.S3: BVSEnabled :: BucketVersioningStatus
+ Network.AWS.S3: BVSSuspended :: BucketVersioningStatus
+ Network.AWS.S3: Beijing :: Region
+ Network.AWS.S3: BucketName :: Text -> BucketName
+ Network.AWS.S3: BucketOwner :: Payer
+ Network.AWS.S3: CanonicalUser :: Type
+ Network.AWS.S3: Complete :: ReplicationStatus
+ Network.AWS.S3: Copy :: MetadataDirective
+ Network.AWS.S3: Disabled :: ReplicationRuleStatus
+ Network.AWS.S3: ESDisabled :: ExpirationStatus
+ Network.AWS.S3: ESEnabled :: ExpirationStatus
+ Network.AWS.S3: ETag :: ByteString -> ETag
+ Network.AWS.S3: Enabled :: ReplicationRuleStatus
+ Network.AWS.S3: Failed :: ReplicationStatus
+ Network.AWS.S3: Frankfurt :: Region
+ Network.AWS.S3: FullControl :: BucketLogsPermission
+ Network.AWS.S3: Glacier :: TransitionStorageClass
+ Network.AWS.S3: GovCloud :: Region
+ Network.AWS.S3: GovCloudFIPS :: Region
+ Network.AWS.S3: Group :: Type
+ Network.AWS.S3: HTTP :: Protocol
+ Network.AWS.S3: HTTPS :: Protocol
+ Network.AWS.S3: Ireland :: Region
+ Network.AWS.S3: LT' :: StorageClass
+ Network.AWS.S3: MDDisabled :: MFADelete
+ Network.AWS.S3: MDEnabled :: MFADelete
+ Network.AWS.S3: MDSDisabled :: MFADeleteStatus
+ Network.AWS.S3: MDSEnabled :: MFADeleteStatus
+ Network.AWS.S3: NorthCalifornia :: Region
+ Network.AWS.S3: NorthVirginia :: Region
+ Network.AWS.S3: OAuthenticatedRead :: ObjectCannedACL
+ Network.AWS.S3: OBucketOwnerFullControl :: ObjectCannedACL
+ Network.AWS.S3: OBucketOwnerRead :: ObjectCannedACL
+ Network.AWS.S3: OPrivate :: ObjectCannedACL
+ Network.AWS.S3: OPublicRead :: ObjectCannedACL
+ Network.AWS.S3: OPublicReadWrite :: ObjectCannedACL
+ Network.AWS.S3: OSCGlacier :: ObjectStorageClass
+ Network.AWS.S3: OSCReducedRedundancy :: ObjectStorageClass
+ Network.AWS.S3: OSCStandard :: ObjectStorageClass
+ Network.AWS.S3: OVSCStandard :: ObjectVersionStorageClass
+ Network.AWS.S3: ObjectKey :: Text -> ObjectKey
+ Network.AWS.S3: ObjectVersionId :: Text -> ObjectVersionId
+ Network.AWS.S3: Oregon :: Region
+ Network.AWS.S3: PFullControl :: Permission
+ Network.AWS.S3: PRead :: Permission
+ Network.AWS.S3: PReadAcp :: Permission
+ Network.AWS.S3: PWrite :: Permission
+ Network.AWS.S3: PWriteAcp :: Permission
+ Network.AWS.S3: Pending :: ReplicationStatus
+ Network.AWS.S3: RCRequester :: RequestCharged
+ Network.AWS.S3: RPRequester :: RequestPayer
+ Network.AWS.S3: Read :: BucketLogsPermission
+ Network.AWS.S3: ReducedRedundancy :: StorageClass
+ Network.AWS.S3: Replace :: MetadataDirective
+ Network.AWS.S3: Replica :: ReplicationStatus
+ Network.AWS.S3: Requester :: Payer
+ Network.AWS.S3: S3ObjectCreated :: Event
+ Network.AWS.S3: S3ObjectCreatedCompleteMultipartUpload :: Event
+ Network.AWS.S3: S3ObjectCreatedCopy :: Event
+ Network.AWS.S3: S3ObjectCreatedPost :: Event
+ Network.AWS.S3: S3ObjectCreatedPut :: Event
+ Network.AWS.S3: S3ObjectRemoved :: Event
+ Network.AWS.S3: S3ObjectRemovedDelete :: Event
+ Network.AWS.S3: S3ObjectRemovedDeleteMarkerCreated :: Event
+ Network.AWS.S3: S3ReducedRedundancyLostObject :: Event
+ Network.AWS.S3: SaoPaulo :: Region
+ Network.AWS.S3: Singapore :: Region
+ Network.AWS.S3: Standard :: StorageClass
+ Network.AWS.S3: Sydney :: Region
+ Network.AWS.S3: Tokyo :: Region
+ Network.AWS.S3: URL :: EncodingType
+ Network.AWS.S3: Write :: BucketLogsPermission
+ Network.AWS.S3: _BucketAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3: _NoSuchBucket :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3: _NoSuchKey :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3: _NoSuchUpload :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3: _ObjectAlreadyInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3: _ObjectKey :: Iso' ObjectKey Text
+ Network.AWS.S3: _ObjectNotInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3: accessControlPolicy :: AccessControlPolicy
+ Network.AWS.S3: acpGrants :: Lens' AccessControlPolicy [Grant]
+ Network.AWS.S3: acpOwner :: Lens' AccessControlPolicy (Maybe Owner)
+ Network.AWS.S3: bCreationDate :: Lens' Bucket UTCTime
+ Network.AWS.S3: bName :: Lens' Bucket BucketName
+ Network.AWS.S3: blsLoggingEnabled :: Lens' BucketLoggingStatus (Maybe LoggingEnabled)
+ Network.AWS.S3: bucket :: UTCTime -> BucketName -> Bucket
+ Network.AWS.S3: bucketExists :: Wait HeadBucket
+ Network.AWS.S3: bucketLoggingStatus :: BucketLoggingStatus
+ Network.AWS.S3: bucketNotExists :: Wait HeadBucket
+ Network.AWS.S3: cHTTPErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)
+ Network.AWS.S3: cKeyPrefixEquals :: Lens' Condition (Maybe Text)
+ Network.AWS.S3: cbcLocationConstraint :: Lens' CreateBucketConfiguration (Maybe Region)
+ Network.AWS.S3: ccCORSRules :: Lens' CORSConfiguration [CORSRule]
+ Network.AWS.S3: cmuParts :: Lens' CompletedMultipartUpload (Maybe (NonEmpty CompletedPart))
+ Network.AWS.S3: commonPrefix :: CommonPrefix
+ Network.AWS.S3: completedMultipartUpload :: CompletedMultipartUpload
+ Network.AWS.S3: completedPart :: Int -> ETag -> CompletedPart
+ Network.AWS.S3: condition :: Condition
+ Network.AWS.S3: copyObjectResult :: CopyObjectResult
+ Network.AWS.S3: copyPartResult :: CopyPartResult
+ Network.AWS.S3: corETag :: Lens' CopyObjectResult (Maybe ETag)
+ Network.AWS.S3: corLastModified :: Lens' CopyObjectResult (Maybe UTCTime)
+ Network.AWS.S3: corsConfiguration :: CORSConfiguration
+ Network.AWS.S3: corsRule :: CORSRule
+ Network.AWS.S3: cpETag :: Lens' CompletedPart ETag
+ Network.AWS.S3: cpPartNumber :: Lens' CompletedPart Int
+ Network.AWS.S3: cpPrefix :: Lens' CommonPrefix (Maybe Text)
+ Network.AWS.S3: cprETag :: Lens' CopyPartResult (Maybe ETag)
+ Network.AWS.S3: cprLastModified :: Lens' CopyPartResult (Maybe UTCTime)
+ Network.AWS.S3: crAllowedHeaders :: Lens' CORSRule [Text]
+ Network.AWS.S3: crAllowedMethods :: Lens' CORSRule [Text]
+ Network.AWS.S3: crAllowedOrigins :: Lens' CORSRule [Text]
+ Network.AWS.S3: crExposeHeaders :: Lens' CORSRule [Text]
+ Network.AWS.S3: crMaxAgeSeconds :: Lens' CORSRule (Maybe Int)
+ Network.AWS.S3: createBucketConfiguration :: CreateBucketConfiguration
+ Network.AWS.S3: dBucket :: Lens' Destination BucketName
+ Network.AWS.S3: dDeleteMarker :: Lens' DeletedObject (Maybe Bool)
+ Network.AWS.S3: dDeleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)
+ Network.AWS.S3: dKey :: Lens' DeletedObject (Maybe ObjectKey)
+ Network.AWS.S3: dObjects :: Lens' Delete [ObjectIdentifier]
+ Network.AWS.S3: dQuiet :: Lens' Delete (Maybe Bool)
+ Network.AWS.S3: dVersionId :: Lens' DeletedObject (Maybe ObjectVersionId)
+ Network.AWS.S3: data AccessControlPolicy
+ Network.AWS.S3: data Bucket
+ Network.AWS.S3: data BucketCannedACL
+ Network.AWS.S3: data BucketLoggingStatus
+ Network.AWS.S3: data BucketLogsPermission
+ Network.AWS.S3: data BucketVersioningStatus
+ Network.AWS.S3: data CORSConfiguration
+ Network.AWS.S3: data CORSRule
+ Network.AWS.S3: data CommonPrefix
+ Network.AWS.S3: data CompletedMultipartUpload
+ Network.AWS.S3: data CompletedPart
+ Network.AWS.S3: data Condition
+ Network.AWS.S3: data CopyObjectResult
+ Network.AWS.S3: data CopyPartResult
+ Network.AWS.S3: data CreateBucketConfiguration
+ Network.AWS.S3: data Delete
+ Network.AWS.S3: data DeleteMarkerEntry
+ Network.AWS.S3: data DeletedObject
+ Network.AWS.S3: data Destination
+ Network.AWS.S3: data EncodingType
+ Network.AWS.S3: data ErrorDocument
+ Network.AWS.S3: data Event
+ Network.AWS.S3: data ExpirationStatus
+ Network.AWS.S3: data Grant
+ Network.AWS.S3: data Grantee
+ Network.AWS.S3: data IndexDocument
+ Network.AWS.S3: data Initiator
+ Network.AWS.S3: data LambdaFunctionConfiguration
+ Network.AWS.S3: data LifecycleConfiguration
+ Network.AWS.S3: data LifecycleExpiration
+ Network.AWS.S3: data LoggingEnabled
+ Network.AWS.S3: data MFADelete
+ Network.AWS.S3: data MFADeleteStatus
+ Network.AWS.S3: data MetadataDirective
+ Network.AWS.S3: data MultipartUpload
+ Network.AWS.S3: data NoncurrentVersionExpiration
+ Network.AWS.S3: data NoncurrentVersionTransition
+ Network.AWS.S3: data NotificationConfiguration
+ Network.AWS.S3: data Object
+ Network.AWS.S3: data ObjectCannedACL
+ Network.AWS.S3: data ObjectIdentifier
+ Network.AWS.S3: data ObjectStorageClass
+ Network.AWS.S3: data ObjectVersion
+ Network.AWS.S3: data ObjectVersionStorageClass
+ Network.AWS.S3: data Owner
+ Network.AWS.S3: data Part
+ Network.AWS.S3: data Payer
+ Network.AWS.S3: data Permission
+ Network.AWS.S3: data Protocol
+ Network.AWS.S3: data QueueConfiguration
+ Network.AWS.S3: data Redirect
+ Network.AWS.S3: data RedirectAllRequestsTo
+ Network.AWS.S3: data Region :: *
+ Network.AWS.S3: data ReplicationConfiguration
+ Network.AWS.S3: data ReplicationRule
+ Network.AWS.S3: data ReplicationRuleStatus
+ Network.AWS.S3: data ReplicationStatus
+ Network.AWS.S3: data RequestCharged
+ Network.AWS.S3: data RequestPayer
+ Network.AWS.S3: data RequestPaymentConfiguration
+ Network.AWS.S3: data RestoreRequest
+ Network.AWS.S3: data RoutingRule
+ Network.AWS.S3: data Rule
+ Network.AWS.S3: data S3
+ Network.AWS.S3: data S3ServiceError
+ Network.AWS.S3: data ServerSideEncryption
+ Network.AWS.S3: data StorageClass
+ Network.AWS.S3: data Tag
+ Network.AWS.S3: data Tagging
+ Network.AWS.S3: data TargetGrant
+ Network.AWS.S3: data TopicConfiguration
+ Network.AWS.S3: data Transition
+ Network.AWS.S3: data TransitionStorageClass
+ Network.AWS.S3: data Type
+ Network.AWS.S3: data VersioningConfiguration
+ Network.AWS.S3: data WebsiteConfiguration
+ Network.AWS.S3: delete' :: Delete
+ Network.AWS.S3: deleteMarkerEntry :: DeleteMarkerEntry
+ Network.AWS.S3: deletedObject :: DeletedObject
+ Network.AWS.S3: destination :: BucketName -> Destination
+ Network.AWS.S3: dmeIsLatest :: Lens' DeleteMarkerEntry (Maybe Bool)
+ Network.AWS.S3: dmeKey :: Lens' DeleteMarkerEntry (Maybe ObjectKey)
+ Network.AWS.S3: dmeLastModified :: Lens' DeleteMarkerEntry (Maybe UTCTime)
+ Network.AWS.S3: dmeOwner :: Lens' DeleteMarkerEntry (Maybe Owner)
+ Network.AWS.S3: dmeVersionId :: Lens' DeleteMarkerEntry (Maybe ObjectVersionId)
+ Network.AWS.S3: edKey :: Lens' ErrorDocument ObjectKey
+ Network.AWS.S3: errorDocument :: ObjectKey -> ErrorDocument
+ Network.AWS.S3: gDisplayName :: Lens' Grantee (Maybe Text)
+ Network.AWS.S3: gEmailAddress :: Lens' Grantee (Maybe Text)
+ Network.AWS.S3: gGrantee :: Lens' Grant (Maybe Grantee)
+ Network.AWS.S3: gId :: Lens' Grantee (Maybe Text)
+ Network.AWS.S3: gPermission :: Lens' Grant (Maybe Permission)
+ Network.AWS.S3: gType :: Lens' Grantee Type
+ Network.AWS.S3: gURI :: Lens' Grantee (Maybe Text)
+ Network.AWS.S3: grant :: Grant
+ Network.AWS.S3: grantee :: Type -> Grantee
+ Network.AWS.S3: iDisplayName :: Lens' Initiator (Maybe Text)
+ Network.AWS.S3: iId :: Lens' Initiator (Maybe Text)
+ Network.AWS.S3: idSuffix :: Lens' IndexDocument Text
+ Network.AWS.S3: indexDocument :: Text -> IndexDocument
+ Network.AWS.S3: initiator :: Initiator
+ Network.AWS.S3: keyComponents :: Delimiter -> IndexedTraversal' Int ObjectKey Text
+ Network.AWS.S3: keyName :: Delimiter -> Traversal' ObjectKey Text
+ Network.AWS.S3: keyPrefix :: Delimiter -> Traversal' ObjectKey Text
+ Network.AWS.S3: lambdaFunctionConfiguration :: Text -> LambdaFunctionConfiguration
+ Network.AWS.S3: lcRules :: Lens' LifecycleConfiguration [Rule]
+ Network.AWS.S3: leDate :: Lens' LifecycleExpiration (Maybe UTCTime)
+ Network.AWS.S3: leDays :: Lens' LifecycleExpiration (Maybe Int)
+ Network.AWS.S3: leTargetBucket :: Lens' LoggingEnabled (Maybe Text)
+ Network.AWS.S3: leTargetGrants :: Lens' LoggingEnabled [TargetGrant]
+ Network.AWS.S3: leTargetPrefix :: Lens' LoggingEnabled (Maybe Text)
+ Network.AWS.S3: lfcEvents :: Lens' LambdaFunctionConfiguration [Event]
+ Network.AWS.S3: lfcId :: Lens' LambdaFunctionConfiguration (Maybe Text)
+ Network.AWS.S3: lfcLambdaFunctionARN :: Lens' LambdaFunctionConfiguration Text
+ Network.AWS.S3: lifecycleConfiguration :: LifecycleConfiguration
+ Network.AWS.S3: lifecycleExpiration :: LifecycleExpiration
+ Network.AWS.S3: loggingEnabled :: LoggingEnabled
+ Network.AWS.S3: muInitiated :: Lens' MultipartUpload (Maybe UTCTime)
+ Network.AWS.S3: muInitiator :: Lens' MultipartUpload (Maybe Initiator)
+ Network.AWS.S3: muKey :: Lens' MultipartUpload (Maybe ObjectKey)
+ Network.AWS.S3: muOwner :: Lens' MultipartUpload (Maybe Owner)
+ Network.AWS.S3: muStorageClass :: Lens' MultipartUpload (Maybe StorageClass)
+ Network.AWS.S3: muUploadId :: Lens' MultipartUpload (Maybe Text)
+ Network.AWS.S3: multipartUpload :: MultipartUpload
+ Network.AWS.S3: ncLambdaFunctionConfigurations :: Lens' NotificationConfiguration [LambdaFunctionConfiguration]
+ Network.AWS.S3: ncQueueConfigurations :: Lens' NotificationConfiguration [QueueConfiguration]
+ Network.AWS.S3: ncTopicConfigurations :: Lens' NotificationConfiguration [TopicConfiguration]
+ Network.AWS.S3: newtype BucketName
+ Network.AWS.S3: newtype ETag
+ Network.AWS.S3: newtype ObjectKey
+ Network.AWS.S3: newtype ObjectVersionId
+ Network.AWS.S3: noncurrentVersionExpiration :: Int -> NoncurrentVersionExpiration
+ Network.AWS.S3: noncurrentVersionTransition :: Int -> TransitionStorageClass -> NoncurrentVersionTransition
+ Network.AWS.S3: notificationConfiguration :: NotificationConfiguration
+ Network.AWS.S3: nveNoncurrentDays :: Lens' NoncurrentVersionExpiration Int
+ Network.AWS.S3: nvtNoncurrentDays :: Lens' NoncurrentVersionTransition Int
+ Network.AWS.S3: nvtStorageClass :: Lens' NoncurrentVersionTransition TransitionStorageClass
+ Network.AWS.S3: oDisplayName :: Lens' Owner (Maybe Text)
+ Network.AWS.S3: oETag :: Lens' Object ETag
+ Network.AWS.S3: oId :: Lens' Owner (Maybe Text)
+ Network.AWS.S3: oKey :: Lens' Object ObjectKey
+ Network.AWS.S3: oLastModified :: Lens' Object UTCTime
+ Network.AWS.S3: oOwner :: Lens' Object (Maybe Owner)
+ Network.AWS.S3: oSize :: Lens' Object Int
+ Network.AWS.S3: oStorageClass :: Lens' Object ObjectStorageClass
+ Network.AWS.S3: object' :: ETag -> Int -> ObjectKey -> ObjectStorageClass -> UTCTime -> Object
+ Network.AWS.S3: objectExists :: Wait HeadObject
+ Network.AWS.S3: objectIdentifier :: ObjectKey -> ObjectIdentifier
+ Network.AWS.S3: objectNotExists :: Wait HeadObject
+ Network.AWS.S3: objectVersion :: ObjectVersion
+ Network.AWS.S3: oiKey :: Lens' ObjectIdentifier ObjectKey
+ Network.AWS.S3: oiVersionId :: Lens' ObjectIdentifier (Maybe ObjectVersionId)
+ Network.AWS.S3: ovETag :: Lens' ObjectVersion (Maybe ETag)
+ Network.AWS.S3: ovIsLatest :: Lens' ObjectVersion (Maybe Bool)
+ Network.AWS.S3: ovKey :: Lens' ObjectVersion (Maybe ObjectKey)
+ Network.AWS.S3: ovLastModified :: Lens' ObjectVersion (Maybe UTCTime)
+ Network.AWS.S3: ovOwner :: Lens' ObjectVersion (Maybe Owner)
+ Network.AWS.S3: ovSize :: Lens' ObjectVersion (Maybe Int)
+ Network.AWS.S3: ovStorageClass :: Lens' ObjectVersion (Maybe ObjectVersionStorageClass)
+ Network.AWS.S3: ovVersionId :: Lens' ObjectVersion (Maybe ObjectVersionId)
+ Network.AWS.S3: owner :: Owner
+ Network.AWS.S3: pETag :: Lens' Part (Maybe ETag)
+ Network.AWS.S3: pLastModified :: Lens' Part (Maybe UTCTime)
+ Network.AWS.S3: pPartNumber :: Lens' Part (Maybe Int)
+ Network.AWS.S3: pSize :: Lens' Part (Maybe Int)
+ Network.AWS.S3: part :: Part
+ Network.AWS.S3: qcEvents :: Lens' QueueConfiguration [Event]
+ Network.AWS.S3: qcId :: Lens' QueueConfiguration (Maybe Text)
+ Network.AWS.S3: qcQueueARN :: Lens' QueueConfiguration Text
+ Network.AWS.S3: queueConfiguration :: Text -> QueueConfiguration
+ Network.AWS.S3: rExpiration :: Lens' Rule (Maybe LifecycleExpiration)
+ Network.AWS.S3: rHTTPRedirectCode :: Lens' Redirect (Maybe Text)
+ Network.AWS.S3: rHostName :: Lens' Redirect (Maybe Text)
+ Network.AWS.S3: rId :: Lens' Rule (Maybe Text)
+ Network.AWS.S3: rNoncurrentVersionExpiration :: Lens' Rule (Maybe NoncurrentVersionExpiration)
+ Network.AWS.S3: rNoncurrentVersionTransition :: Lens' Rule (Maybe NoncurrentVersionTransition)
+ Network.AWS.S3: rPrefix :: Lens' Rule Text
+ Network.AWS.S3: rProtocol :: Lens' Redirect (Maybe Protocol)
+ Network.AWS.S3: rReplaceKeyPrefixWith :: Lens' Redirect (Maybe Text)
+ Network.AWS.S3: rReplaceKeyWith :: Lens' Redirect (Maybe Text)
+ Network.AWS.S3: rStatus :: Lens' Rule ExpirationStatus
+ Network.AWS.S3: rTransition :: Lens' Rule (Maybe Transition)
+ Network.AWS.S3: rartHostName :: Lens' RedirectAllRequestsTo Text
+ Network.AWS.S3: rartProtocol :: Lens' RedirectAllRequestsTo (Maybe Protocol)
+ Network.AWS.S3: rcRole :: Lens' ReplicationConfiguration Text
+ Network.AWS.S3: rcRules :: Lens' ReplicationConfiguration [ReplicationRule]
+ Network.AWS.S3: redirect :: Redirect
+ Network.AWS.S3: redirectAllRequestsTo :: Text -> RedirectAllRequestsTo
+ Network.AWS.S3: replicationConfiguration :: Text -> ReplicationConfiguration
+ Network.AWS.S3: replicationRule :: Text -> ReplicationRuleStatus -> Destination -> ReplicationRule
+ Network.AWS.S3: requestPaymentConfiguration :: Payer -> RequestPaymentConfiguration
+ Network.AWS.S3: restoreRequest :: Int -> RestoreRequest
+ Network.AWS.S3: routingRule :: Redirect -> RoutingRule
+ Network.AWS.S3: rpcPayer :: Lens' RequestPaymentConfiguration Payer
+ Network.AWS.S3: rrCondition :: Lens' RoutingRule (Maybe Condition)
+ Network.AWS.S3: rrDays :: Lens' RestoreRequest Int
+ Network.AWS.S3: rrDestination :: Lens' ReplicationRule Destination
+ Network.AWS.S3: rrId :: Lens' ReplicationRule (Maybe Text)
+ Network.AWS.S3: rrPrefix :: Lens' ReplicationRule Text
+ Network.AWS.S3: rrRedirect :: Lens' RoutingRule Redirect
+ Network.AWS.S3: rrStatus :: Lens' ReplicationRule ReplicationRuleStatus
+ Network.AWS.S3: rule :: Text -> ExpirationStatus -> Rule
+ Network.AWS.S3: s3ServiceError :: S3ServiceError
+ Network.AWS.S3: sseCode :: Lens' S3ServiceError (Maybe Text)
+ Network.AWS.S3: sseKey :: Lens' S3ServiceError (Maybe ObjectKey)
+ Network.AWS.S3: sseMessage :: Lens' S3ServiceError (Maybe Text)
+ Network.AWS.S3: sseVersionId :: Lens' S3ServiceError (Maybe ObjectVersionId)
+ Network.AWS.S3: tDate :: Lens' Transition (Maybe UTCTime)
+ Network.AWS.S3: tDays :: Lens' Transition (Maybe Int)
+ Network.AWS.S3: tStorageClass :: Lens' Transition (Maybe TransitionStorageClass)
+ Network.AWS.S3: tTagSet :: Lens' Tagging [Tag]
+ Network.AWS.S3: tag :: ObjectKey -> Text -> Tag
+ Network.AWS.S3: tagKey :: Lens' Tag ObjectKey
+ Network.AWS.S3: tagValue :: Lens' Tag Text
+ Network.AWS.S3: tagging :: Tagging
+ Network.AWS.S3: targetGrant :: TargetGrant
+ Network.AWS.S3: tcEvents :: Lens' TopicConfiguration [Event]
+ Network.AWS.S3: tcId :: Lens' TopicConfiguration (Maybe Text)
+ Network.AWS.S3: tcTopicARN :: Lens' TopicConfiguration Text
+ Network.AWS.S3: tgGrantee :: Lens' TargetGrant (Maybe Grantee)
+ Network.AWS.S3: tgPermission :: Lens' TargetGrant (Maybe BucketLogsPermission)
+ Network.AWS.S3: topicConfiguration :: Text -> TopicConfiguration
+ Network.AWS.S3: transition :: Transition
+ Network.AWS.S3: type Delimiter = Char
+ Network.AWS.S3: vcMFADelete :: Lens' VersioningConfiguration (Maybe MFADelete)
+ Network.AWS.S3: vcStatus :: Lens' VersioningConfiguration (Maybe BucketVersioningStatus)
+ Network.AWS.S3: versioningConfiguration :: VersioningConfiguration
+ Network.AWS.S3: wcErrorDocument :: Lens' WebsiteConfiguration (Maybe ErrorDocument)
+ Network.AWS.S3: wcIndexDocument :: Lens' WebsiteConfiguration (Maybe IndexDocument)
+ Network.AWS.S3: wcRedirectAllRequestsTo :: Lens' WebsiteConfiguration (Maybe RedirectAllRequestsTo)
+ Network.AWS.S3: wcRoutingRules :: Lens' WebsiteConfiguration [RoutingRule]
+ Network.AWS.S3: websiteConfiguration :: WebsiteConfiguration
+ Network.AWS.S3.AbortMultipartUpload: amursRequestCharged :: Lens' AbortMultipartUploadResponse (Maybe RequestCharged)
+ Network.AWS.S3.AbortMultipartUpload: amursStatus :: Lens' AbortMultipartUploadResponse Int
+ Network.AWS.S3.AbortMultipartUpload: instance Constructor C1_0AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: instance Constructor C1_0AbortMultipartUploadResponse
+ Network.AWS.S3.AbortMultipartUpload: instance Data AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: instance Data AbortMultipartUploadResponse
+ Network.AWS.S3.AbortMultipartUpload: instance Datatype D1AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: instance Datatype D1AbortMultipartUploadResponse
+ Network.AWS.S3.AbortMultipartUpload: instance Generic AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: instance Generic AbortMultipartUploadResponse
+ Network.AWS.S3.AbortMultipartUpload: instance Selector S1_0_0AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: instance Selector S1_0_0AbortMultipartUploadResponse
+ Network.AWS.S3.AbortMultipartUpload: instance Selector S1_0_1AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: instance Selector S1_0_1AbortMultipartUploadResponse
+ Network.AWS.S3.AbortMultipartUpload: instance Selector S1_0_2AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: instance Selector S1_0_3AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: instance Typeable AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: instance Typeable AbortMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: cBucket :: Lens' CompleteMultipartUpload BucketName
+ Network.AWS.S3.CompleteMultipartUpload: cKey :: Lens' CompleteMultipartUpload ObjectKey
+ Network.AWS.S3.CompleteMultipartUpload: cMultipartUpload :: Lens' CompleteMultipartUpload (Maybe CompletedMultipartUpload)
+ Network.AWS.S3.CompleteMultipartUpload: cRequestPayer :: Lens' CompleteMultipartUpload (Maybe RequestPayer)
+ Network.AWS.S3.CompleteMultipartUpload: cUploadId :: Lens' CompleteMultipartUpload Text
+ Network.AWS.S3.CompleteMultipartUpload: crsBucket :: Lens' CompleteMultipartUploadResponse (Maybe BucketName)
+ Network.AWS.S3.CompleteMultipartUpload: crsETag :: Lens' CompleteMultipartUploadResponse (Maybe ETag)
+ Network.AWS.S3.CompleteMultipartUpload: crsExpiration :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Network.AWS.S3.CompleteMultipartUpload: crsKey :: Lens' CompleteMultipartUploadResponse (Maybe ObjectKey)
+ Network.AWS.S3.CompleteMultipartUpload: crsLocation :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Network.AWS.S3.CompleteMultipartUpload: crsRequestCharged :: Lens' CompleteMultipartUploadResponse (Maybe RequestCharged)
+ Network.AWS.S3.CompleteMultipartUpload: crsSSEKMSKeyId :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Network.AWS.S3.CompleteMultipartUpload: crsServerSideEncryption :: Lens' CompleteMultipartUploadResponse (Maybe ServerSideEncryption)
+ Network.AWS.S3.CompleteMultipartUpload: crsStatus :: Lens' CompleteMultipartUploadResponse Int
+ Network.AWS.S3.CompleteMultipartUpload: crsVersionId :: Lens' CompleteMultipartUploadResponse (Maybe ObjectVersionId)
+ Network.AWS.S3.CompleteMultipartUpload: instance Constructor C1_0CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Constructor C1_0CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Data CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Data CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Datatype D1CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Datatype D1CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Generic CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Generic CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_0CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_0CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_1CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_1CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_2CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_2CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_3CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_3CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_4CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_4CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_5CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_6CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_7CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_8CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance Selector S1_0_9CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: instance ToElement CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Typeable CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: instance Typeable CompleteMultipartUploadResponse
+ Network.AWS.S3.CopyObject: corsCopyObjectResult :: Lens' CopyObjectResponse (Maybe CopyObjectResult)
+ Network.AWS.S3.CopyObject: corsCopySourceVersionId :: Lens' CopyObjectResponse (Maybe Text)
+ Network.AWS.S3.CopyObject: corsExpiration :: Lens' CopyObjectResponse (Maybe Text)
+ Network.AWS.S3.CopyObject: corsRequestCharged :: Lens' CopyObjectResponse (Maybe RequestCharged)
+ Network.AWS.S3.CopyObject: corsSSECustomerAlgorithm :: Lens' CopyObjectResponse (Maybe Text)
+ Network.AWS.S3.CopyObject: corsSSECustomerKeyMD5 :: Lens' CopyObjectResponse (Maybe Text)
+ Network.AWS.S3.CopyObject: corsSSEKMSKeyId :: Lens' CopyObjectResponse (Maybe Text)
+ Network.AWS.S3.CopyObject: corsServerSideEncryption :: Lens' CopyObjectResponse (Maybe ServerSideEncryption)
+ Network.AWS.S3.CopyObject: corsStatus :: Lens' CopyObjectResponse Int
+ Network.AWS.S3.CopyObject: instance Constructor C1_0CopyObject
+ Network.AWS.S3.CopyObject: instance Constructor C1_0CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Data CopyObject
+ Network.AWS.S3.CopyObject: instance Data CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Datatype D1CopyObject
+ Network.AWS.S3.CopyObject: instance Datatype D1CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Generic CopyObject
+ Network.AWS.S3.CopyObject: instance Generic CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_0CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_0CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_10CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_11CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_12CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_13CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_14CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_15CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_16CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_17CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_18CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_19CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_1CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_1CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_20CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_21CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_22CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_23CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_24CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_25CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_26CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_27CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_28CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_29CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_2CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_2CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_30CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_3CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_3CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_4CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_4CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_5CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_5CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_6CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_6CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_7CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_7CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_8CopyObject
+ Network.AWS.S3.CopyObject: instance Selector S1_0_8CopyObjectResponse
+ Network.AWS.S3.CopyObject: instance Selector S1_0_9CopyObject
+ Network.AWS.S3.CopyObject: instance Typeable CopyObject
+ Network.AWS.S3.CopyObject: instance Typeable CopyObjectResponse
+ Network.AWS.S3.CreateBucket: cbrsLocation :: Lens' CreateBucketResponse (Maybe Text)
+ Network.AWS.S3.CreateBucket: cbrsStatus :: Lens' CreateBucketResponse Int
+ Network.AWS.S3.CreateBucket: instance Constructor C1_0CreateBucket
+ Network.AWS.S3.CreateBucket: instance Constructor C1_0CreateBucketResponse
+ Network.AWS.S3.CreateBucket: instance Data CreateBucket
+ Network.AWS.S3.CreateBucket: instance Data CreateBucketResponse
+ Network.AWS.S3.CreateBucket: instance Datatype D1CreateBucket
+ Network.AWS.S3.CreateBucket: instance Datatype D1CreateBucketResponse
+ Network.AWS.S3.CreateBucket: instance Generic CreateBucket
+ Network.AWS.S3.CreateBucket: instance Generic CreateBucketResponse
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_0CreateBucket
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_0CreateBucketResponse
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_1CreateBucket
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_1CreateBucketResponse
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_2CreateBucket
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_3CreateBucket
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_4CreateBucket
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_5CreateBucket
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_6CreateBucket
+ Network.AWS.S3.CreateBucket: instance Selector S1_0_7CreateBucket
+ Network.AWS.S3.CreateBucket: instance ToElement CreateBucket
+ Network.AWS.S3.CreateBucket: instance Typeable CreateBucket
+ Network.AWS.S3.CreateBucket: instance Typeable CreateBucketResponse
+ Network.AWS.S3.CreateMultipartUpload: cmursBucket :: Lens' CreateMultipartUploadResponse (Maybe BucketName)
+ Network.AWS.S3.CreateMultipartUpload: cmursKey :: Lens' CreateMultipartUploadResponse (Maybe ObjectKey)
+ Network.AWS.S3.CreateMultipartUpload: cmursRequestCharged :: Lens' CreateMultipartUploadResponse (Maybe RequestCharged)
+ Network.AWS.S3.CreateMultipartUpload: cmursSSECustomerAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Network.AWS.S3.CreateMultipartUpload: cmursSSECustomerKeyMD5 :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Network.AWS.S3.CreateMultipartUpload: cmursSSEKMSKeyId :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Network.AWS.S3.CreateMultipartUpload: cmursServerSideEncryption :: Lens' CreateMultipartUploadResponse (Maybe ServerSideEncryption)
+ Network.AWS.S3.CreateMultipartUpload: cmursStatus :: Lens' CreateMultipartUploadResponse Int
+ Network.AWS.S3.CreateMultipartUpload: cmursUploadId :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Network.AWS.S3.CreateMultipartUpload: instance Constructor C1_0CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Constructor C1_0CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Data CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Data CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Datatype D1CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Datatype D1CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Generic CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Generic CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_0CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_0CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_10CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_11CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_12CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_13CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_14CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_15CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_16CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_17CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_18CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_19CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_1CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_1CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_20CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_21CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_2CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_2CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_3CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_3CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_4CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_4CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_5CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_5CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_6CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_6CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_7CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_7CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_8CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_8CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: instance Selector S1_0_9CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Typeable CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: instance Typeable CreateMultipartUploadResponse
+ Network.AWS.S3.DeleteBucket: instance Constructor C1_0DeleteBucket
+ Network.AWS.S3.DeleteBucket: instance Data DeleteBucket
+ Network.AWS.S3.DeleteBucket: instance Data DeleteBucketResponse
+ Network.AWS.S3.DeleteBucket: instance Datatype D1DeleteBucket
+ Network.AWS.S3.DeleteBucket: instance Generic DeleteBucket
+ Network.AWS.S3.DeleteBucket: instance Selector S1_0_0DeleteBucket
+ Network.AWS.S3.DeleteBucket: instance Typeable DeleteBucket
+ Network.AWS.S3.DeleteBucket: instance Typeable DeleteBucketResponse
+ Network.AWS.S3.DeleteBucketCORS: data DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: data DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketCORS: dbcBucket :: Lens' DeleteBucketCORS BucketName
+ Network.AWS.S3.DeleteBucketCORS: deleteBucketCORS :: BucketName -> DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: deleteBucketCORSResponse :: DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketCORS: instance AWSRequest DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Constructor C1_0DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Constructor C1_0DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketCORS: instance Data DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Data DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketCORS: instance Datatype D1DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Datatype D1DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketCORS: instance Eq DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Eq DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketCORS: instance Generic DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Generic DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketCORS: instance Read DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Read DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketCORS: instance Selector S1_0_0DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Show DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Show DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketCORS: instance ToHeaders DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance ToPath DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance ToQuery DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Typeable DeleteBucketCORS
+ Network.AWS.S3.DeleteBucketCORS: instance Typeable DeleteBucketCORSResponse
+ Network.AWS.S3.DeleteBucketLifecycle: instance Constructor C1_0DeleteBucketLifecycle
+ Network.AWS.S3.DeleteBucketLifecycle: instance Data DeleteBucketLifecycle
+ Network.AWS.S3.DeleteBucketLifecycle: instance Data DeleteBucketLifecycleResponse
+ Network.AWS.S3.DeleteBucketLifecycle: instance Datatype D1DeleteBucketLifecycle
+ Network.AWS.S3.DeleteBucketLifecycle: instance Generic DeleteBucketLifecycle
+ Network.AWS.S3.DeleteBucketLifecycle: instance Selector S1_0_0DeleteBucketLifecycle
+ Network.AWS.S3.DeleteBucketLifecycle: instance Typeable DeleteBucketLifecycle
+ Network.AWS.S3.DeleteBucketLifecycle: instance Typeable DeleteBucketLifecycleResponse
+ Network.AWS.S3.DeleteBucketPolicy: instance Constructor C1_0DeleteBucketPolicy
+ Network.AWS.S3.DeleteBucketPolicy: instance Data DeleteBucketPolicy
+ Network.AWS.S3.DeleteBucketPolicy: instance Data DeleteBucketPolicyResponse
+ Network.AWS.S3.DeleteBucketPolicy: instance Datatype D1DeleteBucketPolicy
+ Network.AWS.S3.DeleteBucketPolicy: instance Generic DeleteBucketPolicy
+ Network.AWS.S3.DeleteBucketPolicy: instance Selector S1_0_0DeleteBucketPolicy
+ Network.AWS.S3.DeleteBucketPolicy: instance Typeable DeleteBucketPolicy
+ Network.AWS.S3.DeleteBucketPolicy: instance Typeable DeleteBucketPolicyResponse
+ Network.AWS.S3.DeleteBucketReplication: instance Constructor C1_0DeleteBucketReplication
+ Network.AWS.S3.DeleteBucketReplication: instance Data DeleteBucketReplication
+ Network.AWS.S3.DeleteBucketReplication: instance Data DeleteBucketReplicationResponse
+ Network.AWS.S3.DeleteBucketReplication: instance Datatype D1DeleteBucketReplication
+ Network.AWS.S3.DeleteBucketReplication: instance Generic DeleteBucketReplication
+ Network.AWS.S3.DeleteBucketReplication: instance Selector S1_0_0DeleteBucketReplication
+ Network.AWS.S3.DeleteBucketReplication: instance Typeable DeleteBucketReplication
+ Network.AWS.S3.DeleteBucketReplication: instance Typeable DeleteBucketReplicationResponse
+ Network.AWS.S3.DeleteBucketTagging: instance Constructor C1_0DeleteBucketTagging
+ Network.AWS.S3.DeleteBucketTagging: instance Data DeleteBucketTagging
+ Network.AWS.S3.DeleteBucketTagging: instance Data DeleteBucketTaggingResponse
+ Network.AWS.S3.DeleteBucketTagging: instance Datatype D1DeleteBucketTagging
+ Network.AWS.S3.DeleteBucketTagging: instance Generic DeleteBucketTagging
+ Network.AWS.S3.DeleteBucketTagging: instance Selector S1_0_0DeleteBucketTagging
+ Network.AWS.S3.DeleteBucketTagging: instance Typeable DeleteBucketTagging
+ Network.AWS.S3.DeleteBucketTagging: instance Typeable DeleteBucketTaggingResponse
+ Network.AWS.S3.DeleteBucketWebsite: instance Constructor C1_0DeleteBucketWebsite
+ Network.AWS.S3.DeleteBucketWebsite: instance Data DeleteBucketWebsite
+ Network.AWS.S3.DeleteBucketWebsite: instance Data DeleteBucketWebsiteResponse
+ Network.AWS.S3.DeleteBucketWebsite: instance Datatype D1DeleteBucketWebsite
+ Network.AWS.S3.DeleteBucketWebsite: instance Generic DeleteBucketWebsite
+ Network.AWS.S3.DeleteBucketWebsite: instance Selector S1_0_0DeleteBucketWebsite
+ Network.AWS.S3.DeleteBucketWebsite: instance Typeable DeleteBucketWebsite
+ Network.AWS.S3.DeleteBucketWebsite: instance Typeable DeleteBucketWebsiteResponse
+ Network.AWS.S3.DeleteObject: dorsDeleteMarker :: Lens' DeleteObjectResponse (Maybe Bool)
+ Network.AWS.S3.DeleteObject: dorsRequestCharged :: Lens' DeleteObjectResponse (Maybe RequestCharged)
+ Network.AWS.S3.DeleteObject: dorsStatus :: Lens' DeleteObjectResponse Int
+ Network.AWS.S3.DeleteObject: dorsVersionId :: Lens' DeleteObjectResponse (Maybe ObjectVersionId)
+ Network.AWS.S3.DeleteObject: instance Constructor C1_0DeleteObject
+ Network.AWS.S3.DeleteObject: instance Constructor C1_0DeleteObjectResponse
+ Network.AWS.S3.DeleteObject: instance Data DeleteObject
+ Network.AWS.S3.DeleteObject: instance Data DeleteObjectResponse
+ Network.AWS.S3.DeleteObject: instance Datatype D1DeleteObject
+ Network.AWS.S3.DeleteObject: instance Datatype D1DeleteObjectResponse
+ Network.AWS.S3.DeleteObject: instance Generic DeleteObject
+ Network.AWS.S3.DeleteObject: instance Generic DeleteObjectResponse
+ Network.AWS.S3.DeleteObject: instance Selector S1_0_0DeleteObject
+ Network.AWS.S3.DeleteObject: instance Selector S1_0_0DeleteObjectResponse
+ Network.AWS.S3.DeleteObject: instance Selector S1_0_1DeleteObject
+ Network.AWS.S3.DeleteObject: instance Selector S1_0_1DeleteObjectResponse
+ Network.AWS.S3.DeleteObject: instance Selector S1_0_2DeleteObject
+ Network.AWS.S3.DeleteObject: instance Selector S1_0_2DeleteObjectResponse
+ Network.AWS.S3.DeleteObject: instance Selector S1_0_3DeleteObject
+ Network.AWS.S3.DeleteObject: instance Selector S1_0_3DeleteObjectResponse
+ Network.AWS.S3.DeleteObject: instance Selector S1_0_4DeleteObject
+ Network.AWS.S3.DeleteObject: instance Typeable DeleteObject
+ Network.AWS.S3.DeleteObject: instance Typeable DeleteObjectResponse
+ Network.AWS.S3.DeleteObjects: dosBucket :: Lens' DeleteObjects BucketName
+ Network.AWS.S3.DeleteObjects: dosDelete :: Lens' DeleteObjects Delete
+ Network.AWS.S3.DeleteObjects: dosMFA :: Lens' DeleteObjects (Maybe Text)
+ Network.AWS.S3.DeleteObjects: dosRequestPayer :: Lens' DeleteObjects (Maybe RequestPayer)
+ Network.AWS.S3.DeleteObjects: drsDeleted :: Lens' DeleteObjectsResponse [DeletedObject]
+ Network.AWS.S3.DeleteObjects: drsErrors :: Lens' DeleteObjectsResponse [S3ServiceError]
+ Network.AWS.S3.DeleteObjects: drsRequestCharged :: Lens' DeleteObjectsResponse (Maybe RequestCharged)
+ Network.AWS.S3.DeleteObjects: drsStatus :: Lens' DeleteObjectsResponse Int
+ Network.AWS.S3.DeleteObjects: instance Constructor C1_0DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Constructor C1_0DeleteObjectsResponse
+ Network.AWS.S3.DeleteObjects: instance Data DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Data DeleteObjectsResponse
+ Network.AWS.S3.DeleteObjects: instance Datatype D1DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Datatype D1DeleteObjectsResponse
+ Network.AWS.S3.DeleteObjects: instance Generic DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Generic DeleteObjectsResponse
+ Network.AWS.S3.DeleteObjects: instance Selector S1_0_0DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Selector S1_0_0DeleteObjectsResponse
+ Network.AWS.S3.DeleteObjects: instance Selector S1_0_1DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Selector S1_0_1DeleteObjectsResponse
+ Network.AWS.S3.DeleteObjects: instance Selector S1_0_2DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Selector S1_0_2DeleteObjectsResponse
+ Network.AWS.S3.DeleteObjects: instance Selector S1_0_3DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Selector S1_0_3DeleteObjectsResponse
+ Network.AWS.S3.DeleteObjects: instance ToElement DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Typeable DeleteObjects
+ Network.AWS.S3.DeleteObjects: instance Typeable DeleteObjectsResponse
+ Network.AWS.S3.GetBucketACL: data GetBucketACL
+ Network.AWS.S3.GetBucketACL: data GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: gbaBucket :: Lens' GetBucketACL BucketName
+ Network.AWS.S3.GetBucketACL: gbarsGrants :: Lens' GetBucketACLResponse [Grant]
+ Network.AWS.S3.GetBucketACL: gbarsOwner :: Lens' GetBucketACLResponse (Maybe Owner)
+ Network.AWS.S3.GetBucketACL: gbarsStatus :: Lens' GetBucketACLResponse Int
+ Network.AWS.S3.GetBucketACL: getBucketACL :: BucketName -> GetBucketACL
+ Network.AWS.S3.GetBucketACL: getBucketACLResponse :: Int -> GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance AWSRequest GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Constructor C1_0GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Constructor C1_0GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance Data GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Data GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance Datatype D1GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Datatype D1GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance Eq GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Eq GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance Generic GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Generic GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance Read GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Read GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance Selector S1_0_0GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Selector S1_0_0GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance Selector S1_0_1GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance Selector S1_0_2GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance Show GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Show GetBucketACLResponse
+ Network.AWS.S3.GetBucketACL: instance ToHeaders GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance ToPath GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance ToQuery GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Typeable GetBucketACL
+ Network.AWS.S3.GetBucketACL: instance Typeable GetBucketACLResponse
+ Network.AWS.S3.GetBucketCORS: data GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: data GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: gbcBucket :: Lens' GetBucketCORS BucketName
+ Network.AWS.S3.GetBucketCORS: gbcrsCORSRules :: Lens' GetBucketCORSResponse [CORSRule]
+ Network.AWS.S3.GetBucketCORS: gbcrsStatus :: Lens' GetBucketCORSResponse Int
+ Network.AWS.S3.GetBucketCORS: getBucketCORS :: BucketName -> GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: getBucketCORSResponse :: Int -> GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance AWSRequest GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Constructor C1_0GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Constructor C1_0GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance Data GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Data GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance Datatype D1GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Datatype D1GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance Eq GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Eq GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance Generic GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Generic GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance Read GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Read GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance Selector S1_0_0GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Selector S1_0_0GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance Selector S1_0_1GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance Show GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Show GetBucketCORSResponse
+ Network.AWS.S3.GetBucketCORS: instance ToHeaders GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance ToPath GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance ToQuery GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Typeable GetBucketCORS
+ Network.AWS.S3.GetBucketCORS: instance Typeable GetBucketCORSResponse
+ Network.AWS.S3.GetBucketLifecycle: gBucket :: Lens' GetBucketLifecycle BucketName
+ Network.AWS.S3.GetBucketLifecycle: gblrsRules :: Lens' GetBucketLifecycleResponse [Rule]
+ Network.AWS.S3.GetBucketLifecycle: gblrsStatus :: Lens' GetBucketLifecycleResponse Int
+ Network.AWS.S3.GetBucketLifecycle: instance Constructor C1_0GetBucketLifecycle
+ Network.AWS.S3.GetBucketLifecycle: instance Constructor C1_0GetBucketLifecycleResponse
+ Network.AWS.S3.GetBucketLifecycle: instance Data GetBucketLifecycle
+ Network.AWS.S3.GetBucketLifecycle: instance Data GetBucketLifecycleResponse
+ Network.AWS.S3.GetBucketLifecycle: instance Datatype D1GetBucketLifecycle
+ Network.AWS.S3.GetBucketLifecycle: instance Datatype D1GetBucketLifecycleResponse
+ Network.AWS.S3.GetBucketLifecycle: instance Generic GetBucketLifecycle
+ Network.AWS.S3.GetBucketLifecycle: instance Generic GetBucketLifecycleResponse
+ Network.AWS.S3.GetBucketLifecycle: instance Selector S1_0_0GetBucketLifecycle
+ Network.AWS.S3.GetBucketLifecycle: instance Selector S1_0_0GetBucketLifecycleResponse
+ Network.AWS.S3.GetBucketLifecycle: instance Selector S1_0_1GetBucketLifecycleResponse
+ Network.AWS.S3.GetBucketLifecycle: instance Typeable GetBucketLifecycle
+ Network.AWS.S3.GetBucketLifecycle: instance Typeable GetBucketLifecycleResponse
+ Network.AWS.S3.GetBucketLocation: getrsLocationConstraint :: Lens' GetBucketLocationResponse (Maybe Region)
+ Network.AWS.S3.GetBucketLocation: getrsStatus :: Lens' GetBucketLocationResponse Int
+ Network.AWS.S3.GetBucketLocation: instance Constructor C1_0GetBucketLocation
+ Network.AWS.S3.GetBucketLocation: instance Constructor C1_0GetBucketLocationResponse
+ Network.AWS.S3.GetBucketLocation: instance Data GetBucketLocation
+ Network.AWS.S3.GetBucketLocation: instance Data GetBucketLocationResponse
+ Network.AWS.S3.GetBucketLocation: instance Datatype D1GetBucketLocation
+ Network.AWS.S3.GetBucketLocation: instance Datatype D1GetBucketLocationResponse
+ Network.AWS.S3.GetBucketLocation: instance Generic GetBucketLocation
+ Network.AWS.S3.GetBucketLocation: instance Generic GetBucketLocationResponse
+ Network.AWS.S3.GetBucketLocation: instance Selector S1_0_0GetBucketLocation
+ Network.AWS.S3.GetBucketLocation: instance Selector S1_0_0GetBucketLocationResponse
+ Network.AWS.S3.GetBucketLocation: instance Selector S1_0_1GetBucketLocationResponse
+ Network.AWS.S3.GetBucketLocation: instance Typeable GetBucketLocation
+ Network.AWS.S3.GetBucketLocation: instance Typeable GetBucketLocationResponse
+ Network.AWS.S3.GetBucketLogging: getBucket :: Lens' GetBucketLogging BucketName
+ Network.AWS.S3.GetBucketLogging: grsLoggingEnabled :: Lens' GetBucketLoggingResponse (Maybe LoggingEnabled)
+ Network.AWS.S3.GetBucketLogging: grsStatus :: Lens' GetBucketLoggingResponse Int
+ Network.AWS.S3.GetBucketLogging: instance Constructor C1_0GetBucketLogging
+ Network.AWS.S3.GetBucketLogging: instance Constructor C1_0GetBucketLoggingResponse
+ Network.AWS.S3.GetBucketLogging: instance Data GetBucketLogging
+ Network.AWS.S3.GetBucketLogging: instance Data GetBucketLoggingResponse
+ Network.AWS.S3.GetBucketLogging: instance Datatype D1GetBucketLogging
+ Network.AWS.S3.GetBucketLogging: instance Datatype D1GetBucketLoggingResponse
+ Network.AWS.S3.GetBucketLogging: instance Generic GetBucketLogging
+ Network.AWS.S3.GetBucketLogging: instance Generic GetBucketLoggingResponse
+ Network.AWS.S3.GetBucketLogging: instance Selector S1_0_0GetBucketLogging
+ Network.AWS.S3.GetBucketLogging: instance Selector S1_0_0GetBucketLoggingResponse
+ Network.AWS.S3.GetBucketLogging: instance Selector S1_0_1GetBucketLoggingResponse
+ Network.AWS.S3.GetBucketLogging: instance Typeable GetBucketLogging
+ Network.AWS.S3.GetBucketLogging: instance Typeable GetBucketLoggingResponse
+ Network.AWS.S3.GetBucketNotificationConfiguration: data NotificationConfiguration
+ Network.AWS.S3.GetBucketNotificationConfiguration: gbncBucket :: Lens' GetBucketNotificationConfiguration BucketName
+ Network.AWS.S3.GetBucketNotificationConfiguration: instance Constructor C1_0GetBucketNotificationConfiguration
+ Network.AWS.S3.GetBucketNotificationConfiguration: instance Data GetBucketNotificationConfiguration
+ Network.AWS.S3.GetBucketNotificationConfiguration: instance Datatype D1GetBucketNotificationConfiguration
+ Network.AWS.S3.GetBucketNotificationConfiguration: instance Generic GetBucketNotificationConfiguration
+ Network.AWS.S3.GetBucketNotificationConfiguration: instance Selector S1_0_0GetBucketNotificationConfiguration
+ Network.AWS.S3.GetBucketNotificationConfiguration: instance Typeable GetBucketNotificationConfiguration
+ Network.AWS.S3.GetBucketNotificationConfiguration: ncLambdaFunctionConfigurations :: Lens' NotificationConfiguration [LambdaFunctionConfiguration]
+ Network.AWS.S3.GetBucketNotificationConfiguration: ncQueueConfigurations :: Lens' NotificationConfiguration [QueueConfiguration]
+ Network.AWS.S3.GetBucketNotificationConfiguration: ncTopicConfigurations :: Lens' NotificationConfiguration [TopicConfiguration]
+ Network.AWS.S3.GetBucketNotificationConfiguration: notificationConfiguration :: NotificationConfiguration
+ Network.AWS.S3.GetBucketPolicy: gbprsPolicy :: Lens' GetBucketPolicyResponse (Maybe Text)
+ Network.AWS.S3.GetBucketPolicy: gbprsStatus :: Lens' GetBucketPolicyResponse Int
+ Network.AWS.S3.GetBucketPolicy: instance Constructor C1_0GetBucketPolicy
+ Network.AWS.S3.GetBucketPolicy: instance Constructor C1_0GetBucketPolicyResponse
+ Network.AWS.S3.GetBucketPolicy: instance Data GetBucketPolicy
+ Network.AWS.S3.GetBucketPolicy: instance Data GetBucketPolicyResponse
+ Network.AWS.S3.GetBucketPolicy: instance Datatype D1GetBucketPolicy
+ Network.AWS.S3.GetBucketPolicy: instance Datatype D1GetBucketPolicyResponse
+ Network.AWS.S3.GetBucketPolicy: instance Generic GetBucketPolicy
+ Network.AWS.S3.GetBucketPolicy: instance Generic GetBucketPolicyResponse
+ Network.AWS.S3.GetBucketPolicy: instance Selector S1_0_0GetBucketPolicy
+ Network.AWS.S3.GetBucketPolicy: instance Selector S1_0_0GetBucketPolicyResponse
+ Network.AWS.S3.GetBucketPolicy: instance Selector S1_0_1GetBucketPolicyResponse
+ Network.AWS.S3.GetBucketPolicy: instance Typeable GetBucketPolicy
+ Network.AWS.S3.GetBucketPolicy: instance Typeable GetBucketPolicyResponse
+ Network.AWS.S3.GetBucketReplication: gbrrsReplicationConfiguration :: Lens' GetBucketReplicationResponse (Maybe ReplicationConfiguration)
+ Network.AWS.S3.GetBucketReplication: gbrrsStatus :: Lens' GetBucketReplicationResponse Int
+ Network.AWS.S3.GetBucketReplication: instance Constructor C1_0GetBucketReplication
+ Network.AWS.S3.GetBucketReplication: instance Constructor C1_0GetBucketReplicationResponse
+ Network.AWS.S3.GetBucketReplication: instance Data GetBucketReplication
+ Network.AWS.S3.GetBucketReplication: instance Data GetBucketReplicationResponse
+ Network.AWS.S3.GetBucketReplication: instance Datatype D1GetBucketReplication
+ Network.AWS.S3.GetBucketReplication: instance Datatype D1GetBucketReplicationResponse
+ Network.AWS.S3.GetBucketReplication: instance Generic GetBucketReplication
+ Network.AWS.S3.GetBucketReplication: instance Generic GetBucketReplicationResponse
+ Network.AWS.S3.GetBucketReplication: instance Selector S1_0_0GetBucketReplication
+ Network.AWS.S3.GetBucketReplication: instance Selector S1_0_0GetBucketReplicationResponse
+ Network.AWS.S3.GetBucketReplication: instance Selector S1_0_1GetBucketReplicationResponse
+ Network.AWS.S3.GetBucketReplication: instance Typeable GetBucketReplication
+ Network.AWS.S3.GetBucketReplication: instance Typeable GetBucketReplicationResponse
+ Network.AWS.S3.GetBucketRequestPayment: gbrprsPayer :: Lens' GetBucketRequestPaymentResponse (Maybe Payer)
+ Network.AWS.S3.GetBucketRequestPayment: gbrprsStatus :: Lens' GetBucketRequestPaymentResponse Int
+ Network.AWS.S3.GetBucketRequestPayment: instance Constructor C1_0GetBucketRequestPayment
+ Network.AWS.S3.GetBucketRequestPayment: instance Constructor C1_0GetBucketRequestPaymentResponse
+ Network.AWS.S3.GetBucketRequestPayment: instance Data GetBucketRequestPayment
+ Network.AWS.S3.GetBucketRequestPayment: instance Data GetBucketRequestPaymentResponse
+ Network.AWS.S3.GetBucketRequestPayment: instance Datatype D1GetBucketRequestPayment
+ Network.AWS.S3.GetBucketRequestPayment: instance Datatype D1GetBucketRequestPaymentResponse
+ Network.AWS.S3.GetBucketRequestPayment: instance Generic GetBucketRequestPayment
+ Network.AWS.S3.GetBucketRequestPayment: instance Generic GetBucketRequestPaymentResponse
+ Network.AWS.S3.GetBucketRequestPayment: instance Selector S1_0_0GetBucketRequestPayment
+ Network.AWS.S3.GetBucketRequestPayment: instance Selector S1_0_0GetBucketRequestPaymentResponse
+ Network.AWS.S3.GetBucketRequestPayment: instance Selector S1_0_1GetBucketRequestPaymentResponse
+ Network.AWS.S3.GetBucketRequestPayment: instance Typeable GetBucketRequestPayment
+ Network.AWS.S3.GetBucketRequestPayment: instance Typeable GetBucketRequestPaymentResponse
+ Network.AWS.S3.GetBucketTagging: gbtrsStatus :: Lens' GetBucketTaggingResponse Int
+ Network.AWS.S3.GetBucketTagging: gbtrsTagSet :: Lens' GetBucketTaggingResponse [Tag]
+ Network.AWS.S3.GetBucketTagging: instance Constructor C1_0GetBucketTagging
+ Network.AWS.S3.GetBucketTagging: instance Constructor C1_0GetBucketTaggingResponse
+ Network.AWS.S3.GetBucketTagging: instance Data GetBucketTagging
+ Network.AWS.S3.GetBucketTagging: instance Data GetBucketTaggingResponse
+ Network.AWS.S3.GetBucketTagging: instance Datatype D1GetBucketTagging
+ Network.AWS.S3.GetBucketTagging: instance Datatype D1GetBucketTaggingResponse
+ Network.AWS.S3.GetBucketTagging: instance Generic GetBucketTagging
+ Network.AWS.S3.GetBucketTagging: instance Generic GetBucketTaggingResponse
+ Network.AWS.S3.GetBucketTagging: instance Selector S1_0_0GetBucketTagging
+ Network.AWS.S3.GetBucketTagging: instance Selector S1_0_0GetBucketTaggingResponse
+ Network.AWS.S3.GetBucketTagging: instance Selector S1_0_1GetBucketTaggingResponse
+ Network.AWS.S3.GetBucketTagging: instance Typeable GetBucketTagging
+ Network.AWS.S3.GetBucketTagging: instance Typeable GetBucketTaggingResponse
+ Network.AWS.S3.GetBucketVersioning: gbvrsMFADelete :: Lens' GetBucketVersioningResponse (Maybe MFADeleteStatus)
+ Network.AWS.S3.GetBucketVersioning: gbvrsStatus :: Lens' GetBucketVersioningResponse Int
+ Network.AWS.S3.GetBucketVersioning: instance Constructor C1_0GetBucketVersioning
+ Network.AWS.S3.GetBucketVersioning: instance Constructor C1_0GetBucketVersioningResponse
+ Network.AWS.S3.GetBucketVersioning: instance Data GetBucketVersioning
+ Network.AWS.S3.GetBucketVersioning: instance Data GetBucketVersioningResponse
+ Network.AWS.S3.GetBucketVersioning: instance Datatype D1GetBucketVersioning
+ Network.AWS.S3.GetBucketVersioning: instance Datatype D1GetBucketVersioningResponse
+ Network.AWS.S3.GetBucketVersioning: instance Generic GetBucketVersioning
+ Network.AWS.S3.GetBucketVersioning: instance Generic GetBucketVersioningResponse
+ Network.AWS.S3.GetBucketVersioning: instance Selector S1_0_0GetBucketVersioning
+ Network.AWS.S3.GetBucketVersioning: instance Selector S1_0_0GetBucketVersioningResponse
+ Network.AWS.S3.GetBucketVersioning: instance Selector S1_0_1GetBucketVersioningResponse
+ Network.AWS.S3.GetBucketVersioning: instance Typeable GetBucketVersioning
+ Network.AWS.S3.GetBucketVersioning: instance Typeable GetBucketVersioningResponse
+ Network.AWS.S3.GetBucketWebsite: gbwrsErrorDocument :: Lens' GetBucketWebsiteResponse (Maybe ErrorDocument)
+ Network.AWS.S3.GetBucketWebsite: gbwrsIndexDocument :: Lens' GetBucketWebsiteResponse (Maybe IndexDocument)
+ Network.AWS.S3.GetBucketWebsite: gbwrsRedirectAllRequestsTo :: Lens' GetBucketWebsiteResponse (Maybe RedirectAllRequestsTo)
+ Network.AWS.S3.GetBucketWebsite: gbwrsRoutingRules :: Lens' GetBucketWebsiteResponse [RoutingRule]
+ Network.AWS.S3.GetBucketWebsite: gbwrsStatus :: Lens' GetBucketWebsiteResponse Int
+ Network.AWS.S3.GetBucketWebsite: instance Constructor C1_0GetBucketWebsite
+ Network.AWS.S3.GetBucketWebsite: instance Constructor C1_0GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: instance Data GetBucketWebsite
+ Network.AWS.S3.GetBucketWebsite: instance Data GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: instance Datatype D1GetBucketWebsite
+ Network.AWS.S3.GetBucketWebsite: instance Datatype D1GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: instance Generic GetBucketWebsite
+ Network.AWS.S3.GetBucketWebsite: instance Generic GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: instance Selector S1_0_0GetBucketWebsite
+ Network.AWS.S3.GetBucketWebsite: instance Selector S1_0_0GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: instance Selector S1_0_1GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: instance Selector S1_0_2GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: instance Selector S1_0_3GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: instance Selector S1_0_4GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: instance Typeable GetBucketWebsite
+ Network.AWS.S3.GetBucketWebsite: instance Typeable GetBucketWebsiteResponse
+ Network.AWS.S3.GetObject: gorsAcceptRanges :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsBody :: Lens' GetObjectResponse RsBody
+ Network.AWS.S3.GetObject: gorsCacheControl :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsContentDisposition :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsContentEncoding :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsContentLanguage :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsContentLength :: Lens' GetObjectResponse (Maybe Int)
+ Network.AWS.S3.GetObject: gorsContentRange :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsContentType :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsDeleteMarker :: Lens' GetObjectResponse (Maybe Bool)
+ Network.AWS.S3.GetObject: gorsETag :: Lens' GetObjectResponse (Maybe ETag)
+ Network.AWS.S3.GetObject: gorsExpiration :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsExpires :: Lens' GetObjectResponse (Maybe UTCTime)
+ Network.AWS.S3.GetObject: gorsLastModified :: Lens' GetObjectResponse (Maybe UTCTime)
+ Network.AWS.S3.GetObject: gorsMetadata :: Lens' GetObjectResponse (HashMap Text Text)
+ Network.AWS.S3.GetObject: gorsMissingMeta :: Lens' GetObjectResponse (Maybe Int)
+ Network.AWS.S3.GetObject: gorsReplicationStatus :: Lens' GetObjectResponse (Maybe ReplicationStatus)
+ Network.AWS.S3.GetObject: gorsRequestCharged :: Lens' GetObjectResponse (Maybe RequestCharged)
+ Network.AWS.S3.GetObject: gorsRestore :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsSSECustomerAlgorithm :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsSSECustomerKeyMD5 :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsSSEKMSKeyId :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: gorsServerSideEncryption :: Lens' GetObjectResponse (Maybe ServerSideEncryption)
+ Network.AWS.S3.GetObject: gorsStatus :: Lens' GetObjectResponse Int
+ Network.AWS.S3.GetObject: gorsStorageClass :: Lens' GetObjectResponse (Maybe StorageClass)
+ Network.AWS.S3.GetObject: gorsVersionId :: Lens' GetObjectResponse (Maybe ObjectVersionId)
+ Network.AWS.S3.GetObject: gorsWebsiteRedirectLocation :: Lens' GetObjectResponse (Maybe Text)
+ Network.AWS.S3.GetObject: instance Constructor C1_0GetObject
+ Network.AWS.S3.GetObject: instance Constructor C1_0GetObjectResponse
+ Network.AWS.S3.GetObject: instance Data GetObject
+ Network.AWS.S3.GetObject: instance Datatype D1GetObject
+ Network.AWS.S3.GetObject: instance Datatype D1GetObjectResponse
+ Network.AWS.S3.GetObject: instance Generic GetObject
+ Network.AWS.S3.GetObject: instance Generic GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_0GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_0GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_10GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_10GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_11GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_11GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_12GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_12GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_13GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_13GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_14GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_14GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_15GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_15GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_16GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_16GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_17GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_17GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_18GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_19GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_1GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_1GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_20GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_21GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_22GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_23GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_24GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_25GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_26GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_2GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_2GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_3GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_3GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_4GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_4GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_5GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_5GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_6GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_6GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_7GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_7GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_8GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_8GetObjectResponse
+ Network.AWS.S3.GetObject: instance Selector S1_0_9GetObject
+ Network.AWS.S3.GetObject: instance Selector S1_0_9GetObjectResponse
+ Network.AWS.S3.GetObject: instance Typeable GetObject
+ Network.AWS.S3.GetObjectACL: data GetObjectACL
+ Network.AWS.S3.GetObjectACL: data GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: getObjectACL :: BucketName -> ObjectKey -> GetObjectACL
+ Network.AWS.S3.GetObjectACL: getObjectACLResponse :: Int -> GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: goaBucket :: Lens' GetObjectACL BucketName
+ Network.AWS.S3.GetObjectACL: goaKey :: Lens' GetObjectACL ObjectKey
+ Network.AWS.S3.GetObjectACL: goaRequestPayer :: Lens' GetObjectACL (Maybe RequestPayer)
+ Network.AWS.S3.GetObjectACL: goaVersionId :: Lens' GetObjectACL (Maybe ObjectVersionId)
+ Network.AWS.S3.GetObjectACL: goarsGrants :: Lens' GetObjectACLResponse [Grant]
+ Network.AWS.S3.GetObjectACL: goarsOwner :: Lens' GetObjectACLResponse (Maybe Owner)
+ Network.AWS.S3.GetObjectACL: goarsRequestCharged :: Lens' GetObjectACLResponse (Maybe RequestCharged)
+ Network.AWS.S3.GetObjectACL: goarsStatus :: Lens' GetObjectACLResponse Int
+ Network.AWS.S3.GetObjectACL: instance AWSRequest GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Constructor C1_0GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Constructor C1_0GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Data GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Data GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Datatype D1GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Datatype D1GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Eq GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Eq GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Generic GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Generic GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Read GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Read GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Selector S1_0_0GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Selector S1_0_0GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Selector S1_0_1GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Selector S1_0_1GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Selector S1_0_2GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Selector S1_0_2GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Selector S1_0_3GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Selector S1_0_3GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance Show GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Show GetObjectACLResponse
+ Network.AWS.S3.GetObjectACL: instance ToHeaders GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance ToPath GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance ToQuery GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Typeable GetObjectACL
+ Network.AWS.S3.GetObjectACL: instance Typeable GetObjectACLResponse
+ Network.AWS.S3.GetObjectTorrent: gotrsBody :: Lens' GetObjectTorrentResponse RsBody
+ Network.AWS.S3.GetObjectTorrent: gotrsRequestCharged :: Lens' GetObjectTorrentResponse (Maybe RequestCharged)
+ Network.AWS.S3.GetObjectTorrent: gotrsStatus :: Lens' GetObjectTorrentResponse Int
+ Network.AWS.S3.GetObjectTorrent: instance Constructor C1_0GetObjectTorrent
+ Network.AWS.S3.GetObjectTorrent: instance Constructor C1_0GetObjectTorrentResponse
+ Network.AWS.S3.GetObjectTorrent: instance Data GetObjectTorrent
+ Network.AWS.S3.GetObjectTorrent: instance Datatype D1GetObjectTorrent
+ Network.AWS.S3.GetObjectTorrent: instance Datatype D1GetObjectTorrentResponse
+ Network.AWS.S3.GetObjectTorrent: instance Generic GetObjectTorrent
+ Network.AWS.S3.GetObjectTorrent: instance Generic GetObjectTorrentResponse
+ Network.AWS.S3.GetObjectTorrent: instance Selector S1_0_0GetObjectTorrent
+ Network.AWS.S3.GetObjectTorrent: instance Selector S1_0_0GetObjectTorrentResponse
+ Network.AWS.S3.GetObjectTorrent: instance Selector S1_0_1GetObjectTorrent
+ Network.AWS.S3.GetObjectTorrent: instance Selector S1_0_1GetObjectTorrentResponse
+ Network.AWS.S3.GetObjectTorrent: instance Selector S1_0_2GetObjectTorrent
+ Network.AWS.S3.GetObjectTorrent: instance Selector S1_0_2GetObjectTorrentResponse
+ Network.AWS.S3.GetObjectTorrent: instance Typeable GetObjectTorrent
+ Network.AWS.S3.HeadBucket: instance Constructor C1_0HeadBucket
+ Network.AWS.S3.HeadBucket: instance Data HeadBucket
+ Network.AWS.S3.HeadBucket: instance Data HeadBucketResponse
+ Network.AWS.S3.HeadBucket: instance Datatype D1HeadBucket
+ Network.AWS.S3.HeadBucket: instance Generic HeadBucket
+ Network.AWS.S3.HeadBucket: instance Selector S1_0_0HeadBucket
+ Network.AWS.S3.HeadBucket: instance Typeable HeadBucket
+ Network.AWS.S3.HeadBucket: instance Typeable HeadBucketResponse
+ Network.AWS.S3.HeadObject: horsAcceptRanges :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsCacheControl :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsContentDisposition :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsContentEncoding :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsContentLanguage :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsContentLength :: Lens' HeadObjectResponse (Maybe Int)
+ Network.AWS.S3.HeadObject: horsContentType :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsDeleteMarker :: Lens' HeadObjectResponse (Maybe Bool)
+ Network.AWS.S3.HeadObject: horsETag :: Lens' HeadObjectResponse (Maybe ETag)
+ Network.AWS.S3.HeadObject: horsExpiration :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsExpires :: Lens' HeadObjectResponse (Maybe UTCTime)
+ Network.AWS.S3.HeadObject: horsLastModified :: Lens' HeadObjectResponse (Maybe UTCTime)
+ Network.AWS.S3.HeadObject: horsMetadata :: Lens' HeadObjectResponse (HashMap Text Text)
+ Network.AWS.S3.HeadObject: horsMissingMeta :: Lens' HeadObjectResponse (Maybe Int)
+ Network.AWS.S3.HeadObject: horsReplicationStatus :: Lens' HeadObjectResponse (Maybe ReplicationStatus)
+ Network.AWS.S3.HeadObject: horsRequestCharged :: Lens' HeadObjectResponse (Maybe RequestCharged)
+ Network.AWS.S3.HeadObject: horsRestore :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsSSECustomerAlgorithm :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsSSECustomerKeyMD5 :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsSSEKMSKeyId :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: horsServerSideEncryption :: Lens' HeadObjectResponse (Maybe ServerSideEncryption)
+ Network.AWS.S3.HeadObject: horsStatus :: Lens' HeadObjectResponse Int
+ Network.AWS.S3.HeadObject: horsStorageClass :: Lens' HeadObjectResponse (Maybe StorageClass)
+ Network.AWS.S3.HeadObject: horsVersionId :: Lens' HeadObjectResponse (Maybe ObjectVersionId)
+ Network.AWS.S3.HeadObject: horsWebsiteRedirectLocation :: Lens' HeadObjectResponse (Maybe Text)
+ Network.AWS.S3.HeadObject: instance Constructor C1_0HeadObject
+ Network.AWS.S3.HeadObject: instance Constructor C1_0HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Data HeadObject
+ Network.AWS.S3.HeadObject: instance Data HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Datatype D1HeadObject
+ Network.AWS.S3.HeadObject: instance Datatype D1HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Generic HeadObject
+ Network.AWS.S3.HeadObject: instance Generic HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_0HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_0HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_10HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_10HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_11HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_11HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_12HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_13HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_14HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_15HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_16HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_17HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_18HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_19HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_1HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_1HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_20HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_21HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_22HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_23HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_24HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_2HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_2HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_3HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_3HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_4HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_4HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_5HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_5HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_6HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_6HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_7HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_7HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_8HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_8HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Selector S1_0_9HeadObject
+ Network.AWS.S3.HeadObject: instance Selector S1_0_9HeadObjectResponse
+ Network.AWS.S3.HeadObject: instance Typeable HeadObject
+ Network.AWS.S3.HeadObject: instance Typeable HeadObjectResponse
+ Network.AWS.S3.ListBuckets: instance Constructor C1_0ListBucketsResponse
+ Network.AWS.S3.ListBuckets: instance Data ListBuckets
+ Network.AWS.S3.ListBuckets: instance Data ListBucketsResponse
+ Network.AWS.S3.ListBuckets: instance Datatype D1ListBucketsResponse
+ Network.AWS.S3.ListBuckets: instance Generic ListBucketsResponse
+ Network.AWS.S3.ListBuckets: instance Selector S1_0_0ListBucketsResponse
+ Network.AWS.S3.ListBuckets: instance Selector S1_0_1ListBucketsResponse
+ Network.AWS.S3.ListBuckets: instance Selector S1_0_2ListBucketsResponse
+ Network.AWS.S3.ListBuckets: instance Typeable ListBuckets
+ Network.AWS.S3.ListBuckets: instance Typeable ListBucketsResponse
+ Network.AWS.S3.ListBuckets: lbrsBuckets :: Lens' ListBucketsResponse [Bucket]
+ Network.AWS.S3.ListBuckets: lbrsOwner :: Lens' ListBucketsResponse (Maybe Owner)
+ Network.AWS.S3.ListBuckets: lbrsStatus :: Lens' ListBucketsResponse Int
+ Network.AWS.S3.ListMultipartUploads: instance Constructor C1_0ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Constructor C1_0ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Data ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Data ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Datatype D1ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Datatype D1ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Generic ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Generic ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_0ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_0ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_10ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_11ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_12ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_1ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_1ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_2ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_2ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_3ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_3ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_4ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_4ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_5ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_5ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_6ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_6ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_7ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_8ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Selector S1_0_9ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: instance Typeable ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: instance Typeable ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: lmursBucket :: Lens' ListMultipartUploadsResponse (Maybe BucketName)
+ Network.AWS.S3.ListMultipartUploads: lmursCommonPrefixes :: Lens' ListMultipartUploadsResponse [CommonPrefix]
+ Network.AWS.S3.ListMultipartUploads: lmursDelimiter :: Lens' ListMultipartUploadsResponse (Maybe Delimiter)
+ Network.AWS.S3.ListMultipartUploads: lmursEncodingType :: Lens' ListMultipartUploadsResponse (Maybe EncodingType)
+ Network.AWS.S3.ListMultipartUploads: lmursIsTruncated :: Lens' ListMultipartUploadsResponse (Maybe Bool)
+ Network.AWS.S3.ListMultipartUploads: lmursKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Network.AWS.S3.ListMultipartUploads: lmursMaxUploads :: Lens' ListMultipartUploadsResponse (Maybe Int)
+ Network.AWS.S3.ListMultipartUploads: lmursNextKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Network.AWS.S3.ListMultipartUploads: lmursNextUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Network.AWS.S3.ListMultipartUploads: lmursPrefix :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Network.AWS.S3.ListMultipartUploads: lmursStatus :: Lens' ListMultipartUploadsResponse Int
+ Network.AWS.S3.ListMultipartUploads: lmursUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Network.AWS.S3.ListMultipartUploads: lmursUploads :: Lens' ListMultipartUploadsResponse [MultipartUpload]
+ Network.AWS.S3.ListObjectVersions: instance Constructor C1_0ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Constructor C1_0ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Data ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Data ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Datatype D1ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Datatype D1ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Generic ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Generic ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_0ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_0ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_10ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_11ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_12ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_13ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_1ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_1ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_2ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_2ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_3ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_3ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_4ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_4ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_5ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_5ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_6ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_6ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_7ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_8ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Selector S1_0_9ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: instance Typeable ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: instance Typeable ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: lovrsCommonPrefixes :: Lens' ListObjectVersionsResponse [CommonPrefix]
+ Network.AWS.S3.ListObjectVersions: lovrsDeleteMarkers :: Lens' ListObjectVersionsResponse [DeleteMarkerEntry]
+ Network.AWS.S3.ListObjectVersions: lovrsDelimiter :: Lens' ListObjectVersionsResponse (Maybe Delimiter)
+ Network.AWS.S3.ListObjectVersions: lovrsEncodingType :: Lens' ListObjectVersionsResponse (Maybe EncodingType)
+ Network.AWS.S3.ListObjectVersions: lovrsIsTruncated :: Lens' ListObjectVersionsResponse (Maybe Bool)
+ Network.AWS.S3.ListObjectVersions: lovrsKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Network.AWS.S3.ListObjectVersions: lovrsMaxKeys :: Lens' ListObjectVersionsResponse (Maybe Int)
+ Network.AWS.S3.ListObjectVersions: lovrsName :: Lens' ListObjectVersionsResponse (Maybe BucketName)
+ Network.AWS.S3.ListObjectVersions: lovrsNextKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Network.AWS.S3.ListObjectVersions: lovrsNextVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Network.AWS.S3.ListObjectVersions: lovrsPrefix :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Network.AWS.S3.ListObjectVersions: lovrsStatus :: Lens' ListObjectVersionsResponse Int
+ Network.AWS.S3.ListObjectVersions: lovrsVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Network.AWS.S3.ListObjectVersions: lovrsVersions :: Lens' ListObjectVersionsResponse [ObjectVersion]
+ Network.AWS.S3.ListObjects: instance Constructor C1_0ListObjects
+ Network.AWS.S3.ListObjects: instance Constructor C1_0ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Data ListObjects
+ Network.AWS.S3.ListObjects: instance Data ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Datatype D1ListObjects
+ Network.AWS.S3.ListObjects: instance Datatype D1ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Generic ListObjects
+ Network.AWS.S3.ListObjects: instance Generic ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_0ListObjects
+ Network.AWS.S3.ListObjects: instance Selector S1_0_0ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_10ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_1ListObjects
+ Network.AWS.S3.ListObjects: instance Selector S1_0_1ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_2ListObjects
+ Network.AWS.S3.ListObjects: instance Selector S1_0_2ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_3ListObjects
+ Network.AWS.S3.ListObjects: instance Selector S1_0_3ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_4ListObjects
+ Network.AWS.S3.ListObjects: instance Selector S1_0_4ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_5ListObjects
+ Network.AWS.S3.ListObjects: instance Selector S1_0_5ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_6ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_7ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_8ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Selector S1_0_9ListObjectsResponse
+ Network.AWS.S3.ListObjects: instance Typeable ListObjects
+ Network.AWS.S3.ListObjects: instance Typeable ListObjectsResponse
+ Network.AWS.S3.ListObjects: lorsCommonPrefixes :: Lens' ListObjectsResponse [CommonPrefix]
+ Network.AWS.S3.ListObjects: lorsContents :: Lens' ListObjectsResponse [Object]
+ Network.AWS.S3.ListObjects: lorsDelimiter :: Lens' ListObjectsResponse (Maybe Delimiter)
+ Network.AWS.S3.ListObjects: lorsEncodingType :: Lens' ListObjectsResponse (Maybe EncodingType)
+ Network.AWS.S3.ListObjects: lorsIsTruncated :: Lens' ListObjectsResponse (Maybe Bool)
+ Network.AWS.S3.ListObjects: lorsMarker :: Lens' ListObjectsResponse (Maybe Text)
+ Network.AWS.S3.ListObjects: lorsMaxKeys :: Lens' ListObjectsResponse (Maybe Int)
+ Network.AWS.S3.ListObjects: lorsName :: Lens' ListObjectsResponse (Maybe BucketName)
+ Network.AWS.S3.ListObjects: lorsNextMarker :: Lens' ListObjectsResponse (Maybe Text)
+ Network.AWS.S3.ListObjects: lorsPrefix :: Lens' ListObjectsResponse (Maybe Text)
+ Network.AWS.S3.ListObjects: lorsStatus :: Lens' ListObjectsResponse Int
+ Network.AWS.S3.ListParts: instance Constructor C1_0ListParts
+ Network.AWS.S3.ListParts: instance Constructor C1_0ListPartsResponse
+ Network.AWS.S3.ListParts: instance Data ListParts
+ Network.AWS.S3.ListParts: instance Data ListPartsResponse
+ Network.AWS.S3.ListParts: instance Datatype D1ListParts
+ Network.AWS.S3.ListParts: instance Datatype D1ListPartsResponse
+ Network.AWS.S3.ListParts: instance Generic ListParts
+ Network.AWS.S3.ListParts: instance Generic ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_0ListParts
+ Network.AWS.S3.ListParts: instance Selector S1_0_0ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_10ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_11ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_12ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_1ListParts
+ Network.AWS.S3.ListParts: instance Selector S1_0_1ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_2ListParts
+ Network.AWS.S3.ListParts: instance Selector S1_0_2ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_3ListParts
+ Network.AWS.S3.ListParts: instance Selector S1_0_3ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_4ListParts
+ Network.AWS.S3.ListParts: instance Selector S1_0_4ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_5ListParts
+ Network.AWS.S3.ListParts: instance Selector S1_0_5ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_6ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_7ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_8ListPartsResponse
+ Network.AWS.S3.ListParts: instance Selector S1_0_9ListPartsResponse
+ Network.AWS.S3.ListParts: instance Typeable ListParts
+ Network.AWS.S3.ListParts: instance Typeable ListPartsResponse
+ Network.AWS.S3.ListParts: lprsBucket :: Lens' ListPartsResponse (Maybe BucketName)
+ Network.AWS.S3.ListParts: lprsInitiator :: Lens' ListPartsResponse (Maybe Initiator)
+ Network.AWS.S3.ListParts: lprsIsTruncated :: Lens' ListPartsResponse (Maybe Bool)
+ Network.AWS.S3.ListParts: lprsKey :: Lens' ListPartsResponse (Maybe ObjectKey)
+ Network.AWS.S3.ListParts: lprsMaxParts :: Lens' ListPartsResponse (Maybe Int)
+ Network.AWS.S3.ListParts: lprsNextPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)
+ Network.AWS.S3.ListParts: lprsOwner :: Lens' ListPartsResponse (Maybe Owner)
+ Network.AWS.S3.ListParts: lprsPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)
+ Network.AWS.S3.ListParts: lprsParts :: Lens' ListPartsResponse [Part]
+ Network.AWS.S3.ListParts: lprsRequestCharged :: Lens' ListPartsResponse (Maybe RequestCharged)
+ Network.AWS.S3.ListParts: lprsStatus :: Lens' ListPartsResponse Int
+ Network.AWS.S3.ListParts: lprsStorageClass :: Lens' ListPartsResponse (Maybe StorageClass)
+ Network.AWS.S3.ListParts: lprsUploadId :: Lens' ListPartsResponse (Maybe Text)
+ Network.AWS.S3.PutBucketACL: data PutBucketACL
+ Network.AWS.S3.PutBucketACL: data PutBucketACLResponse
+ Network.AWS.S3.PutBucketACL: instance AWSRequest PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Constructor C1_0PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Constructor C1_0PutBucketACLResponse
+ Network.AWS.S3.PutBucketACL: instance Data PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Data PutBucketACLResponse
+ Network.AWS.S3.PutBucketACL: instance Datatype D1PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Datatype D1PutBucketACLResponse
+ Network.AWS.S3.PutBucketACL: instance Eq PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Eq PutBucketACLResponse
+ Network.AWS.S3.PutBucketACL: instance Generic PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Generic PutBucketACLResponse
+ Network.AWS.S3.PutBucketACL: instance Read PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Read PutBucketACLResponse
+ Network.AWS.S3.PutBucketACL: instance Selector S1_0_0PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Selector S1_0_1PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Selector S1_0_2PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Selector S1_0_3PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Selector S1_0_4PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Selector S1_0_5PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Selector S1_0_6PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Selector S1_0_7PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Selector S1_0_8PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Show PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Show PutBucketACLResponse
+ Network.AWS.S3.PutBucketACL: instance ToElement PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance ToHeaders PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance ToPath PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance ToQuery PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Typeable PutBucketACL
+ Network.AWS.S3.PutBucketACL: instance Typeable PutBucketACLResponse
+ Network.AWS.S3.PutBucketACL: pbaACL :: Lens' PutBucketACL (Maybe BucketCannedACL)
+ Network.AWS.S3.PutBucketACL: pbaAccessControlPolicy :: Lens' PutBucketACL (Maybe AccessControlPolicy)
+ Network.AWS.S3.PutBucketACL: pbaBucket :: Lens' PutBucketACL BucketName
+ Network.AWS.S3.PutBucketACL: pbaContentMD5 :: Lens' PutBucketACL (Maybe Text)
+ Network.AWS.S3.PutBucketACL: pbaGrantFullControl :: Lens' PutBucketACL (Maybe Text)
+ Network.AWS.S3.PutBucketACL: pbaGrantRead :: Lens' PutBucketACL (Maybe Text)
+ Network.AWS.S3.PutBucketACL: pbaGrantReadACP :: Lens' PutBucketACL (Maybe Text)
+ Network.AWS.S3.PutBucketACL: pbaGrantWrite :: Lens' PutBucketACL (Maybe Text)
+ Network.AWS.S3.PutBucketACL: pbaGrantWriteACP :: Lens' PutBucketACL (Maybe Text)
+ Network.AWS.S3.PutBucketACL: putBucketACL :: BucketName -> PutBucketACL
+ Network.AWS.S3.PutBucketACL: putBucketACLResponse :: PutBucketACLResponse
+ Network.AWS.S3.PutBucketCORS: data PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: data PutBucketCORSResponse
+ Network.AWS.S3.PutBucketCORS: instance AWSRequest PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Constructor C1_0PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Constructor C1_0PutBucketCORSResponse
+ Network.AWS.S3.PutBucketCORS: instance Data PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Data PutBucketCORSResponse
+ Network.AWS.S3.PutBucketCORS: instance Datatype D1PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Datatype D1PutBucketCORSResponse
+ Network.AWS.S3.PutBucketCORS: instance Eq PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Eq PutBucketCORSResponse
+ Network.AWS.S3.PutBucketCORS: instance Generic PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Generic PutBucketCORSResponse
+ Network.AWS.S3.PutBucketCORS: instance Read PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Read PutBucketCORSResponse
+ Network.AWS.S3.PutBucketCORS: instance Selector S1_0_0PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Selector S1_0_1PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Selector S1_0_2PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Show PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Show PutBucketCORSResponse
+ Network.AWS.S3.PutBucketCORS: instance ToElement PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance ToHeaders PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance ToPath PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance ToQuery PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Typeable PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: instance Typeable PutBucketCORSResponse
+ Network.AWS.S3.PutBucketCORS: pbcBucket :: Lens' PutBucketCORS BucketName
+ Network.AWS.S3.PutBucketCORS: pbcCORSConfiguration :: Lens' PutBucketCORS (Maybe CORSConfiguration)
+ Network.AWS.S3.PutBucketCORS: pbcContentMD5 :: Lens' PutBucketCORS (Maybe Text)
+ Network.AWS.S3.PutBucketCORS: putBucketCORS :: BucketName -> PutBucketCORS
+ Network.AWS.S3.PutBucketCORS: putBucketCORSResponse :: PutBucketCORSResponse
+ Network.AWS.S3.PutBucketLifecycle: instance Constructor C1_0PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: instance Data PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: instance Data PutBucketLifecycleResponse
+ Network.AWS.S3.PutBucketLifecycle: instance Datatype D1PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: instance Generic PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: instance Selector S1_0_0PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: instance Selector S1_0_1PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: instance Selector S1_0_2PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: instance ToElement PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: instance Typeable PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: instance Typeable PutBucketLifecycleResponse
+ Network.AWS.S3.PutBucketLifecycle: pBucket :: Lens' PutBucketLifecycle BucketName
+ Network.AWS.S3.PutBucketLifecycle: pContentMD5 :: Lens' PutBucketLifecycle (Maybe Text)
+ Network.AWS.S3.PutBucketLifecycle: pLifecycleConfiguration :: Lens' PutBucketLifecycle (Maybe LifecycleConfiguration)
+ Network.AWS.S3.PutBucketLogging: instance Constructor C1_0PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: instance Data PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: instance Data PutBucketLoggingResponse
+ Network.AWS.S3.PutBucketLogging: instance Datatype D1PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: instance Generic PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: instance Selector S1_0_0PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: instance Selector S1_0_1PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: instance Selector S1_0_2PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: instance ToElement PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: instance Typeable PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: instance Typeable PutBucketLoggingResponse
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance Constructor C1_0PutBucketNotificationConfiguration
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance Data PutBucketNotificationConfiguration
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance Data PutBucketNotificationConfigurationResponse
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance Datatype D1PutBucketNotificationConfiguration
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance Generic PutBucketNotificationConfiguration
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance Selector S1_0_0PutBucketNotificationConfiguration
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance Selector S1_0_1PutBucketNotificationConfiguration
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance ToElement PutBucketNotificationConfiguration
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance Typeable PutBucketNotificationConfiguration
+ Network.AWS.S3.PutBucketNotificationConfiguration: instance Typeable PutBucketNotificationConfigurationResponse
+ Network.AWS.S3.PutBucketPolicy: instance Constructor C1_0PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: instance Data PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: instance Data PutBucketPolicyResponse
+ Network.AWS.S3.PutBucketPolicy: instance Datatype D1PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: instance Generic PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: instance Selector S1_0_0PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: instance Selector S1_0_1PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: instance Selector S1_0_2PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: instance ToElement PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: instance Typeable PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: instance Typeable PutBucketPolicyResponse
+ Network.AWS.S3.PutBucketReplication: instance Constructor C1_0PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: instance Data PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: instance Data PutBucketReplicationResponse
+ Network.AWS.S3.PutBucketReplication: instance Datatype D1PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: instance Generic PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: instance Selector S1_0_0PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: instance Selector S1_0_1PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: instance Selector S1_0_2PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: instance ToElement PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: instance Typeable PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: instance Typeable PutBucketReplicationResponse
+ Network.AWS.S3.PutBucketRequestPayment: instance Constructor C1_0PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: instance Data PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: instance Data PutBucketRequestPaymentResponse
+ Network.AWS.S3.PutBucketRequestPayment: instance Datatype D1PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: instance Generic PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: instance Selector S1_0_0PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: instance Selector S1_0_1PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: instance Selector S1_0_2PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: instance ToElement PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: instance Typeable PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: instance Typeable PutBucketRequestPaymentResponse
+ Network.AWS.S3.PutBucketTagging: instance Constructor C1_0PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: instance Data PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: instance Data PutBucketTaggingResponse
+ Network.AWS.S3.PutBucketTagging: instance Datatype D1PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: instance Generic PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: instance Selector S1_0_0PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: instance Selector S1_0_1PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: instance Selector S1_0_2PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: instance ToElement PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: instance Typeable PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: instance Typeable PutBucketTaggingResponse
+ Network.AWS.S3.PutBucketVersioning: instance Constructor C1_0PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance Data PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance Data PutBucketVersioningResponse
+ Network.AWS.S3.PutBucketVersioning: instance Datatype D1PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance Generic PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance Selector S1_0_0PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance Selector S1_0_1PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance Selector S1_0_2PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance Selector S1_0_3PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance ToElement PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance Typeable PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: instance Typeable PutBucketVersioningResponse
+ Network.AWS.S3.PutBucketWebsite: instance Constructor C1_0PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: instance Data PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: instance Data PutBucketWebsiteResponse
+ Network.AWS.S3.PutBucketWebsite: instance Datatype D1PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: instance Generic PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: instance Selector S1_0_0PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: instance Selector S1_0_1PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: instance Selector S1_0_2PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: instance ToElement PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: instance Typeable PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: instance Typeable PutBucketWebsiteResponse
+ Network.AWS.S3.PutObject: instance Constructor C1_0PutObject
+ Network.AWS.S3.PutObject: instance Constructor C1_0PutObjectResponse
+ Network.AWS.S3.PutObject: instance Data PutObjectResponse
+ Network.AWS.S3.PutObject: instance Datatype D1PutObject
+ Network.AWS.S3.PutObject: instance Datatype D1PutObjectResponse
+ Network.AWS.S3.PutObject: instance Generic PutObject
+ Network.AWS.S3.PutObject: instance Generic PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_0PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_0PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_10PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_11PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_12PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_13PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_14PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_15PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_16PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_17PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_18PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_19PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_1PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_1PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_20PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_21PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_22PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_23PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_24PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_2PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_2PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_3PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_3PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_4PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_4PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_5PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_5PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_6PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_6PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_7PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_7PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_8PutObject
+ Network.AWS.S3.PutObject: instance Selector S1_0_8PutObjectResponse
+ Network.AWS.S3.PutObject: instance Selector S1_0_9PutObject
+ Network.AWS.S3.PutObject: instance Typeable PutObjectResponse
+ Network.AWS.S3.PutObject: porsETag :: Lens' PutObjectResponse (Maybe ETag)
+ Network.AWS.S3.PutObject: porsExpiration :: Lens' PutObjectResponse (Maybe Text)
+ Network.AWS.S3.PutObject: porsRequestCharged :: Lens' PutObjectResponse (Maybe RequestCharged)
+ Network.AWS.S3.PutObject: porsSSECustomerAlgorithm :: Lens' PutObjectResponse (Maybe Text)
+ Network.AWS.S3.PutObject: porsSSECustomerKeyMD5 :: Lens' PutObjectResponse (Maybe Text)
+ Network.AWS.S3.PutObject: porsSSEKMSKeyId :: Lens' PutObjectResponse (Maybe Text)
+ Network.AWS.S3.PutObject: porsServerSideEncryption :: Lens' PutObjectResponse (Maybe ServerSideEncryption)
+ Network.AWS.S3.PutObject: porsStatus :: Lens' PutObjectResponse Int
+ Network.AWS.S3.PutObject: porsVersionId :: Lens' PutObjectResponse (Maybe ObjectVersionId)
+ Network.AWS.S3.PutObjectACL: data PutObjectACL
+ Network.AWS.S3.PutObjectACL: data PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance AWSRequest PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Constructor C1_0PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Constructor C1_0PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance Data PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Data PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance Datatype D1PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Datatype D1PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance Eq PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Eq PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance Generic PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Generic PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance Read PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Read PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_0PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_0PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_10PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_1PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_1PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_2PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_3PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_4PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_5PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_6PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_7PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_8PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Selector S1_0_9PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Show PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Show PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: instance ToElement PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance ToHeaders PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance ToPath PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance ToQuery PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Typeable PutObjectACL
+ Network.AWS.S3.PutObjectACL: instance Typeable PutObjectACLResponse
+ Network.AWS.S3.PutObjectACL: poaACL :: Lens' PutObjectACL (Maybe ObjectCannedACL)
+ Network.AWS.S3.PutObjectACL: poaAccessControlPolicy :: Lens' PutObjectACL (Maybe AccessControlPolicy)
+ Network.AWS.S3.PutObjectACL: poaBucket :: Lens' PutObjectACL BucketName
+ Network.AWS.S3.PutObjectACL: poaContentMD5 :: Lens' PutObjectACL (Maybe Text)
+ Network.AWS.S3.PutObjectACL: poaGrantFullControl :: Lens' PutObjectACL (Maybe Text)
+ Network.AWS.S3.PutObjectACL: poaGrantRead :: Lens' PutObjectACL (Maybe Text)
+ Network.AWS.S3.PutObjectACL: poaGrantReadACP :: Lens' PutObjectACL (Maybe Text)
+ Network.AWS.S3.PutObjectACL: poaGrantWrite :: Lens' PutObjectACL (Maybe Text)
+ Network.AWS.S3.PutObjectACL: poaGrantWriteACP :: Lens' PutObjectACL (Maybe Text)
+ Network.AWS.S3.PutObjectACL: poaKey :: Lens' PutObjectACL ObjectKey
+ Network.AWS.S3.PutObjectACL: poaRequestPayer :: Lens' PutObjectACL (Maybe RequestPayer)
+ Network.AWS.S3.PutObjectACL: poarsRequestCharged :: Lens' PutObjectACLResponse (Maybe RequestCharged)
+ Network.AWS.S3.PutObjectACL: poarsStatus :: Lens' PutObjectACLResponse Int
+ Network.AWS.S3.PutObjectACL: putObjectACL :: BucketName -> ObjectKey -> PutObjectACL
+ Network.AWS.S3.PutObjectACL: putObjectACLResponse :: Int -> PutObjectACLResponse
+ Network.AWS.S3.RestoreObject: instance Constructor C1_0RestoreObject
+ Network.AWS.S3.RestoreObject: instance Constructor C1_0RestoreObjectResponse
+ Network.AWS.S3.RestoreObject: instance Data RestoreObject
+ Network.AWS.S3.RestoreObject: instance Data RestoreObjectResponse
+ Network.AWS.S3.RestoreObject: instance Datatype D1RestoreObject
+ Network.AWS.S3.RestoreObject: instance Datatype D1RestoreObjectResponse
+ Network.AWS.S3.RestoreObject: instance Generic RestoreObject
+ Network.AWS.S3.RestoreObject: instance Generic RestoreObjectResponse
+ Network.AWS.S3.RestoreObject: instance Selector S1_0_0RestoreObject
+ Network.AWS.S3.RestoreObject: instance Selector S1_0_0RestoreObjectResponse
+ Network.AWS.S3.RestoreObject: instance Selector S1_0_1RestoreObject
+ Network.AWS.S3.RestoreObject: instance Selector S1_0_1RestoreObjectResponse
+ Network.AWS.S3.RestoreObject: instance Selector S1_0_2RestoreObject
+ Network.AWS.S3.RestoreObject: instance Selector S1_0_3RestoreObject
+ Network.AWS.S3.RestoreObject: instance Selector S1_0_4RestoreObject
+ Network.AWS.S3.RestoreObject: instance ToElement RestoreObject
+ Network.AWS.S3.RestoreObject: instance Typeable RestoreObject
+ Network.AWS.S3.RestoreObject: instance Typeable RestoreObjectResponse
+ Network.AWS.S3.RestoreObject: rorsRequestCharged :: Lens' RestoreObjectResponse (Maybe RequestCharged)
+ Network.AWS.S3.RestoreObject: rorsStatus :: Lens' RestoreObjectResponse Int
+ Network.AWS.S3.Types: AWSKMS :: ServerSideEncryption
+ Network.AWS.S3.Types: BAuthenticatedRead :: BucketCannedACL
+ Network.AWS.S3.Types: BPrivate :: BucketCannedACL
+ Network.AWS.S3.Types: BPublicRead :: BucketCannedACL
+ Network.AWS.S3.Types: BPublicReadWrite :: BucketCannedACL
+ Network.AWS.S3.Types: Beijing :: Region
+ Network.AWS.S3.Types: BucketOwner :: Payer
+ Network.AWS.S3.Types: ESDisabled :: ExpirationStatus
+ Network.AWS.S3.Types: ESEnabled :: ExpirationStatus
+ Network.AWS.S3.Types: Frankfurt :: Region
+ Network.AWS.S3.Types: GovCloud :: Region
+ Network.AWS.S3.Types: GovCloudFIPS :: Region
+ Network.AWS.S3.Types: HTTP :: Protocol
+ Network.AWS.S3.Types: HTTPS :: Protocol
+ Network.AWS.S3.Types: Ireland :: Region
+ Network.AWS.S3.Types: LT' :: StorageClass
+ Network.AWS.S3.Types: MDDisabled :: MFADelete
+ Network.AWS.S3.Types: MDEnabled :: MFADelete
+ Network.AWS.S3.Types: MDSDisabled :: MFADeleteStatus
+ Network.AWS.S3.Types: MDSEnabled :: MFADeleteStatus
+ Network.AWS.S3.Types: NorthCalifornia :: Region
+ Network.AWS.S3.Types: NorthVirginia :: Region
+ Network.AWS.S3.Types: OAuthenticatedRead :: ObjectCannedACL
+ Network.AWS.S3.Types: OBucketOwnerFullControl :: ObjectCannedACL
+ Network.AWS.S3.Types: OBucketOwnerRead :: ObjectCannedACL
+ Network.AWS.S3.Types: OPrivate :: ObjectCannedACL
+ Network.AWS.S3.Types: OPublicRead :: ObjectCannedACL
+ Network.AWS.S3.Types: OPublicReadWrite :: ObjectCannedACL
+ Network.AWS.S3.Types: OSCGlacier :: ObjectStorageClass
+ Network.AWS.S3.Types: OSCReducedRedundancy :: ObjectStorageClass
+ Network.AWS.S3.Types: OSCStandard :: ObjectStorageClass
+ Network.AWS.S3.Types: Oregon :: Region
+ Network.AWS.S3.Types: RCRequester :: RequestCharged
+ Network.AWS.S3.Types: S3ObjectCreated :: Event
+ Network.AWS.S3.Types: S3ObjectRemoved :: Event
+ Network.AWS.S3.Types: S3ObjectRemovedDelete :: Event
+ Network.AWS.S3.Types: S3ObjectRemovedDeleteMarkerCreated :: Event
+ Network.AWS.S3.Types: SaoPaulo :: Region
+ Network.AWS.S3.Types: Singapore :: Region
+ Network.AWS.S3.Types: Sydney :: Region
+ Network.AWS.S3.Types: Tokyo :: Region
+ Network.AWS.S3.Types: URL :: EncodingType
+ Network.AWS.S3.Types: _BucketAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3.Types: _NoSuchBucket :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3.Types: _NoSuchKey :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3.Types: _NoSuchUpload :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3.Types: _ObjectAlreadyInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3.Types: _ObjectKey :: Iso' ObjectKey Text
+ Network.AWS.S3.Types: _ObjectNotInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.S3.Types: cHTTPErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)
+ Network.AWS.S3.Types: ccCORSRules :: Lens' CORSConfiguration [CORSRule]
+ Network.AWS.S3.Types: corsConfiguration :: CORSConfiguration
+ Network.AWS.S3.Types: corsRule :: CORSRule
+ Network.AWS.S3.Types: crAllowedHeaders :: Lens' CORSRule [Text]
+ Network.AWS.S3.Types: crAllowedMethods :: Lens' CORSRule [Text]
+ Network.AWS.S3.Types: crAllowedOrigins :: Lens' CORSRule [Text]
+ Network.AWS.S3.Types: crExposeHeaders :: Lens' CORSRule [Text]
+ Network.AWS.S3.Types: crMaxAgeSeconds :: Lens' CORSRule (Maybe Int)
+ Network.AWS.S3.Types: dDeleteMarker :: Lens' DeletedObject (Maybe Bool)
+ Network.AWS.S3.Types: dDeleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)
+ Network.AWS.S3.Types: dKey :: Lens' DeletedObject (Maybe ObjectKey)
+ Network.AWS.S3.Types: dVersionId :: Lens' DeletedObject (Maybe ObjectVersionId)
+ Network.AWS.S3.Types: gId :: Lens' Grantee (Maybe Text)
+ Network.AWS.S3.Types: iId :: Lens' Initiator (Maybe Text)
+ Network.AWS.S3.Types: keyComponents :: Delimiter -> IndexedTraversal' Int ObjectKey Text
+ Network.AWS.S3.Types: keyName :: Delimiter -> Traversal' ObjectKey Text
+ Network.AWS.S3.Types: keyPrefix :: Delimiter -> Traversal' ObjectKey Text
+ Network.AWS.S3.Types: lfcLambdaFunctionARN :: Lens' LambdaFunctionConfiguration Text
+ Network.AWS.S3.Types: oId :: Lens' Owner (Maybe Text)
+ Network.AWS.S3.Types: qcQueueARN :: Lens' QueueConfiguration Text
+ Network.AWS.S3.Types: rHTTPRedirectCode :: Lens' Redirect (Maybe Text)
+ Network.AWS.S3.Types: rId :: Lens' Rule (Maybe Text)
+ Network.AWS.S3.Types: rrDays :: Lens' RestoreRequest Int
+ Network.AWS.S3.Types: rrId :: Lens' ReplicationRule (Maybe Text)
+ Network.AWS.S3.Types: tcTopicARN :: Lens' TopicConfiguration Text
+ Network.AWS.S3.Types: type Delimiter = Char
+ Network.AWS.S3.UploadPart: instance Constructor C1_0UploadPart
+ Network.AWS.S3.UploadPart: instance Constructor C1_0UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Data UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Datatype D1UploadPart
+ Network.AWS.S3.UploadPart: instance Datatype D1UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Generic UploadPart
+ Network.AWS.S3.UploadPart: instance Generic UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Selector S1_0_0UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_0UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Selector S1_0_10UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_1UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_1UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Selector S1_0_2UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_2UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Selector S1_0_3UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_3UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Selector S1_0_4UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_4UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Selector S1_0_5UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_5UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Selector S1_0_6UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_6UploadPartResponse
+ Network.AWS.S3.UploadPart: instance Selector S1_0_7UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_8UploadPart
+ Network.AWS.S3.UploadPart: instance Selector S1_0_9UploadPart
+ Network.AWS.S3.UploadPart: instance Typeable UploadPartResponse
+ Network.AWS.S3.UploadPart: uprsETag :: Lens' UploadPartResponse (Maybe ETag)
+ Network.AWS.S3.UploadPart: uprsRequestCharged :: Lens' UploadPartResponse (Maybe RequestCharged)
+ Network.AWS.S3.UploadPart: uprsSSECustomerAlgorithm :: Lens' UploadPartResponse (Maybe Text)
+ Network.AWS.S3.UploadPart: uprsSSECustomerKeyMD5 :: Lens' UploadPartResponse (Maybe Text)
+ Network.AWS.S3.UploadPart: uprsSSEKMSKeyId :: Lens' UploadPartResponse (Maybe Text)
+ Network.AWS.S3.UploadPart: uprsServerSideEncryption :: Lens' UploadPartResponse (Maybe ServerSideEncryption)
+ Network.AWS.S3.UploadPart: uprsStatus :: Lens' UploadPartResponse Int
+ Network.AWS.S3.UploadPartCopy: instance Constructor C1_0UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Constructor C1_0UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Data UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Data UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Datatype D1UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Datatype D1UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Generic UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Generic UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_0UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_0UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_10UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_11UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_12UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_13UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_14UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_15UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_16UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_1UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_1UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_2UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_2UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_3UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_3UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_4UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_4UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_5UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_5UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_6UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_6UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_7UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_7UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_8UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Selector S1_0_9UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Typeable UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: instance Typeable UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: upcrsCopyPartResult :: Lens' UploadPartCopyResponse (Maybe CopyPartResult)
+ Network.AWS.S3.UploadPartCopy: upcrsCopySourceVersionId :: Lens' UploadPartCopyResponse (Maybe Text)
+ Network.AWS.S3.UploadPartCopy: upcrsRequestCharged :: Lens' UploadPartCopyResponse (Maybe RequestCharged)
+ Network.AWS.S3.UploadPartCopy: upcrsSSECustomerAlgorithm :: Lens' UploadPartCopyResponse (Maybe Text)
+ Network.AWS.S3.UploadPartCopy: upcrsSSECustomerKeyMD5 :: Lens' UploadPartCopyResponse (Maybe Text)
+ Network.AWS.S3.UploadPartCopy: upcrsSSEKMSKeyId :: Lens' UploadPartCopyResponse (Maybe Text)
+ Network.AWS.S3.UploadPartCopy: upcrsServerSideEncryption :: Lens' UploadPartCopyResponse (Maybe ServerSideEncryption)
+ Network.AWS.S3.UploadPartCopy: upcrsStatus :: Lens' UploadPartCopyResponse Int
- Network.AWS.S3.AbortMultipartUpload: abortMultipartUpload :: Text -> Text -> Text -> AbortMultipartUpload
+ Network.AWS.S3.AbortMultipartUpload: abortMultipartUpload :: BucketName -> ObjectKey -> Text -> AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: abortMultipartUploadResponse :: AbortMultipartUploadResponse
+ Network.AWS.S3.AbortMultipartUpload: abortMultipartUploadResponse :: Int -> AbortMultipartUploadResponse
- Network.AWS.S3.AbortMultipartUpload: amuBucket :: Lens' AbortMultipartUpload Text
+ Network.AWS.S3.AbortMultipartUpload: amuBucket :: Lens' AbortMultipartUpload BucketName
- Network.AWS.S3.AbortMultipartUpload: amuKey :: Lens' AbortMultipartUpload Text
+ Network.AWS.S3.AbortMultipartUpload: amuKey :: Lens' AbortMultipartUpload ObjectKey
- Network.AWS.S3.CompleteMultipartUpload: completeMultipartUpload :: Text -> Text -> Text -> CompleteMultipartUpload
+ Network.AWS.S3.CompleteMultipartUpload: completeMultipartUpload :: BucketName -> ObjectKey -> Text -> CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: completeMultipartUploadResponse :: CompleteMultipartUploadResponse
+ Network.AWS.S3.CompleteMultipartUpload: completeMultipartUploadResponse :: Int -> CompleteMultipartUploadResponse
- Network.AWS.S3.CopyObject: coBucket :: Lens' CopyObject Text
+ Network.AWS.S3.CopyObject: coBucket :: Lens' CopyObject BucketName
- Network.AWS.S3.CopyObject: coKey :: Lens' CopyObject Text
+ Network.AWS.S3.CopyObject: coKey :: Lens' CopyObject ObjectKey
- Network.AWS.S3.CopyObject: coMetadata :: Lens' CopyObject (HashMap (CI Text) Text)
+ Network.AWS.S3.CopyObject: coMetadata :: Lens' CopyObject (HashMap Text Text)
- Network.AWS.S3.CopyObject: copyObject :: Text -> Text -> Text -> CopyObject
+ Network.AWS.S3.CopyObject: copyObject :: BucketName -> Text -> ObjectKey -> CopyObject
- Network.AWS.S3.CopyObject: copyObjectResponse :: CopyObjectResponse
+ Network.AWS.S3.CopyObject: copyObjectResponse :: Int -> CopyObjectResponse
- Network.AWS.S3.CreateBucket: cbBucket :: Lens' CreateBucket Text
+ Network.AWS.S3.CreateBucket: cbBucket :: Lens' CreateBucket BucketName
- Network.AWS.S3.CreateBucket: createBucket :: Text -> CreateBucket
+ Network.AWS.S3.CreateBucket: createBucket :: BucketName -> CreateBucket
- Network.AWS.S3.CreateBucket: createBucketResponse :: CreateBucketResponse
+ Network.AWS.S3.CreateBucket: createBucketResponse :: Int -> CreateBucketResponse
- Network.AWS.S3.CreateMultipartUpload: cmuBucket :: Lens' CreateMultipartUpload Text
+ Network.AWS.S3.CreateMultipartUpload: cmuBucket :: Lens' CreateMultipartUpload BucketName
- Network.AWS.S3.CreateMultipartUpload: cmuKey :: Lens' CreateMultipartUpload Text
+ Network.AWS.S3.CreateMultipartUpload: cmuKey :: Lens' CreateMultipartUpload ObjectKey
- Network.AWS.S3.CreateMultipartUpload: cmuMetadata :: Lens' CreateMultipartUpload (HashMap (CI Text) Text)
+ Network.AWS.S3.CreateMultipartUpload: cmuMetadata :: Lens' CreateMultipartUpload (HashMap Text Text)
- Network.AWS.S3.CreateMultipartUpload: createMultipartUpload :: Text -> Text -> CreateMultipartUpload
+ Network.AWS.S3.CreateMultipartUpload: createMultipartUpload :: BucketName -> ObjectKey -> CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: createMultipartUploadResponse :: CreateMultipartUploadResponse
+ Network.AWS.S3.CreateMultipartUpload: createMultipartUploadResponse :: Int -> CreateMultipartUploadResponse
- Network.AWS.S3.DeleteBucket: dbBucket :: Lens' DeleteBucket Text
+ Network.AWS.S3.DeleteBucket: dbBucket :: Lens' DeleteBucket BucketName
- Network.AWS.S3.DeleteBucket: deleteBucket :: Text -> DeleteBucket
+ Network.AWS.S3.DeleteBucket: deleteBucket :: BucketName -> DeleteBucket
- Network.AWS.S3.DeleteBucketLifecycle: dblBucket :: Lens' DeleteBucketLifecycle Text
+ Network.AWS.S3.DeleteBucketLifecycle: dblBucket :: Lens' DeleteBucketLifecycle BucketName
- Network.AWS.S3.DeleteBucketLifecycle: deleteBucketLifecycle :: Text -> DeleteBucketLifecycle
+ Network.AWS.S3.DeleteBucketLifecycle: deleteBucketLifecycle :: BucketName -> DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketPolicy: dbpBucket :: Lens' DeleteBucketPolicy Text
+ Network.AWS.S3.DeleteBucketPolicy: dbpBucket :: Lens' DeleteBucketPolicy BucketName
- Network.AWS.S3.DeleteBucketPolicy: deleteBucketPolicy :: Text -> DeleteBucketPolicy
+ Network.AWS.S3.DeleteBucketPolicy: deleteBucketPolicy :: BucketName -> DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketReplication: dbrBucket :: Lens' DeleteBucketReplication Text
+ Network.AWS.S3.DeleteBucketReplication: dbrBucket :: Lens' DeleteBucketReplication BucketName
- Network.AWS.S3.DeleteBucketReplication: deleteBucketReplication :: Text -> DeleteBucketReplication
+ Network.AWS.S3.DeleteBucketReplication: deleteBucketReplication :: BucketName -> DeleteBucketReplication
- Network.AWS.S3.DeleteBucketTagging: dbtBucket :: Lens' DeleteBucketTagging Text
+ Network.AWS.S3.DeleteBucketTagging: dbtBucket :: Lens' DeleteBucketTagging BucketName
- Network.AWS.S3.DeleteBucketTagging: deleteBucketTagging :: Text -> DeleteBucketTagging
+ Network.AWS.S3.DeleteBucketTagging: deleteBucketTagging :: BucketName -> DeleteBucketTagging
- Network.AWS.S3.DeleteBucketWebsite: dbwBucket :: Lens' DeleteBucketWebsite Text
+ Network.AWS.S3.DeleteBucketWebsite: dbwBucket :: Lens' DeleteBucketWebsite BucketName
- Network.AWS.S3.DeleteBucketWebsite: deleteBucketWebsite :: Text -> DeleteBucketWebsite
+ Network.AWS.S3.DeleteBucketWebsite: deleteBucketWebsite :: BucketName -> DeleteBucketWebsite
- Network.AWS.S3.DeleteObject: deleteObject :: Text -> Text -> DeleteObject
+ Network.AWS.S3.DeleteObject: deleteObject :: BucketName -> ObjectKey -> DeleteObject
- Network.AWS.S3.DeleteObject: deleteObjectResponse :: DeleteObjectResponse
+ Network.AWS.S3.DeleteObject: deleteObjectResponse :: Int -> DeleteObjectResponse
- Network.AWS.S3.DeleteObject: doBucket :: Lens' DeleteObject Text
+ Network.AWS.S3.DeleteObject: doBucket :: Lens' DeleteObject BucketName
- Network.AWS.S3.DeleteObject: doKey :: Lens' DeleteObject Text
+ Network.AWS.S3.DeleteObject: doKey :: Lens' DeleteObject ObjectKey
- Network.AWS.S3.DeleteObject: doVersionId :: Lens' DeleteObject (Maybe Text)
+ Network.AWS.S3.DeleteObject: doVersionId :: Lens' DeleteObject (Maybe ObjectVersionId)
- Network.AWS.S3.DeleteObjects: deleteObjects :: Text -> Delete -> DeleteObjects
+ Network.AWS.S3.DeleteObjects: deleteObjects :: BucketName -> Delete -> DeleteObjects
- Network.AWS.S3.DeleteObjects: deleteObjectsResponse :: DeleteObjectsResponse
+ Network.AWS.S3.DeleteObjects: deleteObjectsResponse :: Int -> DeleteObjectsResponse
- Network.AWS.S3.GetBucketLifecycle: getBucketLifecycle :: Text -> GetBucketLifecycle
+ Network.AWS.S3.GetBucketLifecycle: getBucketLifecycle :: BucketName -> GetBucketLifecycle
- Network.AWS.S3.GetBucketLifecycle: getBucketLifecycleResponse :: GetBucketLifecycleResponse
+ Network.AWS.S3.GetBucketLifecycle: getBucketLifecycleResponse :: Int -> GetBucketLifecycleResponse
- Network.AWS.S3.GetBucketLocation: gblBucket :: Lens' GetBucketLocation Text
+ Network.AWS.S3.GetBucketLocation: gblBucket :: Lens' GetBucketLocation BucketName
- Network.AWS.S3.GetBucketLocation: getBucketLocation :: Text -> GetBucketLocation
+ Network.AWS.S3.GetBucketLocation: getBucketLocation :: BucketName -> GetBucketLocation
- Network.AWS.S3.GetBucketLocation: getBucketLocationResponse :: GetBucketLocationResponse
+ Network.AWS.S3.GetBucketLocation: getBucketLocationResponse :: Int -> GetBucketLocationResponse
- Network.AWS.S3.GetBucketLogging: getBucketLogging :: Text -> GetBucketLogging
+ Network.AWS.S3.GetBucketLogging: getBucketLogging :: BucketName -> GetBucketLogging
- Network.AWS.S3.GetBucketLogging: getBucketLoggingResponse :: GetBucketLoggingResponse
+ Network.AWS.S3.GetBucketLogging: getBucketLoggingResponse :: Int -> GetBucketLoggingResponse
- Network.AWS.S3.GetBucketNotificationConfiguration: getBucketNotificationConfiguration :: Text -> GetBucketNotificationConfiguration
+ Network.AWS.S3.GetBucketNotificationConfiguration: getBucketNotificationConfiguration :: BucketName -> GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketPolicy: gbpBucket :: Lens' GetBucketPolicy Text
+ Network.AWS.S3.GetBucketPolicy: gbpBucket :: Lens' GetBucketPolicy BucketName
- Network.AWS.S3.GetBucketPolicy: getBucketPolicy :: Text -> GetBucketPolicy
+ Network.AWS.S3.GetBucketPolicy: getBucketPolicy :: BucketName -> GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: getBucketPolicyResponse :: GetBucketPolicyResponse
+ Network.AWS.S3.GetBucketPolicy: getBucketPolicyResponse :: Int -> GetBucketPolicyResponse
- Network.AWS.S3.GetBucketReplication: gbrBucket :: Lens' GetBucketReplication Text
+ Network.AWS.S3.GetBucketReplication: gbrBucket :: Lens' GetBucketReplication BucketName
- Network.AWS.S3.GetBucketReplication: getBucketReplication :: Text -> GetBucketReplication
+ Network.AWS.S3.GetBucketReplication: getBucketReplication :: BucketName -> GetBucketReplication
- Network.AWS.S3.GetBucketReplication: getBucketReplicationResponse :: GetBucketReplicationResponse
+ Network.AWS.S3.GetBucketReplication: getBucketReplicationResponse :: Int -> GetBucketReplicationResponse
- Network.AWS.S3.GetBucketRequestPayment: gbrpBucket :: Lens' GetBucketRequestPayment Text
+ Network.AWS.S3.GetBucketRequestPayment: gbrpBucket :: Lens' GetBucketRequestPayment BucketName
- Network.AWS.S3.GetBucketRequestPayment: getBucketRequestPayment :: Text -> GetBucketRequestPayment
+ Network.AWS.S3.GetBucketRequestPayment: getBucketRequestPayment :: BucketName -> GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: getBucketRequestPaymentResponse :: GetBucketRequestPaymentResponse
+ Network.AWS.S3.GetBucketRequestPayment: getBucketRequestPaymentResponse :: Int -> GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketTagging: gbtBucket :: Lens' GetBucketTagging Text
+ Network.AWS.S3.GetBucketTagging: gbtBucket :: Lens' GetBucketTagging BucketName
- Network.AWS.S3.GetBucketTagging: getBucketTagging :: Text -> GetBucketTagging
+ Network.AWS.S3.GetBucketTagging: getBucketTagging :: BucketName -> GetBucketTagging
- Network.AWS.S3.GetBucketTagging: getBucketTaggingResponse :: GetBucketTaggingResponse
+ Network.AWS.S3.GetBucketTagging: getBucketTaggingResponse :: Int -> GetBucketTaggingResponse
- Network.AWS.S3.GetBucketVersioning: gbvBucket :: Lens' GetBucketVersioning Text
+ Network.AWS.S3.GetBucketVersioning: gbvBucket :: Lens' GetBucketVersioning BucketName
- Network.AWS.S3.GetBucketVersioning: getBucketVersioning :: Text -> GetBucketVersioning
+ Network.AWS.S3.GetBucketVersioning: getBucketVersioning :: BucketName -> GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: getBucketVersioningResponse :: GetBucketVersioningResponse
+ Network.AWS.S3.GetBucketVersioning: getBucketVersioningResponse :: Int -> GetBucketVersioningResponse
- Network.AWS.S3.GetBucketWebsite: gbwBucket :: Lens' GetBucketWebsite Text
+ Network.AWS.S3.GetBucketWebsite: gbwBucket :: Lens' GetBucketWebsite BucketName
- Network.AWS.S3.GetBucketWebsite: getBucketWebsite :: Text -> GetBucketWebsite
+ Network.AWS.S3.GetBucketWebsite: getBucketWebsite :: BucketName -> GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: getBucketWebsiteResponse :: GetBucketWebsiteResponse
+ Network.AWS.S3.GetBucketWebsite: getBucketWebsiteResponse :: Int -> GetBucketWebsiteResponse
- Network.AWS.S3.GetObject: getObject :: Text -> Text -> GetObject
+ Network.AWS.S3.GetObject: getObject :: BucketName -> ObjectKey -> GetObject
- Network.AWS.S3.GetObject: getObjectResponse :: RsBody -> GetObjectResponse
+ Network.AWS.S3.GetObject: getObjectResponse :: Int -> RsBody -> GetObjectResponse
- Network.AWS.S3.GetObject: goBucket :: Lens' GetObject Text
+ Network.AWS.S3.GetObject: goBucket :: Lens' GetObject BucketName
- Network.AWS.S3.GetObject: goKey :: Lens' GetObject Text
+ Network.AWS.S3.GetObject: goKey :: Lens' GetObject ObjectKey
- Network.AWS.S3.GetObject: goVersionId :: Lens' GetObject (Maybe Text)
+ Network.AWS.S3.GetObject: goVersionId :: Lens' GetObject (Maybe ObjectVersionId)
- Network.AWS.S3.GetObjectTorrent: getObjectTorrent :: Text -> Text -> GetObjectTorrent
+ Network.AWS.S3.GetObjectTorrent: getObjectTorrent :: BucketName -> ObjectKey -> GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: getObjectTorrentResponse :: RsBody -> GetObjectTorrentResponse
+ Network.AWS.S3.GetObjectTorrent: getObjectTorrentResponse :: Int -> RsBody -> GetObjectTorrentResponse
- Network.AWS.S3.GetObjectTorrent: gotBucket :: Lens' GetObjectTorrent Text
+ Network.AWS.S3.GetObjectTorrent: gotBucket :: Lens' GetObjectTorrent BucketName
- Network.AWS.S3.GetObjectTorrent: gotKey :: Lens' GetObjectTorrent Text
+ Network.AWS.S3.GetObjectTorrent: gotKey :: Lens' GetObjectTorrent ObjectKey
- Network.AWS.S3.HeadBucket: hbBucket :: Lens' HeadBucket Text
+ Network.AWS.S3.HeadBucket: hbBucket :: Lens' HeadBucket BucketName
- Network.AWS.S3.HeadBucket: headBucket :: Text -> HeadBucket
+ Network.AWS.S3.HeadBucket: headBucket :: BucketName -> HeadBucket
- Network.AWS.S3.HeadObject: headObject :: Text -> Text -> HeadObject
+ Network.AWS.S3.HeadObject: headObject :: BucketName -> ObjectKey -> HeadObject
- Network.AWS.S3.HeadObject: headObjectResponse :: HeadObjectResponse
+ Network.AWS.S3.HeadObject: headObjectResponse :: Int -> HeadObjectResponse
- Network.AWS.S3.HeadObject: hoBucket :: Lens' HeadObject Text
+ Network.AWS.S3.HeadObject: hoBucket :: Lens' HeadObject BucketName
- Network.AWS.S3.HeadObject: hoKey :: Lens' HeadObject Text
+ Network.AWS.S3.HeadObject: hoKey :: Lens' HeadObject ObjectKey
- Network.AWS.S3.HeadObject: hoVersionId :: Lens' HeadObject (Maybe Text)
+ Network.AWS.S3.HeadObject: hoVersionId :: Lens' HeadObject (Maybe ObjectVersionId)
- Network.AWS.S3.ListBuckets: listBucketsResponse :: ListBucketsResponse
+ Network.AWS.S3.ListBuckets: listBucketsResponse :: Int -> ListBucketsResponse
- Network.AWS.S3.ListMultipartUploads: listMultipartUploads :: Text -> ListMultipartUploads
+ Network.AWS.S3.ListMultipartUploads: listMultipartUploads :: BucketName -> ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: listMultipartUploadsResponse :: ListMultipartUploadsResponse
+ Network.AWS.S3.ListMultipartUploads: listMultipartUploadsResponse :: Int -> ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: lmuBucket :: Lens' ListMultipartUploads Text
+ Network.AWS.S3.ListMultipartUploads: lmuBucket :: Lens' ListMultipartUploads BucketName
- Network.AWS.S3.ListMultipartUploads: lmuDelimiter :: Lens' ListMultipartUploads (Maybe Text)
+ Network.AWS.S3.ListMultipartUploads: lmuDelimiter :: Lens' ListMultipartUploads (Maybe Delimiter)
- Network.AWS.S3.ListObjectVersions: listObjectVersions :: Text -> ListObjectVersions
+ Network.AWS.S3.ListObjectVersions: listObjectVersions :: BucketName -> ListObjectVersions
- Network.AWS.S3.ListObjectVersions: listObjectVersionsResponse :: ListObjectVersionsResponse
+ Network.AWS.S3.ListObjectVersions: listObjectVersionsResponse :: Int -> ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: lovBucket :: Lens' ListObjectVersions Text
+ Network.AWS.S3.ListObjectVersions: lovBucket :: Lens' ListObjectVersions BucketName
- Network.AWS.S3.ListObjectVersions: lovDelimiter :: Lens' ListObjectVersions (Maybe Text)
+ Network.AWS.S3.ListObjectVersions: lovDelimiter :: Lens' ListObjectVersions (Maybe Delimiter)
- Network.AWS.S3.ListObjects: listObjects :: Text -> ListObjects
+ Network.AWS.S3.ListObjects: listObjects :: BucketName -> ListObjects
- Network.AWS.S3.ListObjects: listObjectsResponse :: ListObjectsResponse
+ Network.AWS.S3.ListObjects: listObjectsResponse :: Int -> ListObjectsResponse
- Network.AWS.S3.ListObjects: loBucket :: Lens' ListObjects Text
+ Network.AWS.S3.ListObjects: loBucket :: Lens' ListObjects BucketName
- Network.AWS.S3.ListObjects: loDelimiter :: Lens' ListObjects (Maybe Text)
+ Network.AWS.S3.ListObjects: loDelimiter :: Lens' ListObjects (Maybe Delimiter)
- Network.AWS.S3.ListParts: listParts :: Text -> Text -> Text -> ListParts
+ Network.AWS.S3.ListParts: listParts :: BucketName -> ObjectKey -> Text -> ListParts
- Network.AWS.S3.ListParts: listPartsResponse :: ListPartsResponse
+ Network.AWS.S3.ListParts: listPartsResponse :: Int -> ListPartsResponse
- Network.AWS.S3.ListParts: lpBucket :: Lens' ListParts Text
+ Network.AWS.S3.ListParts: lpBucket :: Lens' ListParts BucketName
- Network.AWS.S3.ListParts: lpKey :: Lens' ListParts Text
+ Network.AWS.S3.ListParts: lpKey :: Lens' ListParts ObjectKey
- Network.AWS.S3.PutBucketLifecycle: putBucketLifecycle :: Text -> PutBucketLifecycle
+ Network.AWS.S3.PutBucketLifecycle: putBucketLifecycle :: BucketName -> PutBucketLifecycle
- Network.AWS.S3.PutBucketLogging: pblBucket :: Lens' PutBucketLogging Text
+ Network.AWS.S3.PutBucketLogging: pblBucket :: Lens' PutBucketLogging BucketName
- Network.AWS.S3.PutBucketLogging: putBucketLogging :: Text -> BucketLoggingStatus -> PutBucketLogging
+ Network.AWS.S3.PutBucketLogging: putBucketLogging :: BucketName -> BucketLoggingStatus -> PutBucketLogging
- Network.AWS.S3.PutBucketNotificationConfiguration: pbncBucket :: Lens' PutBucketNotificationConfiguration Text
+ Network.AWS.S3.PutBucketNotificationConfiguration: pbncBucket :: Lens' PutBucketNotificationConfiguration BucketName
- Network.AWS.S3.PutBucketNotificationConfiguration: putBucketNotificationConfiguration :: Text -> NotificationConfiguration -> PutBucketNotificationConfiguration
+ Network.AWS.S3.PutBucketNotificationConfiguration: putBucketNotificationConfiguration :: BucketName -> NotificationConfiguration -> PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketPolicy: pbpBucket :: Lens' PutBucketPolicy Text
+ Network.AWS.S3.PutBucketPolicy: pbpBucket :: Lens' PutBucketPolicy BucketName
- Network.AWS.S3.PutBucketPolicy: putBucketPolicy :: Text -> Text -> PutBucketPolicy
+ Network.AWS.S3.PutBucketPolicy: putBucketPolicy :: BucketName -> Text -> PutBucketPolicy
- Network.AWS.S3.PutBucketReplication: pbrBucket :: Lens' PutBucketReplication Text
+ Network.AWS.S3.PutBucketReplication: pbrBucket :: Lens' PutBucketReplication BucketName
- Network.AWS.S3.PutBucketReplication: putBucketReplication :: Text -> ReplicationConfiguration -> PutBucketReplication
+ Network.AWS.S3.PutBucketReplication: putBucketReplication :: BucketName -> ReplicationConfiguration -> PutBucketReplication
- Network.AWS.S3.PutBucketRequestPayment: pbrpBucket :: Lens' PutBucketRequestPayment Text
+ Network.AWS.S3.PutBucketRequestPayment: pbrpBucket :: Lens' PutBucketRequestPayment BucketName
- Network.AWS.S3.PutBucketRequestPayment: putBucketRequestPayment :: Text -> RequestPaymentConfiguration -> PutBucketRequestPayment
+ Network.AWS.S3.PutBucketRequestPayment: putBucketRequestPayment :: BucketName -> RequestPaymentConfiguration -> PutBucketRequestPayment
- Network.AWS.S3.PutBucketTagging: pbtBucket :: Lens' PutBucketTagging Text
+ Network.AWS.S3.PutBucketTagging: pbtBucket :: Lens' PutBucketTagging BucketName
- Network.AWS.S3.PutBucketTagging: putBucketTagging :: Text -> Tagging -> PutBucketTagging
+ Network.AWS.S3.PutBucketTagging: putBucketTagging :: BucketName -> Tagging -> PutBucketTagging
- Network.AWS.S3.PutBucketVersioning: pbvBucket :: Lens' PutBucketVersioning Text
+ Network.AWS.S3.PutBucketVersioning: pbvBucket :: Lens' PutBucketVersioning BucketName
- Network.AWS.S3.PutBucketVersioning: putBucketVersioning :: Text -> VersioningConfiguration -> PutBucketVersioning
+ Network.AWS.S3.PutBucketVersioning: putBucketVersioning :: BucketName -> VersioningConfiguration -> PutBucketVersioning
- Network.AWS.S3.PutBucketWebsite: pbwBucket :: Lens' PutBucketWebsite Text
+ Network.AWS.S3.PutBucketWebsite: pbwBucket :: Lens' PutBucketWebsite BucketName
- Network.AWS.S3.PutBucketWebsite: putBucketWebsite :: Text -> WebsiteConfiguration -> PutBucketWebsite
+ Network.AWS.S3.PutBucketWebsite: putBucketWebsite :: BucketName -> WebsiteConfiguration -> PutBucketWebsite
- Network.AWS.S3.PutObject: poBucket :: Lens' PutObject Text
+ Network.AWS.S3.PutObject: poBucket :: Lens' PutObject BucketName
- Network.AWS.S3.PutObject: poKey :: Lens' PutObject Text
+ Network.AWS.S3.PutObject: poKey :: Lens' PutObject ObjectKey
- Network.AWS.S3.PutObject: poMetadata :: Lens' PutObject (HashMap (CI Text) Text)
+ Network.AWS.S3.PutObject: poMetadata :: Lens' PutObject (HashMap Text Text)
- Network.AWS.S3.PutObject: putObject :: RqBody -> Text -> Text -> PutObject
+ Network.AWS.S3.PutObject: putObject :: BucketName -> ObjectKey -> RqBody -> PutObject
- Network.AWS.S3.PutObject: putObjectResponse :: PutObjectResponse
+ Network.AWS.S3.PutObject: putObjectResponse :: Int -> PutObjectResponse
- Network.AWS.S3.RestoreObject: restoreObject :: Text -> Text -> RestoreObject
+ Network.AWS.S3.RestoreObject: restoreObject :: BucketName -> ObjectKey -> RestoreObject
- Network.AWS.S3.RestoreObject: restoreObjectResponse :: RestoreObjectResponse
+ Network.AWS.S3.RestoreObject: restoreObjectResponse :: Int -> RestoreObjectResponse
- Network.AWS.S3.RestoreObject: roBucket :: Lens' RestoreObject Text
+ Network.AWS.S3.RestoreObject: roBucket :: Lens' RestoreObject BucketName
- Network.AWS.S3.RestoreObject: roKey :: Lens' RestoreObject Text
+ Network.AWS.S3.RestoreObject: roKey :: Lens' RestoreObject ObjectKey
- Network.AWS.S3.RestoreObject: roVersionId :: Lens' RestoreObject (Maybe Text)
+ Network.AWS.S3.RestoreObject: roVersionId :: Lens' RestoreObject (Maybe ObjectVersionId)
- Network.AWS.S3.Types: Disabled :: ExpirationStatus
+ Network.AWS.S3.Types: Disabled :: ReplicationRuleStatus
- Network.AWS.S3.Types: ETag :: Text -> ETag
+ Network.AWS.S3.Types: ETag :: ByteString -> ETag
- Network.AWS.S3.Types: Enabled :: ExpirationStatus
+ Network.AWS.S3.Types: Enabled :: ReplicationRuleStatus
- Network.AWS.S3.Types: Glacier :: ObjectStorageClass
+ Network.AWS.S3.Types: Glacier :: TransitionStorageClass
- Network.AWS.S3.Types: ReducedRedundancy :: ObjectStorageClass
+ Network.AWS.S3.Types: ReducedRedundancy :: StorageClass
- Network.AWS.S3.Types: Requester :: RequestCharged
+ Network.AWS.S3.Types: Requester :: Payer
- Network.AWS.S3.Types: Standard :: ObjectStorageClass
+ Network.AWS.S3.Types: Standard :: StorageClass
- Network.AWS.S3.Types: bName :: Lens' Bucket Text
+ Network.AWS.S3.Types: bName :: Lens' Bucket BucketName
- Network.AWS.S3.Types: bucket :: Text -> UTCTime -> Bucket
+ Network.AWS.S3.Types: bucket :: UTCTime -> BucketName -> Bucket
- Network.AWS.S3.Types: cmuParts :: Lens' CompletedMultipartUpload [CompletedPart]
+ Network.AWS.S3.Types: cmuParts :: Lens' CompletedMultipartUpload (Maybe (NonEmpty CompletedPart))
- Network.AWS.S3.Types: completedPart :: CompletedPart
+ Network.AWS.S3.Types: completedPart :: Int -> ETag -> CompletedPart
- Network.AWS.S3.Types: corETag :: Lens' CopyObjectResult (Maybe Text)
+ Network.AWS.S3.Types: corETag :: Lens' CopyObjectResult (Maybe ETag)
- Network.AWS.S3.Types: cpETag :: Lens' CompletedPart (Maybe Text)
+ Network.AWS.S3.Types: cpETag :: Lens' CompletedPart ETag
- Network.AWS.S3.Types: cpPartNumber :: Lens' CompletedPart (Maybe Int)
+ Network.AWS.S3.Types: cpPartNumber :: Lens' CompletedPart Int
- Network.AWS.S3.Types: cprETag :: Lens' CopyPartResult (Maybe Text)
+ Network.AWS.S3.Types: cprETag :: Lens' CopyPartResult (Maybe ETag)
- Network.AWS.S3.Types: dBucket :: Lens' Destination Text
+ Network.AWS.S3.Types: dBucket :: Lens' Destination BucketName
- Network.AWS.S3.Types: destination :: Text -> Destination
+ Network.AWS.S3.Types: destination :: BucketName -> Destination
- Network.AWS.S3.Types: dmeKey :: Lens' DeleteMarkerEntry (Maybe Text)
+ Network.AWS.S3.Types: dmeKey :: Lens' DeleteMarkerEntry (Maybe ObjectKey)
- Network.AWS.S3.Types: dmeVersionId :: Lens' DeleteMarkerEntry (Maybe Text)
+ Network.AWS.S3.Types: dmeVersionId :: Lens' DeleteMarkerEntry (Maybe ObjectVersionId)
- Network.AWS.S3.Types: edKey :: Lens' ErrorDocument Text
+ Network.AWS.S3.Types: edKey :: Lens' ErrorDocument ObjectKey
- Network.AWS.S3.Types: errorDocument :: Text -> ErrorDocument
+ Network.AWS.S3.Types: errorDocument :: ObjectKey -> ErrorDocument
- Network.AWS.S3.Types: muKey :: Lens' MultipartUpload (Maybe Text)
+ Network.AWS.S3.Types: muKey :: Lens' MultipartUpload (Maybe ObjectKey)
- Network.AWS.S3.Types: oETag :: Lens' Object Text
+ Network.AWS.S3.Types: oETag :: Lens' Object ETag
- Network.AWS.S3.Types: oKey :: Lens' Object Text
+ Network.AWS.S3.Types: oKey :: Lens' Object ObjectKey
- Network.AWS.S3.Types: oOwner :: Lens' Object Owner
+ Network.AWS.S3.Types: oOwner :: Lens' Object (Maybe Owner)
- Network.AWS.S3.Types: object' :: Text -> UTCTime -> Text -> Int -> ObjectStorageClass -> Owner -> Object
+ Network.AWS.S3.Types: object' :: ETag -> Int -> ObjectKey -> ObjectStorageClass -> UTCTime -> Object
- Network.AWS.S3.Types: objectIdentifier :: Text -> ObjectIdentifier
+ Network.AWS.S3.Types: objectIdentifier :: ObjectKey -> ObjectIdentifier
- Network.AWS.S3.Types: oiKey :: Lens' ObjectIdentifier Text
+ Network.AWS.S3.Types: oiKey :: Lens' ObjectIdentifier ObjectKey
- Network.AWS.S3.Types: oiVersionId :: Lens' ObjectIdentifier (Maybe Text)
+ Network.AWS.S3.Types: oiVersionId :: Lens' ObjectIdentifier (Maybe ObjectVersionId)
- Network.AWS.S3.Types: ovETag :: Lens' ObjectVersion (Maybe Text)
+ Network.AWS.S3.Types: ovETag :: Lens' ObjectVersion (Maybe ETag)
- Network.AWS.S3.Types: ovKey :: Lens' ObjectVersion (Maybe Text)
+ Network.AWS.S3.Types: ovKey :: Lens' ObjectVersion (Maybe ObjectKey)
- Network.AWS.S3.Types: ovVersionId :: Lens' ObjectVersion (Maybe Text)
+ Network.AWS.S3.Types: ovVersionId :: Lens' ObjectVersion (Maybe ObjectVersionId)
- Network.AWS.S3.Types: pETag :: Lens' Part (Maybe Text)
+ Network.AWS.S3.Types: pETag :: Lens' Part (Maybe ETag)
- Network.AWS.S3.Types: sseKey :: Lens' S3ServiceError (Maybe Text)
+ Network.AWS.S3.Types: sseKey :: Lens' S3ServiceError (Maybe ObjectKey)
- Network.AWS.S3.Types: sseVersionId :: Lens' S3ServiceError (Maybe Text)
+ Network.AWS.S3.Types: sseVersionId :: Lens' S3ServiceError (Maybe ObjectVersionId)
- Network.AWS.S3.Types: tag :: Text -> Text -> Tag
+ Network.AWS.S3.Types: tag :: ObjectKey -> Text -> Tag
- Network.AWS.S3.Types: tagKey :: Lens' Tag Text
+ Network.AWS.S3.Types: tagKey :: Lens' Tag ObjectKey
- Network.AWS.S3.UploadPart: upBucket :: Lens' UploadPart Text
+ Network.AWS.S3.UploadPart: upBucket :: Lens' UploadPart BucketName
- Network.AWS.S3.UploadPart: upKey :: Lens' UploadPart Text
+ Network.AWS.S3.UploadPart: upKey :: Lens' UploadPart ObjectKey
- Network.AWS.S3.UploadPart: uploadPart :: RqBody -> Text -> Text -> Int -> Text -> UploadPart
+ Network.AWS.S3.UploadPart: uploadPart :: BucketName -> ObjectKey -> Int -> Text -> RqBody -> UploadPart
- Network.AWS.S3.UploadPart: uploadPartResponse :: UploadPartResponse
+ Network.AWS.S3.UploadPart: uploadPartResponse :: Int -> UploadPartResponse
- Network.AWS.S3.UploadPartCopy: upcBucket :: Lens' UploadPartCopy Text
+ Network.AWS.S3.UploadPartCopy: upcBucket :: Lens' UploadPartCopy BucketName
- Network.AWS.S3.UploadPartCopy: upcKey :: Lens' UploadPartCopy Text
+ Network.AWS.S3.UploadPartCopy: upcKey :: Lens' UploadPartCopy ObjectKey
- Network.AWS.S3.UploadPartCopy: uploadPartCopy :: Text -> Text -> Text -> Int -> Text -> UploadPartCopy
+ Network.AWS.S3.UploadPartCopy: uploadPartCopy :: BucketName -> Text -> ObjectKey -> Int -> Text -> UploadPartCopy
- Network.AWS.S3.UploadPartCopy: uploadPartCopyResponse :: UploadPartCopyResponse
+ Network.AWS.S3.UploadPartCopy: uploadPartCopyResponse :: Int -> UploadPartCopyResponse

Files

README.md view
@@ -1,24 +1,37 @@ # Amazon Simple Storage Service SDK -> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!-+* [Version](#version) * [Description](#description) * [Contribute](#contribute) * [Licence](#licence) ++## Version++`1.0.0`++ ## Description -Amazon Simple Storage Service is storage for the Internet. Amazon S3 has a-simple web services interface that you can use to store and retrieve any-amount of data, at any time, from anywhere on the web. It gives any developer-access to the same highly scalable, reliable, fast, inexpensive data storage-infrastructure that Amazon uses to run its own global network of web sites.-The service aims to maximize benefits of scale and to pass those benefits on-to developers.+Amazon Simple Storage Service is storage for the Internet. Amazon S3 has+a simple web services interface that you can use to store and retrieve+any amount of data, at any time, from anywhere on the web. It gives any+developer access to the same highly scalable, reliable, fast,+inexpensive data storage infrastructure that Amazon uses to run its own+global network of web sites. The service aims to maximize benefits of+scale and to pass those benefits on to developers.  Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-s3) and the [AWS API Reference](http://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html). +The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).  ## Contribute 
amazonka-s3.cabal view
@@ -1,31 +1,39 @@ name:                  amazonka-s3-version:               0.3.6+version:               1.0.0 synopsis:              Amazon Simple Storage Service SDK. homepage:              https://github.com/brendanhay/amazonka license:               OtherLicense license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2014 Brendan Hay+copyright:             Copyright (c) 2013-2015 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple extra-source-files:    README.md cabal-version:         >= 1.10  description:-    Amazon Simple Storage Service is storage for the Internet. Amazon S3 has a-    simple web services interface that you can use to store and retrieve any-    amount of data, at any time, from anywhere on the web. It gives any developer-    access to the same highly scalable, reliable, fast, inexpensive data storage-    infrastructure that Amazon uses to run its own global network of web sites.-    The service aims to maximize benefits of scale and to pass those benefits on-    to developers.-+    Amazon Simple Storage Service is storage for the Internet. Amazon S3 has+    a simple web services interface that you can use to store and retrieve+    any amount of data, at any time, from anywhere on the web. It gives any+    developer access to the same highly scalable, reliable, fast,+    inexpensive data storage infrastructure that Amazon uses to run its own+    global network of web sites. The service aims to maximize benefits of+    scale and to pass those benefits on to developers.     .-    /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html AWS API Reference>+    The types from this library are intended to be used with+    <http://hackage.haskell.org/package/amazonka amazonka>, which provides+    mechanisms for specifying AuthN/AuthZ information and sending requests.     .-    /Warning:/ This is an experimental preview release which is still under-    heavy development and not intended for public consumption, caveat emptor!+    Use of lenses is required for constructing and manipulating types.+    This is due to the amount of nesting of AWS types and transparency regarding+    de/serialisation into more palatable Haskell values.+    The provided lenses should be compatible with any of the major lens libraries+    such as <http://hackage.haskell.org/package/lens lens> or+    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+    .+    See "Network.AWS.S3" and the <http://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html AWS API Reference>+    to get started.  source-repository head     type:     git@@ -45,7 +53,7 @@         , Network.AWS.S3.CreateBucket         , Network.AWS.S3.CreateMultipartUpload         , Network.AWS.S3.DeleteBucket-        , Network.AWS.S3.DeleteBucketCors+        , Network.AWS.S3.DeleteBucketCORS         , Network.AWS.S3.DeleteBucketLifecycle         , Network.AWS.S3.DeleteBucketPolicy         , Network.AWS.S3.DeleteBucketReplication@@ -53,12 +61,11 @@         , Network.AWS.S3.DeleteBucketWebsite         , Network.AWS.S3.DeleteObject         , Network.AWS.S3.DeleteObjects-        , Network.AWS.S3.GetBucketAcl-        , Network.AWS.S3.GetBucketCors+        , Network.AWS.S3.GetBucketACL+        , Network.AWS.S3.GetBucketCORS         , Network.AWS.S3.GetBucketLifecycle         , Network.AWS.S3.GetBucketLocation         , Network.AWS.S3.GetBucketLogging-        , Network.AWS.S3.GetBucketNotification         , Network.AWS.S3.GetBucketNotificationConfiguration         , Network.AWS.S3.GetBucketPolicy         , Network.AWS.S3.GetBucketReplication@@ -67,7 +74,7 @@         , Network.AWS.S3.GetBucketVersioning         , Network.AWS.S3.GetBucketWebsite         , Network.AWS.S3.GetObject-        , Network.AWS.S3.GetObjectAcl+        , Network.AWS.S3.GetObjectACL         , Network.AWS.S3.GetObjectTorrent         , Network.AWS.S3.HeadBucket         , Network.AWS.S3.HeadObject@@ -76,11 +83,10 @@         , Network.AWS.S3.ListObjectVersions         , Network.AWS.S3.ListObjects         , Network.AWS.S3.ListParts-        , Network.AWS.S3.PutBucketAcl-        , Network.AWS.S3.PutBucketCors+        , Network.AWS.S3.PutBucketACL+        , Network.AWS.S3.PutBucketCORS         , Network.AWS.S3.PutBucketLifecycle         , Network.AWS.S3.PutBucketLogging-        , Network.AWS.S3.PutBucketNotification         , Network.AWS.S3.PutBucketNotificationConfiguration         , Network.AWS.S3.PutBucketPolicy         , Network.AWS.S3.PutBucketReplication@@ -89,7 +95,7 @@         , Network.AWS.S3.PutBucketVersioning         , Network.AWS.S3.PutBucketWebsite         , Network.AWS.S3.PutObject-        , Network.AWS.S3.PutObjectAcl+        , Network.AWS.S3.PutObjectACL         , Network.AWS.S3.RestoreObject         , Network.AWS.S3.Types         , Network.AWS.S3.UploadPart@@ -98,7 +104,39 @@      other-modules:           Network.AWS.S3.Internal+        , Network.AWS.S3.Types.Product+        , Network.AWS.S3.Types.Sum      build-depends:-          amazonka-core == 0.3.6.*+          amazonka-core == 1.0.0.*         , base          >= 4.7     && < 5+        , lens >= 4.4+        , text >= 1.1++test-suite amazonka-s3-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This is not comprehensive if modules have manually been added.+    -- It exists to ensure cabal 'somewhat' detects test module changes.+    other-modules:+          Test.AWS.S3+        , Test.AWS.Gen.S3+        , Test.AWS.S3.Internal++    build-depends:+          amazonka-core == 1.0.0+        , amazonka-test == 1.0.0+        , amazonka-s3 == 1.0.0+        , base+        , bytestring+        , lens+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
gen/Network/AWS/S3.hs view
@@ -1,134 +1,722 @@+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Amazon Simple Storage Service is storage for the Internet. Amazon S3 has a--- simple web services interface that you can use to store and retrieve any--- amount of data, at any time, from anywhere on the web. It gives any developer--- access to the same highly scalable, reliable, fast, inexpensive data storage--- infrastructure that Amazon uses to run its own global network of web sites.--- The service aims to maximize benefits of scale and to pass those benefits on--- to developers.+-- Amazon Simple Storage Service is storage for the Internet. Amazon S3 has+-- a simple web services interface that you can use to store and retrieve+-- any amount of data, at any time, from anywhere on the web. It gives any+-- developer access to the same highly scalable, reliable, fast,+-- inexpensive data storage infrastructure that Amazon uses to run its own+-- global network of web sites. The service aims to maximize benefits of+-- scale and to pass those benefits on to developers.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html AWS API Reference> module Network.AWS.S3-    ( module Network.AWS.S3.AbortMultipartUpload-    , module Network.AWS.S3.CompleteMultipartUpload-    , module Network.AWS.S3.CopyObject-    , module Network.AWS.S3.CreateBucket-    , module Network.AWS.S3.CreateMultipartUpload+    (+    -- * Service+      S3++    -- * Errors+    -- $errors++    -- ** ObjectAlreadyInActiveTierError+    , _ObjectAlreadyInActiveTierError++    -- ** BucketAlreadyExists+    , _BucketAlreadyExists++    -- ** ObjectNotInActiveTierError+    , _ObjectNotInActiveTierError++    -- ** NoSuchUpload+    , _NoSuchUpload++    -- ** NoSuchBucket+    , _NoSuchBucket++    -- ** NoSuchKey+    , _NoSuchKey++    -- * Waiters+    -- $waiters++    -- ** ObjectNotExists+    , objectNotExists++    -- ** BucketExists+    , bucketExists++    -- ** ObjectExists+    , objectExists++    -- ** BucketNotExists+    , bucketNotExists++    -- * Operations+    -- $operations++    -- ** PutBucketRequestPayment+    , module Network.AWS.S3.PutBucketRequestPayment++    -- ** PutObject+    , module Network.AWS.S3.PutObject++    -- ** PutBucketLogging+    , module Network.AWS.S3.PutBucketLogging++    -- ** DeleteObject+    , module Network.AWS.S3.DeleteObject++    -- ** DeleteBucket     , module Network.AWS.S3.DeleteBucket-    , module Network.AWS.S3.DeleteBucketCors-    , module Network.AWS.S3.DeleteBucketLifecycle-    , module Network.AWS.S3.DeleteBucketPolicy-    , module Network.AWS.S3.DeleteBucketReplication++    -- ** ListBuckets+    , module Network.AWS.S3.ListBuckets++    -- ** CreateBucket+    , module Network.AWS.S3.CreateBucket++    -- ** PutBucketTagging+    , module Network.AWS.S3.PutBucketTagging++    -- ** DeleteBucketTagging     , module Network.AWS.S3.DeleteBucketTagging-    , module Network.AWS.S3.DeleteBucketWebsite-    , module Network.AWS.S3.DeleteObject-    , module Network.AWS.S3.DeleteObjects-    , module Network.AWS.S3.GetBucketAcl-    , module Network.AWS.S3.GetBucketCors-    , module Network.AWS.S3.GetBucketLifecycle-    , module Network.AWS.S3.GetBucketLocation-    , module Network.AWS.S3.GetBucketLogging-    , module Network.AWS.S3.GetBucketNotification++    -- ** PutObjectACL+    , module Network.AWS.S3.PutObjectACL++    -- ** GetBucketNotificationConfiguration     , module Network.AWS.S3.GetBucketNotificationConfiguration-    , module Network.AWS.S3.GetBucketPolicy-    , module Network.AWS.S3.GetBucketReplication-    , module Network.AWS.S3.GetBucketRequestPayment-    , module Network.AWS.S3.GetBucketTagging-    , module Network.AWS.S3.GetBucketVersioning++    -- ** GetBucketLocation+    , module Network.AWS.S3.GetBucketLocation++    -- ** PutBucketReplication+    , module Network.AWS.S3.PutBucketReplication++    -- ** GetBucketWebsite     , module Network.AWS.S3.GetBucketWebsite++    -- ** GetObject     , module Network.AWS.S3.GetObject-    , module Network.AWS.S3.GetObjectAcl-    , module Network.AWS.S3.GetObjectTorrent++    -- ** DeleteBucketReplication+    , module Network.AWS.S3.DeleteBucketReplication++    -- ** GetBucketRequestPayment+    , module Network.AWS.S3.GetBucketRequestPayment++    -- ** ListObjectVersions (Paginated)+    , module Network.AWS.S3.ListObjectVersions++    -- ** GetBucketLifecycle+    , module Network.AWS.S3.GetBucketLifecycle++    -- ** HeadBucket     , module Network.AWS.S3.HeadBucket-    , module Network.AWS.S3.HeadObject-    , module Network.AWS.S3.ListBuckets++    -- ** PutBucketLifecycle+    , module Network.AWS.S3.PutBucketLifecycle++    -- ** CreateMultipartUpload+    , module Network.AWS.S3.CreateMultipartUpload++    -- ** DeleteBucketLifecycle+    , module Network.AWS.S3.DeleteBucketLifecycle++    -- ** GetBucketReplication+    , module Network.AWS.S3.GetBucketReplication++    -- ** PutBucketWebsite+    , module Network.AWS.S3.PutBucketWebsite++    -- ** CompleteMultipartUpload+    , module Network.AWS.S3.CompleteMultipartUpload++    -- ** UploadPart+    , module Network.AWS.S3.UploadPart++    -- ** ListMultipartUploads (Paginated)     , module Network.AWS.S3.ListMultipartUploads-    , module Network.AWS.S3.ListObjectVersions++    -- ** DeleteBucketWebsite+    , module Network.AWS.S3.DeleteBucketWebsite++    -- ** ListObjects (Paginated)     , module Network.AWS.S3.ListObjects-    , module Network.AWS.S3.ListParts-    , module Network.AWS.S3.PutBucketAcl-    , module Network.AWS.S3.PutBucketCors-    , module Network.AWS.S3.PutBucketLifecycle-    , module Network.AWS.S3.PutBucketLogging-    , module Network.AWS.S3.PutBucketNotification-    , module Network.AWS.S3.PutBucketNotificationConfiguration++    -- ** DeleteObjects+    , module Network.AWS.S3.DeleteObjects++    -- ** PutBucketPolicy     , module Network.AWS.S3.PutBucketPolicy-    , module Network.AWS.S3.PutBucketReplication-    , module Network.AWS.S3.PutBucketRequestPayment-    , module Network.AWS.S3.PutBucketTagging++    -- ** DeleteBucketPolicy+    , module Network.AWS.S3.DeleteBucketPolicy++    -- ** AbortMultipartUpload+    , module Network.AWS.S3.AbortMultipartUpload++    -- ** GetObjectTorrent+    , module Network.AWS.S3.GetObjectTorrent++    -- ** PutBucketCORS+    , module Network.AWS.S3.PutBucketCORS++    -- ** DeleteBucketCORS+    , module Network.AWS.S3.DeleteBucketCORS++    -- ** GetBucketVersioning+    , module Network.AWS.S3.GetBucketVersioning++    -- ** PutBucketNotificationConfiguration+    , module Network.AWS.S3.PutBucketNotificationConfiguration++    -- ** GetBucketTagging+    , module Network.AWS.S3.GetBucketTagging++    -- ** HeadObject+    , module Network.AWS.S3.HeadObject++    -- ** PutBucketVersioning     , module Network.AWS.S3.PutBucketVersioning-    , module Network.AWS.S3.PutBucketWebsite-    , module Network.AWS.S3.PutObject-    , module Network.AWS.S3.PutObjectAcl++    -- ** GetObjectACL+    , module Network.AWS.S3.GetObjectACL++    -- ** RestoreObject     , module Network.AWS.S3.RestoreObject-    , module Network.AWS.S3.Types-    , module Network.AWS.S3.UploadPart++    -- ** GetBucketCORS+    , module Network.AWS.S3.GetBucketCORS++    -- ** CopyObject+    , module Network.AWS.S3.CopyObject++    -- ** GetBucketPolicy+    , module Network.AWS.S3.GetBucketPolicy++    -- ** GetBucketLogging+    , module Network.AWS.S3.GetBucketLogging++    -- ** ListParts (Paginated)+    , module Network.AWS.S3.ListParts++    -- ** GetBucketACL+    , module Network.AWS.S3.GetBucketACL++    -- ** PutBucketACL+    , module Network.AWS.S3.PutBucketACL++    -- ** UploadPartCopy     , module Network.AWS.S3.UploadPartCopy-    , module Network.AWS.S3.Waiters++    -- * Types++    -- ** Re-exported Types+    , module Network.AWS.S3.Internal++    -- ** BucketCannedACL+    , BucketCannedACL (..)++    -- ** BucketLogsPermission+    , BucketLogsPermission (..)++    -- ** BucketVersioningStatus+    , BucketVersioningStatus (..)++    -- ** EncodingType+    , EncodingType (..)++    -- ** Event+    , Event (..)++    -- ** ExpirationStatus+    , ExpirationStatus (..)++    -- ** MFADelete+    , MFADelete (..)++    -- ** MFADeleteStatus+    , MFADeleteStatus (..)++    -- ** MetadataDirective+    , MetadataDirective (..)++    -- ** ObjectCannedACL+    , ObjectCannedACL (..)++    -- ** ObjectStorageClass+    , ObjectStorageClass (..)++    -- ** ObjectVersionStorageClass+    , ObjectVersionStorageClass (..)++    -- ** Payer+    , Payer (..)++    -- ** Permission+    , Permission (..)++    -- ** Protocol+    , Protocol (..)++    -- ** ReplicationRuleStatus+    , ReplicationRuleStatus (..)++    -- ** ReplicationStatus+    , ReplicationStatus (..)++    -- ** RequestCharged+    , RequestCharged (..)++    -- ** RequestPayer+    , RequestPayer (..)++    -- ** ServerSideEncryption+    , ServerSideEncryption (..)++    -- ** StorageClass+    , StorageClass (..)++    -- ** TransitionStorageClass+    , TransitionStorageClass (..)++    -- ** Type+    , Type (..)++    -- ** AccessControlPolicy+    , AccessControlPolicy+    , accessControlPolicy+    , acpGrants+    , acpOwner++    -- ** Bucket+    , Bucket+    , bucket+    , bCreationDate+    , bName++    -- ** BucketLoggingStatus+    , BucketLoggingStatus+    , bucketLoggingStatus+    , blsLoggingEnabled++    -- ** CORSConfiguration+    , CORSConfiguration+    , corsConfiguration+    , ccCORSRules++    -- ** CORSRule+    , CORSRule+    , corsRule+    , crAllowedMethods+    , crMaxAgeSeconds+    , crAllowedHeaders+    , crAllowedOrigins+    , crExposeHeaders++    -- ** CommonPrefix+    , CommonPrefix+    , commonPrefix+    , cpPrefix++    -- ** CompletedMultipartUpload+    , CompletedMultipartUpload+    , completedMultipartUpload+    , cmuParts++    -- ** CompletedPart+    , CompletedPart+    , completedPart+    , cpPartNumber+    , cpETag++    -- ** Condition+    , Condition+    , condition+    , cKeyPrefixEquals+    , cHTTPErrorCodeReturnedEquals++    -- ** CopyObjectResult+    , CopyObjectResult+    , copyObjectResult+    , corETag+    , corLastModified++    -- ** CopyPartResult+    , CopyPartResult+    , copyPartResult+    , cprETag+    , cprLastModified++    -- ** CreateBucketConfiguration+    , CreateBucketConfiguration+    , createBucketConfiguration+    , cbcLocationConstraint++    -- ** Delete+    , Delete+    , delete'+    , dQuiet+    , dObjects++    -- ** DeleteMarkerEntry+    , DeleteMarkerEntry+    , deleteMarkerEntry+    , dmeVersionId+    , dmeIsLatest+    , dmeOwner+    , dmeKey+    , dmeLastModified++    -- ** DeletedObject+    , DeletedObject+    , deletedObject+    , dVersionId+    , dDeleteMarker+    , dDeleteMarkerVersionId+    , dKey++    -- ** Destination+    , Destination+    , destination+    , dBucket++    -- ** ErrorDocument+    , ErrorDocument+    , errorDocument+    , edKey++    -- ** Grant+    , Grant+    , grant+    , gPermission+    , gGrantee++    -- ** Grantee+    , Grantee+    , grantee+    , gURI+    , gEmailAddress+    , gId+    , gDisplayName+    , gType++    -- ** IndexDocument+    , IndexDocument+    , indexDocument+    , idSuffix++    -- ** Initiator+    , Initiator+    , initiator+    , iId+    , iDisplayName++    -- ** LambdaFunctionConfiguration+    , LambdaFunctionConfiguration+    , lambdaFunctionConfiguration+    , lfcId+    , lfcLambdaFunctionARN+    , lfcEvents++    -- ** LifecycleConfiguration+    , LifecycleConfiguration+    , lifecycleConfiguration+    , lcRules++    -- ** LifecycleExpiration+    , LifecycleExpiration+    , lifecycleExpiration+    , leDays+    , leDate++    -- ** LoggingEnabled+    , LoggingEnabled+    , loggingEnabled+    , leTargetBucket+    , leTargetGrants+    , leTargetPrefix++    -- ** MultipartUpload+    , MultipartUpload+    , multipartUpload+    , muInitiated+    , muInitiator+    , muOwner+    , muKey+    , muStorageClass+    , muUploadId++    -- ** NoncurrentVersionExpiration+    , NoncurrentVersionExpiration+    , noncurrentVersionExpiration+    , nveNoncurrentDays++    -- ** NoncurrentVersionTransition+    , NoncurrentVersionTransition+    , noncurrentVersionTransition+    , nvtNoncurrentDays+    , nvtStorageClass++    -- ** NotificationConfiguration+    , NotificationConfiguration+    , notificationConfiguration+    , ncQueueConfigurations+    , ncTopicConfigurations+    , ncLambdaFunctionConfigurations++    -- ** Object+    , Object+    , object'+    , oOwner+    , oETag+    , oSize+    , oKey+    , oStorageClass+    , oLastModified++    -- ** ObjectIdentifier+    , ObjectIdentifier+    , objectIdentifier+    , oiVersionId+    , oiKey++    -- ** ObjectVersion+    , ObjectVersion+    , objectVersion+    , ovVersionId+    , ovETag+    , ovSize+    , ovIsLatest+    , ovOwner+    , ovKey+    , ovStorageClass+    , ovLastModified++    -- ** Owner+    , Owner+    , owner+    , oId+    , oDisplayName++    -- ** Part+    , Part+    , part+    , pETag+    , pSize+    , pPartNumber+    , pLastModified++    -- ** QueueConfiguration+    , QueueConfiguration+    , queueConfiguration+    , qcId+    , qcQueueARN+    , qcEvents++    -- ** Redirect+    , Redirect+    , redirect+    , rHostName+    , rProtocol+    , rHTTPRedirectCode+    , rReplaceKeyWith+    , rReplaceKeyPrefixWith++    -- ** RedirectAllRequestsTo+    , RedirectAllRequestsTo+    , redirectAllRequestsTo+    , rartProtocol+    , rartHostName++    -- ** ReplicationConfiguration+    , ReplicationConfiguration+    , replicationConfiguration+    , rcRole+    , rcRules++    -- ** ReplicationRule+    , ReplicationRule+    , replicationRule+    , rrId+    , rrPrefix+    , rrStatus+    , rrDestination++    -- ** RequestPaymentConfiguration+    , RequestPaymentConfiguration+    , requestPaymentConfiguration+    , rpcPayer++    -- ** RestoreRequest+    , RestoreRequest+    , restoreRequest+    , rrDays++    -- ** RoutingRule+    , RoutingRule+    , routingRule+    , rrCondition+    , rrRedirect++    -- ** Rule+    , Rule+    , rule+    , rNoncurrentVersionExpiration+    , rTransition+    , rExpiration+    , rNoncurrentVersionTransition+    , rId+    , rPrefix+    , rStatus++    -- ** S3ServiceError+    , S3ServiceError+    , s3ServiceError+    , sseVersionId+    , sseKey+    , sseCode+    , sseMessage++    -- ** Tag+    , Tag+    , tag+    , tagKey+    , tagValue++    -- ** Tagging+    , Tagging+    , tagging+    , tTagSet++    -- ** TargetGrant+    , TargetGrant+    , targetGrant+    , tgPermission+    , tgGrantee++    -- ** TopicConfiguration+    , TopicConfiguration+    , topicConfiguration+    , tcId+    , tcTopicARN+    , tcEvents++    -- ** Transition+    , Transition+    , transition+    , tDays+    , tDate+    , tStorageClass++    -- ** VersioningConfiguration+    , VersioningConfiguration+    , versioningConfiguration+    , vcStatus+    , vcMFADelete++    -- ** WebsiteConfiguration+    , WebsiteConfiguration+    , websiteConfiguration+    , wcRedirectAllRequestsTo+    , wcErrorDocument+    , wcRoutingRules+    , wcIndexDocument     ) where -import Network.AWS.S3.AbortMultipartUpload-import Network.AWS.S3.CompleteMultipartUpload-import Network.AWS.S3.CopyObject-import Network.AWS.S3.CreateBucket-import Network.AWS.S3.CreateMultipartUpload-import Network.AWS.S3.DeleteBucket-import Network.AWS.S3.DeleteBucketCors-import Network.AWS.S3.DeleteBucketLifecycle-import Network.AWS.S3.DeleteBucketPolicy-import Network.AWS.S3.DeleteBucketReplication-import Network.AWS.S3.DeleteBucketTagging-import Network.AWS.S3.DeleteBucketWebsite-import Network.AWS.S3.DeleteObject-import Network.AWS.S3.DeleteObjects-import Network.AWS.S3.GetBucketAcl-import Network.AWS.S3.GetBucketCors-import Network.AWS.S3.GetBucketLifecycle-import Network.AWS.S3.GetBucketLocation-import Network.AWS.S3.GetBucketLogging-import Network.AWS.S3.GetBucketNotification-import Network.AWS.S3.GetBucketNotificationConfiguration-import Network.AWS.S3.GetBucketPolicy-import Network.AWS.S3.GetBucketReplication-import Network.AWS.S3.GetBucketRequestPayment-import Network.AWS.S3.GetBucketTagging-import Network.AWS.S3.GetBucketVersioning-import Network.AWS.S3.GetBucketWebsite-import Network.AWS.S3.GetObject-import Network.AWS.S3.GetObjectAcl-import Network.AWS.S3.GetObjectTorrent-import Network.AWS.S3.HeadBucket-import Network.AWS.S3.HeadObject-import Network.AWS.S3.ListBuckets-import Network.AWS.S3.ListMultipartUploads-import Network.AWS.S3.ListObjectVersions-import Network.AWS.S3.ListObjects-import Network.AWS.S3.ListParts-import Network.AWS.S3.PutBucketAcl-import Network.AWS.S3.PutBucketCors-import Network.AWS.S3.PutBucketLifecycle-import Network.AWS.S3.PutBucketLogging-import Network.AWS.S3.PutBucketNotification-import Network.AWS.S3.PutBucketNotificationConfiguration-import Network.AWS.S3.PutBucketPolicy-import Network.AWS.S3.PutBucketReplication-import Network.AWS.S3.PutBucketRequestPayment-import Network.AWS.S3.PutBucketTagging-import Network.AWS.S3.PutBucketVersioning-import Network.AWS.S3.PutBucketWebsite-import Network.AWS.S3.PutObject-import Network.AWS.S3.PutObjectAcl-import Network.AWS.S3.RestoreObject-import Network.AWS.S3.Types-import Network.AWS.S3.UploadPart-import Network.AWS.S3.UploadPartCopy-import Network.AWS.S3.Waiters+import           Network.AWS.S3.AbortMultipartUpload+import           Network.AWS.S3.CompleteMultipartUpload+import           Network.AWS.S3.CopyObject+import           Network.AWS.S3.CreateBucket+import           Network.AWS.S3.CreateMultipartUpload+import           Network.AWS.S3.DeleteBucket+import           Network.AWS.S3.DeleteBucketCORS+import           Network.AWS.S3.DeleteBucketLifecycle+import           Network.AWS.S3.DeleteBucketPolicy+import           Network.AWS.S3.DeleteBucketReplication+import           Network.AWS.S3.DeleteBucketTagging+import           Network.AWS.S3.DeleteBucketWebsite+import           Network.AWS.S3.DeleteObject+import           Network.AWS.S3.DeleteObjects+import           Network.AWS.S3.GetBucketACL+import           Network.AWS.S3.GetBucketCORS+import           Network.AWS.S3.GetBucketLifecycle+import           Network.AWS.S3.GetBucketLocation+import           Network.AWS.S3.GetBucketLogging+import           Network.AWS.S3.GetBucketNotificationConfiguration+import           Network.AWS.S3.GetBucketPolicy+import           Network.AWS.S3.GetBucketReplication+import           Network.AWS.S3.GetBucketRequestPayment+import           Network.AWS.S3.GetBucketTagging+import           Network.AWS.S3.GetBucketVersioning+import           Network.AWS.S3.GetBucketWebsite+import           Network.AWS.S3.GetObject+import           Network.AWS.S3.GetObjectACL+import           Network.AWS.S3.GetObjectTorrent+import           Network.AWS.S3.HeadBucket+import           Network.AWS.S3.HeadObject+import           Network.AWS.S3.Internal+import           Network.AWS.S3.ListBuckets+import           Network.AWS.S3.ListMultipartUploads+import           Network.AWS.S3.ListObjects+import           Network.AWS.S3.ListObjectVersions+import           Network.AWS.S3.ListParts+import           Network.AWS.S3.PutBucketACL+import           Network.AWS.S3.PutBucketCORS+import           Network.AWS.S3.PutBucketLifecycle+import           Network.AWS.S3.PutBucketLogging+import           Network.AWS.S3.PutBucketNotificationConfiguration+import           Network.AWS.S3.PutBucketPolicy+import           Network.AWS.S3.PutBucketReplication+import           Network.AWS.S3.PutBucketRequestPayment+import           Network.AWS.S3.PutBucketTagging+import           Network.AWS.S3.PutBucketVersioning+import           Network.AWS.S3.PutBucketWebsite+import           Network.AWS.S3.PutObject+import           Network.AWS.S3.PutObjectACL+import           Network.AWS.S3.RestoreObject+import           Network.AWS.S3.Types+import           Network.AWS.S3.UploadPart+import           Network.AWS.S3.UploadPartCopy+import           Network.AWS.S3.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'S3'.+-}++{- $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.+-}++{- $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.+-}
gen/Network/AWS/S3/AbortMultipartUpload.hs view
@@ -1,145 +1,153 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.AbortMultipartUpload--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Aborts a multipart upload.+-- Aborts a multipart upload. ----- To verify that all parts have been removed, so you don't get charged for the--- part storage, you should call the List Parts operation and ensure the parts--- list is empty.+-- To verify that all parts have been removed, so you don\'t get charged+-- for the part storage, you should call the List Parts operation and+-- ensure the parts list is empty. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/AbortMultipartUpload.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/AbortMultipartUpload.html AWS API Reference> for AbortMultipartUpload. module Network.AWS.S3.AbortMultipartUpload     (-    -- * Request-      AbortMultipartUpload-    -- ** Request constructor-    , abortMultipartUpload-    -- ** Request lenses+    -- * Creating a Request+      abortMultipartUpload+    , AbortMultipartUpload+    -- * Request Lenses+    , amuRequestPayer     , amuBucket     , amuKey-    , amuRequestPayer     , amuUploadId -    -- * Response-    , AbortMultipartUploadResponse-    -- ** Response constructor+    -- * Destructuring the Response     , abortMultipartUploadResponse-    -- ** Response lenses-    , amurRequestCharged+    , AbortMultipartUploadResponse+    -- * Response Lenses+    , amursRequestCharged+    , amursStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data AbortMultipartUpload = AbortMultipartUpload-    { _amuBucket       :: Text-    , _amuKey          :: Text-    , _amuRequestPayer :: Maybe RequestPayer-    , _amuUploadId     :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'abortMultipartUpload' smart constructor.+data AbortMultipartUpload = AbortMultipartUpload'+    { _amuRequestPayer :: !(Maybe RequestPayer)+    , _amuBucket       :: !BucketName+    , _amuKey          :: !ObjectKey+    , _amuUploadId     :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'AbortMultipartUpload' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'AbortMultipartUpload' with the minimum fields required to make a request. ----- * 'amuBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'amuKey' @::@ 'Text'+-- * 'amuRequestPayer' ----- * 'amuRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'amuBucket' ----- * 'amuUploadId' @::@ 'Text'+-- * 'amuKey' ---abortMultipartUpload :: Text -- ^ 'amuBucket'-                     -> Text -- ^ 'amuKey'-                     -> Text -- ^ 'amuUploadId'-                     -> AbortMultipartUpload-abortMultipartUpload p1 p2 p3 = AbortMultipartUpload-    { _amuBucket       = p1-    , _amuKey          = p2-    , _amuUploadId     = p3-    , _amuRequestPayer = Nothing+-- * 'amuUploadId'+abortMultipartUpload+    :: BucketName -- ^ 'amuBucket'+    -> ObjectKey -- ^ 'amuKey'+    -> Text -- ^ 'amuUploadId'+    -> AbortMultipartUpload+abortMultipartUpload pBucket_ pKey_ pUploadId_ =+    AbortMultipartUpload'+    { _amuRequestPayer = Nothing+    , _amuBucket = pBucket_+    , _amuKey = pKey_+    , _amuUploadId = pUploadId_     } -amuBucket :: Lens' AbortMultipartUpload Text-amuBucket = lens _amuBucket (\s a -> s { _amuBucket = a })+-- | Undocumented member.+amuRequestPayer :: Lens' AbortMultipartUpload (Maybe RequestPayer)+amuRequestPayer = lens _amuRequestPayer (\ s a -> s{_amuRequestPayer = a}); -amuKey :: Lens' AbortMultipartUpload Text-amuKey = lens _amuKey (\s a -> s { _amuKey = a })+-- | Undocumented member.+amuBucket :: Lens' AbortMultipartUpload BucketName+amuBucket = lens _amuBucket (\ s a -> s{_amuBucket = a}); -amuRequestPayer :: Lens' AbortMultipartUpload (Maybe RequestPayer)-amuRequestPayer = lens _amuRequestPayer (\s a -> s { _amuRequestPayer = a })+-- | Undocumented member.+amuKey :: Lens' AbortMultipartUpload ObjectKey+amuKey = lens _amuKey (\ s a -> s{_amuKey = a}); +-- | Undocumented member. amuUploadId :: Lens' AbortMultipartUpload Text-amuUploadId = lens _amuUploadId (\s a -> s { _amuUploadId = a })--newtype AbortMultipartUploadResponse = AbortMultipartUploadResponse-    { _amurRequestCharged :: Maybe RequestCharged-    } deriving (Eq, Read, Show)+amuUploadId = lens _amuUploadId (\ s a -> s{_amuUploadId = a}); --- | 'AbortMultipartUploadResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'amurRequestCharged' @::@ 'Maybe' 'RequestCharged'----abortMultipartUploadResponse :: AbortMultipartUploadResponse-abortMultipartUploadResponse = AbortMultipartUploadResponse-    { _amurRequestCharged = Nothing-    }+instance AWSRequest AbortMultipartUpload where+        type Sv AbortMultipartUpload = S3+        type Rs AbortMultipartUpload =+             AbortMultipartUploadResponse+        request = delete+        response+          = receiveEmpty+              (\ s h x ->+                 AbortMultipartUploadResponse' <$>+                   (h .#? "x-amz-request-charged") <*>+                     (pure (fromEnum s))) -amurRequestCharged :: Lens' AbortMultipartUploadResponse (Maybe RequestCharged)-amurRequestCharged =-    lens _amurRequestCharged (\s a -> s { _amurRequestCharged = a })+instance ToHeaders AbortMultipartUpload where+        toHeaders AbortMultipartUpload'{..}+          = mconcat ["x-amz-request-payer" =# _amuRequestPayer]  instance ToPath AbortMultipartUpload where-    toPath AbortMultipartUpload{..} = mconcat-        [ "/"-        , toText _amuBucket-        , "/"-        , toText _amuKey-        ]+        toPath AbortMultipartUpload'{..}+          = mconcat ["/", toBS _amuBucket, "/", toBS _amuKey]  instance ToQuery AbortMultipartUpload where-    toQuery rq = "uploadId" =? _amuUploadId rq--instance ToHeaders AbortMultipartUpload where-    toHeaders AbortMultipartUpload{..} = mconcat-        [ "x-amz-request-payer" =: _amuRequestPayer-        ]+        toQuery AbortMultipartUpload'{..}+          = mconcat ["uploadId" =: _amuUploadId] -instance ToXMLRoot AbortMultipartUpload where-    toXMLRoot = const (namespaced ns "AbortMultipartUpload" [])+-- | /See:/ 'abortMultipartUploadResponse' smart constructor.+data AbortMultipartUploadResponse = AbortMultipartUploadResponse'+    { _amursRequestCharged :: !(Maybe RequestCharged)+    , _amursStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXML AbortMultipartUpload+-- | Creates a value of 'AbortMultipartUploadResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'amursRequestCharged'+--+-- * 'amursStatus'+abortMultipartUploadResponse+    :: Int -- ^ 'amursStatus'+    -> AbortMultipartUploadResponse+abortMultipartUploadResponse pStatus_ =+    AbortMultipartUploadResponse'+    { _amursRequestCharged = Nothing+    , _amursStatus = pStatus_+    } -instance AWSRequest AbortMultipartUpload where-    type Sv AbortMultipartUpload = S3-    type Rs AbortMultipartUpload = AbortMultipartUploadResponse+-- | Undocumented member.+amursRequestCharged :: Lens' AbortMultipartUploadResponse (Maybe RequestCharged)+amursRequestCharged = lens _amursRequestCharged (\ s a -> s{_amursRequestCharged = a}); -    request  = delete-    response = headerResponse $ \h -> AbortMultipartUploadResponse-        <$> h ~:? "x-amz-request-charged"+-- | The response status code.+amursStatus :: Lens' AbortMultipartUploadResponse Int+amursStatus = lens _amursStatus (\ s a -> s{_amursStatus = a});
gen/Network/AWS/S3/CompleteMultipartUpload.hs view
@@ -1,232 +1,249 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.CompleteMultipartUpload--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Completes a multipart upload by assembling previously uploaded parts.+-- Completes a multipart upload by assembling previously uploaded parts. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/CompleteMultipartUpload.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/CompleteMultipartUpload.html AWS API Reference> for CompleteMultipartUpload. module Network.AWS.S3.CompleteMultipartUpload     (-    -- * Request-      CompleteMultipartUpload-    -- ** Request constructor-    , completeMultipartUpload-    -- ** Request lenses-    , cmu1Bucket-    , cmu1Key-    , cmu1MultipartUpload-    , cmu1RequestPayer-    , cmu1UploadId+    -- * Creating a Request+      completeMultipartUpload+    , CompleteMultipartUpload+    -- * Request Lenses+    , cRequestPayer+    , cMultipartUpload+    , cBucket+    , cKey+    , cUploadId -    -- * Response-    , CompleteMultipartUploadResponse-    -- ** Response constructor+    -- * Destructuring the Response     , completeMultipartUploadResponse-    -- ** Response lenses-    , cmur1Bucket-    , cmur1ETag-    , cmur1Expiration-    , cmur1Key-    , cmur1Location-    , cmur1RequestCharged-    , cmur1SSEKMSKeyId-    , cmur1ServerSideEncryption-    , cmur1VersionId+    , CompleteMultipartUploadResponse+    -- * Response Lenses+    , crsVersionId+    , crsETag+    , crsRequestCharged+    , crsLocation+    , crsExpiration+    , crsBucket+    , crsKey+    , crsSSEKMSKeyId+    , crsServerSideEncryption+    , crsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data CompleteMultipartUpload = CompleteMultipartUpload-    { _cmu1Bucket          :: Text-    , _cmu1Key             :: Text-    , _cmu1MultipartUpload :: Maybe CompletedMultipartUpload-    , _cmu1RequestPayer    :: Maybe RequestPayer-    , _cmu1UploadId        :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'completeMultipartUpload' smart constructor.+data CompleteMultipartUpload = CompleteMultipartUpload'+    { _cRequestPayer    :: !(Maybe RequestPayer)+    , _cMultipartUpload :: !(Maybe CompletedMultipartUpload)+    , _cBucket          :: !BucketName+    , _cKey             :: !ObjectKey+    , _cUploadId        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CompleteMultipartUpload' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CompleteMultipartUpload' with the minimum fields required to make a request. ----- * 'cmu1Bucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cmu1Key' @::@ 'Text'+-- * 'cRequestPayer' ----- * 'cmu1MultipartUpload' @::@ 'Maybe' 'CompletedMultipartUpload'+-- * 'cMultipartUpload' ----- * 'cmu1RequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'cBucket' ----- * 'cmu1UploadId' @::@ 'Text'+-- * 'cKey' ---completeMultipartUpload :: Text -- ^ 'cmu1Bucket'-                        -> Text -- ^ 'cmu1Key'-                        -> Text -- ^ 'cmu1UploadId'-                        -> CompleteMultipartUpload-completeMultipartUpload p1 p2 p3 = CompleteMultipartUpload-    { _cmu1Bucket          = p1-    , _cmu1Key             = p2-    , _cmu1UploadId        = p3-    , _cmu1MultipartUpload = Nothing-    , _cmu1RequestPayer    = Nothing+-- * 'cUploadId'+completeMultipartUpload+    :: BucketName -- ^ 'cBucket'+    -> ObjectKey -- ^ 'cKey'+    -> Text -- ^ 'cUploadId'+    -> CompleteMultipartUpload+completeMultipartUpload pBucket_ pKey_ pUploadId_ =+    CompleteMultipartUpload'+    { _cRequestPayer = Nothing+    , _cMultipartUpload = Nothing+    , _cBucket = pBucket_+    , _cKey = pKey_+    , _cUploadId = pUploadId_     } -cmu1Bucket :: Lens' CompleteMultipartUpload Text-cmu1Bucket = lens _cmu1Bucket (\s a -> s { _cmu1Bucket = a })+-- | Undocumented member.+cRequestPayer :: Lens' CompleteMultipartUpload (Maybe RequestPayer)+cRequestPayer = lens _cRequestPayer (\ s a -> s{_cRequestPayer = a}); -cmu1Key :: Lens' CompleteMultipartUpload Text-cmu1Key = lens _cmu1Key (\s a -> s { _cmu1Key = a })+-- | Undocumented member.+cMultipartUpload :: Lens' CompleteMultipartUpload (Maybe CompletedMultipartUpload)+cMultipartUpload = lens _cMultipartUpload (\ s a -> s{_cMultipartUpload = a}); -cmu1MultipartUpload :: Lens' CompleteMultipartUpload (Maybe CompletedMultipartUpload)-cmu1MultipartUpload =-    lens _cmu1MultipartUpload (\s a -> s { _cmu1MultipartUpload = a })+-- | Undocumented member.+cBucket :: Lens' CompleteMultipartUpload BucketName+cBucket = lens _cBucket (\ s a -> s{_cBucket = a}); -cmu1RequestPayer :: Lens' CompleteMultipartUpload (Maybe RequestPayer)-cmu1RequestPayer = lens _cmu1RequestPayer (\s a -> s { _cmu1RequestPayer = a })+-- | Undocumented member.+cKey :: Lens' CompleteMultipartUpload ObjectKey+cKey = lens _cKey (\ s a -> s{_cKey = a}); -cmu1UploadId :: Lens' CompleteMultipartUpload Text-cmu1UploadId = lens _cmu1UploadId (\s a -> s { _cmu1UploadId = a })+-- | Undocumented member.+cUploadId :: Lens' CompleteMultipartUpload Text+cUploadId = lens _cUploadId (\ s a -> s{_cUploadId = a}); -data CompleteMultipartUploadResponse = CompleteMultipartUploadResponse-    { _cmur1Bucket               :: Maybe Text-    , _cmur1ETag                 :: Maybe Text-    , _cmur1Expiration           :: Maybe Text-    , _cmur1Key                  :: Maybe Text-    , _cmur1Location             :: Maybe Text-    , _cmur1RequestCharged       :: Maybe RequestCharged-    , _cmur1SSEKMSKeyId          :: Maybe (Sensitive Text)-    , _cmur1ServerSideEncryption :: Maybe ServerSideEncryption-    , _cmur1VersionId            :: Maybe Text-    } deriving (Eq, Read, Show)+instance AWSRequest CompleteMultipartUpload where+        type Sv CompleteMultipartUpload = S3+        type Rs CompleteMultipartUpload =+             CompleteMultipartUploadResponse+        request = postXML+        response+          = receiveXML+              (\ s h x ->+                 CompleteMultipartUploadResponse' <$>+                   (h .#? "x-amz-version-id") <*> (x .@? "ETag") <*>+                     (h .#? "x-amz-request-charged")+                     <*> (x .@? "Location")+                     <*> (h .#? "x-amz-expiration")+                     <*> (x .@? "Bucket")+                     <*> (x .@? "Key")+                     <*>+                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")+                     <*> (h .#? "x-amz-server-side-encryption")+                     <*> (pure (fromEnum s))) --- | 'CompleteMultipartUploadResponse' constructor.+instance ToElement CompleteMultipartUpload where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}CompleteMultipartUpload"+              .+              _cMultipartUpload++instance ToHeaders CompleteMultipartUpload where+        toHeaders CompleteMultipartUpload'{..}+          = mconcat ["x-amz-request-payer" =# _cRequestPayer]++instance ToPath CompleteMultipartUpload where+        toPath CompleteMultipartUpload'{..}+          = mconcat ["/", toBS _cBucket, "/", toBS _cKey]++instance ToQuery CompleteMultipartUpload where+        toQuery CompleteMultipartUpload'{..}+          = mconcat ["uploadId" =: _cUploadId]++-- | /See:/ 'completeMultipartUploadResponse' smart constructor.+data CompleteMultipartUploadResponse = CompleteMultipartUploadResponse'+    { _crsVersionId            :: !(Maybe ObjectVersionId)+    , _crsETag                 :: !(Maybe ETag)+    , _crsRequestCharged       :: !(Maybe RequestCharged)+    , _crsLocation             :: !(Maybe Text)+    , _crsExpiration           :: !(Maybe Text)+    , _crsBucket               :: !(Maybe BucketName)+    , _crsKey                  :: !(Maybe ObjectKey)+    , _crsSSEKMSKeyId          :: !(Maybe (Sensitive Text))+    , _crsServerSideEncryption :: !(Maybe ServerSideEncryption)+    , _crsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CompleteMultipartUploadResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'cmur1Bucket' @::@ 'Maybe' 'Text'+-- * 'crsVersionId' ----- * 'cmur1ETag' @::@ 'Maybe' 'Text'+-- * 'crsETag' ----- * 'cmur1Expiration' @::@ 'Maybe' 'Text'+-- * 'crsRequestCharged' ----- * 'cmur1Key' @::@ 'Maybe' 'Text'+-- * 'crsLocation' ----- * 'cmur1Location' @::@ 'Maybe' 'Text'+-- * 'crsExpiration' ----- * 'cmur1RequestCharged' @::@ 'Maybe' 'RequestCharged'+-- * 'crsBucket' ----- * 'cmur1SSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'crsKey' ----- * 'cmur1ServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'crsSSEKMSKeyId' ----- * 'cmur1VersionId' @::@ 'Maybe' 'Text'+-- * 'crsServerSideEncryption' ---completeMultipartUploadResponse :: CompleteMultipartUploadResponse-completeMultipartUploadResponse = CompleteMultipartUploadResponse-    { _cmur1Location             = Nothing-    , _cmur1Bucket               = Nothing-    , _cmur1Key                  = Nothing-    , _cmur1Expiration           = Nothing-    , _cmur1ETag                 = Nothing-    , _cmur1ServerSideEncryption = Nothing-    , _cmur1VersionId            = Nothing-    , _cmur1SSEKMSKeyId          = Nothing-    , _cmur1RequestCharged       = Nothing+-- * 'crsStatus'+completeMultipartUploadResponse+    :: Int -- ^ 'crsStatus'+    -> CompleteMultipartUploadResponse+completeMultipartUploadResponse pStatus_ =+    CompleteMultipartUploadResponse'+    { _crsVersionId = Nothing+    , _crsETag = Nothing+    , _crsRequestCharged = Nothing+    , _crsLocation = Nothing+    , _crsExpiration = Nothing+    , _crsBucket = Nothing+    , _crsKey = Nothing+    , _crsSSEKMSKeyId = Nothing+    , _crsServerSideEncryption = Nothing+    , _crsStatus = pStatus_     } -cmur1Bucket :: Lens' CompleteMultipartUploadResponse (Maybe Text)-cmur1Bucket = lens _cmur1Bucket (\s a -> s { _cmur1Bucket = a })+-- | Version of the object.+crsVersionId :: Lens' CompleteMultipartUploadResponse (Maybe ObjectVersionId)+crsVersionId = lens _crsVersionId (\ s a -> s{_crsVersionId = a});  -- | Entity tag of the object.-cmur1ETag :: Lens' CompleteMultipartUploadResponse (Maybe Text)-cmur1ETag = lens _cmur1ETag (\s a -> s { _cmur1ETag = a })+crsETag :: Lens' CompleteMultipartUploadResponse (Maybe ETag)+crsETag = lens _crsETag (\ s a -> s{_crsETag = a}); --- | If the object expiration is configured, this will contain the expiration date--- (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.-cmur1Expiration :: Lens' CompleteMultipartUploadResponse (Maybe Text)-cmur1Expiration = lens _cmur1Expiration (\s a -> s { _cmur1Expiration = a })+-- | Undocumented member.+crsRequestCharged :: Lens' CompleteMultipartUploadResponse (Maybe RequestCharged)+crsRequestCharged = lens _crsRequestCharged (\ s a -> s{_crsRequestCharged = a}); -cmur1Key :: Lens' CompleteMultipartUploadResponse (Maybe Text)-cmur1Key = lens _cmur1Key (\s a -> s { _cmur1Key = a })+-- | Undocumented member.+crsLocation :: Lens' CompleteMultipartUploadResponse (Maybe Text)+crsLocation = lens _crsLocation (\ s a -> s{_crsLocation = a}); -cmur1Location :: Lens' CompleteMultipartUploadResponse (Maybe Text)-cmur1Location = lens _cmur1Location (\s a -> s { _cmur1Location = a })+-- | If the object expiration is configured, this will contain the expiration+-- date (expiry-date) and rule ID (rule-id). The value of rule-id is URL+-- encoded.+crsExpiration :: Lens' CompleteMultipartUploadResponse (Maybe Text)+crsExpiration = lens _crsExpiration (\ s a -> s{_crsExpiration = a}); -cmur1RequestCharged :: Lens' CompleteMultipartUploadResponse (Maybe RequestCharged)-cmur1RequestCharged =-    lens _cmur1RequestCharged (\s a -> s { _cmur1RequestCharged = a })+-- | Undocumented member.+crsBucket :: Lens' CompleteMultipartUploadResponse (Maybe BucketName)+crsBucket = lens _crsBucket (\ s a -> s{_crsBucket = a}); --- | If present, specifies the ID of the AWS Key Management Service (KMS) master--- encryption key that was used for the object.-cmur1SSEKMSKeyId :: Lens' CompleteMultipartUploadResponse (Maybe Text)-cmur1SSEKMSKeyId = lens _cmur1SSEKMSKeyId (\s a -> s { _cmur1SSEKMSKeyId = a }) . mapping _Sensitive+-- | Undocumented member.+crsKey :: Lens' CompleteMultipartUploadResponse (Maybe ObjectKey)+crsKey = lens _crsKey (\ s a -> s{_crsKey = a}); +-- | If present, specifies the ID of the AWS Key Management Service (KMS)+-- master encryption key that was used for the object.+crsSSEKMSKeyId :: Lens' CompleteMultipartUploadResponse (Maybe Text)+crsSSEKMSKeyId = lens _crsSSEKMSKeyId (\ s a -> s{_crsSSEKMSKeyId = a}) . mapping _Sensitive;+ -- | The Server-side encryption algorithm used when storing this object in S3 -- (e.g., AES256, aws:kms).-cmur1ServerSideEncryption :: Lens' CompleteMultipartUploadResponse (Maybe ServerSideEncryption)-cmur1ServerSideEncryption =-    lens _cmur1ServerSideEncryption-        (\s a -> s { _cmur1ServerSideEncryption = a })---- | Version of the object.-cmur1VersionId :: Lens' CompleteMultipartUploadResponse (Maybe Text)-cmur1VersionId = lens _cmur1VersionId (\s a -> s { _cmur1VersionId = a })--instance ToPath CompleteMultipartUpload where-    toPath CompleteMultipartUpload{..} = mconcat-        [ "/"-        , toText _cmu1Bucket-        , "/"-        , toText _cmu1Key-        ]--instance ToQuery CompleteMultipartUpload where-    toQuery rq = "uploadId" =? _cmu1UploadId rq--instance ToHeaders CompleteMultipartUpload where-    toHeaders CompleteMultipartUpload{..} = mconcat-        [ "x-amz-request-payer" =: _cmu1RequestPayer-        ]--instance ToXMLRoot CompleteMultipartUpload where-    toXMLRoot = extractRoot ns . toXML . _cmu1MultipartUpload--instance ToXML CompleteMultipartUpload--instance AWSRequest CompleteMultipartUpload where-    type Sv CompleteMultipartUpload = S3-    type Rs CompleteMultipartUpload = CompleteMultipartUploadResponse+crsServerSideEncryption :: Lens' CompleteMultipartUploadResponse (Maybe ServerSideEncryption)+crsServerSideEncryption = lens _crsServerSideEncryption (\ s a -> s{_crsServerSideEncryption = a}); -    request  = post-    response = xmlHeaderResponse $ \h x -> CompleteMultipartUploadResponse-        <$> x .@? "Bucket"-        <*> x .@? "ETag"-        <*> h ~:? "x-amz-expiration"-        <*> x .@? "Key"-        <*> x .@? "Location"-        <*> h ~:? "x-amz-request-charged"-        <*> h ~:? "x-amz-server-side-encryption-aws-kms-key-id"-        <*> h ~:? "x-amz-server-side-encryption"-        <*> h ~:? "x-amz-version-id"+-- | The response status code.+crsStatus :: Lens' CompleteMultipartUploadResponse Int+crsStatus = lens _crsStatus (\ s a -> s{_crsStatus = a});
gen/Network/AWS/S3/CopyObject.hs view
@@ -1,541 +1,538 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.CopyObject--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a copy of an object that is already stored in Amazon S3.+-- Creates a copy of an object that is already stored in Amazon S3. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/CopyObject.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/CopyObject.html AWS API Reference> for CopyObject. module Network.AWS.S3.CopyObject     (-    -- * Request-      CopyObject-    -- ** Request constructor-    , copyObject-    -- ** Request lenses-    , coACL-    , coBucket-    , coCacheControl-    , coContentDisposition-    , coContentEncoding-    , coContentLanguage-    , coContentType-    , coCopySource-    , coCopySourceIfMatch+    -- * Creating a Request+      copyObject+    , CopyObject+    -- * Request Lenses     , coCopySourceIfModifiedSince-    , coCopySourceIfNoneMatch     , coCopySourceIfUnmodifiedSince-    , coCopySourceSSECustomerAlgorithm-    , coCopySourceSSECustomerKey     , coCopySourceSSECustomerKeyMD5-    , coExpires-    , coGrantFullControl-    , coGrantRead-    , coGrantReadACP-    , coGrantWriteACP-    , coKey-    , coMetadata     , coMetadataDirective-    , coRequestPayer+    , coExpires     , coSSECustomerAlgorithm+    , coCopySourceIfNoneMatch+    , coGrantReadACP     , coSSECustomerKey-    , coSSECustomerKeyMD5+    , coRequestPayer+    , coGrantWriteACP+    , coWebsiteRedirectLocation+    , coCopySourceIfMatch+    , coGrantRead+    , coStorageClass+    , coContentEncoding     , coSSEKMSKeyId+    , coGrantFullControl+    , coSSECustomerKeyMD5+    , coMetadata+    , coCacheControl+    , coContentLanguage+    , coACL+    , coCopySourceSSECustomerKey+    , coContentDisposition+    , coCopySourceSSECustomerAlgorithm     , coServerSideEncryption-    , coStorageClass-    , coWebsiteRedirectLocation+    , coContentType+    , coBucket+    , coCopySource+    , coKey -    -- * Response-    , CopyObjectResponse-    -- ** Response constructor+    -- * Destructuring the Response     , copyObjectResponse-    -- ** Response lenses-    , corCopyObjectResult-    , corCopySourceVersionId-    , corExpiration-    , corRequestCharged-    , corSSECustomerAlgorithm-    , corSSECustomerKeyMD5-    , corSSEKMSKeyId-    , corServerSideEncryption+    , CopyObjectResponse+    -- * Response Lenses+    , corsRequestCharged+    , corsExpiration+    , corsSSECustomerAlgorithm+    , corsCopySourceVersionId+    , corsSSEKMSKeyId+    , corsSSECustomerKeyMD5+    , corsServerSideEncryption+    , corsCopyObjectResult+    , corsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data CopyObject = CopyObject-    { _coACL                            :: Maybe ObjectCannedACL-    , _coBucket                         :: Text-    , _coCacheControl                   :: Maybe Text-    , _coContentDisposition             :: Maybe Text-    , _coContentEncoding                :: Maybe Text-    , _coContentLanguage                :: Maybe Text-    , _coContentType                    :: Maybe Text-    , _coCopySource                     :: Text-    , _coCopySourceIfMatch              :: Maybe Text-    , _coCopySourceIfModifiedSince      :: Maybe RFC822-    , _coCopySourceIfNoneMatch          :: Maybe Text-    , _coCopySourceIfUnmodifiedSince    :: Maybe RFC822-    , _coCopySourceSSECustomerAlgorithm :: Maybe Text-    , _coCopySourceSSECustomerKey       :: Maybe (Sensitive Text)-    , _coCopySourceSSECustomerKeyMD5    :: Maybe Text-    , _coExpires                        :: Maybe RFC822-    , _coGrantFullControl               :: Maybe Text-    , _coGrantRead                      :: Maybe Text-    , _coGrantReadACP                   :: Maybe Text-    , _coGrantWriteACP                  :: Maybe Text-    , _coKey                            :: Text-    , _coMetadata                       :: Map (CI Text) Text-    , _coMetadataDirective              :: Maybe MetadataDirective-    , _coRequestPayer                   :: Maybe RequestPayer-    , _coSSECustomerAlgorithm           :: Maybe Text-    , _coSSECustomerKey                 :: Maybe (Sensitive Text)-    , _coSSECustomerKeyMD5              :: Maybe Text-    , _coSSEKMSKeyId                    :: Maybe (Sensitive Text)-    , _coServerSideEncryption           :: Maybe ServerSideEncryption-    , _coStorageClass                   :: Maybe StorageClass-    , _coWebsiteRedirectLocation        :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'copyObject' smart constructor.+data CopyObject = CopyObject'+    { _coCopySourceIfModifiedSince      :: !(Maybe RFC822)+    , _coCopySourceIfUnmodifiedSince    :: !(Maybe RFC822)+    , _coCopySourceSSECustomerKeyMD5    :: !(Maybe Text)+    , _coMetadataDirective              :: !(Maybe MetadataDirective)+    , _coExpires                        :: !(Maybe RFC822)+    , _coSSECustomerAlgorithm           :: !(Maybe Text)+    , _coCopySourceIfNoneMatch          :: !(Maybe Text)+    , _coGrantReadACP                   :: !(Maybe Text)+    , _coSSECustomerKey                 :: !(Maybe (Sensitive Text))+    , _coRequestPayer                   :: !(Maybe RequestPayer)+    , _coGrantWriteACP                  :: !(Maybe Text)+    , _coWebsiteRedirectLocation        :: !(Maybe Text)+    , _coCopySourceIfMatch              :: !(Maybe Text)+    , _coGrantRead                      :: !(Maybe Text)+    , _coStorageClass                   :: !(Maybe StorageClass)+    , _coContentEncoding                :: !(Maybe Text)+    , _coSSEKMSKeyId                    :: !(Maybe (Sensitive Text))+    , _coGrantFullControl               :: !(Maybe Text)+    , _coSSECustomerKeyMD5              :: !(Maybe Text)+    , _coMetadata                       :: !(Map Text Text)+    , _coCacheControl                   :: !(Maybe Text)+    , _coContentLanguage                :: !(Maybe Text)+    , _coACL                            :: !(Maybe ObjectCannedACL)+    , _coCopySourceSSECustomerKey       :: !(Maybe (Sensitive Text))+    , _coContentDisposition             :: !(Maybe Text)+    , _coCopySourceSSECustomerAlgorithm :: !(Maybe Text)+    , _coServerSideEncryption           :: !(Maybe ServerSideEncryption)+    , _coContentType                    :: !(Maybe Text)+    , _coBucket                         :: !BucketName+    , _coCopySource                     :: !Text+    , _coKey                            :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CopyObject' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CopyObject' with the minimum fields required to make a request. ----- * 'coACL' @::@ 'Maybe' 'ObjectCannedACL'+-- Use one of the following lenses to modify other fields as desired: ----- * 'coBucket' @::@ 'Text'+-- * 'coCopySourceIfModifiedSince' ----- * 'coCacheControl' @::@ 'Maybe' 'Text'+-- * 'coCopySourceIfUnmodifiedSince' ----- * 'coContentDisposition' @::@ 'Maybe' 'Text'+-- * 'coCopySourceSSECustomerKeyMD5' ----- * 'coContentEncoding' @::@ 'Maybe' 'Text'+-- * 'coMetadataDirective' ----- * 'coContentLanguage' @::@ 'Maybe' 'Text'+-- * 'coExpires' ----- * 'coContentType' @::@ 'Maybe' 'Text'+-- * 'coSSECustomerAlgorithm' ----- * 'coCopySource' @::@ 'Text'+-- * 'coCopySourceIfNoneMatch' ----- * 'coCopySourceIfMatch' @::@ 'Maybe' 'Text'+-- * 'coGrantReadACP' ----- * 'coCopySourceIfModifiedSince' @::@ 'Maybe' 'UTCTime'+-- * 'coSSECustomerKey' ----- * 'coCopySourceIfNoneMatch' @::@ 'Maybe' 'Text'+-- * 'coRequestPayer' ----- * 'coCopySourceIfUnmodifiedSince' @::@ 'Maybe' 'UTCTime'+-- * 'coGrantWriteACP' ----- * 'coCopySourceSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'coWebsiteRedirectLocation' ----- * 'coCopySourceSSECustomerKey' @::@ 'Maybe' 'Text'+-- * 'coCopySourceIfMatch' ----- * 'coCopySourceSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'coGrantRead' ----- * 'coExpires' @::@ 'Maybe' 'UTCTime'+-- * 'coStorageClass' ----- * 'coGrantFullControl' @::@ 'Maybe' 'Text'+-- * 'coContentEncoding' ----- * 'coGrantRead' @::@ 'Maybe' 'Text'+-- * 'coSSEKMSKeyId' ----- * 'coGrantReadACP' @::@ 'Maybe' 'Text'+-- * 'coGrantFullControl' ----- * 'coGrantWriteACP' @::@ 'Maybe' 'Text'+-- * 'coSSECustomerKeyMD5' ----- * 'coKey' @::@ 'Text'+-- * 'coMetadata' ----- * 'coMetadata' @::@ 'HashMap' ('CI' 'Text') 'Text'+-- * 'coCacheControl' ----- * 'coMetadataDirective' @::@ 'Maybe' 'MetadataDirective'+-- * 'coContentLanguage' ----- * 'coRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'coACL' ----- * 'coSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'coCopySourceSSECustomerKey' ----- * 'coSSECustomerKey' @::@ 'Maybe' 'Text'+-- * 'coContentDisposition' ----- * 'coSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'coCopySourceSSECustomerAlgorithm' ----- * 'coSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'coServerSideEncryption' ----- * 'coServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'coContentType' ----- * 'coStorageClass' @::@ 'Maybe' 'StorageClass'+-- * 'coBucket' ----- * 'coWebsiteRedirectLocation' @::@ 'Maybe' 'Text'+-- * 'coCopySource' ---copyObject :: Text -- ^ 'coBucket'-           -> Text -- ^ 'coCopySource'-           -> Text -- ^ 'coKey'-           -> CopyObject-copyObject p1 p2 p3 = CopyObject-    { _coBucket                         = p1-    , _coCopySource                     = p2-    , _coKey                            = p3-    , _coACL                            = Nothing-    , _coCacheControl                   = Nothing-    , _coContentDisposition             = Nothing-    , _coContentEncoding                = Nothing-    , _coContentLanguage                = Nothing-    , _coContentType                    = Nothing-    , _coCopySourceIfMatch              = Nothing-    , _coCopySourceIfModifiedSince      = Nothing-    , _coCopySourceIfNoneMatch          = Nothing-    , _coCopySourceIfUnmodifiedSince    = Nothing-    , _coExpires                        = Nothing-    , _coGrantFullControl               = Nothing-    , _coGrantRead                      = Nothing-    , _coGrantReadACP                   = Nothing-    , _coGrantWriteACP                  = Nothing-    , _coMetadata                       = mempty-    , _coMetadataDirective              = Nothing-    , _coServerSideEncryption           = Nothing-    , _coStorageClass                   = Nothing-    , _coWebsiteRedirectLocation        = Nothing-    , _coSSECustomerAlgorithm           = Nothing-    , _coSSECustomerKey                 = Nothing-    , _coSSECustomerKeyMD5              = Nothing-    , _coSSEKMSKeyId                    = Nothing+-- * 'coKey'+copyObject+    :: BucketName -- ^ 'coBucket'+    -> Text -- ^ 'coCopySource'+    -> ObjectKey -- ^ 'coKey'+    -> CopyObject+copyObject pBucket_ pCopySource_ pKey_ =+    CopyObject'+    { _coCopySourceIfModifiedSince = Nothing+    , _coCopySourceIfUnmodifiedSince = Nothing+    , _coCopySourceSSECustomerKeyMD5 = Nothing+    , _coMetadataDirective = Nothing+    , _coExpires = Nothing+    , _coSSECustomerAlgorithm = Nothing+    , _coCopySourceIfNoneMatch = Nothing+    , _coGrantReadACP = Nothing+    , _coSSECustomerKey = Nothing+    , _coRequestPayer = Nothing+    , _coGrantWriteACP = Nothing+    , _coWebsiteRedirectLocation = Nothing+    , _coCopySourceIfMatch = Nothing+    , _coGrantRead = Nothing+    , _coStorageClass = Nothing+    , _coContentEncoding = Nothing+    , _coSSEKMSKeyId = Nothing+    , _coGrantFullControl = Nothing+    , _coSSECustomerKeyMD5 = Nothing+    , _coMetadata = mempty+    , _coCacheControl = Nothing+    , _coContentLanguage = Nothing+    , _coACL = Nothing+    , _coCopySourceSSECustomerKey = Nothing+    , _coContentDisposition = Nothing     , _coCopySourceSSECustomerAlgorithm = Nothing-    , _coCopySourceSSECustomerKey       = Nothing-    , _coCopySourceSSECustomerKeyMD5    = Nothing-    , _coRequestPayer                   = Nothing+    , _coServerSideEncryption = Nothing+    , _coContentType = Nothing+    , _coBucket = pBucket_+    , _coCopySource = pCopySource_+    , _coKey = pKey_     } --- | The canned ACL to apply to the object.-coACL :: Lens' CopyObject (Maybe ObjectCannedACL)-coACL = lens _coACL (\s a -> s { _coACL = a })--coBucket :: Lens' CopyObject Text-coBucket = lens _coBucket (\s a -> s { _coBucket = a })---- | Specifies caching behavior along the request/reply chain.-coCacheControl :: Lens' CopyObject (Maybe Text)-coCacheControl = lens _coCacheControl (\s a -> s { _coCacheControl = a })---- | Specifies presentational information for the object.-coContentDisposition :: Lens' CopyObject (Maybe Text)-coContentDisposition =-    lens _coContentDisposition (\s a -> s { _coContentDisposition = a })---- | Specifies what content encodings have been applied to the object and thus--- what decoding mechanisms must be applied to obtain the media-type referenced--- by the Content-Type header field.-coContentEncoding :: Lens' CopyObject (Maybe Text)-coContentEncoding =-    lens _coContentEncoding (\s a -> s { _coContentEncoding = a })+-- | Copies the object if it has been modified since the specified time.+coCopySourceIfModifiedSince :: Lens' CopyObject (Maybe UTCTime)+coCopySourceIfModifiedSince = lens _coCopySourceIfModifiedSince (\ s a -> s{_coCopySourceIfModifiedSince = a}) . mapping _Time; --- | The language the content is in.-coContentLanguage :: Lens' CopyObject (Maybe Text)-coContentLanguage =-    lens _coContentLanguage (\s a -> s { _coContentLanguage = a })+-- | Copies the object if it hasn\'t been modified since the specified time.+coCopySourceIfUnmodifiedSince :: Lens' CopyObject (Maybe UTCTime)+coCopySourceIfUnmodifiedSince = lens _coCopySourceIfUnmodifiedSince (\ s a -> s{_coCopySourceIfUnmodifiedSince = a}) . mapping _Time; --- | A standard MIME type describing the format of the object data.-coContentType :: Lens' CopyObject (Maybe Text)-coContentType = lens _coContentType (\s a -> s { _coContentType = a })+-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- the encryption key was transmitted without error.+coCopySourceSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)+coCopySourceSSECustomerKeyMD5 = lens _coCopySourceSSECustomerKeyMD5 (\ s a -> s{_coCopySourceSSECustomerKeyMD5 = a}); --- | The name of the source bucket and key name of the source object, separated by--- a slash (/). Must be URL-encoded.-coCopySource :: Lens' CopyObject Text-coCopySource = lens _coCopySource (\s a -> s { _coCopySource = a })+-- | Specifies whether the metadata is copied from the source object or+-- replaced with metadata provided in the request.+coMetadataDirective :: Lens' CopyObject (Maybe MetadataDirective)+coMetadataDirective = lens _coMetadataDirective (\ s a -> s{_coMetadataDirective = a}); --- | Copies the object if its entity tag (ETag) matches the specified tag.-coCopySourceIfMatch :: Lens' CopyObject (Maybe Text)-coCopySourceIfMatch =-    lens _coCopySourceIfMatch (\s a -> s { _coCopySourceIfMatch = a })+-- | The date and time at which the object is no longer cacheable.+coExpires :: Lens' CopyObject (Maybe UTCTime)+coExpires = lens _coExpires (\ s a -> s{_coExpires = a}) . mapping _Time; --- | Copies the object if it has been modified since the specified time.-coCopySourceIfModifiedSince :: Lens' CopyObject (Maybe UTCTime)-coCopySourceIfModifiedSince =-    lens _coCopySourceIfModifiedSince-        (\s a -> s { _coCopySourceIfModifiedSince = a })-            . mapping _Time+-- | Specifies the algorithm to use to when encrypting the object (e.g.,+-- AES256).+coSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)+coSSECustomerAlgorithm = lens _coSSECustomerAlgorithm (\ s a -> s{_coSSECustomerAlgorithm = a}); --- | Copies the object if its entity tag (ETag) is different than the specified--- ETag.+-- | Copies the object if its entity tag (ETag) is different than the+-- specified ETag. coCopySourceIfNoneMatch :: Lens' CopyObject (Maybe Text)-coCopySourceIfNoneMatch =-    lens _coCopySourceIfNoneMatch (\s a -> s { _coCopySourceIfNoneMatch = a })+coCopySourceIfNoneMatch = lens _coCopySourceIfNoneMatch (\ s a -> s{_coCopySourceIfNoneMatch = a}); --- | Copies the object if it hasn't been modified since the specified time.-coCopySourceIfUnmodifiedSince :: Lens' CopyObject (Maybe UTCTime)-coCopySourceIfUnmodifiedSince =-    lens _coCopySourceIfUnmodifiedSince-        (\s a -> s { _coCopySourceIfUnmodifiedSince = a })-            . mapping _Time+-- | Allows grantee to read the object ACL.+coGrantReadACP :: Lens' CopyObject (Maybe Text)+coGrantReadACP = lens _coGrantReadACP (\ s a -> s{_coGrantReadACP = a}); --- | Specifies the algorithm to use when decrypting the source object (e.g.,--- AES256).-coCopySourceSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)-coCopySourceSSECustomerAlgorithm =-    lens _coCopySourceSSECustomerAlgorithm-        (\s a -> s { _coCopySourceSSECustomerAlgorithm = a })+-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- x-amz-server-side​-encryption​-customer-algorithm header.+coSSECustomerKey :: Lens' CopyObject (Maybe Text)+coSSECustomerKey = lens _coSSECustomerKey (\ s a -> s{_coSSECustomerKey = a}) . mapping _Sensitive; --- | Specifies the customer-provided encryption key for Amazon S3 to use to--- decrypt the source object. The encryption key provided in this header must be--- one that was used when the source object was created.-coCopySourceSSECustomerKey :: Lens' CopyObject (Maybe Text)-coCopySourceSSECustomerKey =-    lens _coCopySourceSSECustomerKey-        (\s a -> s { _coCopySourceSSECustomerKey = a })-            . mapping _Sensitive+-- | Undocumented member.+coRequestPayer :: Lens' CopyObject (Maybe RequestPayer)+coRequestPayer = lens _coRequestPayer (\ s a -> s{_coRequestPayer = a}); --- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.--- Amazon S3 uses this header for a message integrity check to ensure the--- encryption key was transmitted without error.-coCopySourceSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)-coCopySourceSSECustomerKeyMD5 =-    lens _coCopySourceSSECustomerKeyMD5-        (\s a -> s { _coCopySourceSSECustomerKeyMD5 = a })+-- | Allows grantee to write the ACL for the applicable object.+coGrantWriteACP :: Lens' CopyObject (Maybe Text)+coGrantWriteACP = lens _coGrantWriteACP (\ s a -> s{_coGrantWriteACP = a}); --- | The date and time at which the object is no longer cacheable.-coExpires :: Lens' CopyObject (Maybe UTCTime)-coExpires = lens _coExpires (\s a -> s { _coExpires = a }) . mapping _Time+-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+coWebsiteRedirectLocation :: Lens' CopyObject (Maybe Text)+coWebsiteRedirectLocation = lens _coWebsiteRedirectLocation (\ s a -> s{_coWebsiteRedirectLocation = a}); --- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.-coGrantFullControl :: Lens' CopyObject (Maybe Text)-coGrantFullControl =-    lens _coGrantFullControl (\s a -> s { _coGrantFullControl = a })+-- | Copies the object if its entity tag (ETag) matches the specified tag.+coCopySourceIfMatch :: Lens' CopyObject (Maybe Text)+coCopySourceIfMatch = lens _coCopySourceIfMatch (\ s a -> s{_coCopySourceIfMatch = a});  -- | Allows grantee to read the object data and its metadata. coGrantRead :: Lens' CopyObject (Maybe Text)-coGrantRead = lens _coGrantRead (\s a -> s { _coGrantRead = a })+coGrantRead = lens _coGrantRead (\ s a -> s{_coGrantRead = a}); --- | Allows grantee to read the object ACL.-coGrantReadACP :: Lens' CopyObject (Maybe Text)-coGrantReadACP = lens _coGrantReadACP (\s a -> s { _coGrantReadACP = a })+-- | The type of storage to use for the object. Defaults to \'STANDARD\'.+coStorageClass :: Lens' CopyObject (Maybe StorageClass)+coStorageClass = lens _coStorageClass (\ s a -> s{_coStorageClass = a}); --- | Allows grantee to write the ACL for the applicable object.-coGrantWriteACP :: Lens' CopyObject (Maybe Text)-coGrantWriteACP = lens _coGrantWriteACP (\s a -> s { _coGrantWriteACP = a })+-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+coContentEncoding :: Lens' CopyObject (Maybe Text)+coContentEncoding = lens _coContentEncoding (\ s a -> s{_coContentEncoding = a}); -coKey :: Lens' CopyObject Text-coKey = lens _coKey (\s a -> s { _coKey = a })+-- | Specifies the AWS KMS key ID to use for object encryption. All GET and+-- PUT requests for an object protected by AWS KMS will fail if not made+-- via SSL or using SigV4. Documentation on configuring any of the+-- officially supported AWS SDKs and CLI can be found at+-- http:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/dev\/UsingAWSSDK.html#specify-signature-version+coSSEKMSKeyId :: Lens' CopyObject (Maybe Text)+coSSEKMSKeyId = lens _coSSEKMSKeyId (\ s a -> s{_coSSEKMSKeyId = a}) . mapping _Sensitive; +-- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+-- object.+coGrantFullControl :: Lens' CopyObject (Maybe Text)+coGrantFullControl = lens _coGrantFullControl (\ s a -> s{_coGrantFullControl = a});++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- the encryption key was transmitted without error.+coSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)+coSSECustomerKeyMD5 = lens _coSSECustomerKeyMD5 (\ s a -> s{_coSSECustomerKeyMD5 = a});+ -- | A map of metadata to store with the object in S3.-coMetadata :: Lens' CopyObject (HashMap (CI Text) Text)-coMetadata = lens _coMetadata (\s a -> s { _coMetadata = a }) . _Map+coMetadata :: Lens' CopyObject (HashMap Text Text)+coMetadata = lens _coMetadata (\ s a -> s{_coMetadata = a}) . _Map; --- | Specifies whether the metadata is copied from the source object or replaced--- with metadata provided in the request.-coMetadataDirective :: Lens' CopyObject (Maybe MetadataDirective)-coMetadataDirective =-    lens _coMetadataDirective (\s a -> s { _coMetadataDirective = a })+-- | Specifies caching behavior along the request\/reply chain.+coCacheControl :: Lens' CopyObject (Maybe Text)+coCacheControl = lens _coCacheControl (\ s a -> s{_coCacheControl = a}); -coRequestPayer :: Lens' CopyObject (Maybe RequestPayer)-coRequestPayer = lens _coRequestPayer (\s a -> s { _coRequestPayer = a })+-- | The language the content is in.+coContentLanguage :: Lens' CopyObject (Maybe Text)+coContentLanguage = lens _coContentLanguage (\ s a -> s{_coContentLanguage = a}); --- | Specifies the algorithm to use to when encrypting the object (e.g., AES256,--- aws:kms).-coSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)-coSSECustomerAlgorithm =-    lens _coSSECustomerAlgorithm (\s a -> s { _coSSECustomerAlgorithm = a })+-- | The canned ACL to apply to the object.+coACL :: Lens' CopyObject (Maybe ObjectCannedACL)+coACL = lens _coACL (\ s a -> s{_coACL = a}); --- | Specifies the customer-provided encryption key for Amazon S3 to use in--- encrypting data. This value is used to store the object and then it is--- discarded; Amazon does not store the encryption key. The key must be--- appropriate for use with the algorithm specified in the--- x-amz-server-side​-encryption​-customer-algorithm header.-coSSECustomerKey :: Lens' CopyObject (Maybe Text)-coSSECustomerKey = lens _coSSECustomerKey (\s a -> s { _coSSECustomerKey = a }) . mapping _Sensitive+-- | Specifies the customer-provided encryption key for Amazon S3 to use to+-- decrypt the source object. The encryption key provided in this header+-- must be one that was used when the source object was created.+coCopySourceSSECustomerKey :: Lens' CopyObject (Maybe Text)+coCopySourceSSECustomerKey = lens _coCopySourceSSECustomerKey (\ s a -> s{_coCopySourceSSECustomerKey = a}) . mapping _Sensitive; --- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.--- Amazon S3 uses this header for a message integrity check to ensure the--- encryption key was transmitted without error.-coSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)-coSSECustomerKeyMD5 =-    lens _coSSECustomerKeyMD5 (\s a -> s { _coSSECustomerKeyMD5 = a })+-- | Specifies presentational information for the object.+coContentDisposition :: Lens' CopyObject (Maybe Text)+coContentDisposition = lens _coContentDisposition (\ s a -> s{_coContentDisposition = a}); --- | Specifies the AWS KMS key ID to use for object encryption. All GET and PUT--- requests for an object protected by AWS KMS will fail if not made via SSL or--- using SigV4. Documentation on configuring any of the officially supported AWS--- SDKs and CLI can be found at--- http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version-coSSEKMSKeyId :: Lens' CopyObject (Maybe Text)-coSSEKMSKeyId = lens _coSSEKMSKeyId (\s a -> s { _coSSEKMSKeyId = a }) . mapping _Sensitive+-- | Specifies the algorithm to use when decrypting the source object (e.g.,+-- AES256).+coCopySourceSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)+coCopySourceSSECustomerAlgorithm = lens _coCopySourceSSECustomerAlgorithm (\ s a -> s{_coCopySourceSSECustomerAlgorithm = a});  -- | The Server-side encryption algorithm used when storing this object in S3 -- (e.g., AES256, aws:kms). coServerSideEncryption :: Lens' CopyObject (Maybe ServerSideEncryption)-coServerSideEncryption =-    lens _coServerSideEncryption (\s a -> s { _coServerSideEncryption = a })+coServerSideEncryption = lens _coServerSideEncryption (\ s a -> s{_coServerSideEncryption = a}); --- | The type of storage to use for the object. Defaults to 'STANDARD'.-coStorageClass :: Lens' CopyObject (Maybe StorageClass)-coStorageClass = lens _coStorageClass (\s a -> s { _coStorageClass = a })+-- | A standard MIME type describing the format of the object data.+coContentType :: Lens' CopyObject (Maybe Text)+coContentType = lens _coContentType (\ s a -> s{_coContentType = a}); --- | If the bucket is configured as a website, redirects requests for this object--- to another object in the same bucket or to an external URL. Amazon S3 stores--- the value of this header in the object metadata.-coWebsiteRedirectLocation :: Lens' CopyObject (Maybe Text)-coWebsiteRedirectLocation =-    lens _coWebsiteRedirectLocation-        (\s a -> s { _coWebsiteRedirectLocation = a })+-- | Undocumented member.+coBucket :: Lens' CopyObject BucketName+coBucket = lens _coBucket (\ s a -> s{_coBucket = a}); -data CopyObjectResponse = CopyObjectResponse-    { _corCopyObjectResult     :: Maybe CopyObjectResult-    , _corCopySourceVersionId  :: Maybe Text-    , _corExpiration           :: Maybe Text-    , _corRequestCharged       :: Maybe RequestCharged-    , _corSSECustomerAlgorithm :: Maybe Text-    , _corSSECustomerKeyMD5    :: Maybe Text-    , _corSSEKMSKeyId          :: Maybe (Sensitive Text)-    , _corServerSideEncryption :: Maybe ServerSideEncryption-    } deriving (Eq, Read, Show)+-- | The name of the source bucket and key name of the source object,+-- separated by a slash (\/). Must be URL-encoded.+coCopySource :: Lens' CopyObject Text+coCopySource = lens _coCopySource (\ s a -> s{_coCopySource = a}); --- | 'CopyObjectResponse' constructor.+-- | Undocumented member.+coKey :: Lens' CopyObject ObjectKey+coKey = lens _coKey (\ s a -> s{_coKey = a});++instance AWSRequest CopyObject where+        type Sv CopyObject = S3+        type Rs CopyObject = CopyObjectResponse+        request = put+        response+          = receiveXML+              (\ s h x ->+                 CopyObjectResponse' <$>+                   (h .#? "x-amz-request-charged") <*>+                     (h .#? "x-amz-expiration")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-algorithm")+                     <*> (h .#? "x-amz-copy-source-version-id")+                     <*>+                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-key-MD5")+                     <*> (h .#? "x-amz-server-side-encryption")+                     <*> (parseXML x)+                     <*> (pure (fromEnum s)))++instance ToHeaders CopyObject where+        toHeaders CopyObject'{..}+          = mconcat+              ["x-amz-copy-source-if-modified-since" =#+                 _coCopySourceIfModifiedSince,+               "x-amz-copy-source-if-unmodified-since" =#+                 _coCopySourceIfUnmodifiedSince,+               "x-amz-copy-source-server-side-encryption-customer-key-MD5"+                 =# _coCopySourceSSECustomerKeyMD5,+               "x-amz-metadata-directive" =# _coMetadataDirective,+               "Expires" =# _coExpires,+               "x-amz-server-side-encryption-customer-algorithm" =#+                 _coSSECustomerAlgorithm,+               "x-amz-copy-source-if-none-match" =#+                 _coCopySourceIfNoneMatch,+               "x-amz-grant-read-acp" =# _coGrantReadACP,+               "x-amz-server-side-encryption-customer-key" =#+                 _coSSECustomerKey,+               "x-amz-request-payer" =# _coRequestPayer,+               "x-amz-grant-write-acp" =# _coGrantWriteACP,+               "x-amz-website-redirect-location" =#+                 _coWebsiteRedirectLocation,+               "x-amz-copy-source-if-match" =# _coCopySourceIfMatch,+               "x-amz-grant-read" =# _coGrantRead,+               "x-amz-storage-class" =# _coStorageClass,+               "Content-Encoding" =# _coContentEncoding,+               "x-amz-server-side-encryption-aws-kms-key-id" =#+                 _coSSEKMSKeyId,+               "x-amz-grant-full-control" =# _coGrantFullControl,+               "x-amz-server-side-encryption-customer-key-MD5" =#+                 _coSSECustomerKeyMD5,+               "x-amz-meta-" =# _coMetadata,+               "Cache-Control" =# _coCacheControl,+               "Content-Language" =# _coContentLanguage,+               "x-amz-acl" =# _coACL,+               "x-amz-copy-source-server-side-encryption-customer-key"+                 =# _coCopySourceSSECustomerKey,+               "Content-Disposition" =# _coContentDisposition,+               "x-amz-copy-source-server-side-encryption-customer-algorithm"+                 =# _coCopySourceSSECustomerAlgorithm,+               "x-amz-server-side-encryption" =#+                 _coServerSideEncryption,+               "Content-Type" =# _coContentType,+               "x-amz-copy-source" =# _coCopySource]++instance ToPath CopyObject where+        toPath CopyObject'{..}+          = mconcat ["/", toBS _coBucket, "/", toBS _coKey]++instance ToQuery CopyObject where+        toQuery = const mempty++-- | /See:/ 'copyObjectResponse' smart constructor.+data CopyObjectResponse = CopyObjectResponse'+    { _corsRequestCharged       :: !(Maybe RequestCharged)+    , _corsExpiration           :: !(Maybe Text)+    , _corsSSECustomerAlgorithm :: !(Maybe Text)+    , _corsCopySourceVersionId  :: !(Maybe Text)+    , _corsSSEKMSKeyId          :: !(Maybe (Sensitive Text))+    , _corsSSECustomerKeyMD5    :: !(Maybe Text)+    , _corsServerSideEncryption :: !(Maybe ServerSideEncryption)+    , _corsCopyObjectResult     :: !(Maybe CopyObjectResult)+    , _corsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CopyObjectResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'corCopyObjectResult' @::@ 'Maybe' 'CopyObjectResult'+-- * 'corsRequestCharged' ----- * 'corCopySourceVersionId' @::@ 'Maybe' 'Text'+-- * 'corsExpiration' ----- * 'corExpiration' @::@ 'Maybe' 'Text'+-- * 'corsSSECustomerAlgorithm' ----- * 'corRequestCharged' @::@ 'Maybe' 'RequestCharged'+-- * 'corsCopySourceVersionId' ----- * 'corSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'corsSSEKMSKeyId' ----- * 'corSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'corsSSECustomerKeyMD5' ----- * 'corSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'corsServerSideEncryption' ----- * 'corServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'corsCopyObjectResult' ---copyObjectResponse :: CopyObjectResponse-copyObjectResponse = CopyObjectResponse-    { _corCopyObjectResult     = Nothing-    , _corExpiration           = Nothing-    , _corCopySourceVersionId  = Nothing-    , _corServerSideEncryption = Nothing-    , _corSSECustomerAlgorithm = Nothing-    , _corSSECustomerKeyMD5    = Nothing-    , _corSSEKMSKeyId          = Nothing-    , _corRequestCharged       = Nothing+-- * 'corsStatus'+copyObjectResponse+    :: Int -- ^ 'corsStatus'+    -> CopyObjectResponse+copyObjectResponse pStatus_ =+    CopyObjectResponse'+    { _corsRequestCharged = Nothing+    , _corsExpiration = Nothing+    , _corsSSECustomerAlgorithm = Nothing+    , _corsCopySourceVersionId = Nothing+    , _corsSSEKMSKeyId = Nothing+    , _corsSSECustomerKeyMD5 = Nothing+    , _corsServerSideEncryption = Nothing+    , _corsCopyObjectResult = Nothing+    , _corsStatus = pStatus_     } -corCopyObjectResult :: Lens' CopyObjectResponse (Maybe CopyObjectResult)-corCopyObjectResult =-    lens _corCopyObjectResult (\s a -> s { _corCopyObjectResult = a })+-- | Undocumented member.+corsRequestCharged :: Lens' CopyObjectResponse (Maybe RequestCharged)+corsRequestCharged = lens _corsRequestCharged (\ s a -> s{_corsRequestCharged = a}); -corCopySourceVersionId :: Lens' CopyObjectResponse (Maybe Text)-corCopySourceVersionId =-    lens _corCopySourceVersionId (\s a -> s { _corCopySourceVersionId = a })+-- | If the object expiration is configured, the response includes this+-- header.+corsExpiration :: Lens' CopyObjectResponse (Maybe Text)+corsExpiration = lens _corsExpiration (\ s a -> s{_corsExpiration = a}); --- | If the object expiration is configured, the response includes this header.-corExpiration :: Lens' CopyObjectResponse (Maybe Text)-corExpiration = lens _corExpiration (\s a -> s { _corExpiration = a })+-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+corsSSECustomerAlgorithm :: Lens' CopyObjectResponse (Maybe Text)+corsSSECustomerAlgorithm = lens _corsSSECustomerAlgorithm (\ s a -> s{_corsSSECustomerAlgorithm = a}); -corRequestCharged :: Lens' CopyObjectResponse (Maybe RequestCharged)-corRequestCharged =-    lens _corRequestCharged (\s a -> s { _corRequestCharged = a })+-- | Undocumented member.+corsCopySourceVersionId :: Lens' CopyObjectResponse (Maybe Text)+corsCopySourceVersionId = lens _corsCopySourceVersionId (\ s a -> s{_corsCopySourceVersionId = a}); --- | If server-side encryption with a customer-provided encryption key was--- requested, the response will include this header confirming the encryption--- algorithm used.-corSSECustomerAlgorithm :: Lens' CopyObjectResponse (Maybe Text)-corSSECustomerAlgorithm =-    lens _corSSECustomerAlgorithm (\s a -> s { _corSSECustomerAlgorithm = a })+-- | If present, specifies the ID of the AWS Key Management Service (KMS)+-- master encryption key that was used for the object.+corsSSEKMSKeyId :: Lens' CopyObjectResponse (Maybe Text)+corsSSEKMSKeyId = lens _corsSSEKMSKeyId (\ s a -> s{_corsSSEKMSKeyId = a}) . mapping _Sensitive;  -- | If server-side encryption with a customer-provided encryption key was -- requested, the response will include this header to provide round trip -- message integrity verification of the customer-provided encryption key.-corSSECustomerKeyMD5 :: Lens' CopyObjectResponse (Maybe Text)-corSSECustomerKeyMD5 =-    lens _corSSECustomerKeyMD5 (\s a -> s { _corSSECustomerKeyMD5 = a })---- | If present, specifies the ID of the AWS Key Management Service (KMS) master--- encryption key that was used for the object.-corSSEKMSKeyId :: Lens' CopyObjectResponse (Maybe Text)-corSSEKMSKeyId = lens _corSSEKMSKeyId (\s a -> s { _corSSEKMSKeyId = a }) . mapping _Sensitive+corsSSECustomerKeyMD5 :: Lens' CopyObjectResponse (Maybe Text)+corsSSECustomerKeyMD5 = lens _corsSSECustomerKeyMD5 (\ s a -> s{_corsSSECustomerKeyMD5 = a});  -- | The Server-side encryption algorithm used when storing this object in S3 -- (e.g., AES256, aws:kms).-corServerSideEncryption :: Lens' CopyObjectResponse (Maybe ServerSideEncryption)-corServerSideEncryption =-    lens _corServerSideEncryption (\s a -> s { _corServerSideEncryption = a })--instance ToPath CopyObject where-    toPath CopyObject{..} = mconcat-        [ "/"-        , toText _coBucket-        , "/"-        , toText _coKey-        ]--instance ToQuery CopyObject where-    toQuery = const mempty--instance ToHeaders CopyObject where-    toHeaders CopyObject{..} = mconcat-        [ "x-amz-acl"                                                   =: _coACL-        , "Cache-Control"                                               =: _coCacheControl-        , "Content-Disposition"                                         =: _coContentDisposition-        , "Content-Encoding"                                            =: _coContentEncoding-        , "Content-Language"                                            =: _coContentLanguage-        , "Content-Type"                                                =: _coContentType-        , "x-amz-copy-source"                                           =: _coCopySource-        , "x-amz-copy-source-if-match"                                  =: _coCopySourceIfMatch-        , "x-amz-copy-source-if-modified-since"                         =: _coCopySourceIfModifiedSince-        , "x-amz-copy-source-if-none-match"                             =: _coCopySourceIfNoneMatch-        , "x-amz-copy-source-if-unmodified-since"                       =: _coCopySourceIfUnmodifiedSince-        , "Expires"                                                     =: _coExpires-        , "x-amz-grant-full-control"                                    =: _coGrantFullControl-        , "x-amz-grant-read"                                            =: _coGrantRead-        , "x-amz-grant-read-acp"                                        =: _coGrantReadACP-        , "x-amz-grant-write-acp"                                       =: _coGrantWriteACP-        , "x-amz-meta-"                                                 =: _coMetadata-        , "x-amz-metadata-directive"                                    =: _coMetadataDirective-        , "x-amz-server-side-encryption"                                =: _coServerSideEncryption-        , "x-amz-storage-class"                                         =: _coStorageClass-        , "x-amz-website-redirect-location"                             =: _coWebsiteRedirectLocation-        , "x-amz-server-side-encryption-customer-algorithm"             =: _coSSECustomerAlgorithm-        , "x-amz-server-side-encryption-customer-key"                   =: _coSSECustomerKey-        , "x-amz-server-side-encryption-customer-key-MD5"               =: _coSSECustomerKeyMD5-        , "x-amz-server-side-encryption-aws-kms-key-id"                 =: _coSSEKMSKeyId-        , "x-amz-copy-source-server-side-encryption-customer-algorithm" =: _coCopySourceSSECustomerAlgorithm-        , "x-amz-copy-source-server-side-encryption-customer-key"       =: _coCopySourceSSECustomerKey-        , "x-amz-copy-source-server-side-encryption-customer-key-MD5"   =: _coCopySourceSSECustomerKeyMD5-        , "x-amz-request-payer"                                         =: _coRequestPayer-        ]--instance ToXMLRoot CopyObject where-    toXMLRoot = const (namespaced ns "CopyObject" [])--instance ToXML CopyObject+corsServerSideEncryption :: Lens' CopyObjectResponse (Maybe ServerSideEncryption)+corsServerSideEncryption = lens _corsServerSideEncryption (\ s a -> s{_corsServerSideEncryption = a}); -instance AWSRequest CopyObject where-    type Sv CopyObject = S3-    type Rs CopyObject = CopyObjectResponse+-- | Undocumented member.+corsCopyObjectResult :: Lens' CopyObjectResponse (Maybe CopyObjectResult)+corsCopyObjectResult = lens _corsCopyObjectResult (\ s a -> s{_corsCopyObjectResult = a}); -    request  = put-    response = xmlHeaderResponse $ \h x -> CopyObjectResponse-        <$> x .@? "CopyObjectResult"-        <*> h ~:? "x-amz-copy-source-version-id"-        <*> h ~:? "x-amz-expiration"-        <*> h ~:? "x-amz-request-charged"-        <*> h ~:? "x-amz-server-side-encryption-customer-algorithm"-        <*> h ~:? "x-amz-server-side-encryption-customer-key-MD5"-        <*> h ~:? "x-amz-server-side-encryption-aws-kms-key-id"-        <*> h ~:? "x-amz-server-side-encryption"+-- | The response status code.+corsStatus :: Lens' CopyObjectResponse Int+corsStatus = lens _corsStatus (\ s a -> s{_corsStatus = a});
gen/Network/AWS/S3/CreateBucket.hs view
@@ -1,183 +1,195 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.CreateBucket--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a new bucket.+-- Creates a new bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/CreateBucket.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/CreateBucket.html AWS API Reference> for CreateBucket. module Network.AWS.S3.CreateBucket     (-    -- * Request-      CreateBucket-    -- ** Request constructor-    , createBucket-    -- ** Request lenses-    , cbACL-    , cbBucket-    , cbCreateBucketConfiguration-    , cbGrantFullControl-    , cbGrantRead+    -- * Creating a Request+      createBucket+    , CreateBucket+    -- * Request Lenses     , cbGrantReadACP-    , cbGrantWrite     , cbGrantWriteACP+    , cbGrantRead+    , cbGrantFullControl+    , cbCreateBucketConfiguration+    , cbGrantWrite+    , cbACL+    , cbBucket -    -- * Response-    , CreateBucketResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createBucketResponse-    -- ** Response lenses-    , cbrLocation+    , CreateBucketResponse+    -- * Response Lenses+    , cbrsLocation+    , cbrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data CreateBucket = CreateBucket-    { _cbACL                       :: Maybe BucketCannedACL-    , _cbBucket                    :: Text-    , _cbCreateBucketConfiguration :: Maybe CreateBucketConfiguration-    , _cbGrantFullControl          :: Maybe Text-    , _cbGrantRead                 :: Maybe Text-    , _cbGrantReadACP              :: Maybe Text-    , _cbGrantWrite                :: Maybe Text-    , _cbGrantWriteACP             :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'createBucket' smart constructor.+data CreateBucket = CreateBucket'+    { _cbGrantReadACP              :: !(Maybe Text)+    , _cbGrantWriteACP             :: !(Maybe Text)+    , _cbGrantRead                 :: !(Maybe Text)+    , _cbGrantFullControl          :: !(Maybe Text)+    , _cbCreateBucketConfiguration :: !(Maybe CreateBucketConfiguration)+    , _cbGrantWrite                :: !(Maybe Text)+    , _cbACL                       :: !(Maybe BucketCannedACL)+    , _cbBucket                    :: !BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateBucket' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateBucket' with the minimum fields required to make a request. ----- * 'cbACL' @::@ 'Maybe' 'BucketCannedACL'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cbBucket' @::@ 'Text'+-- * 'cbGrantReadACP' ----- * 'cbCreateBucketConfiguration' @::@ 'Maybe' 'CreateBucketConfiguration'+-- * 'cbGrantWriteACP' ----- * 'cbGrantFullControl' @::@ 'Maybe' 'Text'+-- * 'cbGrantRead' ----- * 'cbGrantRead' @::@ 'Maybe' 'Text'+-- * 'cbGrantFullControl' ----- * 'cbGrantReadACP' @::@ 'Maybe' 'Text'+-- * 'cbCreateBucketConfiguration' ----- * 'cbGrantWrite' @::@ 'Maybe' 'Text'+-- * 'cbGrantWrite' ----- * 'cbGrantWriteACP' @::@ 'Maybe' 'Text'+-- * 'cbACL' ---createBucket :: Text -- ^ 'cbBucket'-             -> CreateBucket-createBucket p1 = CreateBucket-    { _cbBucket                    = p1-    , _cbACL                       = Nothing+-- * 'cbBucket'+createBucket+    :: BucketName -- ^ 'cbBucket'+    -> CreateBucket+createBucket pBucket_ =+    CreateBucket'+    { _cbGrantReadACP = Nothing+    , _cbGrantWriteACP = Nothing+    , _cbGrantRead = Nothing+    , _cbGrantFullControl = Nothing     , _cbCreateBucketConfiguration = Nothing-    , _cbGrantFullControl          = Nothing-    , _cbGrantRead                 = Nothing-    , _cbGrantReadACP              = Nothing-    , _cbGrantWrite                = Nothing-    , _cbGrantWriteACP             = Nothing+    , _cbGrantWrite = Nothing+    , _cbACL = Nothing+    , _cbBucket = pBucket_     } --- | The canned ACL to apply to the bucket.-cbACL :: Lens' CreateBucket (Maybe BucketCannedACL)-cbACL = lens _cbACL (\s a -> s { _cbACL = a })--cbBucket :: Lens' CreateBucket Text-cbBucket = lens _cbBucket (\s a -> s { _cbBucket = a })--cbCreateBucketConfiguration :: Lens' CreateBucket (Maybe CreateBucketConfiguration)-cbCreateBucketConfiguration =-    lens _cbCreateBucketConfiguration-        (\s a -> s { _cbCreateBucketConfiguration = a })+-- | Allows grantee to read the bucket ACL.+cbGrantReadACP :: Lens' CreateBucket (Maybe Text)+cbGrantReadACP = lens _cbGrantReadACP (\ s a -> s{_cbGrantReadACP = a}); --- | Allows grantee the read, write, read ACP, and write ACP permissions on the--- bucket.-cbGrantFullControl :: Lens' CreateBucket (Maybe Text)-cbGrantFullControl =-    lens _cbGrantFullControl (\s a -> s { _cbGrantFullControl = a })+-- | Allows grantee to write the ACL for the applicable bucket.+cbGrantWriteACP :: Lens' CreateBucket (Maybe Text)+cbGrantWriteACP = lens _cbGrantWriteACP (\ s a -> s{_cbGrantWriteACP = a});  -- | Allows grantee to list the objects in the bucket. cbGrantRead :: Lens' CreateBucket (Maybe Text)-cbGrantRead = lens _cbGrantRead (\s a -> s { _cbGrantRead = a })+cbGrantRead = lens _cbGrantRead (\ s a -> s{_cbGrantRead = a}); --- | Allows grantee to read the bucket ACL.-cbGrantReadACP :: Lens' CreateBucket (Maybe Text)-cbGrantReadACP = lens _cbGrantReadACP (\s a -> s { _cbGrantReadACP = a })+-- | Allows grantee the read, write, read ACP, and write ACP permissions on+-- the bucket.+cbGrantFullControl :: Lens' CreateBucket (Maybe Text)+cbGrantFullControl = lens _cbGrantFullControl (\ s a -> s{_cbGrantFullControl = a}); --- | Allows grantee to create, overwrite, and delete any object in the bucket.+-- | Undocumented member.+cbCreateBucketConfiguration :: Lens' CreateBucket (Maybe CreateBucketConfiguration)+cbCreateBucketConfiguration = lens _cbCreateBucketConfiguration (\ s a -> s{_cbCreateBucketConfiguration = a});++-- | Allows grantee to create, overwrite, and delete any object in the+-- bucket. cbGrantWrite :: Lens' CreateBucket (Maybe Text)-cbGrantWrite = lens _cbGrantWrite (\s a -> s { _cbGrantWrite = a })+cbGrantWrite = lens _cbGrantWrite (\ s a -> s{_cbGrantWrite = a}); --- | Allows grantee to write the ACL for the applicable bucket.-cbGrantWriteACP :: Lens' CreateBucket (Maybe Text)-cbGrantWriteACP = lens _cbGrantWriteACP (\s a -> s { _cbGrantWriteACP = a })+-- | The canned ACL to apply to the bucket.+cbACL :: Lens' CreateBucket (Maybe BucketCannedACL)+cbACL = lens _cbACL (\ s a -> s{_cbACL = a}); -newtype CreateBucketResponse = CreateBucketResponse-    { _cbrLocation :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- | Undocumented member.+cbBucket :: Lens' CreateBucket BucketName+cbBucket = lens _cbBucket (\ s a -> s{_cbBucket = a}); --- | 'CreateBucketResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cbrLocation' @::@ 'Maybe' 'Text'----createBucketResponse :: CreateBucketResponse-createBucketResponse = CreateBucketResponse-    { _cbrLocation = Nothing-    }+instance AWSRequest CreateBucket where+        type Sv CreateBucket = S3+        type Rs CreateBucket = CreateBucketResponse+        request = putXML+        response+          = receiveEmpty+              (\ s h x ->+                 CreateBucketResponse' <$>+                   (h .#? "Location") <*> (pure (fromEnum s))) -cbrLocation :: Lens' CreateBucketResponse (Maybe Text)-cbrLocation = lens _cbrLocation (\s a -> s { _cbrLocation = a })+instance ToElement CreateBucket where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}CreateBucketConfiguration"+              .+              _cbCreateBucketConfiguration +instance ToHeaders CreateBucket where+        toHeaders CreateBucket'{..}+          = mconcat+              ["x-amz-grant-read-acp" =# _cbGrantReadACP,+               "x-amz-grant-write-acp" =# _cbGrantWriteACP,+               "x-amz-grant-read" =# _cbGrantRead,+               "x-amz-grant-full-control" =# _cbGrantFullControl,+               "x-amz-grant-write" =# _cbGrantWrite,+               "x-amz-acl" =# _cbACL]+ instance ToPath CreateBucket where-    toPath CreateBucket{..} = mconcat-        [ "/"-        , toText _cbBucket-        ]+        toPath CreateBucket'{..}+          = mconcat ["/", toBS _cbBucket]  instance ToQuery CreateBucket where-    toQuery = const mempty--instance ToHeaders CreateBucket where-    toHeaders CreateBucket{..} = mconcat-        [ "x-amz-acl"                =: _cbACL-        , "x-amz-grant-full-control" =: _cbGrantFullControl-        , "x-amz-grant-read"         =: _cbGrantRead-        , "x-amz-grant-read-acp"     =: _cbGrantReadACP-        , "x-amz-grant-write"        =: _cbGrantWrite-        , "x-amz-grant-write-acp"    =: _cbGrantWriteACP-        ]+        toQuery = const mempty -instance ToXMLRoot CreateBucket where-    toXMLRoot = extractRoot ns . toXML . _cbCreateBucketConfiguration+-- | /See:/ 'createBucketResponse' smart constructor.+data CreateBucketResponse = CreateBucketResponse'+    { _cbrsLocation :: !(Maybe Text)+    , _cbrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXML CreateBucket+-- | Creates a value of 'CreateBucketResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbrsLocation'+--+-- * 'cbrsStatus'+createBucketResponse+    :: Int -- ^ 'cbrsStatus'+    -> CreateBucketResponse+createBucketResponse pStatus_ =+    CreateBucketResponse'+    { _cbrsLocation = Nothing+    , _cbrsStatus = pStatus_+    } -instance AWSRequest CreateBucket where-    type Sv CreateBucket = S3-    type Rs CreateBucket = CreateBucketResponse+-- | Undocumented member.+cbrsLocation :: Lens' CreateBucketResponse (Maybe Text)+cbrsLocation = lens _cbrsLocation (\ s a -> s{_cbrsLocation = a}); -    request  = put-    response = headerResponse $ \h -> CreateBucketResponse-        <$> h ~:? "Location"+-- | The response status code.+cbrsStatus :: Lens' CreateBucketResponse Int+cbrsStatus = lens _cbrsStatus (\ s a -> s{_cbrsStatus = a});
gen/Network/AWS/S3/CreateMultipartUpload.hs view
@@ -1,436 +1,438 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.CreateMultipartUpload--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Initiates a multipart upload and returns an upload ID.+-- Initiates a multipart upload and returns an upload ID. ----- Note: After you initiate multipart upload and upload one or more parts, you--- must either complete or abort multipart upload in order to stop getting--- charged for storage of the uploaded parts. Only after you either complete or--- abort multipart upload, Amazon S3 frees up the parts storage and stops--- charging you for the parts storage.+-- __Note:__ After you initiate multipart upload and upload one or more+-- parts, you must either complete or abort multipart upload in order to+-- stop getting charged for storage of the uploaded parts. Only after you+-- either complete or abort multipart upload, Amazon S3 frees up the parts+-- storage and stops charging you for the parts storage. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/CreateMultipartUpload.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/CreateMultipartUpload.html AWS API Reference> for CreateMultipartUpload. module Network.AWS.S3.CreateMultipartUpload     (-    -- * Request-      CreateMultipartUpload-    -- ** Request constructor-    , createMultipartUpload-    -- ** Request lenses-    , cmuACL-    , cmuBucket-    , cmuCacheControl-    , cmuContentDisposition-    , cmuContentEncoding-    , cmuContentLanguage-    , cmuContentType+    -- * Creating a Request+      createMultipartUpload+    , CreateMultipartUpload+    -- * Request Lenses     , cmuExpires-    , cmuGrantFullControl-    , cmuGrantRead-    , cmuGrantReadACP-    , cmuGrantWriteACP-    , cmuKey-    , cmuMetadata-    , cmuRequestPayer     , cmuSSECustomerAlgorithm+    , cmuGrantReadACP     , cmuSSECustomerKey-    , cmuSSECustomerKeyMD5+    , cmuRequestPayer+    , cmuGrantWriteACP+    , cmuWebsiteRedirectLocation+    , cmuGrantRead+    , cmuStorageClass+    , cmuContentEncoding     , cmuSSEKMSKeyId+    , cmuGrantFullControl+    , cmuSSECustomerKeyMD5+    , cmuMetadata+    , cmuCacheControl+    , cmuContentLanguage+    , cmuACL+    , cmuContentDisposition     , cmuServerSideEncryption-    , cmuStorageClass-    , cmuWebsiteRedirectLocation+    , cmuContentType+    , cmuBucket+    , cmuKey -    -- * Response-    , CreateMultipartUploadResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createMultipartUploadResponse-    -- ** Response lenses-    , cmurBucket-    , cmurKey-    , cmurRequestCharged-    , cmurSSECustomerAlgorithm-    , cmurSSECustomerKeyMD5-    , cmurSSEKMSKeyId-    , cmurServerSideEncryption-    , cmurUploadId+    , CreateMultipartUploadResponse+    -- * Response Lenses+    , cmursRequestCharged+    , cmursSSECustomerAlgorithm+    , cmursBucket+    , cmursKey+    , cmursSSEKMSKeyId+    , cmursSSECustomerKeyMD5+    , cmursUploadId+    , cmursServerSideEncryption+    , cmursStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data CreateMultipartUpload = CreateMultipartUpload-    { _cmuACL                     :: Maybe ObjectCannedACL-    , _cmuBucket                  :: Text-    , _cmuCacheControl            :: Maybe Text-    , _cmuContentDisposition      :: Maybe Text-    , _cmuContentEncoding         :: Maybe Text-    , _cmuContentLanguage         :: Maybe Text-    , _cmuContentType             :: Maybe Text-    , _cmuExpires                 :: Maybe RFC822-    , _cmuGrantFullControl        :: Maybe Text-    , _cmuGrantRead               :: Maybe Text-    , _cmuGrantReadACP            :: Maybe Text-    , _cmuGrantWriteACP           :: Maybe Text-    , _cmuKey                     :: Text-    , _cmuMetadata                :: Map (CI Text) Text-    , _cmuRequestPayer            :: Maybe RequestPayer-    , _cmuSSECustomerAlgorithm    :: Maybe Text-    , _cmuSSECustomerKey          :: Maybe (Sensitive Text)-    , _cmuSSECustomerKeyMD5       :: Maybe Text-    , _cmuSSEKMSKeyId             :: Maybe (Sensitive Text)-    , _cmuServerSideEncryption    :: Maybe ServerSideEncryption-    , _cmuStorageClass            :: Maybe StorageClass-    , _cmuWebsiteRedirectLocation :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'createMultipartUpload' smart constructor.+data CreateMultipartUpload = CreateMultipartUpload'+    { _cmuExpires                 :: !(Maybe RFC822)+    , _cmuSSECustomerAlgorithm    :: !(Maybe Text)+    , _cmuGrantReadACP            :: !(Maybe Text)+    , _cmuSSECustomerKey          :: !(Maybe (Sensitive Text))+    , _cmuRequestPayer            :: !(Maybe RequestPayer)+    , _cmuGrantWriteACP           :: !(Maybe Text)+    , _cmuWebsiteRedirectLocation :: !(Maybe Text)+    , _cmuGrantRead               :: !(Maybe Text)+    , _cmuStorageClass            :: !(Maybe StorageClass)+    , _cmuContentEncoding         :: !(Maybe Text)+    , _cmuSSEKMSKeyId             :: !(Maybe (Sensitive Text))+    , _cmuGrantFullControl        :: !(Maybe Text)+    , _cmuSSECustomerKeyMD5       :: !(Maybe Text)+    , _cmuMetadata                :: !(Map Text Text)+    , _cmuCacheControl            :: !(Maybe Text)+    , _cmuContentLanguage         :: !(Maybe Text)+    , _cmuACL                     :: !(Maybe ObjectCannedACL)+    , _cmuContentDisposition      :: !(Maybe Text)+    , _cmuServerSideEncryption    :: !(Maybe ServerSideEncryption)+    , _cmuContentType             :: !(Maybe Text)+    , _cmuBucket                  :: !BucketName+    , _cmuKey                     :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'CreateMultipartUpload' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'CreateMultipartUpload' with the minimum fields required to make a request. ----- * 'cmuACL' @::@ 'Maybe' 'ObjectCannedACL'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cmuBucket' @::@ 'Text'+-- * 'cmuExpires' ----- * 'cmuCacheControl' @::@ 'Maybe' 'Text'+-- * 'cmuSSECustomerAlgorithm' ----- * 'cmuContentDisposition' @::@ 'Maybe' 'Text'+-- * 'cmuGrantReadACP' ----- * 'cmuContentEncoding' @::@ 'Maybe' 'Text'+-- * 'cmuSSECustomerKey' ----- * 'cmuContentLanguage' @::@ 'Maybe' 'Text'+-- * 'cmuRequestPayer' ----- * 'cmuContentType' @::@ 'Maybe' 'Text'+-- * 'cmuGrantWriteACP' ----- * 'cmuExpires' @::@ 'Maybe' 'UTCTime'+-- * 'cmuWebsiteRedirectLocation' ----- * 'cmuGrantFullControl' @::@ 'Maybe' 'Text'+-- * 'cmuGrantRead' ----- * 'cmuGrantRead' @::@ 'Maybe' 'Text'+-- * 'cmuStorageClass' ----- * 'cmuGrantReadACP' @::@ 'Maybe' 'Text'+-- * 'cmuContentEncoding' ----- * 'cmuGrantWriteACP' @::@ 'Maybe' 'Text'+-- * 'cmuSSEKMSKeyId' ----- * 'cmuKey' @::@ 'Text'+-- * 'cmuGrantFullControl' ----- * 'cmuMetadata' @::@ 'HashMap' ('CI' 'Text') 'Text'+-- * 'cmuSSECustomerKeyMD5' ----- * 'cmuRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'cmuMetadata' ----- * 'cmuSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'cmuCacheControl' ----- * 'cmuSSECustomerKey' @::@ 'Maybe' 'Text'+-- * 'cmuContentLanguage' ----- * 'cmuSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'cmuACL' ----- * 'cmuSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'cmuContentDisposition' ----- * 'cmuServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'cmuServerSideEncryption' ----- * 'cmuStorageClass' @::@ 'Maybe' 'StorageClass'+-- * 'cmuContentType' ----- * 'cmuWebsiteRedirectLocation' @::@ 'Maybe' 'Text'+-- * 'cmuBucket' ---createMultipartUpload :: Text -- ^ 'cmuBucket'-                      -> Text -- ^ 'cmuKey'-                      -> CreateMultipartUpload-createMultipartUpload p1 p2 = CreateMultipartUpload-    { _cmuBucket                  = p1-    , _cmuKey                     = p2-    , _cmuACL                     = Nothing-    , _cmuCacheControl            = Nothing-    , _cmuContentDisposition      = Nothing-    , _cmuContentEncoding         = Nothing-    , _cmuContentLanguage         = Nothing-    , _cmuContentType             = Nothing-    , _cmuExpires                 = Nothing-    , _cmuGrantFullControl        = Nothing-    , _cmuGrantRead               = Nothing-    , _cmuGrantReadACP            = Nothing-    , _cmuGrantWriteACP           = Nothing-    , _cmuMetadata                = mempty-    , _cmuServerSideEncryption    = Nothing-    , _cmuStorageClass            = Nothing+-- * 'cmuKey'+createMultipartUpload+    :: BucketName -- ^ 'cmuBucket'+    -> ObjectKey -- ^ 'cmuKey'+    -> CreateMultipartUpload+createMultipartUpload pBucket_ pKey_ =+    CreateMultipartUpload'+    { _cmuExpires = Nothing+    , _cmuSSECustomerAlgorithm = Nothing+    , _cmuGrantReadACP = Nothing+    , _cmuSSECustomerKey = Nothing+    , _cmuRequestPayer = Nothing+    , _cmuGrantWriteACP = Nothing     , _cmuWebsiteRedirectLocation = Nothing-    , _cmuSSECustomerAlgorithm    = Nothing-    , _cmuSSECustomerKey          = Nothing-    , _cmuSSECustomerKeyMD5       = Nothing-    , _cmuSSEKMSKeyId             = Nothing-    , _cmuRequestPayer            = Nothing+    , _cmuGrantRead = Nothing+    , _cmuStorageClass = Nothing+    , _cmuContentEncoding = Nothing+    , _cmuSSEKMSKeyId = Nothing+    , _cmuGrantFullControl = Nothing+    , _cmuSSECustomerKeyMD5 = Nothing+    , _cmuMetadata = mempty+    , _cmuCacheControl = Nothing+    , _cmuContentLanguage = Nothing+    , _cmuACL = Nothing+    , _cmuContentDisposition = Nothing+    , _cmuServerSideEncryption = Nothing+    , _cmuContentType = Nothing+    , _cmuBucket = pBucket_+    , _cmuKey = pKey_     } --- | The canned ACL to apply to the object.-cmuACL :: Lens' CreateMultipartUpload (Maybe ObjectCannedACL)-cmuACL = lens _cmuACL (\s a -> s { _cmuACL = a })--cmuBucket :: Lens' CreateMultipartUpload Text-cmuBucket = lens _cmuBucket (\s a -> s { _cmuBucket = a })---- | Specifies caching behavior along the request/reply chain.-cmuCacheControl :: Lens' CreateMultipartUpload (Maybe Text)-cmuCacheControl = lens _cmuCacheControl (\s a -> s { _cmuCacheControl = a })+-- | The date and time at which the object is no longer cacheable.+cmuExpires :: Lens' CreateMultipartUpload (Maybe UTCTime)+cmuExpires = lens _cmuExpires (\ s a -> s{_cmuExpires = a}) . mapping _Time; --- | Specifies presentational information for the object.-cmuContentDisposition :: Lens' CreateMultipartUpload (Maybe Text)-cmuContentDisposition =-    lens _cmuContentDisposition (\s a -> s { _cmuContentDisposition = a })+-- | Specifies the algorithm to use to when encrypting the object (e.g.,+-- AES256).+cmuSSECustomerAlgorithm :: Lens' CreateMultipartUpload (Maybe Text)+cmuSSECustomerAlgorithm = lens _cmuSSECustomerAlgorithm (\ s a -> s{_cmuSSECustomerAlgorithm = a}); --- | Specifies what content encodings have been applied to the object and thus--- what decoding mechanisms must be applied to obtain the media-type referenced--- by the Content-Type header field.-cmuContentEncoding :: Lens' CreateMultipartUpload (Maybe Text)-cmuContentEncoding =-    lens _cmuContentEncoding (\s a -> s { _cmuContentEncoding = a })+-- | Allows grantee to read the object ACL.+cmuGrantReadACP :: Lens' CreateMultipartUpload (Maybe Text)+cmuGrantReadACP = lens _cmuGrantReadACP (\ s a -> s{_cmuGrantReadACP = a}); --- | The language the content is in.-cmuContentLanguage :: Lens' CreateMultipartUpload (Maybe Text)-cmuContentLanguage =-    lens _cmuContentLanguage (\s a -> s { _cmuContentLanguage = a })+-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- x-amz-server-side​-encryption​-customer-algorithm header.+cmuSSECustomerKey :: Lens' CreateMultipartUpload (Maybe Text)+cmuSSECustomerKey = lens _cmuSSECustomerKey (\ s a -> s{_cmuSSECustomerKey = a}) . mapping _Sensitive; --- | A standard MIME type describing the format of the object data.-cmuContentType :: Lens' CreateMultipartUpload (Maybe Text)-cmuContentType = lens _cmuContentType (\s a -> s { _cmuContentType = a })+-- | Undocumented member.+cmuRequestPayer :: Lens' CreateMultipartUpload (Maybe RequestPayer)+cmuRequestPayer = lens _cmuRequestPayer (\ s a -> s{_cmuRequestPayer = a}); --- | The date and time at which the object is no longer cacheable.-cmuExpires :: Lens' CreateMultipartUpload (Maybe UTCTime)-cmuExpires = lens _cmuExpires (\s a -> s { _cmuExpires = a }) . mapping _Time+-- | Allows grantee to write the ACL for the applicable object.+cmuGrantWriteACP :: Lens' CreateMultipartUpload (Maybe Text)+cmuGrantWriteACP = lens _cmuGrantWriteACP (\ s a -> s{_cmuGrantWriteACP = a}); --- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.-cmuGrantFullControl :: Lens' CreateMultipartUpload (Maybe Text)-cmuGrantFullControl =-    lens _cmuGrantFullControl (\s a -> s { _cmuGrantFullControl = a })+-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+cmuWebsiteRedirectLocation :: Lens' CreateMultipartUpload (Maybe Text)+cmuWebsiteRedirectLocation = lens _cmuWebsiteRedirectLocation (\ s a -> s{_cmuWebsiteRedirectLocation = a});  -- | Allows grantee to read the object data and its metadata. cmuGrantRead :: Lens' CreateMultipartUpload (Maybe Text)-cmuGrantRead = lens _cmuGrantRead (\s a -> s { _cmuGrantRead = a })+cmuGrantRead = lens _cmuGrantRead (\ s a -> s{_cmuGrantRead = a}); --- | Allows grantee to read the object ACL.-cmuGrantReadACP :: Lens' CreateMultipartUpload (Maybe Text)-cmuGrantReadACP = lens _cmuGrantReadACP (\s a -> s { _cmuGrantReadACP = a })+-- | The type of storage to use for the object. Defaults to \'STANDARD\'.+cmuStorageClass :: Lens' CreateMultipartUpload (Maybe StorageClass)+cmuStorageClass = lens _cmuStorageClass (\ s a -> s{_cmuStorageClass = a}); --- | Allows grantee to write the ACL for the applicable object.-cmuGrantWriteACP :: Lens' CreateMultipartUpload (Maybe Text)-cmuGrantWriteACP = lens _cmuGrantWriteACP (\s a -> s { _cmuGrantWriteACP = a })+-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+cmuContentEncoding :: Lens' CreateMultipartUpload (Maybe Text)+cmuContentEncoding = lens _cmuContentEncoding (\ s a -> s{_cmuContentEncoding = a}); -cmuKey :: Lens' CreateMultipartUpload Text-cmuKey = lens _cmuKey (\s a -> s { _cmuKey = a })+-- | Specifies the AWS KMS key ID to use for object encryption. All GET and+-- PUT requests for an object protected by AWS KMS will fail if not made+-- via SSL or using SigV4. Documentation on configuring any of the+-- officially supported AWS SDKs and CLI can be found at+-- http:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/dev\/UsingAWSSDK.html#specify-signature-version+cmuSSEKMSKeyId :: Lens' CreateMultipartUpload (Maybe Text)+cmuSSEKMSKeyId = lens _cmuSSEKMSKeyId (\ s a -> s{_cmuSSEKMSKeyId = a}) . mapping _Sensitive; --- | A map of metadata to store with the object in S3.-cmuMetadata :: Lens' CreateMultipartUpload (HashMap (CI Text) Text)-cmuMetadata = lens _cmuMetadata (\s a -> s { _cmuMetadata = a }) . _Map+-- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+-- object.+cmuGrantFullControl :: Lens' CreateMultipartUpload (Maybe Text)+cmuGrantFullControl = lens _cmuGrantFullControl (\ s a -> s{_cmuGrantFullControl = a}); -cmuRequestPayer :: Lens' CreateMultipartUpload (Maybe RequestPayer)-cmuRequestPayer = lens _cmuRequestPayer (\s a -> s { _cmuRequestPayer = a })+-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- the encryption key was transmitted without error.+cmuSSECustomerKeyMD5 :: Lens' CreateMultipartUpload (Maybe Text)+cmuSSECustomerKeyMD5 = lens _cmuSSECustomerKeyMD5 (\ s a -> s{_cmuSSECustomerKeyMD5 = a}); --- | Specifies the algorithm to use to when encrypting the object (e.g., AES256,--- aws:kms).-cmuSSECustomerAlgorithm :: Lens' CreateMultipartUpload (Maybe Text)-cmuSSECustomerAlgorithm =-    lens _cmuSSECustomerAlgorithm (\s a -> s { _cmuSSECustomerAlgorithm = a })+-- | A map of metadata to store with the object in S3.+cmuMetadata :: Lens' CreateMultipartUpload (HashMap Text Text)+cmuMetadata = lens _cmuMetadata (\ s a -> s{_cmuMetadata = a}) . _Map; --- | Specifies the customer-provided encryption key for Amazon S3 to use in--- encrypting data. This value is used to store the object and then it is--- discarded; Amazon does not store the encryption key. The key must be--- appropriate for use with the algorithm specified in the--- x-amz-server-side​-encryption​-customer-algorithm header.-cmuSSECustomerKey :: Lens' CreateMultipartUpload (Maybe Text)-cmuSSECustomerKey =-    lens _cmuSSECustomerKey (\s a -> s { _cmuSSECustomerKey = a })-        . mapping _Sensitive+-- | Specifies caching behavior along the request\/reply chain.+cmuCacheControl :: Lens' CreateMultipartUpload (Maybe Text)+cmuCacheControl = lens _cmuCacheControl (\ s a -> s{_cmuCacheControl = a}); --- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.--- Amazon S3 uses this header for a message integrity check to ensure the--- encryption key was transmitted without error.-cmuSSECustomerKeyMD5 :: Lens' CreateMultipartUpload (Maybe Text)-cmuSSECustomerKeyMD5 =-    lens _cmuSSECustomerKeyMD5 (\s a -> s { _cmuSSECustomerKeyMD5 = a })+-- | The language the content is in.+cmuContentLanguage :: Lens' CreateMultipartUpload (Maybe Text)+cmuContentLanguage = lens _cmuContentLanguage (\ s a -> s{_cmuContentLanguage = a}); --- | Specifies the AWS KMS key ID to use for object encryption. All GET and PUT--- requests for an object protected by AWS KMS will fail if not made via SSL or--- using SigV4. Documentation on configuring any of the officially supported AWS--- SDKs and CLI can be found at--- http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version-cmuSSEKMSKeyId :: Lens' CreateMultipartUpload (Maybe Text)-cmuSSEKMSKeyId = lens _cmuSSEKMSKeyId (\s a -> s { _cmuSSEKMSKeyId = a }) . mapping _Sensitive+-- | The canned ACL to apply to the object.+cmuACL :: Lens' CreateMultipartUpload (Maybe ObjectCannedACL)+cmuACL = lens _cmuACL (\ s a -> s{_cmuACL = a}); +-- | Specifies presentational information for the object.+cmuContentDisposition :: Lens' CreateMultipartUpload (Maybe Text)+cmuContentDisposition = lens _cmuContentDisposition (\ s a -> s{_cmuContentDisposition = a});+ -- | The Server-side encryption algorithm used when storing this object in S3 -- (e.g., AES256, aws:kms). cmuServerSideEncryption :: Lens' CreateMultipartUpload (Maybe ServerSideEncryption)-cmuServerSideEncryption =-    lens _cmuServerSideEncryption (\s a -> s { _cmuServerSideEncryption = a })+cmuServerSideEncryption = lens _cmuServerSideEncryption (\ s a -> s{_cmuServerSideEncryption = a}); --- | The type of storage to use for the object. Defaults to 'STANDARD'.-cmuStorageClass :: Lens' CreateMultipartUpload (Maybe StorageClass)-cmuStorageClass = lens _cmuStorageClass (\s a -> s { _cmuStorageClass = a })+-- | A standard MIME type describing the format of the object data.+cmuContentType :: Lens' CreateMultipartUpload (Maybe Text)+cmuContentType = lens _cmuContentType (\ s a -> s{_cmuContentType = a}); --- | If the bucket is configured as a website, redirects requests for this object--- to another object in the same bucket or to an external URL. Amazon S3 stores--- the value of this header in the object metadata.-cmuWebsiteRedirectLocation :: Lens' CreateMultipartUpload (Maybe Text)-cmuWebsiteRedirectLocation =-    lens _cmuWebsiteRedirectLocation-        (\s a -> s { _cmuWebsiteRedirectLocation = a })+-- | Undocumented member.+cmuBucket :: Lens' CreateMultipartUpload BucketName+cmuBucket = lens _cmuBucket (\ s a -> s{_cmuBucket = a}); -data CreateMultipartUploadResponse = CreateMultipartUploadResponse-    { _cmurBucket               :: Maybe Text-    , _cmurKey                  :: Maybe Text-    , _cmurRequestCharged       :: Maybe RequestCharged-    , _cmurSSECustomerAlgorithm :: Maybe Text-    , _cmurSSECustomerKeyMD5    :: Maybe Text-    , _cmurSSEKMSKeyId          :: Maybe (Sensitive Text)-    , _cmurServerSideEncryption :: Maybe ServerSideEncryption-    , _cmurUploadId             :: Maybe Text-    } deriving (Eq, Read, Show)+-- | Undocumented member.+cmuKey :: Lens' CreateMultipartUpload ObjectKey+cmuKey = lens _cmuKey (\ s a -> s{_cmuKey = a}); --- | 'CreateMultipartUploadResponse' constructor.+instance AWSRequest CreateMultipartUpload where+        type Sv CreateMultipartUpload = S3+        type Rs CreateMultipartUpload =+             CreateMultipartUploadResponse+        request = post+        response+          = receiveXML+              (\ s h x ->+                 CreateMultipartUploadResponse' <$>+                   (h .#? "x-amz-request-charged") <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-algorithm")+                     <*> (x .@? "Bucket")+                     <*> (x .@? "Key")+                     <*>+                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-key-MD5")+                     <*> (x .@? "UploadId")+                     <*> (h .#? "x-amz-server-side-encryption")+                     <*> (pure (fromEnum s)))++instance ToHeaders CreateMultipartUpload where+        toHeaders CreateMultipartUpload'{..}+          = mconcat+              ["Expires" =# _cmuExpires,+               "x-amz-server-side-encryption-customer-algorithm" =#+                 _cmuSSECustomerAlgorithm,+               "x-amz-grant-read-acp" =# _cmuGrantReadACP,+               "x-amz-server-side-encryption-customer-key" =#+                 _cmuSSECustomerKey,+               "x-amz-request-payer" =# _cmuRequestPayer,+               "x-amz-grant-write-acp" =# _cmuGrantWriteACP,+               "x-amz-website-redirect-location" =#+                 _cmuWebsiteRedirectLocation,+               "x-amz-grant-read" =# _cmuGrantRead,+               "x-amz-storage-class" =# _cmuStorageClass,+               "Content-Encoding" =# _cmuContentEncoding,+               "x-amz-server-side-encryption-aws-kms-key-id" =#+                 _cmuSSEKMSKeyId,+               "x-amz-grant-full-control" =# _cmuGrantFullControl,+               "x-amz-server-side-encryption-customer-key-MD5" =#+                 _cmuSSECustomerKeyMD5,+               "x-amz-meta-" =# _cmuMetadata,+               "Cache-Control" =# _cmuCacheControl,+               "Content-Language" =# _cmuContentLanguage,+               "x-amz-acl" =# _cmuACL,+               "Content-Disposition" =# _cmuContentDisposition,+               "x-amz-server-side-encryption" =#+                 _cmuServerSideEncryption,+               "Content-Type" =# _cmuContentType]++instance ToPath CreateMultipartUpload where+        toPath CreateMultipartUpload'{..}+          = mconcat ["/", toBS _cmuBucket, "/", toBS _cmuKey]++instance ToQuery CreateMultipartUpload where+        toQuery = const (mconcat ["uploads"])++-- | /See:/ 'createMultipartUploadResponse' smart constructor.+data CreateMultipartUploadResponse = CreateMultipartUploadResponse'+    { _cmursRequestCharged       :: !(Maybe RequestCharged)+    , _cmursSSECustomerAlgorithm :: !(Maybe Text)+    , _cmursBucket               :: !(Maybe BucketName)+    , _cmursKey                  :: !(Maybe ObjectKey)+    , _cmursSSEKMSKeyId          :: !(Maybe (Sensitive Text))+    , _cmursSSECustomerKeyMD5    :: !(Maybe Text)+    , _cmursUploadId             :: !(Maybe Text)+    , _cmursServerSideEncryption :: !(Maybe ServerSideEncryption)+    , _cmursStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateMultipartUploadResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'cmurBucket' @::@ 'Maybe' 'Text'+-- * 'cmursRequestCharged' ----- * 'cmurKey' @::@ 'Maybe' 'Text'+-- * 'cmursSSECustomerAlgorithm' ----- * 'cmurRequestCharged' @::@ 'Maybe' 'RequestCharged'+-- * 'cmursBucket' ----- * 'cmurSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'cmursKey' ----- * 'cmurSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'cmursSSEKMSKeyId' ----- * 'cmurSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'cmursSSECustomerKeyMD5' ----- * 'cmurServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'cmursUploadId' ----- * 'cmurUploadId' @::@ 'Maybe' 'Text'+-- * 'cmursServerSideEncryption' ---createMultipartUploadResponse :: CreateMultipartUploadResponse-createMultipartUploadResponse = CreateMultipartUploadResponse-    { _cmurBucket               = Nothing-    , _cmurKey                  = Nothing-    , _cmurUploadId             = Nothing-    , _cmurServerSideEncryption = Nothing-    , _cmurSSECustomerAlgorithm = Nothing-    , _cmurSSECustomerKeyMD5    = Nothing-    , _cmurSSEKMSKeyId          = Nothing-    , _cmurRequestCharged       = Nothing+-- * 'cmursStatus'+createMultipartUploadResponse+    :: Int -- ^ 'cmursStatus'+    -> CreateMultipartUploadResponse+createMultipartUploadResponse pStatus_ =+    CreateMultipartUploadResponse'+    { _cmursRequestCharged = Nothing+    , _cmursSSECustomerAlgorithm = Nothing+    , _cmursBucket = Nothing+    , _cmursKey = Nothing+    , _cmursSSEKMSKeyId = Nothing+    , _cmursSSECustomerKeyMD5 = Nothing+    , _cmursUploadId = Nothing+    , _cmursServerSideEncryption = Nothing+    , _cmursStatus = pStatus_     } +-- | Undocumented member.+cmursRequestCharged :: Lens' CreateMultipartUploadResponse (Maybe RequestCharged)+cmursRequestCharged = lens _cmursRequestCharged (\ s a -> s{_cmursRequestCharged = a});++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+cmursSSECustomerAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe Text)+cmursSSECustomerAlgorithm = lens _cmursSSECustomerAlgorithm (\ s a -> s{_cmursSSECustomerAlgorithm = a});+ -- | Name of the bucket to which the multipart upload was initiated.-cmurBucket :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmurBucket = lens _cmurBucket (\s a -> s { _cmurBucket = a })+cmursBucket :: Lens' CreateMultipartUploadResponse (Maybe BucketName)+cmursBucket = lens _cmursBucket (\ s a -> s{_cmursBucket = a});  -- | Object key for which the multipart upload was initiated.-cmurKey :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmurKey = lens _cmurKey (\s a -> s { _cmurKey = a })--cmurRequestCharged :: Lens' CreateMultipartUploadResponse (Maybe RequestCharged)-cmurRequestCharged =-    lens _cmurRequestCharged (\s a -> s { _cmurRequestCharged = a })+cmursKey :: Lens' CreateMultipartUploadResponse (Maybe ObjectKey)+cmursKey = lens _cmursKey (\ s a -> s{_cmursKey = a}); --- | If server-side encryption with a customer-provided encryption key was--- requested, the response will include this header confirming the encryption--- algorithm used.-cmurSSECustomerAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmurSSECustomerAlgorithm =-    lens _cmurSSECustomerAlgorithm-        (\s a -> s { _cmurSSECustomerAlgorithm = a })+-- | If present, specifies the ID of the AWS Key Management Service (KMS)+-- master encryption key that was used for the object.+cmursSSEKMSKeyId :: Lens' CreateMultipartUploadResponse (Maybe Text)+cmursSSEKMSKeyId = lens _cmursSSEKMSKeyId (\ s a -> s{_cmursSSEKMSKeyId = a}) . mapping _Sensitive;  -- | If server-side encryption with a customer-provided encryption key was -- requested, the response will include this header to provide round trip -- message integrity verification of the customer-provided encryption key.-cmurSSECustomerKeyMD5 :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmurSSECustomerKeyMD5 =-    lens _cmurSSECustomerKeyMD5 (\s a -> s { _cmurSSECustomerKeyMD5 = a })+cmursSSECustomerKeyMD5 :: Lens' CreateMultipartUploadResponse (Maybe Text)+cmursSSECustomerKeyMD5 = lens _cmursSSECustomerKeyMD5 (\ s a -> s{_cmursSSECustomerKeyMD5 = a}); --- | If present, specifies the ID of the AWS Key Management Service (KMS) master--- encryption key that was used for the object.-cmurSSEKMSKeyId :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmurSSEKMSKeyId = lens _cmurSSEKMSKeyId (\s a -> s { _cmurSSEKMSKeyId = a }) . mapping _Sensitive+-- | ID for the initiated multipart upload.+cmursUploadId :: Lens' CreateMultipartUploadResponse (Maybe Text)+cmursUploadId = lens _cmursUploadId (\ s a -> s{_cmursUploadId = a});  -- | The Server-side encryption algorithm used when storing this object in S3 -- (e.g., AES256, aws:kms).-cmurServerSideEncryption :: Lens' CreateMultipartUploadResponse (Maybe ServerSideEncryption)-cmurServerSideEncryption =-    lens _cmurServerSideEncryption-        (\s a -> s { _cmurServerSideEncryption = a })---- | ID for the initiated multipart upload.-cmurUploadId :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmurUploadId = lens _cmurUploadId (\s a -> s { _cmurUploadId = a })--instance ToPath CreateMultipartUpload where-    toPath CreateMultipartUpload{..} = mconcat-        [ "/"-        , toText _cmuBucket-        , "/"-        , toText _cmuKey-        ]--instance ToQuery CreateMultipartUpload where-    toQuery = const "uploads"--instance ToHeaders CreateMultipartUpload where-    toHeaders CreateMultipartUpload{..} = mconcat-        [ "x-amz-acl"                                       =: _cmuACL-        , "Cache-Control"                                   =: _cmuCacheControl-        , "Content-Disposition"                             =: _cmuContentDisposition-        , "Content-Encoding"                                =: _cmuContentEncoding-        , "Content-Language"                                =: _cmuContentLanguage-        , "Content-Type"                                    =: _cmuContentType-        , "Expires"                                         =: _cmuExpires-        , "x-amz-grant-full-control"                        =: _cmuGrantFullControl-        , "x-amz-grant-read"                                =: _cmuGrantRead-        , "x-amz-grant-read-acp"                            =: _cmuGrantReadACP-        , "x-amz-grant-write-acp"                           =: _cmuGrantWriteACP-        , "x-amz-meta-"                                     =: _cmuMetadata-        , "x-amz-server-side-encryption"                    =: _cmuServerSideEncryption-        , "x-amz-storage-class"                             =: _cmuStorageClass-        , "x-amz-website-redirect-location"                 =: _cmuWebsiteRedirectLocation-        , "x-amz-server-side-encryption-customer-algorithm" =: _cmuSSECustomerAlgorithm-        , "x-amz-server-side-encryption-customer-key"       =: _cmuSSECustomerKey-        , "x-amz-server-side-encryption-customer-key-MD5"   =: _cmuSSECustomerKeyMD5-        , "x-amz-server-side-encryption-aws-kms-key-id"     =: _cmuSSEKMSKeyId-        , "x-amz-request-payer"                             =: _cmuRequestPayer-        ]--instance ToXMLRoot CreateMultipartUpload where-    toXMLRoot = const (namespaced ns "CreateMultipartUpload" [])--instance ToXML CreateMultipartUpload--instance AWSRequest CreateMultipartUpload where-    type Sv CreateMultipartUpload = S3-    type Rs CreateMultipartUpload = CreateMultipartUploadResponse+cmursServerSideEncryption :: Lens' CreateMultipartUploadResponse (Maybe ServerSideEncryption)+cmursServerSideEncryption = lens _cmursServerSideEncryption (\ s a -> s{_cmursServerSideEncryption = a}); -    request  = post-    response = xmlHeaderResponse $ \h x -> CreateMultipartUploadResponse-        <$> x .@? "Bucket"-        <*> x .@? "Key"-        <*> h ~:? "x-amz-request-charged"-        <*> h ~:? "x-amz-server-side-encryption-customer-algorithm"-        <*> h ~:? "x-amz-server-side-encryption-customer-key-MD5"-        <*> h ~:? "x-amz-server-side-encryption-aws-kms-key-id"-        <*> h ~:? "x-amz-server-side-encryption"-        <*> x .@? "UploadId"+-- | The response status code.+cmursStatus :: Lens' CreateMultipartUploadResponse Int+cmursStatus = lens _cmursStatus (\ s a -> s{_cmursStatus = a});
gen/Network/AWS/S3/DeleteBucket.hs view
@@ -1,97 +1,92 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.DeleteBucket--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the bucket. All objects (including all object versions and Delete--- Markers) in the bucket must be deleted before the bucket itself can be--- deleted.+-- Deletes the bucket. All objects (including all object versions and+-- Delete Markers) in the bucket must be deleted before the bucket itself+-- can be deleted. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucket.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucket.html AWS API Reference> for DeleteBucket. module Network.AWS.S3.DeleteBucket     (-    -- * Request-      DeleteBucket-    -- ** Request constructor-    , deleteBucket-    -- ** Request lenses+    -- * Creating a Request+      deleteBucket+    , DeleteBucket+    -- * Request Lenses     , dbBucket -    -- * Response-    , DeleteBucketResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteBucketResponse+    , DeleteBucketResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype DeleteBucket = DeleteBucket-    { _dbBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'deleteBucket' smart constructor.+newtype DeleteBucket = DeleteBucket'+    { _dbBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteBucket' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteBucket' with the minimum fields required to make a request. ----- * 'dbBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteBucket :: Text -- ^ 'dbBucket'-             -> DeleteBucket-deleteBucket p1 = DeleteBucket-    { _dbBucket = p1+-- * 'dbBucket'+deleteBucket+    :: BucketName -- ^ 'dbBucket'+    -> DeleteBucket+deleteBucket pBucket_ =+    DeleteBucket'+    { _dbBucket = pBucket_     } -dbBucket :: Lens' DeleteBucket Text-dbBucket = lens _dbBucket (\s a -> s { _dbBucket = a })+-- | Undocumented member.+dbBucket :: Lens' DeleteBucket BucketName+dbBucket = lens _dbBucket (\ s a -> s{_dbBucket = a}); -data DeleteBucketResponse = DeleteBucketResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteBucket where+        type Sv DeleteBucket = S3+        type Rs DeleteBucket = DeleteBucketResponse+        request = delete+        response = receiveNull DeleteBucketResponse' --- | 'DeleteBucketResponse' constructor.-deleteBucketResponse :: DeleteBucketResponse-deleteBucketResponse = DeleteBucketResponse+instance ToHeaders DeleteBucket where+        toHeaders = const mempty  instance ToPath DeleteBucket where-    toPath DeleteBucket{..} = mconcat-        [ "/"-        , toText _dbBucket-        ]+        toPath DeleteBucket'{..}+          = mconcat ["/", toBS _dbBucket]  instance ToQuery DeleteBucket where-    toQuery = const mempty--instance ToHeaders DeleteBucket--instance ToXMLRoot DeleteBucket where-    toXMLRoot = const (namespaced ns "DeleteBucket" [])--instance ToXML DeleteBucket+        toQuery = const mempty -instance AWSRequest DeleteBucket where-    type Sv DeleteBucket = S3-    type Rs DeleteBucket = DeleteBucketResponse+-- | /See:/ 'deleteBucketResponse' smart constructor.+data DeleteBucketResponse =+    DeleteBucketResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = delete-    response = nullResponse DeleteBucketResponse+-- | Creates a value of 'DeleteBucketResponse' with the minimum fields required to make a request.+--+deleteBucketResponse+    :: DeleteBucketResponse+deleteBucketResponse = DeleteBucketResponse'
+ gen/Network/AWS/S3/DeleteBucketCORS.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.DeleteBucketCORS+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the cors configuration information set for the bucket.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketCORS.html AWS API Reference> for DeleteBucketCORS.+module Network.AWS.S3.DeleteBucketCORS+    (+    -- * Creating a Request+      deleteBucketCORS+    , DeleteBucketCORS+    -- * Request Lenses+    , dbcBucket++    -- * Destructuring the Response+    , deleteBucketCORSResponse+    , DeleteBucketCORSResponse+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product++-- | /See:/ 'deleteBucketCORS' smart constructor.+newtype DeleteBucketCORS = DeleteBucketCORS'+    { _dbcBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteBucketCORS' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dbcBucket'+deleteBucketCORS+    :: BucketName -- ^ 'dbcBucket'+    -> DeleteBucketCORS+deleteBucketCORS pBucket_ =+    DeleteBucketCORS'+    { _dbcBucket = pBucket_+    }++-- | Undocumented member.+dbcBucket :: Lens' DeleteBucketCORS BucketName+dbcBucket = lens _dbcBucket (\ s a -> s{_dbcBucket = a});++instance AWSRequest DeleteBucketCORS where+        type Sv DeleteBucketCORS = S3+        type Rs DeleteBucketCORS = DeleteBucketCORSResponse+        request = delete+        response = receiveNull DeleteBucketCORSResponse'++instance ToHeaders DeleteBucketCORS where+        toHeaders = const mempty++instance ToPath DeleteBucketCORS where+        toPath DeleteBucketCORS'{..}+          = mconcat ["/", toBS _dbcBucket]++instance ToQuery DeleteBucketCORS where+        toQuery = const (mconcat ["cors"])++-- | /See:/ 'deleteBucketCORSResponse' smart constructor.+data DeleteBucketCORSResponse =+    DeleteBucketCORSResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteBucketCORSResponse' with the minimum fields required to make a request.+--+deleteBucketCORSResponse+    :: DeleteBucketCORSResponse+deleteBucketCORSResponse = DeleteBucketCORSResponse'
− gen/Network/AWS/S3/DeleteBucketCors.hs
@@ -1,95 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.DeleteBucketCors--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the cors configuration information set for the bucket.------ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketCors.html>-module Network.AWS.S3.DeleteBucketCors-    (-    -- * Request-      DeleteBucketCors-    -- ** Request constructor-    , deleteBucketCors-    -- ** Request lenses-    , dbcBucket--    -- * Response-    , DeleteBucketCorsResponse-    -- ** Response constructor-    , deleteBucketCorsResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--newtype DeleteBucketCors = DeleteBucketCors-    { _dbcBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'DeleteBucketCors' constructor.------ The fields accessible through corresponding lenses are:------ * 'dbcBucket' @::@ 'Text'----deleteBucketCors :: Text -- ^ 'dbcBucket'-                 -> DeleteBucketCors-deleteBucketCors p1 = DeleteBucketCors-    { _dbcBucket = p1-    }--dbcBucket :: Lens' DeleteBucketCors Text-dbcBucket = lens _dbcBucket (\s a -> s { _dbcBucket = a })--data DeleteBucketCorsResponse = DeleteBucketCorsResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteBucketCorsResponse' constructor.-deleteBucketCorsResponse :: DeleteBucketCorsResponse-deleteBucketCorsResponse = DeleteBucketCorsResponse--instance ToPath DeleteBucketCors where-    toPath DeleteBucketCors{..} = mconcat-        [ "/"-        , toText _dbcBucket-        ]--instance ToQuery DeleteBucketCors where-    toQuery = const "cors"--instance ToHeaders DeleteBucketCors--instance ToXMLRoot DeleteBucketCors where-    toXMLRoot = const (namespaced ns "DeleteBucketCors" [])--instance ToXML DeleteBucketCors--instance AWSRequest DeleteBucketCors where-    type Sv DeleteBucketCors = S3-    type Rs DeleteBucketCors = DeleteBucketCorsResponse--    request  = delete-    response = nullResponse DeleteBucketCorsResponse
gen/Network/AWS/S3/DeleteBucketLifecycle.hs view
@@ -1,95 +1,91 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.DeleteBucketLifecycle--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the lifecycle configuration from the bucket.+-- Deletes the lifecycle configuration from the bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketLifecycle.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketLifecycle.html AWS API Reference> for DeleteBucketLifecycle. module Network.AWS.S3.DeleteBucketLifecycle     (-    -- * Request-      DeleteBucketLifecycle-    -- ** Request constructor-    , deleteBucketLifecycle-    -- ** Request lenses+    -- * Creating a Request+      deleteBucketLifecycle+    , DeleteBucketLifecycle+    -- * Request Lenses     , dblBucket -    -- * Response-    , DeleteBucketLifecycleResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteBucketLifecycleResponse+    , DeleteBucketLifecycleResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype DeleteBucketLifecycle = DeleteBucketLifecycle-    { _dblBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'deleteBucketLifecycle' smart constructor.+newtype DeleteBucketLifecycle = DeleteBucketLifecycle'+    { _dblBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteBucketLifecycle' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteBucketLifecycle' with the minimum fields required to make a request. ----- * 'dblBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteBucketLifecycle :: Text -- ^ 'dblBucket'-                      -> DeleteBucketLifecycle-deleteBucketLifecycle p1 = DeleteBucketLifecycle-    { _dblBucket = p1+-- * 'dblBucket'+deleteBucketLifecycle+    :: BucketName -- ^ 'dblBucket'+    -> DeleteBucketLifecycle+deleteBucketLifecycle pBucket_ =+    DeleteBucketLifecycle'+    { _dblBucket = pBucket_     } -dblBucket :: Lens' DeleteBucketLifecycle Text-dblBucket = lens _dblBucket (\s a -> s { _dblBucket = a })+-- | Undocumented member.+dblBucket :: Lens' DeleteBucketLifecycle BucketName+dblBucket = lens _dblBucket (\ s a -> s{_dblBucket = a}); -data DeleteBucketLifecycleResponse = DeleteBucketLifecycleResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteBucketLifecycle where+        type Sv DeleteBucketLifecycle = S3+        type Rs DeleteBucketLifecycle =+             DeleteBucketLifecycleResponse+        request = delete+        response = receiveNull DeleteBucketLifecycleResponse' --- | 'DeleteBucketLifecycleResponse' constructor.-deleteBucketLifecycleResponse :: DeleteBucketLifecycleResponse-deleteBucketLifecycleResponse = DeleteBucketLifecycleResponse+instance ToHeaders DeleteBucketLifecycle where+        toHeaders = const mempty  instance ToPath DeleteBucketLifecycle where-    toPath DeleteBucketLifecycle{..} = mconcat-        [ "/"-        , toText _dblBucket-        ]+        toPath DeleteBucketLifecycle'{..}+          = mconcat ["/", toBS _dblBucket]  instance ToQuery DeleteBucketLifecycle where-    toQuery = const "lifecycle"--instance ToHeaders DeleteBucketLifecycle--instance ToXMLRoot DeleteBucketLifecycle where-    toXMLRoot = const (namespaced ns "DeleteBucketLifecycle" [])--instance ToXML DeleteBucketLifecycle+        toQuery = const (mconcat ["lifecycle"]) -instance AWSRequest DeleteBucketLifecycle where-    type Sv DeleteBucketLifecycle = S3-    type Rs DeleteBucketLifecycle = DeleteBucketLifecycleResponse+-- | /See:/ 'deleteBucketLifecycleResponse' smart constructor.+data DeleteBucketLifecycleResponse =+    DeleteBucketLifecycleResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = delete-    response = nullResponse DeleteBucketLifecycleResponse+-- | Creates a value of 'DeleteBucketLifecycleResponse' with the minimum fields required to make a request.+--+deleteBucketLifecycleResponse+    :: DeleteBucketLifecycleResponse+deleteBucketLifecycleResponse = DeleteBucketLifecycleResponse'
gen/Network/AWS/S3/DeleteBucketPolicy.hs view
@@ -1,95 +1,91 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.DeleteBucketPolicy--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the policy from the bucket.+-- Deletes the policy from the bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketPolicy.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketPolicy.html AWS API Reference> for DeleteBucketPolicy. module Network.AWS.S3.DeleteBucketPolicy     (-    -- * Request-      DeleteBucketPolicy-    -- ** Request constructor-    , deleteBucketPolicy-    -- ** Request lenses+    -- * Creating a Request+      deleteBucketPolicy+    , DeleteBucketPolicy+    -- * Request Lenses     , dbpBucket -    -- * Response-    , DeleteBucketPolicyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteBucketPolicyResponse+    , DeleteBucketPolicyResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype DeleteBucketPolicy = DeleteBucketPolicy-    { _dbpBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'deleteBucketPolicy' smart constructor.+newtype DeleteBucketPolicy = DeleteBucketPolicy'+    { _dbpBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteBucketPolicy' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteBucketPolicy' with the minimum fields required to make a request. ----- * 'dbpBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteBucketPolicy :: Text -- ^ 'dbpBucket'-                   -> DeleteBucketPolicy-deleteBucketPolicy p1 = DeleteBucketPolicy-    { _dbpBucket = p1+-- * 'dbpBucket'+deleteBucketPolicy+    :: BucketName -- ^ 'dbpBucket'+    -> DeleteBucketPolicy+deleteBucketPolicy pBucket_ =+    DeleteBucketPolicy'+    { _dbpBucket = pBucket_     } -dbpBucket :: Lens' DeleteBucketPolicy Text-dbpBucket = lens _dbpBucket (\s a -> s { _dbpBucket = a })+-- | Undocumented member.+dbpBucket :: Lens' DeleteBucketPolicy BucketName+dbpBucket = lens _dbpBucket (\ s a -> s{_dbpBucket = a}); -data DeleteBucketPolicyResponse = DeleteBucketPolicyResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteBucketPolicy where+        type Sv DeleteBucketPolicy = S3+        type Rs DeleteBucketPolicy =+             DeleteBucketPolicyResponse+        request = delete+        response = receiveNull DeleteBucketPolicyResponse' --- | 'DeleteBucketPolicyResponse' constructor.-deleteBucketPolicyResponse :: DeleteBucketPolicyResponse-deleteBucketPolicyResponse = DeleteBucketPolicyResponse+instance ToHeaders DeleteBucketPolicy where+        toHeaders = const mempty  instance ToPath DeleteBucketPolicy where-    toPath DeleteBucketPolicy{..} = mconcat-        [ "/"-        , toText _dbpBucket-        ]+        toPath DeleteBucketPolicy'{..}+          = mconcat ["/", toBS _dbpBucket]  instance ToQuery DeleteBucketPolicy where-    toQuery = const "policy"--instance ToHeaders DeleteBucketPolicy--instance ToXMLRoot DeleteBucketPolicy where-    toXMLRoot = const (namespaced ns "DeleteBucketPolicy" [])--instance ToXML DeleteBucketPolicy+        toQuery = const (mconcat ["policy"]) -instance AWSRequest DeleteBucketPolicy where-    type Sv DeleteBucketPolicy = S3-    type Rs DeleteBucketPolicy = DeleteBucketPolicyResponse+-- | /See:/ 'deleteBucketPolicyResponse' smart constructor.+data DeleteBucketPolicyResponse =+    DeleteBucketPolicyResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = delete-    response = nullResponse DeleteBucketPolicyResponse+-- | Creates a value of 'DeleteBucketPolicyResponse' with the minimum fields required to make a request.+--+deleteBucketPolicyResponse+    :: DeleteBucketPolicyResponse+deleteBucketPolicyResponse = DeleteBucketPolicyResponse'
gen/Network/AWS/S3/DeleteBucketReplication.hs view
@@ -1,93 +1,92 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.DeleteBucketReplication--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketReplication.html>+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketReplication.html AWS API Reference> for DeleteBucketReplication. module Network.AWS.S3.DeleteBucketReplication     (-    -- * Request-      DeleteBucketReplication-    -- ** Request constructor-    , deleteBucketReplication-    -- ** Request lenses+    -- * Creating a Request+      deleteBucketReplication+    , DeleteBucketReplication+    -- * Request Lenses     , dbrBucket -    -- * Response-    , DeleteBucketReplicationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteBucketReplicationResponse+    , DeleteBucketReplicationResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype DeleteBucketReplication = DeleteBucketReplication-    { _dbrBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'deleteBucketReplication' smart constructor.+newtype DeleteBucketReplication = DeleteBucketReplication'+    { _dbrBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteBucketReplication' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteBucketReplication' with the minimum fields required to make a request. ----- * 'dbrBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteBucketReplication :: Text -- ^ 'dbrBucket'-                        -> DeleteBucketReplication-deleteBucketReplication p1 = DeleteBucketReplication-    { _dbrBucket = p1+-- * 'dbrBucket'+deleteBucketReplication+    :: BucketName -- ^ 'dbrBucket'+    -> DeleteBucketReplication+deleteBucketReplication pBucket_ =+    DeleteBucketReplication'+    { _dbrBucket = pBucket_     } -dbrBucket :: Lens' DeleteBucketReplication Text-dbrBucket = lens _dbrBucket (\s a -> s { _dbrBucket = a })+-- | Undocumented member.+dbrBucket :: Lens' DeleteBucketReplication BucketName+dbrBucket = lens _dbrBucket (\ s a -> s{_dbrBucket = a}); -data DeleteBucketReplicationResponse = DeleteBucketReplicationResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteBucketReplication where+        type Sv DeleteBucketReplication = S3+        type Rs DeleteBucketReplication =+             DeleteBucketReplicationResponse+        request = delete+        response+          = receiveNull DeleteBucketReplicationResponse' --- | 'DeleteBucketReplicationResponse' constructor.-deleteBucketReplicationResponse :: DeleteBucketReplicationResponse-deleteBucketReplicationResponse = DeleteBucketReplicationResponse+instance ToHeaders DeleteBucketReplication where+        toHeaders = const mempty  instance ToPath DeleteBucketReplication where-    toPath DeleteBucketReplication{..} = mconcat-        [ "/"-        , toText _dbrBucket-        ]+        toPath DeleteBucketReplication'{..}+          = mconcat ["/", toBS _dbrBucket]  instance ToQuery DeleteBucketReplication where-    toQuery = const "replication"--instance ToHeaders DeleteBucketReplication--instance ToXMLRoot DeleteBucketReplication where-    toXMLRoot = const (namespaced ns "DeleteBucketReplication" [])--instance ToXML DeleteBucketReplication+        toQuery = const (mconcat ["replication"]) -instance AWSRequest DeleteBucketReplication where-    type Sv DeleteBucketReplication = S3-    type Rs DeleteBucketReplication = DeleteBucketReplicationResponse+-- | /See:/ 'deleteBucketReplicationResponse' smart constructor.+data DeleteBucketReplicationResponse =+    DeleteBucketReplicationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = delete-    response = nullResponse DeleteBucketReplicationResponse+-- | Creates a value of 'DeleteBucketReplicationResponse' with the minimum fields required to make a request.+--+deleteBucketReplicationResponse+    :: DeleteBucketReplicationResponse+deleteBucketReplicationResponse = DeleteBucketReplicationResponse'
gen/Network/AWS/S3/DeleteBucketTagging.hs view
@@ -1,95 +1,91 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.DeleteBucketTagging--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the tags from the bucket.+-- Deletes the tags from the bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketTagging.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketTagging.html AWS API Reference> for DeleteBucketTagging. module Network.AWS.S3.DeleteBucketTagging     (-    -- * Request-      DeleteBucketTagging-    -- ** Request constructor-    , deleteBucketTagging-    -- ** Request lenses+    -- * Creating a Request+      deleteBucketTagging+    , DeleteBucketTagging+    -- * Request Lenses     , dbtBucket -    -- * Response-    , DeleteBucketTaggingResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteBucketTaggingResponse+    , DeleteBucketTaggingResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype DeleteBucketTagging = DeleteBucketTagging-    { _dbtBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'deleteBucketTagging' smart constructor.+newtype DeleteBucketTagging = DeleteBucketTagging'+    { _dbtBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteBucketTagging' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteBucketTagging' with the minimum fields required to make a request. ----- * 'dbtBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteBucketTagging :: Text -- ^ 'dbtBucket'-                    -> DeleteBucketTagging-deleteBucketTagging p1 = DeleteBucketTagging-    { _dbtBucket = p1+-- * 'dbtBucket'+deleteBucketTagging+    :: BucketName -- ^ 'dbtBucket'+    -> DeleteBucketTagging+deleteBucketTagging pBucket_ =+    DeleteBucketTagging'+    { _dbtBucket = pBucket_     } -dbtBucket :: Lens' DeleteBucketTagging Text-dbtBucket = lens _dbtBucket (\s a -> s { _dbtBucket = a })+-- | Undocumented member.+dbtBucket :: Lens' DeleteBucketTagging BucketName+dbtBucket = lens _dbtBucket (\ s a -> s{_dbtBucket = a}); -data DeleteBucketTaggingResponse = DeleteBucketTaggingResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteBucketTagging where+        type Sv DeleteBucketTagging = S3+        type Rs DeleteBucketTagging =+             DeleteBucketTaggingResponse+        request = delete+        response = receiveNull DeleteBucketTaggingResponse' --- | 'DeleteBucketTaggingResponse' constructor.-deleteBucketTaggingResponse :: DeleteBucketTaggingResponse-deleteBucketTaggingResponse = DeleteBucketTaggingResponse+instance ToHeaders DeleteBucketTagging where+        toHeaders = const mempty  instance ToPath DeleteBucketTagging where-    toPath DeleteBucketTagging{..} = mconcat-        [ "/"-        , toText _dbtBucket-        ]+        toPath DeleteBucketTagging'{..}+          = mconcat ["/", toBS _dbtBucket]  instance ToQuery DeleteBucketTagging where-    toQuery = const "tagging"--instance ToHeaders DeleteBucketTagging--instance ToXMLRoot DeleteBucketTagging where-    toXMLRoot = const (namespaced ns "DeleteBucketTagging" [])--instance ToXML DeleteBucketTagging+        toQuery = const (mconcat ["tagging"]) -instance AWSRequest DeleteBucketTagging where-    type Sv DeleteBucketTagging = S3-    type Rs DeleteBucketTagging = DeleteBucketTaggingResponse+-- | /See:/ 'deleteBucketTaggingResponse' smart constructor.+data DeleteBucketTaggingResponse =+    DeleteBucketTaggingResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = delete-    response = nullResponse DeleteBucketTaggingResponse+-- | Creates a value of 'DeleteBucketTaggingResponse' with the minimum fields required to make a request.+--+deleteBucketTaggingResponse+    :: DeleteBucketTaggingResponse+deleteBucketTaggingResponse = DeleteBucketTaggingResponse'
gen/Network/AWS/S3/DeleteBucketWebsite.hs view
@@ -1,95 +1,91 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.DeleteBucketWebsite--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | This operation removes the website configuration from the bucket.+-- This operation removes the website configuration from the bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketWebsite.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteBucketWebsite.html AWS API Reference> for DeleteBucketWebsite. module Network.AWS.S3.DeleteBucketWebsite     (-    -- * Request-      DeleteBucketWebsite-    -- ** Request constructor-    , deleteBucketWebsite-    -- ** Request lenses+    -- * Creating a Request+      deleteBucketWebsite+    , DeleteBucketWebsite+    -- * Request Lenses     , dbwBucket -    -- * Response-    , DeleteBucketWebsiteResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteBucketWebsiteResponse+    , DeleteBucketWebsiteResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype DeleteBucketWebsite = DeleteBucketWebsite-    { _dbwBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'deleteBucketWebsite' smart constructor.+newtype DeleteBucketWebsite = DeleteBucketWebsite'+    { _dbwBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteBucketWebsite' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteBucketWebsite' with the minimum fields required to make a request. ----- * 'dbwBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteBucketWebsite :: Text -- ^ 'dbwBucket'-                    -> DeleteBucketWebsite-deleteBucketWebsite p1 = DeleteBucketWebsite-    { _dbwBucket = p1+-- * 'dbwBucket'+deleteBucketWebsite+    :: BucketName -- ^ 'dbwBucket'+    -> DeleteBucketWebsite+deleteBucketWebsite pBucket_ =+    DeleteBucketWebsite'+    { _dbwBucket = pBucket_     } -dbwBucket :: Lens' DeleteBucketWebsite Text-dbwBucket = lens _dbwBucket (\s a -> s { _dbwBucket = a })+-- | Undocumented member.+dbwBucket :: Lens' DeleteBucketWebsite BucketName+dbwBucket = lens _dbwBucket (\ s a -> s{_dbwBucket = a}); -data DeleteBucketWebsiteResponse = DeleteBucketWebsiteResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteBucketWebsite where+        type Sv DeleteBucketWebsite = S3+        type Rs DeleteBucketWebsite =+             DeleteBucketWebsiteResponse+        request = delete+        response = receiveNull DeleteBucketWebsiteResponse' --- | 'DeleteBucketWebsiteResponse' constructor.-deleteBucketWebsiteResponse :: DeleteBucketWebsiteResponse-deleteBucketWebsiteResponse = DeleteBucketWebsiteResponse+instance ToHeaders DeleteBucketWebsite where+        toHeaders = const mempty  instance ToPath DeleteBucketWebsite where-    toPath DeleteBucketWebsite{..} = mconcat-        [ "/"-        , toText _dbwBucket-        ]+        toPath DeleteBucketWebsite'{..}+          = mconcat ["/", toBS _dbwBucket]  instance ToQuery DeleteBucketWebsite where-    toQuery = const "website"--instance ToHeaders DeleteBucketWebsite--instance ToXMLRoot DeleteBucketWebsite where-    toXMLRoot = const (namespaced ns "DeleteBucketWebsite" [])--instance ToXML DeleteBucketWebsite+        toQuery = const (mconcat ["website"]) -instance AWSRequest DeleteBucketWebsite where-    type Sv DeleteBucketWebsite = S3-    type Rs DeleteBucketWebsite = DeleteBucketWebsiteResponse+-- | /See:/ 'deleteBucketWebsiteResponse' smart constructor.+data DeleteBucketWebsiteResponse =+    DeleteBucketWebsiteResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = delete-    response = nullResponse DeleteBucketWebsiteResponse+-- | Creates a value of 'DeleteBucketWebsiteResponse' with the minimum fields required to make a request.+--+deleteBucketWebsiteResponse+    :: DeleteBucketWebsiteResponse+deleteBucketWebsiteResponse = DeleteBucketWebsiteResponse'
gen/Network/AWS/S3/DeleteObject.hs view
@@ -1,176 +1,183 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.DeleteObject--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Removes the null version (if there is one) of an object and inserts a delete--- marker, which becomes the latest version of the object. If there isn't a null--- version, Amazon S3 does not remove any objects.+-- Removes the null version (if there is one) of an object and inserts a+-- delete marker, which becomes the latest version of the object. If there+-- isn\'t a null version, Amazon S3 does not remove any objects. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteObject.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteObject.html AWS API Reference> for DeleteObject. module Network.AWS.S3.DeleteObject     (-    -- * Request-      DeleteObject-    -- ** Request constructor-    , deleteObject-    -- ** Request lenses-    , doBucket-    , doKey+    -- * Creating a Request+      deleteObject+    , DeleteObject+    -- * Request Lenses+    , doVersionId     , doMFA     , doRequestPayer-    , doVersionId+    , doBucket+    , doKey -    -- * Response-    , DeleteObjectResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteObjectResponse-    -- ** Response lenses-    , dorDeleteMarker-    , dorRequestCharged-    , dorVersionId+    , DeleteObjectResponse+    -- * Response Lenses+    , dorsVersionId+    , dorsRequestCharged+    , dorsDeleteMarker+    , dorsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data DeleteObject = DeleteObject-    { _doBucket       :: Text-    , _doKey          :: Text-    , _doMFA          :: Maybe Text-    , _doRequestPayer :: Maybe RequestPayer-    , _doVersionId    :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'deleteObject' smart constructor.+data DeleteObject = DeleteObject'+    { _doVersionId    :: !(Maybe ObjectVersionId)+    , _doMFA          :: !(Maybe Text)+    , _doRequestPayer :: !(Maybe RequestPayer)+    , _doBucket       :: !BucketName+    , _doKey          :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteObject' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteObject' with the minimum fields required to make a request. ----- * 'doBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'doKey' @::@ 'Text'+-- * 'doVersionId' ----- * 'doMFA' @::@ 'Maybe' 'Text'+-- * 'doMFA' ----- * 'doRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'doRequestPayer' ----- * 'doVersionId' @::@ 'Maybe' 'Text'+-- * 'doBucket' ---deleteObject :: Text -- ^ 'doBucket'-             -> Text -- ^ 'doKey'-             -> DeleteObject-deleteObject p1 p2 = DeleteObject-    { _doBucket       = p1-    , _doKey          = p2-    , _doMFA          = Nothing-    , _doVersionId    = Nothing+-- * 'doKey'+deleteObject+    :: BucketName -- ^ 'doBucket'+    -> ObjectKey -- ^ 'doKey'+    -> DeleteObject+deleteObject pBucket_ pKey_ =+    DeleteObject'+    { _doVersionId = Nothing+    , _doMFA = Nothing     , _doRequestPayer = Nothing+    , _doBucket = pBucket_+    , _doKey = pKey_     } -doBucket :: Lens' DeleteObject Text-doBucket = lens _doBucket (\s a -> s { _doBucket = a })--doKey :: Lens' DeleteObject Text-doKey = lens _doKey (\s a -> s { _doKey = a })+-- | VersionId used to reference a specific version of the object.+doVersionId :: Lens' DeleteObject (Maybe ObjectVersionId)+doVersionId = lens _doVersionId (\ s a -> s{_doVersionId = a}); --- | The concatenation of the authentication device's serial number, a space, and--- the value that is displayed on your authentication device.+-- | The concatenation of the authentication device\'s serial number, a+-- space, and the value that is displayed on your authentication device. doMFA :: Lens' DeleteObject (Maybe Text)-doMFA = lens _doMFA (\s a -> s { _doMFA = a })+doMFA = lens _doMFA (\ s a -> s{_doMFA = a}); +-- | Undocumented member. doRequestPayer :: Lens' DeleteObject (Maybe RequestPayer)-doRequestPayer = lens _doRequestPayer (\s a -> s { _doRequestPayer = a })---- | VersionId used to reference a specific version of the object.-doVersionId :: Lens' DeleteObject (Maybe Text)-doVersionId = lens _doVersionId (\s a -> s { _doVersionId = a })--data DeleteObjectResponse = DeleteObjectResponse-    { _dorDeleteMarker   :: Maybe Bool-    , _dorRequestCharged :: Maybe RequestCharged-    , _dorVersionId      :: Maybe Text-    } deriving (Eq, Read, Show)+doRequestPayer = lens _doRequestPayer (\ s a -> s{_doRequestPayer = a}); --- | 'DeleteObjectResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dorDeleteMarker' @::@ 'Maybe' 'Bool'------ * 'dorRequestCharged' @::@ 'Maybe' 'RequestCharged'------ * 'dorVersionId' @::@ 'Maybe' 'Text'----deleteObjectResponse :: DeleteObjectResponse-deleteObjectResponse = DeleteObjectResponse-    { _dorDeleteMarker   = Nothing-    , _dorVersionId      = Nothing-    , _dorRequestCharged = Nothing-    }+-- | Undocumented member.+doBucket :: Lens' DeleteObject BucketName+doBucket = lens _doBucket (\ s a -> s{_doBucket = a}); --- | Specifies whether the versioned object that was permanently deleted was--- (true) or was not (false) a delete marker.-dorDeleteMarker :: Lens' DeleteObjectResponse (Maybe Bool)-dorDeleteMarker = lens _dorDeleteMarker (\s a -> s { _dorDeleteMarker = a })+-- | Undocumented member.+doKey :: Lens' DeleteObject ObjectKey+doKey = lens _doKey (\ s a -> s{_doKey = a}); -dorRequestCharged :: Lens' DeleteObjectResponse (Maybe RequestCharged)-dorRequestCharged =-    lens _dorRequestCharged (\s a -> s { _dorRequestCharged = a })+instance AWSRequest DeleteObject where+        type Sv DeleteObject = S3+        type Rs DeleteObject = DeleteObjectResponse+        request = delete+        response+          = receiveEmpty+              (\ s h x ->+                 DeleteObjectResponse' <$>+                   (h .#? "x-amz-version-id") <*>+                     (h .#? "x-amz-request-charged")+                     <*> (h .#? "x-amz-delete-marker")+                     <*> (pure (fromEnum s))) --- | Returns the version ID of the delete marker created as a result of the DELETE--- operation.-dorVersionId :: Lens' DeleteObjectResponse (Maybe Text)-dorVersionId = lens _dorVersionId (\s a -> s { _dorVersionId = a })+instance ToHeaders DeleteObject where+        toHeaders DeleteObject'{..}+          = mconcat+              ["x-amz-mfa" =# _doMFA,+               "x-amz-request-payer" =# _doRequestPayer]  instance ToPath DeleteObject where-    toPath DeleteObject{..} = mconcat-        [ "/"-        , toText _doBucket-        , "/"-        , toText _doKey-        ]+        toPath DeleteObject'{..}+          = mconcat ["/", toBS _doBucket, "/", toBS _doKey]  instance ToQuery DeleteObject where-    toQuery rq = "versionId" =? _doVersionId rq+        toQuery DeleteObject'{..}+          = mconcat ["versionId" =: _doVersionId] -instance ToHeaders DeleteObject where-    toHeaders DeleteObject{..} = mconcat-        [ "x-amz-mfa"           =: _doMFA-        , "x-amz-request-payer" =: _doRequestPayer-        ]+-- | /See:/ 'deleteObjectResponse' smart constructor.+data DeleteObjectResponse = DeleteObjectResponse'+    { _dorsVersionId      :: !(Maybe ObjectVersionId)+    , _dorsRequestCharged :: !(Maybe RequestCharged)+    , _dorsDeleteMarker   :: !(Maybe Bool)+    , _dorsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXMLRoot DeleteObject where-    toXMLRoot = const (namespaced ns "DeleteObject" [])+-- | Creates a value of 'DeleteObjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dorsVersionId'+--+-- * 'dorsRequestCharged'+--+-- * 'dorsDeleteMarker'+--+-- * 'dorsStatus'+deleteObjectResponse+    :: Int -- ^ 'dorsStatus'+    -> DeleteObjectResponse+deleteObjectResponse pStatus_ =+    DeleteObjectResponse'+    { _dorsVersionId = Nothing+    , _dorsRequestCharged = Nothing+    , _dorsDeleteMarker = Nothing+    , _dorsStatus = pStatus_+    } -instance ToXML DeleteObject+-- | Returns the version ID of the delete marker created as a result of the+-- DELETE operation.+dorsVersionId :: Lens' DeleteObjectResponse (Maybe ObjectVersionId)+dorsVersionId = lens _dorsVersionId (\ s a -> s{_dorsVersionId = a}); -instance AWSRequest DeleteObject where-    type Sv DeleteObject = S3-    type Rs DeleteObject = DeleteObjectResponse+-- | Undocumented member.+dorsRequestCharged :: Lens' DeleteObjectResponse (Maybe RequestCharged)+dorsRequestCharged = lens _dorsRequestCharged (\ s a -> s{_dorsRequestCharged = a}); -    request  = delete-    response = headerResponse $ \h -> DeleteObjectResponse-        <$> h ~:? "x-amz-delete-marker"-        <*> h ~:? "x-amz-request-charged"-        <*> h ~:? "x-amz-version-id"+-- | Specifies whether the versioned object that was permanently deleted was+-- (true) or was not (false) a delete marker.+dorsDeleteMarker :: Lens' DeleteObjectResponse (Maybe Bool)+dorsDeleteMarker = lens _dorsDeleteMarker (\ s a -> s{_dorsDeleteMarker = a});++-- | The response status code.+dorsStatus :: Lens' DeleteObjectResponse Int+dorsStatus = lens _dorsStatus (\ s a -> s{_dorsStatus = a});
gen/Network/AWS/S3/DeleteObjects.hs view
@@ -1,160 +1,177 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.DeleteObjects--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | This operation enables you to delete multiple objects from a bucket using a--- single HTTP request. You may specify up to 1000 keys.+-- This operation enables you to delete multiple objects from a bucket+-- using a single HTTP request. You may specify up to 1000 keys. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteObjects.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/DeleteObjects.html AWS API Reference> for DeleteObjects. module Network.AWS.S3.DeleteObjects     (-    -- * Request-      DeleteObjects-    -- ** Request constructor-    , deleteObjects-    -- ** Request lenses-    , do1Bucket-    , do1Delete-    , do1MFA-    , do1RequestPayer+    -- * Creating a Request+      deleteObjects+    , DeleteObjects+    -- * Request Lenses+    , dosMFA+    , dosRequestPayer+    , dosBucket+    , dosDelete -    -- * Response-    , DeleteObjectsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteObjectsResponse-    -- ** Response lenses-    , dor1Deleted-    , dor1Errors-    , dor1RequestCharged+    , DeleteObjectsResponse+    -- * Response Lenses+    , drsRequestCharged+    , drsDeleted+    , drsErrors+    , drsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data DeleteObjects = DeleteObjects-    { _do1Bucket       :: Text-    , _do1Delete       :: Delete-    , _do1MFA          :: Maybe Text-    , _do1RequestPayer :: Maybe RequestPayer-    } deriving (Eq, Read, Show)+-- | /See:/ 'deleteObjects' smart constructor.+data DeleteObjects = DeleteObjects'+    { _dosMFA          :: !(Maybe Text)+    , _dosRequestPayer :: !(Maybe RequestPayer)+    , _dosBucket       :: !BucketName+    , _dosDelete       :: !Delete+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteObjects' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteObjects' with the minimum fields required to make a request. ----- * 'do1Bucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'do1Delete' @::@ 'Delete'+-- * 'dosMFA' ----- * 'do1MFA' @::@ 'Maybe' 'Text'+-- * 'dosRequestPayer' ----- * 'do1RequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'dosBucket' ---deleteObjects :: Text -- ^ 'do1Bucket'-              -> Delete -- ^ 'do1Delete'-              -> DeleteObjects-deleteObjects p1 p2 = DeleteObjects-    { _do1Bucket       = p1-    , _do1Delete       = p2-    , _do1MFA          = Nothing-    , _do1RequestPayer = Nothing+-- * 'dosDelete'+deleteObjects+    :: BucketName -- ^ 'dosBucket'+    -> Delete -- ^ 'dosDelete'+    -> DeleteObjects+deleteObjects pBucket_ pDelete_ =+    DeleteObjects'+    { _dosMFA = Nothing+    , _dosRequestPayer = Nothing+    , _dosBucket = pBucket_+    , _dosDelete = pDelete_     } -do1Bucket :: Lens' DeleteObjects Text-do1Bucket = lens _do1Bucket (\s a -> s { _do1Bucket = a })--do1Delete :: Lens' DeleteObjects Delete-do1Delete = lens _do1Delete (\s a -> s { _do1Delete = a })---- | The concatenation of the authentication device's serial number, a space, and--- the value that is displayed on your authentication device.-do1MFA :: Lens' DeleteObjects (Maybe Text)-do1MFA = lens _do1MFA (\s a -> s { _do1MFA = a })+-- | The concatenation of the authentication device\'s serial number, a+-- space, and the value that is displayed on your authentication device.+dosMFA :: Lens' DeleteObjects (Maybe Text)+dosMFA = lens _dosMFA (\ s a -> s{_dosMFA = a}); -do1RequestPayer :: Lens' DeleteObjects (Maybe RequestPayer)-do1RequestPayer = lens _do1RequestPayer (\s a -> s { _do1RequestPayer = a })+-- | Undocumented member.+dosRequestPayer :: Lens' DeleteObjects (Maybe RequestPayer)+dosRequestPayer = lens _dosRequestPayer (\ s a -> s{_dosRequestPayer = a}); -data DeleteObjectsResponse = DeleteObjectsResponse-    { _dor1Deleted        :: List "Deleted" DeletedObject-    , _dor1Errors         :: List "Error" S3ServiceError-    , _dor1RequestCharged :: Maybe RequestCharged-    } deriving (Eq, Read, Show)+-- | Undocumented member.+dosBucket :: Lens' DeleteObjects BucketName+dosBucket = lens _dosBucket (\ s a -> s{_dosBucket = a}); --- | 'DeleteObjectsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dor1Deleted' @::@ ['DeletedObject']------ * 'dor1Errors' @::@ ['S3ServiceError']------ * 'dor1RequestCharged' @::@ 'Maybe' 'RequestCharged'----deleteObjectsResponse :: DeleteObjectsResponse-deleteObjectsResponse = DeleteObjectsResponse-    { _dor1Deleted        = mempty-    , _dor1RequestCharged = Nothing-    , _dor1Errors         = mempty-    }+-- | Undocumented member.+dosDelete :: Lens' DeleteObjects Delete+dosDelete = lens _dosDelete (\ s a -> s{_dosDelete = a}); -dor1Deleted :: Lens' DeleteObjectsResponse [DeletedObject]-dor1Deleted = lens _dor1Deleted (\s a -> s { _dor1Deleted = a }) . _List+instance AWSRequest DeleteObjects where+        type Sv DeleteObjects = S3+        type Rs DeleteObjects = DeleteObjectsResponse+        request = contentMD5 . postXML+        response+          = receiveXML+              (\ s h x ->+                 DeleteObjectsResponse' <$>+                   (h .#? "x-amz-request-charged") <*>+                     (may (parseXMLList "Deleted") x)+                     <*> (may (parseXMLList "Error") x)+                     <*> (pure (fromEnum s))) -dor1Errors :: Lens' DeleteObjectsResponse [S3ServiceError]-dor1Errors = lens _dor1Errors (\s a -> s { _dor1Errors = a }) . _List+instance ToElement DeleteObjects where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}Delete"+              .+              _dosDelete -dor1RequestCharged :: Lens' DeleteObjectsResponse (Maybe RequestCharged)-dor1RequestCharged =-    lens _dor1RequestCharged (\s a -> s { _dor1RequestCharged = a })+instance ToHeaders DeleteObjects where+        toHeaders DeleteObjects'{..}+          = mconcat+              ["x-amz-mfa" =# _dosMFA,+               "x-amz-request-payer" =# _dosRequestPayer]  instance ToPath DeleteObjects where-    toPath DeleteObjects{..} = mconcat-        [ "/"-        , toText _do1Bucket-        ]+        toPath DeleteObjects'{..}+          = mconcat ["/", toBS _dosBucket]  instance ToQuery DeleteObjects where-    toQuery = const "delete"+        toQuery = const (mconcat ["delete"]) -instance ToHeaders DeleteObjects where-    toHeaders DeleteObjects{..} = mconcat-        [ "x-amz-mfa"           =: _do1MFA-        , "x-amz-request-payer" =: _do1RequestPayer-        ]+-- | /See:/ 'deleteObjectsResponse' smart constructor.+data DeleteObjectsResponse = DeleteObjectsResponse'+    { _drsRequestCharged :: !(Maybe RequestCharged)+    , _drsDeleted        :: !(Maybe [DeletedObject])+    , _drsErrors         :: !(Maybe [S3ServiceError])+    , _drsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXMLRoot DeleteObjects where-    toXMLRoot = extractRoot ns . toXML . _do1Delete+-- | Creates a value of 'DeleteObjectsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsRequestCharged'+--+-- * 'drsDeleted'+--+-- * 'drsErrors'+--+-- * 'drsStatus'+deleteObjectsResponse+    :: Int -- ^ 'drsStatus'+    -> DeleteObjectsResponse+deleteObjectsResponse pStatus_ =+    DeleteObjectsResponse'+    { _drsRequestCharged = Nothing+    , _drsDeleted = Nothing+    , _drsErrors = Nothing+    , _drsStatus = pStatus_+    } -instance ToXML DeleteObjects+-- | Undocumented member.+drsRequestCharged :: Lens' DeleteObjectsResponse (Maybe RequestCharged)+drsRequestCharged = lens _drsRequestCharged (\ s a -> s{_drsRequestCharged = a}); -instance AWSRequest DeleteObjects where-    type Sv DeleteObjects = S3-    type Rs DeleteObjects = DeleteObjectsResponse+-- | Undocumented member.+drsDeleted :: Lens' DeleteObjectsResponse [DeletedObject]+drsDeleted = lens _drsDeleted (\ s a -> s{_drsDeleted = a}) . _Default . _Coerce; -    request  = post-    response = xmlHeaderResponse $ \h x -> DeleteObjectsResponse-        <$> x .@? "Deleted" .!@ mempty-        <*> x .@? "Error" .!@ mempty-        <*> h ~:? "x-amz-request-charged"+-- | Undocumented member.+drsErrors :: Lens' DeleteObjectsResponse [S3ServiceError]+drsErrors = lens _drsErrors (\ s a -> s{_drsErrors = a}) . _Default . _Coerce;++-- | The response status code.+drsStatus :: Lens' DeleteObjectsResponse Int+drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});
+ gen/Network/AWS/S3/GetBucketACL.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.GetBucketACL+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the access control policy for the bucket.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketACL.html AWS API Reference> for GetBucketACL.+module Network.AWS.S3.GetBucketACL+    (+    -- * Creating a Request+      getBucketACL+    , GetBucketACL+    -- * Request Lenses+    , gbaBucket++    -- * Destructuring the Response+    , getBucketACLResponse+    , GetBucketACLResponse+    -- * Response Lenses+    , gbarsGrants+    , gbarsOwner+    , gbarsStatus+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product++-- | /See:/ 'getBucketACL' smart constructor.+newtype GetBucketACL = GetBucketACL'+    { _gbaBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBucketACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbaBucket'+getBucketACL+    :: BucketName -- ^ 'gbaBucket'+    -> GetBucketACL+getBucketACL pBucket_ =+    GetBucketACL'+    { _gbaBucket = pBucket_+    }++-- | Undocumented member.+gbaBucket :: Lens' GetBucketACL BucketName+gbaBucket = lens _gbaBucket (\ s a -> s{_gbaBucket = a});++instance AWSRequest GetBucketACL where+        type Sv GetBucketACL = S3+        type Rs GetBucketACL = GetBucketACLResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketACLResponse' <$>+                   (x .@? "AccessControlList" .!@ mempty >>=+                      may (parseXMLList "Grant"))+                     <*> (x .@? "Owner")+                     <*> (pure (fromEnum s)))++instance ToHeaders GetBucketACL where+        toHeaders = const mempty++instance ToPath GetBucketACL where+        toPath GetBucketACL'{..}+          = mconcat ["/", toBS _gbaBucket]++instance ToQuery GetBucketACL where+        toQuery = const (mconcat ["acl"])++-- | /See:/ 'getBucketACLResponse' smart constructor.+data GetBucketACLResponse = GetBucketACLResponse'+    { _gbarsGrants :: !(Maybe [Grant])+    , _gbarsOwner  :: !(Maybe Owner)+    , _gbarsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBucketACLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbarsGrants'+--+-- * 'gbarsOwner'+--+-- * 'gbarsStatus'+getBucketACLResponse+    :: Int -- ^ 'gbarsStatus'+    -> GetBucketACLResponse+getBucketACLResponse pStatus_ =+    GetBucketACLResponse'+    { _gbarsGrants = Nothing+    , _gbarsOwner = Nothing+    , _gbarsStatus = pStatus_+    }++-- | A list of grants.+gbarsGrants :: Lens' GetBucketACLResponse [Grant]+gbarsGrants = lens _gbarsGrants (\ s a -> s{_gbarsGrants = a}) . _Default . _Coerce;++-- | Undocumented member.+gbarsOwner :: Lens' GetBucketACLResponse (Maybe Owner)+gbarsOwner = lens _gbarsOwner (\ s a -> s{_gbarsOwner = a});++-- | The response status code.+gbarsStatus :: Lens' GetBucketACLResponse Int+gbarsStatus = lens _gbarsStatus (\ s a -> s{_gbarsStatus = a});
− gen/Network/AWS/S3/GetBucketAcl.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.GetBucketAcl--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Gets the access control policy for the bucket.------ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketAcl.html>-module Network.AWS.S3.GetBucketAcl-    (-    -- * Request-      GetBucketAcl-    -- ** Request constructor-    , getBucketAcl-    -- ** Request lenses-    , gbaBucket--    -- * Response-    , GetBucketAclResponse-    -- ** Response constructor-    , getBucketAclResponse-    -- ** Response lenses-    , gbarGrants-    , gbarOwner-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--newtype GetBucketAcl = GetBucketAcl-    { _gbaBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'GetBucketAcl' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbaBucket' @::@ 'Text'----getBucketAcl :: Text -- ^ 'gbaBucket'-             -> GetBucketAcl-getBucketAcl p1 = GetBucketAcl-    { _gbaBucket = p1-    }--gbaBucket :: Lens' GetBucketAcl Text-gbaBucket = lens _gbaBucket (\s a -> s { _gbaBucket = a })--data GetBucketAclResponse = GetBucketAclResponse-    { _gbarGrants :: List "Grant" Grant-    , _gbarOwner  :: Maybe Owner-    } deriving (Eq, Read, Show)---- | 'GetBucketAclResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbarGrants' @::@ ['Grant']------ * 'gbarOwner' @::@ 'Maybe' 'Owner'----getBucketAclResponse :: GetBucketAclResponse-getBucketAclResponse = GetBucketAclResponse-    { _gbarOwner  = Nothing-    , _gbarGrants = mempty-    }---- | A list of grants.-gbarGrants :: Lens' GetBucketAclResponse [Grant]-gbarGrants = lens _gbarGrants (\s a -> s { _gbarGrants = a }) . _List--gbarOwner :: Lens' GetBucketAclResponse (Maybe Owner)-gbarOwner = lens _gbarOwner (\s a -> s { _gbarOwner = a })--instance ToPath GetBucketAcl where-    toPath GetBucketAcl{..} = mconcat-        [ "/"-        , toText _gbaBucket-        ]--instance ToQuery GetBucketAcl where-    toQuery = const "acl"--instance ToHeaders GetBucketAcl--instance ToXMLRoot GetBucketAcl where-    toXMLRoot = const (namespaced ns "GetBucketAcl" [])--instance ToXML GetBucketAcl--instance AWSRequest GetBucketAcl where-    type Sv GetBucketAcl = S3-    type Rs GetBucketAcl = GetBucketAclResponse--    request  = get-    response = xmlResponse--instance FromXML GetBucketAclResponse where-    parseXML x = GetBucketAclResponse-        <$> x .@? "AccessControlList" .!@ mempty-        <*> x .@? "Owner"
+ gen/Network/AWS/S3/GetBucketCORS.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.GetBucketCORS+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the cors configuration for the bucket.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketCORS.html AWS API Reference> for GetBucketCORS.+module Network.AWS.S3.GetBucketCORS+    (+    -- * Creating a Request+      getBucketCORS+    , GetBucketCORS+    -- * Request Lenses+    , gbcBucket++    -- * Destructuring the Response+    , getBucketCORSResponse+    , GetBucketCORSResponse+    -- * Response Lenses+    , gbcrsCORSRules+    , gbcrsStatus+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product++-- | /See:/ 'getBucketCORS' smart constructor.+newtype GetBucketCORS = GetBucketCORS'+    { _gbcBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBucketCORS' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbcBucket'+getBucketCORS+    :: BucketName -- ^ 'gbcBucket'+    -> GetBucketCORS+getBucketCORS pBucket_ =+    GetBucketCORS'+    { _gbcBucket = pBucket_+    }++-- | Undocumented member.+gbcBucket :: Lens' GetBucketCORS BucketName+gbcBucket = lens _gbcBucket (\ s a -> s{_gbcBucket = a});++instance AWSRequest GetBucketCORS where+        type Sv GetBucketCORS = S3+        type Rs GetBucketCORS = GetBucketCORSResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketCORSResponse' <$>+                   (may (parseXMLList "CORSRule") x) <*>+                     (pure (fromEnum s)))++instance ToHeaders GetBucketCORS where+        toHeaders = const mempty++instance ToPath GetBucketCORS where+        toPath GetBucketCORS'{..}+          = mconcat ["/", toBS _gbcBucket]++instance ToQuery GetBucketCORS where+        toQuery = const (mconcat ["cors"])++-- | /See:/ 'getBucketCORSResponse' smart constructor.+data GetBucketCORSResponse = GetBucketCORSResponse'+    { _gbcrsCORSRules :: !(Maybe [CORSRule])+    , _gbcrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBucketCORSResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbcrsCORSRules'+--+-- * 'gbcrsStatus'+getBucketCORSResponse+    :: Int -- ^ 'gbcrsStatus'+    -> GetBucketCORSResponse+getBucketCORSResponse pStatus_ =+    GetBucketCORSResponse'+    { _gbcrsCORSRules = Nothing+    , _gbcrsStatus = pStatus_+    }++-- | Undocumented member.+gbcrsCORSRules :: Lens' GetBucketCORSResponse [CORSRule]+gbcrsCORSRules = lens _gbcrsCORSRules (\ s a -> s{_gbcrsCORSRules = a}) . _Default . _Coerce;++-- | The response status code.+gbcrsStatus :: Lens' GetBucketCORSResponse Int+gbcrsStatus = lens _gbcrsStatus (\ s a -> s{_gbcrsStatus = a});
− gen/Network/AWS/S3/GetBucketCors.hs
@@ -1,112 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.GetBucketCors--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the cors configuration for the bucket.------ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketCors.html>-module Network.AWS.S3.GetBucketCors-    (-    -- * Request-      GetBucketCors-    -- ** Request constructor-    , getBucketCors-    -- ** Request lenses-    , gbcBucket--    -- * Response-    , GetBucketCorsResponse-    -- ** Response constructor-    , getBucketCorsResponse-    -- ** Response lenses-    , gbcrCORSRules-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--newtype GetBucketCors = GetBucketCors-    { _gbcBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'GetBucketCors' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbcBucket' @::@ 'Text'----getBucketCors :: Text -- ^ 'gbcBucket'-              -> GetBucketCors-getBucketCors p1 = GetBucketCors-    { _gbcBucket = p1-    }--gbcBucket :: Lens' GetBucketCors Text-gbcBucket = lens _gbcBucket (\s a -> s { _gbcBucket = a })--newtype GetBucketCorsResponse = GetBucketCorsResponse-    { _gbcrCORSRules :: List "CORSRule" CORSRule-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'GetBucketCorsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbcrCORSRules' @::@ ['CORSRule']----getBucketCorsResponse :: GetBucketCorsResponse-getBucketCorsResponse = GetBucketCorsResponse-    { _gbcrCORSRules = mempty-    }--gbcrCORSRules :: Lens' GetBucketCorsResponse [CORSRule]-gbcrCORSRules = lens _gbcrCORSRules (\s a -> s { _gbcrCORSRules = a }) . _List--instance ToPath GetBucketCors where-    toPath GetBucketCors{..} = mconcat-        [ "/"-        , toText _gbcBucket-        ]--instance ToQuery GetBucketCors where-    toQuery = const "cors"--instance ToHeaders GetBucketCors--instance ToXMLRoot GetBucketCors where-    toXMLRoot = const (namespaced ns "GetBucketCors" [])--instance ToXML GetBucketCors--instance AWSRequest GetBucketCors where-    type Sv GetBucketCors = S3-    type Rs GetBucketCors = GetBucketCorsResponse--    request  = get-    response = xmlResponse--instance FromXML GetBucketCorsResponse where-    parseXML x = GetBucketCorsResponse-        <$> parseXML x
gen/Network/AWS/S3/GetBucketLifecycle.hs view
@@ -1,112 +1,118 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketLifecycle--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the lifecycle configuration information set on the bucket.+-- Returns the lifecycle configuration information set on the bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketLifecycle.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketLifecycle.html AWS API Reference> for GetBucketLifecycle. module Network.AWS.S3.GetBucketLifecycle     (-    -- * Request-      GetBucketLifecycle-    -- ** Request constructor-    , getBucketLifecycle-    -- ** Request lenses-    , gbl1Bucket+    -- * Creating a Request+      getBucketLifecycle+    , GetBucketLifecycle+    -- * Request Lenses+    , gBucket -    -- * Response-    , GetBucketLifecycleResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getBucketLifecycleResponse-    -- ** Response lenses-    , gblrRules+    , GetBucketLifecycleResponse+    -- * Response Lenses+    , gblrsRules+    , gblrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketLifecycle = GetBucketLifecycle-    { _gbl1Bucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketLifecycle' smart constructor.+newtype GetBucketLifecycle = GetBucketLifecycle'+    { _gBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketLifecycle' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketLifecycle' with the minimum fields required to make a request. ----- * 'gbl1Bucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketLifecycle :: Text -- ^ 'gbl1Bucket'-                   -> GetBucketLifecycle-getBucketLifecycle p1 = GetBucketLifecycle-    { _gbl1Bucket = p1+-- * 'gBucket'+getBucketLifecycle+    :: BucketName -- ^ 'gBucket'+    -> GetBucketLifecycle+getBucketLifecycle pBucket_ =+    GetBucketLifecycle'+    { _gBucket = pBucket_     } -gbl1Bucket :: Lens' GetBucketLifecycle Text-gbl1Bucket = lens _gbl1Bucket (\s a -> s { _gbl1Bucket = a })--newtype GetBucketLifecycleResponse = GetBucketLifecycleResponse-    { _gblrRules :: List "Rule" Rule-    } deriving (Eq, Read, Show, Monoid, Semigroup)+-- | Undocumented member.+gBucket :: Lens' GetBucketLifecycle BucketName+gBucket = lens _gBucket (\ s a -> s{_gBucket = a}); --- | 'GetBucketLifecycleResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gblrRules' @::@ ['Rule']----getBucketLifecycleResponse :: GetBucketLifecycleResponse-getBucketLifecycleResponse = GetBucketLifecycleResponse-    { _gblrRules = mempty-    }+instance AWSRequest GetBucketLifecycle where+        type Sv GetBucketLifecycle = S3+        type Rs GetBucketLifecycle =+             GetBucketLifecycleResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketLifecycleResponse' <$>+                   (may (parseXMLList "Rule") x) <*>+                     (pure (fromEnum s))) -gblrRules :: Lens' GetBucketLifecycleResponse [Rule]-gblrRules = lens _gblrRules (\s a -> s { _gblrRules = a }) . _List+instance ToHeaders GetBucketLifecycle where+        toHeaders = const mempty  instance ToPath GetBucketLifecycle where-    toPath GetBucketLifecycle{..} = mconcat-        [ "/"-        , toText _gbl1Bucket-        ]+        toPath GetBucketLifecycle'{..}+          = mconcat ["/", toBS _gBucket]  instance ToQuery GetBucketLifecycle where-    toQuery = const "lifecycle"--instance ToHeaders GetBucketLifecycle--instance ToXMLRoot GetBucketLifecycle where-    toXMLRoot = const (namespaced ns "GetBucketLifecycle" [])+        toQuery = const (mconcat ["lifecycle"]) -instance ToXML GetBucketLifecycle+-- | /See:/ 'getBucketLifecycleResponse' smart constructor.+data GetBucketLifecycleResponse = GetBucketLifecycleResponse'+    { _gblrsRules  :: !(Maybe [Rule])+    , _gblrsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetBucketLifecycle where-    type Sv GetBucketLifecycle = S3-    type Rs GetBucketLifecycle = GetBucketLifecycleResponse+-- | Creates a value of 'GetBucketLifecycleResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gblrsRules'+--+-- * 'gblrsStatus'+getBucketLifecycleResponse+    :: Int -- ^ 'gblrsStatus'+    -> GetBucketLifecycleResponse+getBucketLifecycleResponse pStatus_ =+    GetBucketLifecycleResponse'+    { _gblrsRules = Nothing+    , _gblrsStatus = pStatus_+    } -    request  = get-    response = xmlResponse+-- | Undocumented member.+gblrsRules :: Lens' GetBucketLifecycleResponse [Rule]+gblrsRules = lens _gblrsRules (\ s a -> s{_gblrsRules = a}) . _Default . _Coerce; -instance FromXML GetBucketLifecycleResponse where-    parseXML x = GetBucketLifecycleResponse-        <$> parseXML x+-- | The response status code.+gblrsStatus :: Lens' GetBucketLifecycleResponse Int+gblrsStatus = lens _gblrsStatus (\ s a -> s{_gblrsStatus = a});
gen/Network/AWS/S3/GetBucketLocation.hs view
@@ -1,113 +1,116 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketLocation--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the region the bucket resides in.+-- Returns the region the bucket resides in. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketLocation.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketLocation.html AWS API Reference> for GetBucketLocation. module Network.AWS.S3.GetBucketLocation     (-    -- * Request-      GetBucketLocation-    -- ** Request constructor-    , getBucketLocation-    -- ** Request lenses+    -- * Creating a Request+      getBucketLocation+    , GetBucketLocation+    -- * Request Lenses     , gblBucket -    -- * Response-    , GetBucketLocationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getBucketLocationResponse-    -- ** Response lenses-    , gblrLocationConstraint+    , GetBucketLocationResponse+    -- * Response Lenses+    , getrsLocationConstraint+    , getrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketLocation = GetBucketLocation-    { _gblBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketLocation' smart constructor.+newtype GetBucketLocation = GetBucketLocation'+    { _gblBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketLocation' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketLocation' with the minimum fields required to make a request. ----- * 'gblBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketLocation :: Text -- ^ 'gblBucket'-                  -> GetBucketLocation-getBucketLocation p1 = GetBucketLocation-    { _gblBucket = p1+-- * 'gblBucket'+getBucketLocation+    :: BucketName -- ^ 'gblBucket'+    -> GetBucketLocation+getBucketLocation pBucket_ =+    GetBucketLocation'+    { _gblBucket = pBucket_     } -gblBucket :: Lens' GetBucketLocation Text-gblBucket = lens _gblBucket (\s a -> s { _gblBucket = a })--newtype GetBucketLocationResponse = GetBucketLocationResponse-    { _gblrLocationConstraint :: Maybe Region-    } deriving (Eq, Read, Show)+-- | Undocumented member.+gblBucket :: Lens' GetBucketLocation BucketName+gblBucket = lens _gblBucket (\ s a -> s{_gblBucket = a}); --- | 'GetBucketLocationResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gblrLocationConstraint' @::@ 'Maybe' 'Region'----getBucketLocationResponse :: GetBucketLocationResponse-getBucketLocationResponse = GetBucketLocationResponse-    { _gblrLocationConstraint = Nothing-    }+instance AWSRequest GetBucketLocation where+        type Sv GetBucketLocation = S3+        type Rs GetBucketLocation = GetBucketLocationResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketLocationResponse' <$>+                   (x .@? "LocationConstraint") <*> (pure (fromEnum s))) -gblrLocationConstraint :: Lens' GetBucketLocationResponse (Maybe Region)-gblrLocationConstraint =-    lens _gblrLocationConstraint (\s a -> s { _gblrLocationConstraint = a })+instance ToHeaders GetBucketLocation where+        toHeaders = const mempty  instance ToPath GetBucketLocation where-    toPath GetBucketLocation{..} = mconcat-        [ "/"-        , toText _gblBucket-        ]+        toPath GetBucketLocation'{..}+          = mconcat ["/", toBS _gblBucket]  instance ToQuery GetBucketLocation where-    toQuery = const "location"--instance ToHeaders GetBucketLocation--instance ToXMLRoot GetBucketLocation where-    toXMLRoot = const (namespaced ns "GetBucketLocation" [])+        toQuery = const (mconcat ["location"]) -instance ToXML GetBucketLocation+-- | /See:/ 'getBucketLocationResponse' smart constructor.+data GetBucketLocationResponse = GetBucketLocationResponse'+    { _getrsLocationConstraint :: !(Maybe Region)+    , _getrsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetBucketLocation where-    type Sv GetBucketLocation = S3-    type Rs GetBucketLocation = GetBucketLocationResponse+-- | Creates a value of 'GetBucketLocationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'getrsLocationConstraint'+--+-- * 'getrsStatus'+getBucketLocationResponse+    :: Int -- ^ 'getrsStatus'+    -> GetBucketLocationResponse+getBucketLocationResponse pStatus_ =+    GetBucketLocationResponse'+    { _getrsLocationConstraint = Nothing+    , _getrsStatus = pStatus_+    } -    request  = get-    response = xmlResponse+-- | Undocumented member.+getrsLocationConstraint :: Lens' GetBucketLocationResponse (Maybe Region)+getrsLocationConstraint = lens _getrsLocationConstraint (\ s a -> s{_getrsLocationConstraint = a}); -instance FromXML GetBucketLocationResponse where-    parseXML x = GetBucketLocationResponse-        <$> x .@? "LocationConstraint"+-- | The response status code.+getrsStatus :: Lens' GetBucketLocationResponse Int+getrsStatus = lens _getrsStatus (\ s a -> s{_getrsStatus = a});
gen/Network/AWS/S3/GetBucketLogging.hs view
@@ -1,114 +1,117 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketLogging--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the logging status of a bucket and the permissions users have to view--- and modify that status. To use GET, you must be the bucket owner.+-- Returns the logging status of a bucket and the permissions users have to+-- view and modify that status. To use GET, you must be the bucket owner. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketLogging.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketLogging.html AWS API Reference> for GetBucketLogging. module Network.AWS.S3.GetBucketLogging     (-    -- * Request-      GetBucketLogging-    -- ** Request constructor-    , getBucketLogging-    -- ** Request lenses-    , gbl2Bucket+    -- * Creating a Request+      getBucketLogging+    , GetBucketLogging+    -- * Request Lenses+    , getBucket -    -- * Response-    , GetBucketLoggingResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getBucketLoggingResponse-    -- ** Response lenses-    , gblrLoggingEnabled+    , GetBucketLoggingResponse+    -- * Response Lenses+    , grsLoggingEnabled+    , grsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketLogging = GetBucketLogging-    { _gbl2Bucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketLogging' smart constructor.+newtype GetBucketLogging = GetBucketLogging'+    { _getBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketLogging' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketLogging' with the minimum fields required to make a request. ----- * 'gbl2Bucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketLogging :: Text -- ^ 'gbl2Bucket'-                 -> GetBucketLogging-getBucketLogging p1 = GetBucketLogging-    { _gbl2Bucket = p1+-- * 'getBucket'+getBucketLogging+    :: BucketName -- ^ 'getBucket'+    -> GetBucketLogging+getBucketLogging pBucket_ =+    GetBucketLogging'+    { _getBucket = pBucket_     } -gbl2Bucket :: Lens' GetBucketLogging Text-gbl2Bucket = lens _gbl2Bucket (\s a -> s { _gbl2Bucket = a })--newtype GetBucketLoggingResponse = GetBucketLoggingResponse-    { _gblrLoggingEnabled :: Maybe LoggingEnabled-    } deriving (Eq, Read, Show)+-- | Undocumented member.+getBucket :: Lens' GetBucketLogging BucketName+getBucket = lens _getBucket (\ s a -> s{_getBucket = a}); --- | 'GetBucketLoggingResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gblrLoggingEnabled' @::@ 'Maybe' 'LoggingEnabled'----getBucketLoggingResponse :: GetBucketLoggingResponse-getBucketLoggingResponse = GetBucketLoggingResponse-    { _gblrLoggingEnabled = Nothing-    }+instance AWSRequest GetBucketLogging where+        type Sv GetBucketLogging = S3+        type Rs GetBucketLogging = GetBucketLoggingResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketLoggingResponse' <$>+                   (x .@? "LoggingEnabled") <*> (pure (fromEnum s))) -gblrLoggingEnabled :: Lens' GetBucketLoggingResponse (Maybe LoggingEnabled)-gblrLoggingEnabled =-    lens _gblrLoggingEnabled (\s a -> s { _gblrLoggingEnabled = a })+instance ToHeaders GetBucketLogging where+        toHeaders = const mempty  instance ToPath GetBucketLogging where-    toPath GetBucketLogging{..} = mconcat-        [ "/"-        , toText _gbl2Bucket-        ]+        toPath GetBucketLogging'{..}+          = mconcat ["/", toBS _getBucket]  instance ToQuery GetBucketLogging where-    toQuery = const "logging"--instance ToHeaders GetBucketLogging--instance ToXMLRoot GetBucketLogging where-    toXMLRoot = const (namespaced ns "GetBucketLogging" [])+        toQuery = const (mconcat ["logging"]) -instance ToXML GetBucketLogging+-- | /See:/ 'getBucketLoggingResponse' smart constructor.+data GetBucketLoggingResponse = GetBucketLoggingResponse'+    { _grsLoggingEnabled :: !(Maybe LoggingEnabled)+    , _grsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetBucketLogging where-    type Sv GetBucketLogging = S3-    type Rs GetBucketLogging = GetBucketLoggingResponse+-- | Creates a value of 'GetBucketLoggingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'grsLoggingEnabled'+--+-- * 'grsStatus'+getBucketLoggingResponse+    :: Int -- ^ 'grsStatus'+    -> GetBucketLoggingResponse+getBucketLoggingResponse pStatus_ =+    GetBucketLoggingResponse'+    { _grsLoggingEnabled = Nothing+    , _grsStatus = pStatus_+    } -    request  = get-    response = xmlResponse+-- | Undocumented member.+grsLoggingEnabled :: Lens' GetBucketLoggingResponse (Maybe LoggingEnabled)+grsLoggingEnabled = lens _grsLoggingEnabled (\ s a -> s{_grsLoggingEnabled = a}); -instance FromXML GetBucketLoggingResponse where-    parseXML x = GetBucketLoggingResponse-        <$> x .@? "LoggingEnabled"+-- | The response status code.+grsStatus :: Lens' GetBucketLoggingResponse Int+grsStatus = lens _grsStatus (\ s a -> s{_grsStatus = a});
− gen/Network/AWS/S3/GetBucketNotification.hs
@@ -1,135 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.GetBucketNotification--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deprecated, see the GetBucketNotificationConfiguration operation.------ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketNotification.html>-module Network.AWS.S3.GetBucketNotification-    (-    -- * Request-      GetBucketNotification-    -- ** Request constructor-    , getBucketNotification-    -- ** Request lenses-    , gbnBucket--    -- * Response-    , GetBucketNotificationResponse-    -- ** Response constructor-    , getBucketNotificationResponse-    -- ** Response lenses-    , gbnrCloudFunctionConfiguration-    , gbnrQueueConfiguration-    , gbnrTopicConfiguration-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--newtype GetBucketNotification = GetBucketNotification-    { _gbnBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'GetBucketNotification' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbnBucket' @::@ 'Text'----getBucketNotification :: Text -- ^ 'gbnBucket'-                      -> GetBucketNotification-getBucketNotification p1 = GetBucketNotification-    { _gbnBucket = p1-    }---- | Name of the buket to get the notification configuration for.-gbnBucket :: Lens' GetBucketNotification Text-gbnBucket = lens _gbnBucket (\s a -> s { _gbnBucket = a })--data GetBucketNotificationResponse = GetBucketNotificationResponse-    { _gbnrCloudFunctionConfiguration :: Maybe CloudFunctionConfiguration-    , _gbnrQueueConfiguration         :: Maybe QueueConfigurationDeprecated-    , _gbnrTopicConfiguration         :: Maybe TopicConfigurationDeprecated-    } deriving (Eq, Read, Show)---- | 'GetBucketNotificationResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbnrCloudFunctionConfiguration' @::@ 'Maybe' 'CloudFunctionConfiguration'------ * 'gbnrQueueConfiguration' @::@ 'Maybe' 'QueueConfigurationDeprecated'------ * 'gbnrTopicConfiguration' @::@ 'Maybe' 'TopicConfigurationDeprecated'----getBucketNotificationResponse :: GetBucketNotificationResponse-getBucketNotificationResponse = GetBucketNotificationResponse-    { _gbnrTopicConfiguration         = Nothing-    , _gbnrQueueConfiguration         = Nothing-    , _gbnrCloudFunctionConfiguration = Nothing-    }--gbnrCloudFunctionConfiguration :: Lens' GetBucketNotificationResponse (Maybe CloudFunctionConfiguration)-gbnrCloudFunctionConfiguration =-    lens _gbnrCloudFunctionConfiguration-        (\s a -> s { _gbnrCloudFunctionConfiguration = a })--gbnrQueueConfiguration :: Lens' GetBucketNotificationResponse (Maybe QueueConfigurationDeprecated)-gbnrQueueConfiguration =-    lens _gbnrQueueConfiguration (\s a -> s { _gbnrQueueConfiguration = a })--gbnrTopicConfiguration :: Lens' GetBucketNotificationResponse (Maybe TopicConfigurationDeprecated)-gbnrTopicConfiguration =-    lens _gbnrTopicConfiguration (\s a -> s { _gbnrTopicConfiguration = a })--instance ToPath GetBucketNotification where-    toPath GetBucketNotification{..} = mconcat-        [ "/"-        , toText _gbnBucket-        ]--instance ToQuery GetBucketNotification where-    toQuery = const "notification"--instance ToHeaders GetBucketNotification--instance ToXMLRoot GetBucketNotification where-    toXMLRoot = const (namespaced ns "GetBucketNotification" [])--instance ToXML GetBucketNotification--instance AWSRequest GetBucketNotification where-    type Sv GetBucketNotification = S3-    type Rs GetBucketNotification = GetBucketNotificationResponse--    request  = get-    response = xmlResponse--instance FromXML GetBucketNotificationResponse where-    parseXML x = GetBucketNotificationResponse-        <$> x .@? "CloudFunctionConfiguration"-        <*> x .@? "QueueConfiguration"-        <*> x .@? "TopicConfiguration"
gen/Network/AWS/S3/GetBucketNotificationConfiguration.hs view
@@ -1,140 +1,88 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketNotificationConfiguration--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the notification configuration of a bucket.+-- Returns the notification configuration of a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketNotificationConfiguration.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketNotificationConfiguration.html AWS API Reference> for GetBucketNotificationConfiguration. module Network.AWS.S3.GetBucketNotificationConfiguration     (-    -- * Request-      GetBucketNotificationConfiguration-    -- ** Request constructor-    , getBucketNotificationConfiguration-    -- ** Request lenses-    , gbnc1Bucket+    -- * Creating a Request+      getBucketNotificationConfiguration+    , GetBucketNotificationConfiguration+    -- * Request Lenses+    , gbncBucket -    -- * Response-    , GetBucketNotificationConfigurationResponse-    -- ** Response constructor-    , getBucketNotificationConfigurationResponse-    -- ** Response lenses-    , gbncrLambdaFunctionConfigurations-    , gbncrQueueConfigurations-    , gbncrTopicConfigurations+    -- * Destructuring the Response+    , notificationConfiguration+    , NotificationConfiguration+    -- * Response Lenses+    , ncQueueConfigurations+    , ncTopicConfigurations+    , ncLambdaFunctionConfigurations     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketNotificationConfiguration = GetBucketNotificationConfiguration-    { _gbnc1Bucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketNotificationConfiguration' smart constructor.+newtype GetBucketNotificationConfiguration = GetBucketNotificationConfiguration'+    { _gbncBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketNotificationConfiguration' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketNotificationConfiguration' with the minimum fields required to make a request. ----- * 'gbnc1Bucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketNotificationConfiguration :: Text -- ^ 'gbnc1Bucket'-                                   -> GetBucketNotificationConfiguration-getBucketNotificationConfiguration p1 = GetBucketNotificationConfiguration-    { _gbnc1Bucket = p1+-- * 'gbncBucket'+getBucketNotificationConfiguration+    :: BucketName -- ^ 'gbncBucket'+    -> GetBucketNotificationConfiguration+getBucketNotificationConfiguration pBucket_ =+    GetBucketNotificationConfiguration'+    { _gbncBucket = pBucket_     }  -- | Name of the buket to get the notification configuration for.-gbnc1Bucket :: Lens' GetBucketNotificationConfiguration Text-gbnc1Bucket = lens _gbnc1Bucket (\s a -> s { _gbnc1Bucket = a })--data GetBucketNotificationConfigurationResponse = GetBucketNotificationConfigurationResponse-    { _gbncrLambdaFunctionConfigurations :: List "CloudFunctionConfiguration" LambdaFunctionConfiguration-    , _gbncrQueueConfigurations          :: List "QueueConfiguration" QueueConfiguration-    , _gbncrTopicConfigurations          :: List "TopicConfiguration" TopicConfiguration-    } deriving (Eq, Read, Show)---- | 'GetBucketNotificationConfigurationResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbncrLambdaFunctionConfigurations' @::@ ['LambdaFunctionConfiguration']------ * 'gbncrQueueConfigurations' @::@ ['QueueConfiguration']------ * 'gbncrTopicConfigurations' @::@ ['TopicConfiguration']----getBucketNotificationConfigurationResponse :: GetBucketNotificationConfigurationResponse-getBucketNotificationConfigurationResponse = GetBucketNotificationConfigurationResponse-    { _gbncrTopicConfigurations          = mempty-    , _gbncrQueueConfigurations          = mempty-    , _gbncrLambdaFunctionConfigurations = mempty-    }--gbncrLambdaFunctionConfigurations :: Lens' GetBucketNotificationConfigurationResponse [LambdaFunctionConfiguration]-gbncrLambdaFunctionConfigurations =-    lens _gbncrLambdaFunctionConfigurations-        (\s a -> s { _gbncrLambdaFunctionConfigurations = a })-            . _List--gbncrQueueConfigurations :: Lens' GetBucketNotificationConfigurationResponse [QueueConfiguration]-gbncrQueueConfigurations =-    lens _gbncrQueueConfigurations-        (\s a -> s { _gbncrQueueConfigurations = a })-            . _List--gbncrTopicConfigurations :: Lens' GetBucketNotificationConfigurationResponse [TopicConfiguration]-gbncrTopicConfigurations =-    lens _gbncrTopicConfigurations-        (\s a -> s { _gbncrTopicConfigurations = a })-            . _List--instance ToPath GetBucketNotificationConfiguration where-    toPath GetBucketNotificationConfiguration{..} = mconcat-        [ "/"-        , toText _gbnc1Bucket-        ]+gbncBucket :: Lens' GetBucketNotificationConfiguration BucketName+gbncBucket = lens _gbncBucket (\ s a -> s{_gbncBucket = a}); -instance ToQuery GetBucketNotificationConfiguration where-    toQuery = const "notification"+instance AWSRequest+         GetBucketNotificationConfiguration where+        type Sv GetBucketNotificationConfiguration = S3+        type Rs GetBucketNotificationConfiguration =+             NotificationConfiguration+        request = get+        response = receiveXML (\ s h x -> parseXML x)  instance ToHeaders GetBucketNotificationConfiguration--instance ToXMLRoot GetBucketNotificationConfiguration where-    toXMLRoot = const (namespaced ns "GetBucketNotificationConfiguration" [])--instance ToXML GetBucketNotificationConfiguration--instance AWSRequest GetBucketNotificationConfiguration where-    type Sv GetBucketNotificationConfiguration = S3-    type Rs GetBucketNotificationConfiguration = GetBucketNotificationConfigurationResponse+         where+        toHeaders = const mempty -    request  = get-    response = xmlResponse+instance ToPath GetBucketNotificationConfiguration+         where+        toPath GetBucketNotificationConfiguration'{..}+          = mconcat ["/", toBS _gbncBucket] -instance FromXML GetBucketNotificationConfigurationResponse where-    parseXML x = GetBucketNotificationConfigurationResponse-        <$> parseXML x-        <*> parseXML x-        <*> parseXML x+instance ToQuery GetBucketNotificationConfiguration+         where+        toQuery = const (mconcat ["notification"])
gen/Network/AWS/S3/GetBucketPolicy.hs view
@@ -1,113 +1,116 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketPolicy--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the policy of a specified bucket.+-- Returns the policy of a specified bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketPolicy.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketPolicy.html AWS API Reference> for GetBucketPolicy. module Network.AWS.S3.GetBucketPolicy     (-    -- * Request-      GetBucketPolicy-    -- ** Request constructor-    , getBucketPolicy-    -- ** Request lenses+    -- * Creating a Request+      getBucketPolicy+    , GetBucketPolicy+    -- * Request Lenses     , gbpBucket -    -- * Response-    , GetBucketPolicyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getBucketPolicyResponse-    -- ** Response lenses-    , gbprPolicy+    , GetBucketPolicyResponse+    -- * Response Lenses+    , gbprsPolicy+    , gbprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketPolicy = GetBucketPolicy-    { _gbpBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketPolicy' smart constructor.+newtype GetBucketPolicy = GetBucketPolicy'+    { _gbpBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketPolicy' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketPolicy' with the minimum fields required to make a request. ----- * 'gbpBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketPolicy :: Text -- ^ 'gbpBucket'-                -> GetBucketPolicy-getBucketPolicy p1 = GetBucketPolicy-    { _gbpBucket = p1+-- * 'gbpBucket'+getBucketPolicy+    :: BucketName -- ^ 'gbpBucket'+    -> GetBucketPolicy+getBucketPolicy pBucket_ =+    GetBucketPolicy'+    { _gbpBucket = pBucket_     } -gbpBucket :: Lens' GetBucketPolicy Text-gbpBucket = lens _gbpBucket (\s a -> s { _gbpBucket = a })--newtype GetBucketPolicyResponse = GetBucketPolicyResponse-    { _gbprPolicy :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+-- | Undocumented member.+gbpBucket :: Lens' GetBucketPolicy BucketName+gbpBucket = lens _gbpBucket (\ s a -> s{_gbpBucket = a}); --- | 'GetBucketPolicyResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbprPolicy' @::@ 'Maybe' 'Text'----getBucketPolicyResponse :: GetBucketPolicyResponse-getBucketPolicyResponse = GetBucketPolicyResponse-    { _gbprPolicy = Nothing-    }+instance AWSRequest GetBucketPolicy where+        type Sv GetBucketPolicy = S3+        type Rs GetBucketPolicy = GetBucketPolicyResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketPolicyResponse' <$>+                   (parseXML x) <*> (pure (fromEnum s))) --- | The bucket policy as a JSON document.-gbprPolicy :: Lens' GetBucketPolicyResponse (Maybe Text)-gbprPolicy = lens _gbprPolicy (\s a -> s { _gbprPolicy = a })+instance ToHeaders GetBucketPolicy where+        toHeaders = const mempty  instance ToPath GetBucketPolicy where-    toPath GetBucketPolicy{..} = mconcat-        [ "/"-        , toText _gbpBucket-        ]+        toPath GetBucketPolicy'{..}+          = mconcat ["/", toBS _gbpBucket]  instance ToQuery GetBucketPolicy where-    toQuery = const "policy"--instance ToHeaders GetBucketPolicy--instance ToXMLRoot GetBucketPolicy where-    toXMLRoot = const (namespaced ns "GetBucketPolicy" [])+        toQuery = const (mconcat ["policy"]) -instance ToXML GetBucketPolicy+-- | /See:/ 'getBucketPolicyResponse' smart constructor.+data GetBucketPolicyResponse = GetBucketPolicyResponse'+    { _gbprsPolicy :: !(Maybe Text)+    , _gbprsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetBucketPolicy where-    type Sv GetBucketPolicy = S3-    type Rs GetBucketPolicy = GetBucketPolicyResponse+-- | Creates a value of 'GetBucketPolicyResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbprsPolicy'+--+-- * 'gbprsStatus'+getBucketPolicyResponse+    :: Int -- ^ 'gbprsStatus'+    -> GetBucketPolicyResponse+getBucketPolicyResponse pStatus_ =+    GetBucketPolicyResponse'+    { _gbprsPolicy = Nothing+    , _gbprsStatus = pStatus_+    } -    request  = get-    response = xmlResponse+-- | The bucket policy as a JSON document.+gbprsPolicy :: Lens' GetBucketPolicyResponse (Maybe Text)+gbprsPolicy = lens _gbprsPolicy (\ s a -> s{_gbprsPolicy = a}); -instance FromXML GetBucketPolicyResponse where-    parseXML x = GetBucketPolicyResponse-        <$> x .@? "Policy"+-- | The response status code.+gbprsStatus :: Lens' GetBucketPolicyResponse Int+gbprsStatus = lens _gbprsStatus (\ s a -> s{_gbprsStatus = a});
gen/Network/AWS/S3/GetBucketReplication.hs view
@@ -1,112 +1,117 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketReplication--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketReplication.html>+-- Undocumented operation.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketReplication.html AWS API Reference> for GetBucketReplication. module Network.AWS.S3.GetBucketReplication     (-    -- * Request-      GetBucketReplication-    -- ** Request constructor-    , getBucketReplication-    -- ** Request lenses+    -- * Creating a Request+      getBucketReplication+    , GetBucketReplication+    -- * Request Lenses     , gbrBucket -    -- * Response-    , GetBucketReplicationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getBucketReplicationResponse-    -- ** Response lenses-    , gbrrReplicationConfiguration+    , GetBucketReplicationResponse+    -- * Response Lenses+    , gbrrsReplicationConfiguration+    , gbrrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketReplication = GetBucketReplication-    { _gbrBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketReplication' smart constructor.+newtype GetBucketReplication = GetBucketReplication'+    { _gbrBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketReplication' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketReplication' with the minimum fields required to make a request. ----- * 'gbrBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketReplication :: Text -- ^ 'gbrBucket'-                     -> GetBucketReplication-getBucketReplication p1 = GetBucketReplication-    { _gbrBucket = p1+-- * 'gbrBucket'+getBucketReplication+    :: BucketName -- ^ 'gbrBucket'+    -> GetBucketReplication+getBucketReplication pBucket_ =+    GetBucketReplication'+    { _gbrBucket = pBucket_     } -gbrBucket :: Lens' GetBucketReplication Text-gbrBucket = lens _gbrBucket (\s a -> s { _gbrBucket = a })--newtype GetBucketReplicationResponse = GetBucketReplicationResponse-    { _gbrrReplicationConfiguration :: Maybe ReplicationConfiguration-    } deriving (Eq, Read, Show)+-- | Undocumented member.+gbrBucket :: Lens' GetBucketReplication BucketName+gbrBucket = lens _gbrBucket (\ s a -> s{_gbrBucket = a}); --- | 'GetBucketReplicationResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbrrReplicationConfiguration' @::@ 'Maybe' 'ReplicationConfiguration'----getBucketReplicationResponse :: GetBucketReplicationResponse-getBucketReplicationResponse = GetBucketReplicationResponse-    { _gbrrReplicationConfiguration = Nothing-    }+instance AWSRequest GetBucketReplication where+        type Sv GetBucketReplication = S3+        type Rs GetBucketReplication =+             GetBucketReplicationResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketReplicationResponse' <$>+                   (parseXML x) <*> (pure (fromEnum s))) -gbrrReplicationConfiguration :: Lens' GetBucketReplicationResponse (Maybe ReplicationConfiguration)-gbrrReplicationConfiguration =-    lens _gbrrReplicationConfiguration-        (\s a -> s { _gbrrReplicationConfiguration = a })+instance ToHeaders GetBucketReplication where+        toHeaders = const mempty  instance ToPath GetBucketReplication where-    toPath GetBucketReplication{..} = mconcat-        [ "/"-        , toText _gbrBucket-        ]+        toPath GetBucketReplication'{..}+          = mconcat ["/", toBS _gbrBucket]  instance ToQuery GetBucketReplication where-    toQuery = const "replication"--instance ToHeaders GetBucketReplication--instance ToXMLRoot GetBucketReplication where-    toXMLRoot = const (namespaced ns "GetBucketReplication" [])+        toQuery = const (mconcat ["replication"]) -instance ToXML GetBucketReplication+-- | /See:/ 'getBucketReplicationResponse' smart constructor.+data GetBucketReplicationResponse = GetBucketReplicationResponse'+    { _gbrrsReplicationConfiguration :: !(Maybe ReplicationConfiguration)+    , _gbrrsStatus                   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetBucketReplication where-    type Sv GetBucketReplication = S3-    type Rs GetBucketReplication = GetBucketReplicationResponse+-- | Creates a value of 'GetBucketReplicationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbrrsReplicationConfiguration'+--+-- * 'gbrrsStatus'+getBucketReplicationResponse+    :: Int -- ^ 'gbrrsStatus'+    -> GetBucketReplicationResponse+getBucketReplicationResponse pStatus_ =+    GetBucketReplicationResponse'+    { _gbrrsReplicationConfiguration = Nothing+    , _gbrrsStatus = pStatus_+    } -    request  = get-    response = xmlResponse+-- | Undocumented member.+gbrrsReplicationConfiguration :: Lens' GetBucketReplicationResponse (Maybe ReplicationConfiguration)+gbrrsReplicationConfiguration = lens _gbrrsReplicationConfiguration (\ s a -> s{_gbrrsReplicationConfiguration = a}); -instance FromXML GetBucketReplicationResponse where-    parseXML x = GetBucketReplicationResponse-        <$> x .@? "ReplicationConfiguration"+-- | The response status code.+gbrrsStatus :: Lens' GetBucketReplicationResponse Int+gbrrsStatus = lens _gbrrsStatus (\ s a -> s{_gbrrsStatus = a});
gen/Network/AWS/S3/GetBucketRequestPayment.hs view
@@ -1,113 +1,117 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketRequestPayment--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the request payment configuration of a bucket.+-- Returns the request payment configuration of a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketRequestPayment.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketRequestPayment.html AWS API Reference> for GetBucketRequestPayment. module Network.AWS.S3.GetBucketRequestPayment     (-    -- * Request-      GetBucketRequestPayment-    -- ** Request constructor-    , getBucketRequestPayment-    -- ** Request lenses+    -- * Creating a Request+      getBucketRequestPayment+    , GetBucketRequestPayment+    -- * Request Lenses     , gbrpBucket -    -- * Response-    , GetBucketRequestPaymentResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getBucketRequestPaymentResponse-    -- ** Response lenses-    , gbrprPayer+    , GetBucketRequestPaymentResponse+    -- * Response Lenses+    , gbrprsPayer+    , gbrprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketRequestPayment = GetBucketRequestPayment-    { _gbrpBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketRequestPayment' smart constructor.+newtype GetBucketRequestPayment = GetBucketRequestPayment'+    { _gbrpBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketRequestPayment' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketRequestPayment' with the minimum fields required to make a request. ----- * 'gbrpBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketRequestPayment :: Text -- ^ 'gbrpBucket'-                        -> GetBucketRequestPayment-getBucketRequestPayment p1 = GetBucketRequestPayment-    { _gbrpBucket = p1+-- * 'gbrpBucket'+getBucketRequestPayment+    :: BucketName -- ^ 'gbrpBucket'+    -> GetBucketRequestPayment+getBucketRequestPayment pBucket_ =+    GetBucketRequestPayment'+    { _gbrpBucket = pBucket_     } -gbrpBucket :: Lens' GetBucketRequestPayment Text-gbrpBucket = lens _gbrpBucket (\s a -> s { _gbrpBucket = a })--newtype GetBucketRequestPaymentResponse = GetBucketRequestPaymentResponse-    { _gbrprPayer :: Maybe Payer-    } deriving (Eq, Read, Show)+-- | Undocumented member.+gbrpBucket :: Lens' GetBucketRequestPayment BucketName+gbrpBucket = lens _gbrpBucket (\ s a -> s{_gbrpBucket = a}); --- | 'GetBucketRequestPaymentResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbrprPayer' @::@ 'Maybe' 'Payer'----getBucketRequestPaymentResponse :: GetBucketRequestPaymentResponse-getBucketRequestPaymentResponse = GetBucketRequestPaymentResponse-    { _gbrprPayer = Nothing-    }+instance AWSRequest GetBucketRequestPayment where+        type Sv GetBucketRequestPayment = S3+        type Rs GetBucketRequestPayment =+             GetBucketRequestPaymentResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketRequestPaymentResponse' <$>+                   (x .@? "Payer") <*> (pure (fromEnum s))) --- | Specifies who pays for the download and request fees.-gbrprPayer :: Lens' GetBucketRequestPaymentResponse (Maybe Payer)-gbrprPayer = lens _gbrprPayer (\s a -> s { _gbrprPayer = a })+instance ToHeaders GetBucketRequestPayment where+        toHeaders = const mempty  instance ToPath GetBucketRequestPayment where-    toPath GetBucketRequestPayment{..} = mconcat-        [ "/"-        , toText _gbrpBucket-        ]+        toPath GetBucketRequestPayment'{..}+          = mconcat ["/", toBS _gbrpBucket]  instance ToQuery GetBucketRequestPayment where-    toQuery = const "requestPayment"--instance ToHeaders GetBucketRequestPayment--instance ToXMLRoot GetBucketRequestPayment where-    toXMLRoot = const (namespaced ns "GetBucketRequestPayment" [])+        toQuery = const (mconcat ["requestPayment"]) -instance ToXML GetBucketRequestPayment+-- | /See:/ 'getBucketRequestPaymentResponse' smart constructor.+data GetBucketRequestPaymentResponse = GetBucketRequestPaymentResponse'+    { _gbrprsPayer  :: !(Maybe Payer)+    , _gbrprsStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetBucketRequestPayment where-    type Sv GetBucketRequestPayment = S3-    type Rs GetBucketRequestPayment = GetBucketRequestPaymentResponse+-- | Creates a value of 'GetBucketRequestPaymentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbrprsPayer'+--+-- * 'gbrprsStatus'+getBucketRequestPaymentResponse+    :: Int -- ^ 'gbrprsStatus'+    -> GetBucketRequestPaymentResponse+getBucketRequestPaymentResponse pStatus_ =+    GetBucketRequestPaymentResponse'+    { _gbrprsPayer = Nothing+    , _gbrprsStatus = pStatus_+    } -    request  = get-    response = xmlResponse+-- | Specifies who pays for the download and request fees.+gbrprsPayer :: Lens' GetBucketRequestPaymentResponse (Maybe Payer)+gbrprsPayer = lens _gbrprsPayer (\ s a -> s{_gbrprsPayer = a}); -instance FromXML GetBucketRequestPaymentResponse where-    parseXML x = GetBucketRequestPaymentResponse-        <$> x .@? "Payer"+-- | The response status code.+gbrprsStatus :: Lens' GetBucketRequestPaymentResponse Int+gbrprsStatus = lens _gbrprsStatus (\ s a -> s{_gbrprsStatus = a});
gen/Network/AWS/S3/GetBucketTagging.hs view
@@ -1,118 +1,117 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketTagging--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the tag set associated with the bucket.+-- Returns the tag set associated with the bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketTagging.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketTagging.html AWS API Reference> for GetBucketTagging. module Network.AWS.S3.GetBucketTagging     (-    -- * Request-      GetBucketTagging-    -- ** Request constructor-    , getBucketTagging-    -- ** Request lenses+    -- * Creating a Request+      getBucketTagging+    , GetBucketTagging+    -- * Request Lenses     , gbtBucket -    -- * Response-    , GetBucketTaggingResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getBucketTaggingResponse-    -- ** Response lenses-    , gbtrTagSet+    , GetBucketTaggingResponse+    -- * Response Lenses+    , gbtrsStatus+    , gbtrsTagSet     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketTagging = GetBucketTagging-    { _gbtBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketTagging' smart constructor.+newtype GetBucketTagging = GetBucketTagging'+    { _gbtBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketTagging' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketTagging' with the minimum fields required to make a request. ----- * 'gbtBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketTagging :: Text -- ^ 'gbtBucket'-                 -> GetBucketTagging-getBucketTagging p1 = GetBucketTagging-    { _gbtBucket = p1+-- * 'gbtBucket'+getBucketTagging+    :: BucketName -- ^ 'gbtBucket'+    -> GetBucketTagging+getBucketTagging pBucket_ =+    GetBucketTagging'+    { _gbtBucket = pBucket_     } -gbtBucket :: Lens' GetBucketTagging Text-gbtBucket = lens _gbtBucket (\s a -> s { _gbtBucket = a })--newtype GetBucketTaggingResponse = GetBucketTaggingResponse-    { _gbtrTagSet :: List "Tag" Tag-    } deriving (Eq, Read, Show, Monoid, Semigroup)--instance GHC.Exts.IsList GetBucketTaggingResponse where-    type Item GetBucketTaggingResponse = Tag--    fromList = GetBucketTaggingResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _gbtrTagSet+-- | Undocumented member.+gbtBucket :: Lens' GetBucketTagging BucketName+gbtBucket = lens _gbtBucket (\ s a -> s{_gbtBucket = a}); --- | 'GetBucketTaggingResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbtrTagSet' @::@ ['Tag']----getBucketTaggingResponse :: GetBucketTaggingResponse-getBucketTaggingResponse = GetBucketTaggingResponse-    { _gbtrTagSet = mempty-    }+instance AWSRequest GetBucketTagging where+        type Sv GetBucketTagging = S3+        type Rs GetBucketTagging = GetBucketTaggingResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketTaggingResponse' <$>+                   (pure (fromEnum s)) <*>+                     (x .@? "TagSet" .!@ mempty >>= parseXMLList "Tag")) -gbtrTagSet :: Lens' GetBucketTaggingResponse [Tag]-gbtrTagSet = lens _gbtrTagSet (\s a -> s { _gbtrTagSet = a }) . _List+instance ToHeaders GetBucketTagging where+        toHeaders = const mempty  instance ToPath GetBucketTagging where-    toPath GetBucketTagging{..} = mconcat-        [ "/"-        , toText _gbtBucket-        ]+        toPath GetBucketTagging'{..}+          = mconcat ["/", toBS _gbtBucket]  instance ToQuery GetBucketTagging where-    toQuery = const "tagging"--instance ToHeaders GetBucketTagging--instance ToXMLRoot GetBucketTagging where-    toXMLRoot = const (namespaced ns "GetBucketTagging" [])+        toQuery = const (mconcat ["tagging"]) -instance ToXML GetBucketTagging+-- | /See:/ 'getBucketTaggingResponse' smart constructor.+data GetBucketTaggingResponse = GetBucketTaggingResponse'+    { _gbtrsStatus :: !Int+    , _gbtrsTagSet :: ![Tag]+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetBucketTagging where-    type Sv GetBucketTagging = S3-    type Rs GetBucketTagging = GetBucketTaggingResponse+-- | Creates a value of 'GetBucketTaggingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbtrsStatus'+--+-- * 'gbtrsTagSet'+getBucketTaggingResponse+    :: Int -- ^ 'gbtrsStatus'+    -> GetBucketTaggingResponse+getBucketTaggingResponse pStatus_ =+    GetBucketTaggingResponse'+    { _gbtrsStatus = pStatus_+    , _gbtrsTagSet = mempty+    } -    request  = get-    response = xmlResponse+-- | The response status code.+gbtrsStatus :: Lens' GetBucketTaggingResponse Int+gbtrsStatus = lens _gbtrsStatus (\ s a -> s{_gbtrsStatus = a}); -instance FromXML GetBucketTaggingResponse where-    parseXML x = GetBucketTaggingResponse-        <$> x .@? "TagSet" .!@ mempty+-- | Undocumented member.+gbtrsTagSet :: Lens' GetBucketTaggingResponse [Tag]+gbtrsTagSet = lens _gbtrsTagSet (\ s a -> s{_gbtrsTagSet = a}) . _Coerce;
gen/Network/AWS/S3/GetBucketVersioning.hs view
@@ -1,126 +1,120 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketVersioning--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the versioning state of a bucket.+-- Returns the versioning state of a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketVersioning.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketVersioning.html AWS API Reference> for GetBucketVersioning. module Network.AWS.S3.GetBucketVersioning     (-    -- * Request-      GetBucketVersioning-    -- ** Request constructor-    , getBucketVersioning-    -- ** Request lenses+    -- * Creating a Request+      getBucketVersioning+    , GetBucketVersioning+    -- * Request Lenses     , gbvBucket -    -- * Response-    , GetBucketVersioningResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getBucketVersioningResponse-    -- ** Response lenses-    , gbvrMFADelete-    , gbvrStatus+    , GetBucketVersioningResponse+    -- * Response Lenses+    , gbvrsMFADelete+    , gbvrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketVersioning = GetBucketVersioning-    { _gbvBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketVersioning' smart constructor.+newtype GetBucketVersioning = GetBucketVersioning'+    { _gbvBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketVersioning' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketVersioning' with the minimum fields required to make a request. ----- * 'gbvBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketVersioning :: Text -- ^ 'gbvBucket'-                    -> GetBucketVersioning-getBucketVersioning p1 = GetBucketVersioning-    { _gbvBucket = p1+-- * 'gbvBucket'+getBucketVersioning+    :: BucketName -- ^ 'gbvBucket'+    -> GetBucketVersioning+getBucketVersioning pBucket_ =+    GetBucketVersioning'+    { _gbvBucket = pBucket_     } -gbvBucket :: Lens' GetBucketVersioning Text-gbvBucket = lens _gbvBucket (\s a -> s { _gbvBucket = a })--data GetBucketVersioningResponse = GetBucketVersioningResponse-    { _gbvrMFADelete :: Maybe MFADeleteStatus-    , _gbvrStatus    :: Maybe BucketVersioningStatus-    } deriving (Eq, Read, Show)---- | 'GetBucketVersioningResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbvrMFADelete' @::@ 'Maybe' 'MFADeleteStatus'------ * 'gbvrStatus' @::@ 'Maybe' 'BucketVersioningStatus'----getBucketVersioningResponse :: GetBucketVersioningResponse-getBucketVersioningResponse = GetBucketVersioningResponse-    { _gbvrStatus    = Nothing-    , _gbvrMFADelete = Nothing-    }+-- | Undocumented member.+gbvBucket :: Lens' GetBucketVersioning BucketName+gbvBucket = lens _gbvBucket (\ s a -> s{_gbvBucket = a}); --- | Specifies whether MFA delete is enabled in the bucket versioning--- configuration. This element is only returned if the bucket has been--- configured with MFA delete. If the bucket has never been so configured, this--- element is not returned.-gbvrMFADelete :: Lens' GetBucketVersioningResponse (Maybe MFADeleteStatus)-gbvrMFADelete = lens _gbvrMFADelete (\s a -> s { _gbvrMFADelete = a })+instance AWSRequest GetBucketVersioning where+        type Sv GetBucketVersioning = S3+        type Rs GetBucketVersioning =+             GetBucketVersioningResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketVersioningResponse' <$>+                   (x .@? "MfaDelete") <*> (pure (fromEnum s))) --- | The versioning state of the bucket.-gbvrStatus :: Lens' GetBucketVersioningResponse (Maybe BucketVersioningStatus)-gbvrStatus = lens _gbvrStatus (\s a -> s { _gbvrStatus = a })+instance ToHeaders GetBucketVersioning where+        toHeaders = const mempty  instance ToPath GetBucketVersioning where-    toPath GetBucketVersioning{..} = mconcat-        [ "/"-        , toText _gbvBucket-        ]+        toPath GetBucketVersioning'{..}+          = mconcat ["/", toBS _gbvBucket]  instance ToQuery GetBucketVersioning where-    toQuery = const "versioning"--instance ToHeaders GetBucketVersioning--instance ToXMLRoot GetBucketVersioning where-    toXMLRoot = const (namespaced ns "GetBucketVersioning" [])+        toQuery = const (mconcat ["versioning"]) -instance ToXML GetBucketVersioning+-- | /See:/ 'getBucketVersioningResponse' smart constructor.+data GetBucketVersioningResponse = GetBucketVersioningResponse'+    { _gbvrsMFADelete :: !(Maybe MFADeleteStatus)+    , _gbvrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest GetBucketVersioning where-    type Sv GetBucketVersioning = S3-    type Rs GetBucketVersioning = GetBucketVersioningResponse+-- | Creates a value of 'GetBucketVersioningResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gbvrsMFADelete'+--+-- * 'gbvrsStatus'+getBucketVersioningResponse+    :: Int -- ^ 'gbvrsStatus'+    -> GetBucketVersioningResponse+getBucketVersioningResponse pStatus_ =+    GetBucketVersioningResponse'+    { _gbvrsMFADelete = Nothing+    , _gbvrsStatus = pStatus_+    } -    request  = get-    response = xmlResponse+-- | Specifies whether MFA delete is enabled in the bucket versioning+-- configuration. This element is only returned if the bucket has been+-- configured with MFA delete. If the bucket has never been so configured,+-- this element is not returned.+gbvrsMFADelete :: Lens' GetBucketVersioningResponse (Maybe MFADeleteStatus)+gbvrsMFADelete = lens _gbvrsMFADelete (\ s a -> s{_gbvrsMFADelete = a}); -instance FromXML GetBucketVersioningResponse where-    parseXML x = GetBucketVersioningResponse-        <$> x .@? "MfaDelete"-        <*> x .@? "Status"+-- | The response status code.+gbvrsStatus :: Lens' GetBucketVersioningResponse Int+gbvrsStatus = lens _gbvrsStatus (\ s a -> s{_gbvrsStatus = a});
gen/Network/AWS/S3/GetBucketWebsite.hs view
@@ -1,143 +1,149 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetBucketWebsite--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the website configuration for a bucket.+-- Returns the website configuration for a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketWebsite.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetBucketWebsite.html AWS API Reference> for GetBucketWebsite. module Network.AWS.S3.GetBucketWebsite     (-    -- * Request-      GetBucketWebsite-    -- ** Request constructor-    , getBucketWebsite-    -- ** Request lenses+    -- * Creating a Request+      getBucketWebsite+    , GetBucketWebsite+    -- * Request Lenses     , gbwBucket -    -- * Response-    , GetBucketWebsiteResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getBucketWebsiteResponse-    -- ** Response lenses-    , gbwrErrorDocument-    , gbwrIndexDocument-    , gbwrRedirectAllRequestsTo-    , gbwrRoutingRules+    , GetBucketWebsiteResponse+    -- * Response Lenses+    , gbwrsRedirectAllRequestsTo+    , gbwrsErrorDocument+    , gbwrsRoutingRules+    , gbwrsIndexDocument+    , gbwrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype GetBucketWebsite = GetBucketWebsite-    { _gbwBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'getBucketWebsite' smart constructor.+newtype GetBucketWebsite = GetBucketWebsite'+    { _gbwBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetBucketWebsite' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetBucketWebsite' with the minimum fields required to make a request. ----- * 'gbwBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---getBucketWebsite :: Text -- ^ 'gbwBucket'-                 -> GetBucketWebsite-getBucketWebsite p1 = GetBucketWebsite-    { _gbwBucket = p1+-- * 'gbwBucket'+getBucketWebsite+    :: BucketName -- ^ 'gbwBucket'+    -> GetBucketWebsite+getBucketWebsite pBucket_ =+    GetBucketWebsite'+    { _gbwBucket = pBucket_     } -gbwBucket :: Lens' GetBucketWebsite Text-gbwBucket = lens _gbwBucket (\s a -> s { _gbwBucket = a })+-- | Undocumented member.+gbwBucket :: Lens' GetBucketWebsite BucketName+gbwBucket = lens _gbwBucket (\ s a -> s{_gbwBucket = a}); -data GetBucketWebsiteResponse = GetBucketWebsiteResponse-    { _gbwrErrorDocument         :: Maybe ErrorDocument-    , _gbwrIndexDocument         :: Maybe IndexDocument-    , _gbwrRedirectAllRequestsTo :: Maybe RedirectAllRequestsTo-    , _gbwrRoutingRules          :: List "RoutingRule" RoutingRule-    } deriving (Eq, Read, Show)+instance AWSRequest GetBucketWebsite where+        type Sv GetBucketWebsite = S3+        type Rs GetBucketWebsite = GetBucketWebsiteResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetBucketWebsiteResponse' <$>+                   (x .@? "RedirectAllRequestsTo") <*>+                     (x .@? "ErrorDocument")+                     <*>+                     (x .@? "RoutingRules" .!@ mempty >>=+                        may (parseXMLList "RoutingRule"))+                     <*> (x .@? "IndexDocument")+                     <*> (pure (fromEnum s))) --- | 'GetBucketWebsiteResponse' constructor.+instance ToHeaders GetBucketWebsite where+        toHeaders = const mempty++instance ToPath GetBucketWebsite where+        toPath GetBucketWebsite'{..}+          = mconcat ["/", toBS _gbwBucket]++instance ToQuery GetBucketWebsite where+        toQuery = const (mconcat ["website"])++-- | /See:/ 'getBucketWebsiteResponse' smart constructor.+data GetBucketWebsiteResponse = GetBucketWebsiteResponse'+    { _gbwrsRedirectAllRequestsTo :: !(Maybe RedirectAllRequestsTo)+    , _gbwrsErrorDocument         :: !(Maybe ErrorDocument)+    , _gbwrsRoutingRules          :: !(Maybe [RoutingRule])+    , _gbwrsIndexDocument         :: !(Maybe IndexDocument)+    , _gbwrsStatus                :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetBucketWebsiteResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'gbwrErrorDocument' @::@ 'Maybe' 'ErrorDocument'+-- * 'gbwrsRedirectAllRequestsTo' ----- * 'gbwrIndexDocument' @::@ 'Maybe' 'IndexDocument'+-- * 'gbwrsErrorDocument' ----- * 'gbwrRedirectAllRequestsTo' @::@ 'Maybe' 'RedirectAllRequestsTo'+-- * 'gbwrsRoutingRules' ----- * 'gbwrRoutingRules' @::@ ['RoutingRule']+-- * 'gbwrsIndexDocument' ---getBucketWebsiteResponse :: GetBucketWebsiteResponse-getBucketWebsiteResponse = GetBucketWebsiteResponse-    { _gbwrRedirectAllRequestsTo = Nothing-    , _gbwrIndexDocument         = Nothing-    , _gbwrErrorDocument         = Nothing-    , _gbwrRoutingRules          = mempty+-- * 'gbwrsStatus'+getBucketWebsiteResponse+    :: Int -- ^ 'gbwrsStatus'+    -> GetBucketWebsiteResponse+getBucketWebsiteResponse pStatus_ =+    GetBucketWebsiteResponse'+    { _gbwrsRedirectAllRequestsTo = Nothing+    , _gbwrsErrorDocument = Nothing+    , _gbwrsRoutingRules = Nothing+    , _gbwrsIndexDocument = Nothing+    , _gbwrsStatus = pStatus_     } -gbwrErrorDocument :: Lens' GetBucketWebsiteResponse (Maybe ErrorDocument)-gbwrErrorDocument =-    lens _gbwrErrorDocument (\s a -> s { _gbwrErrorDocument = a })--gbwrIndexDocument :: Lens' GetBucketWebsiteResponse (Maybe IndexDocument)-gbwrIndexDocument =-    lens _gbwrIndexDocument (\s a -> s { _gbwrIndexDocument = a })--gbwrRedirectAllRequestsTo :: Lens' GetBucketWebsiteResponse (Maybe RedirectAllRequestsTo)-gbwrRedirectAllRequestsTo =-    lens _gbwrRedirectAllRequestsTo-        (\s a -> s { _gbwrRedirectAllRequestsTo = a })--gbwrRoutingRules :: Lens' GetBucketWebsiteResponse [RoutingRule]-gbwrRoutingRules = lens _gbwrRoutingRules (\s a -> s { _gbwrRoutingRules = a }) . _List--instance ToPath GetBucketWebsite where-    toPath GetBucketWebsite{..} = mconcat-        [ "/"-        , toText _gbwBucket-        ]--instance ToQuery GetBucketWebsite where-    toQuery = const "website"--instance ToHeaders GetBucketWebsite--instance ToXMLRoot GetBucketWebsite where-    toXMLRoot = const (namespaced ns "GetBucketWebsite" [])+-- | Undocumented member.+gbwrsRedirectAllRequestsTo :: Lens' GetBucketWebsiteResponse (Maybe RedirectAllRequestsTo)+gbwrsRedirectAllRequestsTo = lens _gbwrsRedirectAllRequestsTo (\ s a -> s{_gbwrsRedirectAllRequestsTo = a}); -instance ToXML GetBucketWebsite+-- | Undocumented member.+gbwrsErrorDocument :: Lens' GetBucketWebsiteResponse (Maybe ErrorDocument)+gbwrsErrorDocument = lens _gbwrsErrorDocument (\ s a -> s{_gbwrsErrorDocument = a}); -instance AWSRequest GetBucketWebsite where-    type Sv GetBucketWebsite = S3-    type Rs GetBucketWebsite = GetBucketWebsiteResponse+-- | Undocumented member.+gbwrsRoutingRules :: Lens' GetBucketWebsiteResponse [RoutingRule]+gbwrsRoutingRules = lens _gbwrsRoutingRules (\ s a -> s{_gbwrsRoutingRules = a}) . _Default . _Coerce; -    request  = get-    response = xmlResponse+-- | Undocumented member.+gbwrsIndexDocument :: Lens' GetBucketWebsiteResponse (Maybe IndexDocument)+gbwrsIndexDocument = lens _gbwrsIndexDocument (\ s a -> s{_gbwrsIndexDocument = a}); -instance FromXML GetBucketWebsiteResponse where-    parseXML x = GetBucketWebsiteResponse-        <$> x .@? "ErrorDocument"-        <*> x .@? "IndexDocument"-        <*> x .@? "RedirectAllRequestsTo"-        <*> x .@? "RoutingRules" .!@ mempty+-- | The response status code.+gbwrsStatus :: Lens' GetBucketWebsiteResponse Int+gbwrsStatus = lens _gbwrsStatus (\ s a -> s{_gbwrsStatus = a});
gen/Network/AWS/S3/GetObject.hs view
@@ -1,255 +1,202 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetObject--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Retrieves objects from Amazon S3.+-- Retrieves objects from Amazon S3. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetObject.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetObject.html AWS API Reference> for GetObject. module Network.AWS.S3.GetObject     (-    -- * Request-      GetObject-    -- ** Request constructor-    , getObject-    -- ** Request lenses-    , goBucket+    -- * Creating a Request+      getObject+    , GetObject+    -- * Request Lenses     , goIfMatch-    , goIfModifiedSince-    , goIfNoneMatch-    , goIfUnmodifiedSince-    , goKey-    , goRange-    , goRequestPayer-    , goResponseCacheControl+    , goVersionId+    , goResponseContentType     , goResponseContentDisposition-    , goResponseContentEncoding     , goResponseContentLanguage-    , goResponseContentType-    , goResponseExpires     , goSSECustomerAlgorithm     , goSSECustomerKey+    , goRequestPayer+    , goResponseContentEncoding+    , goIfModifiedSince+    , goRange+    , goIfUnmodifiedSince     , goSSECustomerKeyMD5-    , goVersionId+    , goResponseCacheControl+    , goResponseExpires+    , goIfNoneMatch+    , goBucket+    , goKey -    -- * Response-    , GetObjectResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getObjectResponse-    -- ** Response lenses-    , gorAcceptRanges-    , gorBody-    , gorCacheControl-    , gorContentDisposition-    , gorContentEncoding-    , gorContentLanguage-    , gorContentLength-    , gorContentType-    , gorDeleteMarker-    , gorETag-    , gorExpiration-    , gorExpires-    , gorLastModified-    , gorMetadata-    , gorMissingMeta-    , gorReplicationStatus-    , gorRequestCharged-    , gorRestore-    , gorSSECustomerAlgorithm-    , gorSSECustomerKeyMD5-    , gorSSEKMSKeyId-    , gorServerSideEncryption-    , gorVersionId-    , gorWebsiteRedirectLocation+    , GetObjectResponse+    -- * Response Lenses+    , gorsVersionId+    , gorsETag+    , gorsRequestCharged+    , gorsContentLength+    , gorsRestore+    , gorsExpires+    , gorsDeleteMarker+    , gorsExpiration+    , gorsSSECustomerAlgorithm+    , gorsMissingMeta+    , gorsWebsiteRedirectLocation+    , gorsAcceptRanges+    , gorsStorageClass+    , gorsContentEncoding+    , gorsSSEKMSKeyId+    , gorsSSECustomerKeyMD5+    , gorsMetadata+    , gorsReplicationStatus+    , gorsCacheControl+    , gorsContentLanguage+    , gorsLastModified+    , gorsContentDisposition+    , gorsContentRange+    , gorsServerSideEncryption+    , gorsContentType+    , gorsStatus+    , gorsBody     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data GetObject = GetObject-    { _goBucket                     :: Text-    , _goIfMatch                    :: Maybe Text-    , _goIfModifiedSince            :: Maybe RFC822-    , _goIfNoneMatch                :: Maybe Text-    , _goIfUnmodifiedSince          :: Maybe RFC822-    , _goKey                        :: Text-    , _goRange                      :: Maybe Text-    , _goRequestPayer               :: Maybe RequestPayer-    , _goResponseCacheControl       :: Maybe Text-    , _goResponseContentDisposition :: Maybe Text-    , _goResponseContentEncoding    :: Maybe Text-    , _goResponseContentLanguage    :: Maybe Text-    , _goResponseContentType        :: Maybe Text-    , _goResponseExpires            :: Maybe RFC822-    , _goSSECustomerAlgorithm       :: Maybe Text-    , _goSSECustomerKey             :: Maybe (Sensitive Text)-    , _goSSECustomerKeyMD5          :: Maybe Text-    , _goVersionId                  :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'getObject' smart constructor.+data GetObject = GetObject'+    { _goIfMatch                    :: !(Maybe Text)+    , _goVersionId                  :: !(Maybe ObjectVersionId)+    , _goResponseContentType        :: !(Maybe Text)+    , _goResponseContentDisposition :: !(Maybe Text)+    , _goResponseContentLanguage    :: !(Maybe Text)+    , _goSSECustomerAlgorithm       :: !(Maybe Text)+    , _goSSECustomerKey             :: !(Maybe (Sensitive Text))+    , _goRequestPayer               :: !(Maybe RequestPayer)+    , _goResponseContentEncoding    :: !(Maybe Text)+    , _goIfModifiedSince            :: !(Maybe RFC822)+    , _goRange                      :: !(Maybe Text)+    , _goIfUnmodifiedSince          :: !(Maybe RFC822)+    , _goSSECustomerKeyMD5          :: !(Maybe Text)+    , _goResponseCacheControl       :: !(Maybe Text)+    , _goResponseExpires            :: !(Maybe RFC822)+    , _goIfNoneMatch                :: !(Maybe Text)+    , _goBucket                     :: !BucketName+    , _goKey                        :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetObject' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetObject' with the minimum fields required to make a request. ----- * 'goBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'goIfMatch' @::@ 'Maybe' 'Text'+-- * 'goIfMatch' ----- * 'goIfModifiedSince' @::@ 'Maybe' 'UTCTime'+-- * 'goVersionId' ----- * 'goIfNoneMatch' @::@ 'Maybe' 'Text'+-- * 'goResponseContentType' ----- * 'goIfUnmodifiedSince' @::@ 'Maybe' 'UTCTime'+-- * 'goResponseContentDisposition' ----- * 'goKey' @::@ 'Text'+-- * 'goResponseContentLanguage' ----- * 'goRange' @::@ 'Maybe' 'Text'+-- * 'goSSECustomerAlgorithm' ----- * 'goRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'goSSECustomerKey' ----- * 'goResponseCacheControl' @::@ 'Maybe' 'Text'+-- * 'goRequestPayer' ----- * 'goResponseContentDisposition' @::@ 'Maybe' 'Text'+-- * 'goResponseContentEncoding' ----- * 'goResponseContentEncoding' @::@ 'Maybe' 'Text'+-- * 'goIfModifiedSince' ----- * 'goResponseContentLanguage' @::@ 'Maybe' 'Text'+-- * 'goRange' ----- * 'goResponseContentType' @::@ 'Maybe' 'Text'+-- * 'goIfUnmodifiedSince' ----- * 'goResponseExpires' @::@ 'Maybe' 'UTCTime'+-- * 'goSSECustomerKeyMD5' ----- * 'goSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'goResponseCacheControl' ----- * 'goSSECustomerKey' @::@ 'Maybe' 'Text'+-- * 'goResponseExpires' ----- * 'goSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'goIfNoneMatch' ----- * 'goVersionId' @::@ 'Maybe' 'Text'+-- * 'goBucket' ---getObject :: Text -- ^ 'goBucket'-          -> Text -- ^ 'goKey'-          -> GetObject-getObject p1 p2 = GetObject-    { _goBucket                     = p1-    , _goKey                        = p2-    , _goIfMatch                    = Nothing-    , _goIfModifiedSince            = Nothing-    , _goIfNoneMatch                = Nothing-    , _goIfUnmodifiedSince          = Nothing-    , _goRange                      = Nothing-    , _goResponseCacheControl       = Nothing+-- * 'goKey'+getObject+    :: BucketName -- ^ 'goBucket'+    -> ObjectKey -- ^ 'goKey'+    -> GetObject+getObject pBucket_ pKey_ =+    GetObject'+    { _goIfMatch = Nothing+    , _goVersionId = Nothing+    , _goResponseContentType = Nothing     , _goResponseContentDisposition = Nothing-    , _goResponseContentEncoding    = Nothing-    , _goResponseContentLanguage    = Nothing-    , _goResponseContentType        = Nothing-    , _goResponseExpires            = Nothing-    , _goVersionId                  = Nothing-    , _goSSECustomerAlgorithm       = Nothing-    , _goSSECustomerKey             = Nothing-    , _goSSECustomerKeyMD5          = Nothing-    , _goRequestPayer               = Nothing+    , _goResponseContentLanguage = Nothing+    , _goSSECustomerAlgorithm = Nothing+    , _goSSECustomerKey = Nothing+    , _goRequestPayer = Nothing+    , _goResponseContentEncoding = Nothing+    , _goIfModifiedSince = Nothing+    , _goRange = Nothing+    , _goIfUnmodifiedSince = Nothing+    , _goSSECustomerKeyMD5 = Nothing+    , _goResponseCacheControl = Nothing+    , _goResponseExpires = Nothing+    , _goIfNoneMatch = Nothing+    , _goBucket = pBucket_+    , _goKey = pKey_     } -goBucket :: Lens' GetObject Text-goBucket = lens _goBucket (\s a -> s { _goBucket = a })- -- | Return the object only if its entity tag (ETag) is the same as the one -- specified, otherwise return a 412 (precondition failed). goIfMatch :: Lens' GetObject (Maybe Text)-goIfMatch = lens _goIfMatch (\s a -> s { _goIfMatch = a })---- | Return the object only if it has been modified since the specified time,--- otherwise return a 304 (not modified).-goIfModifiedSince :: Lens' GetObject (Maybe UTCTime)-goIfModifiedSince =-    lens _goIfModifiedSince (\s a -> s { _goIfModifiedSince = a })-        . mapping _Time---- | Return the object only if its entity tag (ETag) is different from the one--- specified, otherwise return a 304 (not modified).-goIfNoneMatch :: Lens' GetObject (Maybe Text)-goIfNoneMatch = lens _goIfNoneMatch (\s a -> s { _goIfNoneMatch = a })---- | Return the object only if it has not been modified since the specified time,--- otherwise return a 412 (precondition failed).-goIfUnmodifiedSince :: Lens' GetObject (Maybe UTCTime)-goIfUnmodifiedSince =-    lens _goIfUnmodifiedSince (\s a -> s { _goIfUnmodifiedSince = a })-        . mapping _Time--goKey :: Lens' GetObject Text-goKey = lens _goKey (\s a -> s { _goKey = a })---- | Downloads the specified range bytes of an object. For more information about--- the HTTP Range header, go to--- http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.-goRange :: Lens' GetObject (Maybe Text)-goRange = lens _goRange (\s a -> s { _goRange = a })+goIfMatch = lens _goIfMatch (\ s a -> s{_goIfMatch = a}); -goRequestPayer :: Lens' GetObject (Maybe RequestPayer)-goRequestPayer = lens _goRequestPayer (\s a -> s { _goRequestPayer = a })+-- | VersionId used to reference a specific version of the object.+goVersionId :: Lens' GetObject (Maybe ObjectVersionId)+goVersionId = lens _goVersionId (\ s a -> s{_goVersionId = a}); --- | Sets the Cache-Control header of the response.-goResponseCacheControl :: Lens' GetObject (Maybe Text)-goResponseCacheControl =-    lens _goResponseCacheControl (\s a -> s { _goResponseCacheControl = a })+-- | Sets the Content-Type header of the response.+goResponseContentType :: Lens' GetObject (Maybe Text)+goResponseContentType = lens _goResponseContentType (\ s a -> s{_goResponseContentType = a});  -- | Sets the Content-Disposition header of the response goResponseContentDisposition :: Lens' GetObject (Maybe Text)-goResponseContentDisposition =-    lens _goResponseContentDisposition-        (\s a -> s { _goResponseContentDisposition = a })---- | Sets the Content-Encoding header of the response.-goResponseContentEncoding :: Lens' GetObject (Maybe Text)-goResponseContentEncoding =-    lens _goResponseContentEncoding-        (\s a -> s { _goResponseContentEncoding = a })+goResponseContentDisposition = lens _goResponseContentDisposition (\ s a -> s{_goResponseContentDisposition = a});  -- | Sets the Content-Language header of the response. goResponseContentLanguage :: Lens' GetObject (Maybe Text)-goResponseContentLanguage =-    lens _goResponseContentLanguage-        (\s a -> s { _goResponseContentLanguage = a })---- | Sets the Content-Type header of the response.-goResponseContentType :: Lens' GetObject (Maybe Text)-goResponseContentType =-    lens _goResponseContentType (\s a -> s { _goResponseContentType = a })---- | Sets the Expires header of the response.-goResponseExpires :: Lens' GetObject (Maybe UTCTime)-goResponseExpires =-    lens _goResponseExpires (\s a -> s { _goResponseExpires = a })-        . mapping _Time+goResponseContentLanguage = lens _goResponseContentLanguage (\ s a -> s{_goResponseContentLanguage = a}); --- | Specifies the algorithm to use to when encrypting the object (e.g., AES256,--- aws:kms).+-- | Specifies the algorithm to use to when encrypting the object (e.g.,+-- AES256). goSSECustomerAlgorithm :: Lens' GetObject (Maybe Text)-goSSECustomerAlgorithm =-    lens _goSSECustomerAlgorithm (\s a -> s { _goSSECustomerAlgorithm = a })+goSSECustomerAlgorithm = lens _goSSECustomerAlgorithm (\ s a -> s{_goSSECustomerAlgorithm = a});  -- | Specifies the customer-provided encryption key for Amazon S3 to use in -- encrypting data. This value is used to store the object and then it is@@ -257,313 +204,381 @@ -- appropriate for use with the algorithm specified in the -- x-amz-server-side​-encryption​-customer-algorithm header. goSSECustomerKey :: Lens' GetObject (Maybe Text)-goSSECustomerKey = lens _goSSECustomerKey (\s a -> s { _goSSECustomerKey = a }) . mapping _Sensitive+goSSECustomerKey = lens _goSSECustomerKey (\ s a -> s{_goSSECustomerKey = a}) . mapping _Sensitive; --- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.--- Amazon S3 uses this header for a message integrity check to ensure the--- encryption key was transmitted without error.+-- | Undocumented member.+goRequestPayer :: Lens' GetObject (Maybe RequestPayer)+goRequestPayer = lens _goRequestPayer (\ s a -> s{_goRequestPayer = a});++-- | Sets the Content-Encoding header of the response.+goResponseContentEncoding :: Lens' GetObject (Maybe Text)+goResponseContentEncoding = lens _goResponseContentEncoding (\ s a -> s{_goResponseContentEncoding = a});++-- | Return the object only if it has been modified since the specified time,+-- otherwise return a 304 (not modified).+goIfModifiedSince :: Lens' GetObject (Maybe UTCTime)+goIfModifiedSince = lens _goIfModifiedSince (\ s a -> s{_goIfModifiedSince = a}) . mapping _Time;++-- | Downloads the specified range bytes of an object. For more information+-- about the HTTP Range header, go to+-- http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec14.html#sec14.35.+goRange :: Lens' GetObject (Maybe Text)+goRange = lens _goRange (\ s a -> s{_goRange = a});++-- | Return the object only if it has not been modified since the specified+-- time, otherwise return a 412 (precondition failed).+goIfUnmodifiedSince :: Lens' GetObject (Maybe UTCTime)+goIfUnmodifiedSince = lens _goIfUnmodifiedSince (\ s a -> s{_goIfUnmodifiedSince = a}) . mapping _Time;++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- the encryption key was transmitted without error. goSSECustomerKeyMD5 :: Lens' GetObject (Maybe Text)-goSSECustomerKeyMD5 =-    lens _goSSECustomerKeyMD5 (\s a -> s { _goSSECustomerKeyMD5 = a })+goSSECustomerKeyMD5 = lens _goSSECustomerKeyMD5 (\ s a -> s{_goSSECustomerKeyMD5 = a}); --- | VersionId used to reference a specific version of the object.-goVersionId :: Lens' GetObject (Maybe Text)-goVersionId = lens _goVersionId (\s a -> s { _goVersionId = a })+-- | Sets the Cache-Control header of the response.+goResponseCacheControl :: Lens' GetObject (Maybe Text)+goResponseCacheControl = lens _goResponseCacheControl (\ s a -> s{_goResponseCacheControl = a}); -data GetObjectResponse = GetObjectResponse-    { _gorAcceptRanges            :: Maybe Text-    , _gorBody                    :: RsBody-    , _gorCacheControl            :: Maybe Text-    , _gorContentDisposition      :: Maybe Text-    , _gorContentEncoding         :: Maybe Text-    , _gorContentLanguage         :: Maybe Text-    , _gorContentLength           :: Maybe Int-    , _gorContentType             :: Maybe Text-    , _gorDeleteMarker            :: Maybe Bool-    , _gorETag                    :: Maybe Text-    , _gorExpiration              :: Maybe Text-    , _gorExpires                 :: Maybe RFC822-    , _gorLastModified            :: Maybe RFC822-    , _gorMetadata                :: Map (CI Text) Text-    , _gorMissingMeta             :: Maybe Int-    , _gorReplicationStatus       :: Maybe ReplicationStatus-    , _gorRequestCharged          :: Maybe RequestCharged-    , _gorRestore                 :: Maybe Text-    , _gorSSECustomerAlgorithm    :: Maybe Text-    , _gorSSECustomerKeyMD5       :: Maybe Text-    , _gorSSEKMSKeyId             :: Maybe (Sensitive Text)-    , _gorServerSideEncryption    :: Maybe ServerSideEncryption-    , _gorVersionId               :: Maybe Text-    , _gorWebsiteRedirectLocation :: Maybe Text-    } deriving (Show)+-- | Sets the Expires header of the response.+goResponseExpires :: Lens' GetObject (Maybe UTCTime)+goResponseExpires = lens _goResponseExpires (\ s a -> s{_goResponseExpires = a}) . mapping _Time; --- | 'GetObjectResponse' constructor.+-- | Return the object only if its entity tag (ETag) is different from the+-- one specified, otherwise return a 304 (not modified).+goIfNoneMatch :: Lens' GetObject (Maybe Text)+goIfNoneMatch = lens _goIfNoneMatch (\ s a -> s{_goIfNoneMatch = a});++-- | Undocumented member.+goBucket :: Lens' GetObject BucketName+goBucket = lens _goBucket (\ s a -> s{_goBucket = a});++-- | Undocumented member.+goKey :: Lens' GetObject ObjectKey+goKey = lens _goKey (\ s a -> s{_goKey = a});++instance AWSRequest GetObject where+        type Sv GetObject = S3+        type Rs GetObject = GetObjectResponse+        request = get+        response+          = receiveBody+              (\ s h x ->+                 GetObjectResponse' <$>+                   (h .#? "x-amz-version-id") <*> (h .#? "ETag") <*>+                     (h .#? "x-amz-request-charged")+                     <*> (h .#? "Content-Length")+                     <*> (h .#? "x-amz-restore")+                     <*> (h .#? "Expires")+                     <*> (h .#? "x-amz-delete-marker")+                     <*> (h .#? "x-amz-expiration")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-algorithm")+                     <*> (h .#? "x-amz-missing-meta")+                     <*> (h .#? "x-amz-website-redirect-location")+                     <*> (h .#? "accept-ranges")+                     <*> (h .#? "x-amz-storage-class")+                     <*> (h .#? "Content-Encoding")+                     <*>+                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-key-MD5")+                     <*> (parseHeadersMap "x-amz-meta-" h)+                     <*> (h .#? "x-amz-replication-status")+                     <*> (h .#? "Cache-Control")+                     <*> (h .#? "Content-Language")+                     <*> (h .#? "Last-Modified")+                     <*> (h .#? "Content-Disposition")+                     <*> (h .#? "Content-Range")+                     <*> (h .#? "x-amz-server-side-encryption")+                     <*> (h .#? "Content-Type")+                     <*> (pure (fromEnum s))+                     <*> (pure x))++instance ToHeaders GetObject where+        toHeaders GetObject'{..}+          = mconcat+              ["If-Match" =# _goIfMatch,+               "x-amz-server-side-encryption-customer-algorithm" =#+                 _goSSECustomerAlgorithm,+               "x-amz-server-side-encryption-customer-key" =#+                 _goSSECustomerKey,+               "x-amz-request-payer" =# _goRequestPayer,+               "If-Modified-Since" =# _goIfModifiedSince,+               "Range" =# _goRange,+               "If-Unmodified-Since" =# _goIfUnmodifiedSince,+               "x-amz-server-side-encryption-customer-key-MD5" =#+                 _goSSECustomerKeyMD5,+               "If-None-Match" =# _goIfNoneMatch]++instance ToPath GetObject where+        toPath GetObject'{..}+          = mconcat ["/", toBS _goBucket, "/", toBS _goKey]++instance ToQuery GetObject where+        toQuery GetObject'{..}+          = mconcat+              ["versionId" =: _goVersionId,+               "response-content-type" =: _goResponseContentType,+               "response-content-disposition" =:+                 _goResponseContentDisposition,+               "response-content-language" =:+                 _goResponseContentLanguage,+               "response-content-encoding" =:+                 _goResponseContentEncoding,+               "response-cache-control" =: _goResponseCacheControl,+               "response-expires" =: _goResponseExpires]++-- | /See:/ 'getObjectResponse' smart constructor.+data GetObjectResponse = GetObjectResponse'+    { _gorsVersionId               :: !(Maybe ObjectVersionId)+    , _gorsETag                    :: !(Maybe ETag)+    , _gorsRequestCharged          :: !(Maybe RequestCharged)+    , _gorsContentLength           :: !(Maybe Int)+    , _gorsRestore                 :: !(Maybe Text)+    , _gorsExpires                 :: !(Maybe RFC822)+    , _gorsDeleteMarker            :: !(Maybe Bool)+    , _gorsExpiration              :: !(Maybe Text)+    , _gorsSSECustomerAlgorithm    :: !(Maybe Text)+    , _gorsMissingMeta             :: !(Maybe Int)+    , _gorsWebsiteRedirectLocation :: !(Maybe Text)+    , _gorsAcceptRanges            :: !(Maybe Text)+    , _gorsStorageClass            :: !(Maybe StorageClass)+    , _gorsContentEncoding         :: !(Maybe Text)+    , _gorsSSEKMSKeyId             :: !(Maybe (Sensitive Text))+    , _gorsSSECustomerKeyMD5       :: !(Maybe Text)+    , _gorsMetadata                :: !(Map Text Text)+    , _gorsReplicationStatus       :: !(Maybe ReplicationStatus)+    , _gorsCacheControl            :: !(Maybe Text)+    , _gorsContentLanguage         :: !(Maybe Text)+    , _gorsLastModified            :: !(Maybe RFC822)+    , _gorsContentDisposition      :: !(Maybe Text)+    , _gorsContentRange            :: !(Maybe Text)+    , _gorsServerSideEncryption    :: !(Maybe ServerSideEncryption)+    , _gorsContentType             :: !(Maybe Text)+    , _gorsStatus                  :: !Int+    , _gorsBody                    :: !RsBody+    } deriving (Show,Generic)++-- | Creates a value of 'GetObjectResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'gorAcceptRanges' @::@ 'Maybe' 'Text'+-- * 'gorsVersionId' ----- * 'gorBody' @::@ 'RsBody'+-- * 'gorsETag' ----- * 'gorCacheControl' @::@ 'Maybe' 'Text'+-- * 'gorsRequestCharged' ----- * 'gorContentDisposition' @::@ 'Maybe' 'Text'+-- * 'gorsContentLength' ----- * 'gorContentEncoding' @::@ 'Maybe' 'Text'+-- * 'gorsRestore' ----- * 'gorContentLanguage' @::@ 'Maybe' 'Text'+-- * 'gorsExpires' ----- * 'gorContentLength' @::@ 'Maybe' 'Int'+-- * 'gorsDeleteMarker' ----- * 'gorContentType' @::@ 'Maybe' 'Text'+-- * 'gorsExpiration' ----- * 'gorDeleteMarker' @::@ 'Maybe' 'Bool'+-- * 'gorsSSECustomerAlgorithm' ----- * 'gorETag' @::@ 'Maybe' 'Text'+-- * 'gorsMissingMeta' ----- * 'gorExpiration' @::@ 'Maybe' 'Text'+-- * 'gorsWebsiteRedirectLocation' ----- * 'gorExpires' @::@ 'Maybe' 'UTCTime'+-- * 'gorsAcceptRanges' ----- * 'gorLastModified' @::@ 'Maybe' 'UTCTime'+-- * 'gorsStorageClass' ----- * 'gorMetadata' @::@ 'HashMap' ('CI' 'Text') 'Text'+-- * 'gorsContentEncoding' ----- * 'gorMissingMeta' @::@ 'Maybe' 'Int'+-- * 'gorsSSEKMSKeyId' ----- * 'gorReplicationStatus' @::@ 'Maybe' 'ReplicationStatus'+-- * 'gorsSSECustomerKeyMD5' ----- * 'gorRequestCharged' @::@ 'Maybe' 'RequestCharged'+-- * 'gorsMetadata' ----- * 'gorRestore' @::@ 'Maybe' 'Text'+-- * 'gorsReplicationStatus' ----- * 'gorSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'gorsCacheControl' ----- * 'gorSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'gorsContentLanguage' ----- * 'gorSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'gorsLastModified' ----- * 'gorServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'gorsContentDisposition' ----- * 'gorVersionId' @::@ 'Maybe' 'Text'+-- * 'gorsContentRange' ----- * 'gorWebsiteRedirectLocation' @::@ 'Maybe' 'Text'+-- * 'gorsServerSideEncryption' ---getObjectResponse :: RsBody -- ^ 'gorBody'-                  -> GetObjectResponse-getObjectResponse p1 = GetObjectResponse-    { _gorBody                    = p1-    , _gorDeleteMarker            = Nothing-    , _gorAcceptRanges            = Nothing-    , _gorExpiration              = Nothing-    , _gorRestore                 = Nothing-    , _gorLastModified            = Nothing-    , _gorContentLength           = Nothing-    , _gorETag                    = Nothing-    , _gorMissingMeta             = Nothing-    , _gorVersionId               = Nothing-    , _gorCacheControl            = Nothing-    , _gorContentDisposition      = Nothing-    , _gorContentEncoding         = Nothing-    , _gorContentLanguage         = Nothing-    , _gorContentType             = Nothing-    , _gorExpires                 = Nothing-    , _gorWebsiteRedirectLocation = Nothing-    , _gorServerSideEncryption    = Nothing-    , _gorMetadata                = mempty-    , _gorSSECustomerAlgorithm    = Nothing-    , _gorSSECustomerKeyMD5       = Nothing-    , _gorSSEKMSKeyId             = Nothing-    , _gorRequestCharged          = Nothing-    , _gorReplicationStatus       = Nothing+-- * 'gorsContentType'+--+-- * 'gorsStatus'+--+-- * 'gorsBody'+getObjectResponse+    :: Int -- ^ 'gorsStatus'+    -> RsBody -- ^ 'gorsBody'+    -> GetObjectResponse+getObjectResponse pStatus_ pBody_ =+    GetObjectResponse'+    { _gorsVersionId = Nothing+    , _gorsETag = Nothing+    , _gorsRequestCharged = Nothing+    , _gorsContentLength = Nothing+    , _gorsRestore = Nothing+    , _gorsExpires = Nothing+    , _gorsDeleteMarker = Nothing+    , _gorsExpiration = Nothing+    , _gorsSSECustomerAlgorithm = Nothing+    , _gorsMissingMeta = Nothing+    , _gorsWebsiteRedirectLocation = Nothing+    , _gorsAcceptRanges = Nothing+    , _gorsStorageClass = Nothing+    , _gorsContentEncoding = Nothing+    , _gorsSSEKMSKeyId = Nothing+    , _gorsSSECustomerKeyMD5 = Nothing+    , _gorsMetadata = mempty+    , _gorsReplicationStatus = Nothing+    , _gorsCacheControl = Nothing+    , _gorsContentLanguage = Nothing+    , _gorsLastModified = Nothing+    , _gorsContentDisposition = Nothing+    , _gorsContentRange = Nothing+    , _gorsServerSideEncryption = Nothing+    , _gorsContentType = Nothing+    , _gorsStatus = pStatus_+    , _gorsBody = pBody_     } -gorAcceptRanges :: Lens' GetObjectResponse (Maybe Text)-gorAcceptRanges = lens _gorAcceptRanges (\s a -> s { _gorAcceptRanges = a })---- | Object data.-gorBody :: Lens' GetObjectResponse RsBody-gorBody = lens _gorBody (\s a -> s { _gorBody = a })---- | Specifies caching behavior along the request/reply chain.-gorCacheControl :: Lens' GetObjectResponse (Maybe Text)-gorCacheControl = lens _gorCacheControl (\s a -> s { _gorCacheControl = a })---- | Specifies presentational information for the object.-gorContentDisposition :: Lens' GetObjectResponse (Maybe Text)-gorContentDisposition =-    lens _gorContentDisposition (\s a -> s { _gorContentDisposition = a })+-- | Version of the object.+gorsVersionId :: Lens' GetObjectResponse (Maybe ObjectVersionId)+gorsVersionId = lens _gorsVersionId (\ s a -> s{_gorsVersionId = a}); --- | Specifies what content encodings have been applied to the object and thus--- what decoding mechanisms must be applied to obtain the media-type referenced--- by the Content-Type header field.-gorContentEncoding :: Lens' GetObjectResponse (Maybe Text)-gorContentEncoding =-    lens _gorContentEncoding (\s a -> s { _gorContentEncoding = a })+-- | An ETag is an opaque identifier assigned by a web server to a specific+-- version of a resource found at a URL+gorsETag :: Lens' GetObjectResponse (Maybe ETag)+gorsETag = lens _gorsETag (\ s a -> s{_gorsETag = a}); --- | The language the content is in.-gorContentLanguage :: Lens' GetObjectResponse (Maybe Text)-gorContentLanguage =-    lens _gorContentLanguage (\s a -> s { _gorContentLanguage = a })+-- | Undocumented member.+gorsRequestCharged :: Lens' GetObjectResponse (Maybe RequestCharged)+gorsRequestCharged = lens _gorsRequestCharged (\ s a -> s{_gorsRequestCharged = a});  -- | Size of the body in bytes.-gorContentLength :: Lens' GetObjectResponse (Maybe Int)-gorContentLength = lens _gorContentLength (\s a -> s { _gorContentLength = a })+gorsContentLength :: Lens' GetObjectResponse (Maybe Int)+gorsContentLength = lens _gorsContentLength (\ s a -> s{_gorsContentLength = a}); --- | A standard MIME type describing the format of the object data.-gorContentType :: Lens' GetObjectResponse (Maybe Text)-gorContentType = lens _gorContentType (\s a -> s { _gorContentType = a })+-- | Provides information about object restoration operation and expiration+-- time of the restored object copy.+gorsRestore :: Lens' GetObjectResponse (Maybe Text)+gorsRestore = lens _gorsRestore (\ s a -> s{_gorsRestore = a}); --- | Specifies whether the object retrieved was (true) or was not (false) a Delete--- Marker. If false, this response header does not appear in the response.-gorDeleteMarker :: Lens' GetObjectResponse (Maybe Bool)-gorDeleteMarker = lens _gorDeleteMarker (\s a -> s { _gorDeleteMarker = a })+-- | The date and time at which the object is no longer cacheable.+gorsExpires :: Lens' GetObjectResponse (Maybe UTCTime)+gorsExpires = lens _gorsExpires (\ s a -> s{_gorsExpires = a}) . mapping _Time; --- | An ETag is an opaque identifier assigned by a web server to a specific--- version of a resource found at a URL-gorETag :: Lens' GetObjectResponse (Maybe Text)-gorETag = lens _gorETag (\s a -> s { _gorETag = a })+-- | Specifies whether the object retrieved was (true) or was not (false) a+-- Delete Marker. If false, this response header does not appear in the+-- response.+gorsDeleteMarker :: Lens' GetObjectResponse (Maybe Bool)+gorsDeleteMarker = lens _gorsDeleteMarker (\ s a -> s{_gorsDeleteMarker = a});  -- | If the object expiration is configured (see PUT Bucket lifecycle), the--- response includes this header. It includes the expiry-date and rule-id key--- value pairs providing object expiration information. The value of the rule-id--- is URL encoded.-gorExpiration :: Lens' GetObjectResponse (Maybe Text)-gorExpiration = lens _gorExpiration (\s a -> s { _gorExpiration = a })---- | The date and time at which the object is no longer cacheable.-gorExpires :: Lens' GetObjectResponse (Maybe UTCTime)-gorExpires = lens _gorExpires (\s a -> s { _gorExpires = a }) . mapping _Time---- | Last modified date of the object-gorLastModified :: Lens' GetObjectResponse (Maybe UTCTime)-gorLastModified = lens _gorLastModified (\s a -> s { _gorLastModified = a }) . mapping _Time+-- response includes this header. It includes the expiry-date and rule-id+-- key value pairs providing object expiration information. The value of+-- the rule-id is URL encoded.+gorsExpiration :: Lens' GetObjectResponse (Maybe Text)+gorsExpiration = lens _gorsExpiration (\ s a -> s{_gorsExpiration = a}); --- | A map of metadata to store with the object in S3.-gorMetadata :: Lens' GetObjectResponse (HashMap (CI Text) Text)-gorMetadata = lens _gorMetadata (\s a -> s { _gorMetadata = a }) . _Map+-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+gorsSSECustomerAlgorithm :: Lens' GetObjectResponse (Maybe Text)+gorsSSECustomerAlgorithm = lens _gorsSSECustomerAlgorithm (\ s a -> s{_gorsSSECustomerAlgorithm = a});  -- | This is set to the number of metadata entries not returned in x-amz-meta--- headers. This can happen if you create metadata using an API like SOAP that--- supports more flexible metadata than the REST API. For example, using SOAP,--- you can create metadata whose values are not legal HTTP headers.-gorMissingMeta :: Lens' GetObjectResponse (Maybe Int)-gorMissingMeta = lens _gorMissingMeta (\s a -> s { _gorMissingMeta = a })+-- headers. This can happen if you create metadata using an API like SOAP+-- that supports more flexible metadata than the REST API. For example,+-- using SOAP, you can create metadata whose values are not legal HTTP+-- headers.+gorsMissingMeta :: Lens' GetObjectResponse (Maybe Int)+gorsMissingMeta = lens _gorsMissingMeta (\ s a -> s{_gorsMissingMeta = a}); -gorReplicationStatus :: Lens' GetObjectResponse (Maybe ReplicationStatus)-gorReplicationStatus =-    lens _gorReplicationStatus (\s a -> s { _gorReplicationStatus = a })+-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+gorsWebsiteRedirectLocation :: Lens' GetObjectResponse (Maybe Text)+gorsWebsiteRedirectLocation = lens _gorsWebsiteRedirectLocation (\ s a -> s{_gorsWebsiteRedirectLocation = a}); -gorRequestCharged :: Lens' GetObjectResponse (Maybe RequestCharged)-gorRequestCharged =-    lens _gorRequestCharged (\s a -> s { _gorRequestCharged = a })+-- | Undocumented member.+gorsAcceptRanges :: Lens' GetObjectResponse (Maybe Text)+gorsAcceptRanges = lens _gorsAcceptRanges (\ s a -> s{_gorsAcceptRanges = a}); --- | Provides information about object restoration operation and expiration time--- of the restored object copy.-gorRestore :: Lens' GetObjectResponse (Maybe Text)-gorRestore = lens _gorRestore (\s a -> s { _gorRestore = a })+-- | Undocumented member.+gorsStorageClass :: Lens' GetObjectResponse (Maybe StorageClass)+gorsStorageClass = lens _gorsStorageClass (\ s a -> s{_gorsStorageClass = a}); --- | If server-side encryption with a customer-provided encryption key was--- requested, the response will include this header confirming the encryption--- algorithm used.-gorSSECustomerAlgorithm :: Lens' GetObjectResponse (Maybe Text)-gorSSECustomerAlgorithm =-    lens _gorSSECustomerAlgorithm (\s a -> s { _gorSSECustomerAlgorithm = a })+-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+gorsContentEncoding :: Lens' GetObjectResponse (Maybe Text)+gorsContentEncoding = lens _gorsContentEncoding (\ s a -> s{_gorsContentEncoding = a}); +-- | If present, specifies the ID of the AWS Key Management Service (KMS)+-- master encryption key that was used for the object.+gorsSSEKMSKeyId :: Lens' GetObjectResponse (Maybe Text)+gorsSSEKMSKeyId = lens _gorsSSEKMSKeyId (\ s a -> s{_gorsSSEKMSKeyId = a}) . mapping _Sensitive;+ -- | If server-side encryption with a customer-provided encryption key was -- requested, the response will include this header to provide round trip -- message integrity verification of the customer-provided encryption key.-gorSSECustomerKeyMD5 :: Lens' GetObjectResponse (Maybe Text)-gorSSECustomerKeyMD5 =-    lens _gorSSECustomerKeyMD5 (\s a -> s { _gorSSECustomerKeyMD5 = a })+gorsSSECustomerKeyMD5 :: Lens' GetObjectResponse (Maybe Text)+gorsSSECustomerKeyMD5 = lens _gorsSSECustomerKeyMD5 (\ s a -> s{_gorsSSECustomerKeyMD5 = a}); --- | If present, specifies the ID of the AWS Key Management Service (KMS) master--- encryption key that was used for the object.-gorSSEKMSKeyId :: Lens' GetObjectResponse (Maybe Text)-gorSSEKMSKeyId = lens _gorSSEKMSKeyId (\s a -> s { _gorSSEKMSKeyId = a }) . mapping _Sensitive+-- | A map of metadata to store with the object in S3.+gorsMetadata :: Lens' GetObjectResponse (HashMap Text Text)+gorsMetadata = lens _gorsMetadata (\ s a -> s{_gorsMetadata = a}) . _Map; --- | The Server-side encryption algorithm used when storing this object in S3--- (e.g., AES256, aws:kms).-gorServerSideEncryption :: Lens' GetObjectResponse (Maybe ServerSideEncryption)-gorServerSideEncryption =-    lens _gorServerSideEncryption (\s a -> s { _gorServerSideEncryption = a })+-- | Undocumented member.+gorsReplicationStatus :: Lens' GetObjectResponse (Maybe ReplicationStatus)+gorsReplicationStatus = lens _gorsReplicationStatus (\ s a -> s{_gorsReplicationStatus = a}); --- | Version of the object.-gorVersionId :: Lens' GetObjectResponse (Maybe Text)-gorVersionId = lens _gorVersionId (\s a -> s { _gorVersionId = a })+-- | Specifies caching behavior along the request\/reply chain.+gorsCacheControl :: Lens' GetObjectResponse (Maybe Text)+gorsCacheControl = lens _gorsCacheControl (\ s a -> s{_gorsCacheControl = a}); --- | If the bucket is configured as a website, redirects requests for this object--- to another object in the same bucket or to an external URL. Amazon S3 stores--- the value of this header in the object metadata.-gorWebsiteRedirectLocation :: Lens' GetObjectResponse (Maybe Text)-gorWebsiteRedirectLocation =-    lens _gorWebsiteRedirectLocation-        (\s a -> s { _gorWebsiteRedirectLocation = a })+-- | The language the content is in.+gorsContentLanguage :: Lens' GetObjectResponse (Maybe Text)+gorsContentLanguage = lens _gorsContentLanguage (\ s a -> s{_gorsContentLanguage = a}); -instance ToPath GetObject where-    toPath GetObject{..} = mconcat-        [ "/"-        , toText _goBucket-        , "/"-        , toText _goKey-        ]+-- | Last modified date of the object+gorsLastModified :: Lens' GetObjectResponse (Maybe UTCTime)+gorsLastModified = lens _gorsLastModified (\ s a -> s{_gorsLastModified = a}) . mapping _Time; -instance ToQuery GetObject where-    toQuery GetObject{..} = mconcat-        [ "response-cache-control"       =? _goResponseCacheControl-        , "response-content-disposition" =? _goResponseContentDisposition-        , "response-content-encoding"    =? _goResponseContentEncoding-        , "response-content-language"    =? _goResponseContentLanguage-        , "response-content-type"        =? _goResponseContentType-        , "response-expires"             =? _goResponseExpires-        , "versionId"                    =? _goVersionId-        ]+-- | Specifies presentational information for the object.+gorsContentDisposition :: Lens' GetObjectResponse (Maybe Text)+gorsContentDisposition = lens _gorsContentDisposition (\ s a -> s{_gorsContentDisposition = a}); -instance ToHeaders GetObject where-    toHeaders GetObject{..} = mconcat-        [ "If-Match"                                        =: _goIfMatch-        , "If-Modified-Since"                               =: _goIfModifiedSince-        , "If-None-Match"                                   =: _goIfNoneMatch-        , "If-Unmodified-Since"                             =: _goIfUnmodifiedSince-        , "Range"                                           =: _goRange-        , "x-amz-server-side-encryption-customer-algorithm" =: _goSSECustomerAlgorithm-        , "x-amz-server-side-encryption-customer-key"       =: _goSSECustomerKey-        , "x-amz-server-side-encryption-customer-key-MD5"   =: _goSSECustomerKeyMD5-        , "x-amz-request-payer"                             =: _goRequestPayer-        ]+-- | The portion of the object returned in the response.+gorsContentRange :: Lens' GetObjectResponse (Maybe Text)+gorsContentRange = lens _gorsContentRange (\ s a -> s{_gorsContentRange = a}); -instance ToXMLRoot GetObject where-    toXMLRoot = const (namespaced ns "GetObject" [])+-- | The Server-side encryption algorithm used when storing this object in S3+-- (e.g., AES256, aws:kms).+gorsServerSideEncryption :: Lens' GetObjectResponse (Maybe ServerSideEncryption)+gorsServerSideEncryption = lens _gorsServerSideEncryption (\ s a -> s{_gorsServerSideEncryption = a}); -instance ToXML GetObject+-- | A standard MIME type describing the format of the object data.+gorsContentType :: Lens' GetObjectResponse (Maybe Text)+gorsContentType = lens _gorsContentType (\ s a -> s{_gorsContentType = a}); -instance AWSRequest GetObject where-    type Sv GetObject = S3-    type Rs GetObject = GetObjectResponse+-- | The response status code.+gorsStatus :: Lens' GetObjectResponse Int+gorsStatus = lens _gorsStatus (\ s a -> s{_gorsStatus = a}); -    request  = get-    response = bodyResponse $ \h s b -> GetObjectResponse-        <$> h ~:? "accept-ranges"-        <*> pure (RsBody b)-        <*> h ~:? "Cache-Control"-        <*> h ~:? "Content-Disposition"-        <*> h ~:? "Content-Encoding"-        <*> h ~:? "Content-Language"-        <*> h ~:? "Content-Length"-        <*> h ~:? "Content-Type"-        <*> h ~:? "x-amz-delete-marker"-        <*> h ~:? "ETag"-        <*> h ~:? "x-amz-expiration"-        <*> h ~:? "Expires"-        <*> h ~:? "Last-Modified"-        <*> h ~:: "x-amz-meta-"-        <*> h ~:? "x-amz-missing-meta"-        <*> h ~:? "x-amz-replication-status"-        <*> h ~:? "x-amz-request-charged"-        <*> h ~:? "x-amz-restore"-        <*> h ~:? "x-amz-server-side-encryption-customer-algorithm"-        <*> h ~:? "x-amz-server-side-encryption-customer-key-MD5"-        <*> h ~:? "x-amz-server-side-encryption-aws-kms-key-id"-        <*> h ~:? "x-amz-server-side-encryption"-        <*> h ~:? "x-amz-version-id"-        <*> h ~:? "x-amz-website-redirect-location"+-- | Object data.+gorsBody :: Lens' GetObjectResponse RsBody+gorsBody = lens _gorsBody (\ s a -> s{_gorsBody = a});
+ gen/Network/AWS/S3/GetObjectACL.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.GetObjectACL+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the access control list (ACL) of an object.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetObjectACL.html AWS API Reference> for GetObjectACL.+module Network.AWS.S3.GetObjectACL+    (+    -- * Creating a Request+      getObjectACL+    , GetObjectACL+    -- * Request Lenses+    , goaVersionId+    , goaRequestPayer+    , goaBucket+    , goaKey++    -- * Destructuring the Response+    , getObjectACLResponse+    , GetObjectACLResponse+    -- * Response Lenses+    , goarsRequestCharged+    , goarsGrants+    , goarsOwner+    , goarsStatus+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product++-- | /See:/ 'getObjectACL' smart constructor.+data GetObjectACL = GetObjectACL'+    { _goaVersionId    :: !(Maybe ObjectVersionId)+    , _goaRequestPayer :: !(Maybe RequestPayer)+    , _goaBucket       :: !BucketName+    , _goaKey          :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetObjectACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'goaVersionId'+--+-- * 'goaRequestPayer'+--+-- * 'goaBucket'+--+-- * 'goaKey'+getObjectACL+    :: BucketName -- ^ 'goaBucket'+    -> ObjectKey -- ^ 'goaKey'+    -> GetObjectACL+getObjectACL pBucket_ pKey_ =+    GetObjectACL'+    { _goaVersionId = Nothing+    , _goaRequestPayer = Nothing+    , _goaBucket = pBucket_+    , _goaKey = pKey_+    }++-- | VersionId used to reference a specific version of the object.+goaVersionId :: Lens' GetObjectACL (Maybe ObjectVersionId)+goaVersionId = lens _goaVersionId (\ s a -> s{_goaVersionId = a});++-- | Undocumented member.+goaRequestPayer :: Lens' GetObjectACL (Maybe RequestPayer)+goaRequestPayer = lens _goaRequestPayer (\ s a -> s{_goaRequestPayer = a});++-- | Undocumented member.+goaBucket :: Lens' GetObjectACL BucketName+goaBucket = lens _goaBucket (\ s a -> s{_goaBucket = a});++-- | Undocumented member.+goaKey :: Lens' GetObjectACL ObjectKey+goaKey = lens _goaKey (\ s a -> s{_goaKey = a});++instance AWSRequest GetObjectACL where+        type Sv GetObjectACL = S3+        type Rs GetObjectACL = GetObjectACLResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 GetObjectACLResponse' <$>+                   (h .#? "x-amz-request-charged") <*>+                     (x .@? "AccessControlList" .!@ mempty >>=+                        may (parseXMLList "Grant"))+                     <*> (x .@? "Owner")+                     <*> (pure (fromEnum s)))++instance ToHeaders GetObjectACL where+        toHeaders GetObjectACL'{..}+          = mconcat ["x-amz-request-payer" =# _goaRequestPayer]++instance ToPath GetObjectACL where+        toPath GetObjectACL'{..}+          = mconcat ["/", toBS _goaBucket, "/", toBS _goaKey]++instance ToQuery GetObjectACL where+        toQuery GetObjectACL'{..}+          = mconcat ["versionId" =: _goaVersionId, "acl"]++-- | /See:/ 'getObjectACLResponse' smart constructor.+data GetObjectACLResponse = GetObjectACLResponse'+    { _goarsRequestCharged :: !(Maybe RequestCharged)+    , _goarsGrants         :: !(Maybe [Grant])+    , _goarsOwner          :: !(Maybe Owner)+    , _goarsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetObjectACLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'goarsRequestCharged'+--+-- * 'goarsGrants'+--+-- * 'goarsOwner'+--+-- * 'goarsStatus'+getObjectACLResponse+    :: Int -- ^ 'goarsStatus'+    -> GetObjectACLResponse+getObjectACLResponse pStatus_ =+    GetObjectACLResponse'+    { _goarsRequestCharged = Nothing+    , _goarsGrants = Nothing+    , _goarsOwner = Nothing+    , _goarsStatus = pStatus_+    }++-- | Undocumented member.+goarsRequestCharged :: Lens' GetObjectACLResponse (Maybe RequestCharged)+goarsRequestCharged = lens _goarsRequestCharged (\ s a -> s{_goarsRequestCharged = a});++-- | A list of grants.+goarsGrants :: Lens' GetObjectACLResponse [Grant]+goarsGrants = lens _goarsGrants (\ s a -> s{_goarsGrants = a}) . _Default . _Coerce;++-- | Undocumented member.+goarsOwner :: Lens' GetObjectACLResponse (Maybe Owner)+goarsOwner = lens _goarsOwner (\ s a -> s{_goarsOwner = a});++-- | The response status code.+goarsStatus :: Lens' GetObjectACLResponse Int+goarsStatus = lens _goarsStatus (\ s a -> s{_goarsStatus = a});
− gen/Network/AWS/S3/GetObjectAcl.hs
@@ -1,163 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.GetObjectAcl--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the access control list (ACL) of an object.------ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetObjectAcl.html>-module Network.AWS.S3.GetObjectAcl-    (-    -- * Request-      GetObjectAcl-    -- ** Request constructor-    , getObjectAcl-    -- ** Request lenses-    , goaBucket-    , goaKey-    , goaRequestPayer-    , goaVersionId--    -- * Response-    , GetObjectAclResponse-    -- ** Response constructor-    , getObjectAclResponse-    -- ** Response lenses-    , goarGrants-    , goarOwner-    , goarRequestCharged-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--data GetObjectAcl = GetObjectAcl-    { _goaBucket       :: Text-    , _goaKey          :: Text-    , _goaRequestPayer :: Maybe RequestPayer-    , _goaVersionId    :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'GetObjectAcl' constructor.------ The fields accessible through corresponding lenses are:------ * 'goaBucket' @::@ 'Text'------ * 'goaKey' @::@ 'Text'------ * 'goaRequestPayer' @::@ 'Maybe' 'RequestPayer'------ * 'goaVersionId' @::@ 'Maybe' 'Text'----getObjectAcl :: Text -- ^ 'goaBucket'-             -> Text -- ^ 'goaKey'-             -> GetObjectAcl-getObjectAcl p1 p2 = GetObjectAcl-    { _goaBucket       = p1-    , _goaKey          = p2-    , _goaVersionId    = Nothing-    , _goaRequestPayer = Nothing-    }--goaBucket :: Lens' GetObjectAcl Text-goaBucket = lens _goaBucket (\s a -> s { _goaBucket = a })--goaKey :: Lens' GetObjectAcl Text-goaKey = lens _goaKey (\s a -> s { _goaKey = a })--goaRequestPayer :: Lens' GetObjectAcl (Maybe RequestPayer)-goaRequestPayer = lens _goaRequestPayer (\s a -> s { _goaRequestPayer = a })---- | VersionId used to reference a specific version of the object.-goaVersionId :: Lens' GetObjectAcl (Maybe Text)-goaVersionId = lens _goaVersionId (\s a -> s { _goaVersionId = a })--data GetObjectAclResponse = GetObjectAclResponse-    { _goarGrants         :: List "Grant" Grant-    , _goarOwner          :: Maybe Owner-    , _goarRequestCharged :: Maybe RequestCharged-    } deriving (Eq, Read, Show)---- | 'GetObjectAclResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'goarGrants' @::@ ['Grant']------ * 'goarOwner' @::@ 'Maybe' 'Owner'------ * 'goarRequestCharged' @::@ 'Maybe' 'RequestCharged'----getObjectAclResponse :: GetObjectAclResponse-getObjectAclResponse = GetObjectAclResponse-    { _goarOwner          = Nothing-    , _goarGrants         = mempty-    , _goarRequestCharged = Nothing-    }---- | A list of grants.-goarGrants :: Lens' GetObjectAclResponse [Grant]-goarGrants = lens _goarGrants (\s a -> s { _goarGrants = a }) . _List--goarOwner :: Lens' GetObjectAclResponse (Maybe Owner)-goarOwner = lens _goarOwner (\s a -> s { _goarOwner = a })--goarRequestCharged :: Lens' GetObjectAclResponse (Maybe RequestCharged)-goarRequestCharged =-    lens _goarRequestCharged (\s a -> s { _goarRequestCharged = a })--instance ToPath GetObjectAcl where-    toPath GetObjectAcl{..} = mconcat-        [ "/"-        , toText _goaBucket-        , "/"-        , toText _goaKey-        ]--instance ToQuery GetObjectAcl where-    toQuery GetObjectAcl{..} = mconcat-        [ "acl"-        , "versionId" =? _goaVersionId-        ]--instance ToHeaders GetObjectAcl where-    toHeaders GetObjectAcl{..} = mconcat-        [ "x-amz-request-payer" =: _goaRequestPayer-        ]--instance ToXMLRoot GetObjectAcl where-    toXMLRoot = const (namespaced ns "GetObjectAcl" [])--instance ToXML GetObjectAcl--instance AWSRequest GetObjectAcl where-    type Sv GetObjectAcl = S3-    type Rs GetObjectAcl = GetObjectAclResponse--    request  = get-    response = xmlHeaderResponse $ \h x -> GetObjectAclResponse-        <$> x .@? "AccessControlList" .!@ mempty-        <*> x .@? "Owner"-        <*> h ~:? "x-amz-request-charged"
gen/Network/AWS/S3/GetObjectTorrent.hs view
@@ -1,142 +1,148 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.GetObjectTorrent--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Return torrent files from a bucket.+-- Return torrent files from a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/GetObjectTorrent.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/GetObjectTorrent.html AWS API Reference> for GetObjectTorrent. module Network.AWS.S3.GetObjectTorrent     (-    -- * Request-      GetObjectTorrent-    -- ** Request constructor-    , getObjectTorrent-    -- ** Request lenses+    -- * Creating a Request+      getObjectTorrent+    , GetObjectTorrent+    -- * Request Lenses+    , gotRequestPayer     , gotBucket     , gotKey-    , gotRequestPayer -    -- * Response-    , GetObjectTorrentResponse-    -- ** Response constructor+    -- * Destructuring the Response     , getObjectTorrentResponse-    -- ** Response lenses-    , gotrBody-    , gotrRequestCharged+    , GetObjectTorrentResponse+    -- * Response Lenses+    , gotrsRequestCharged+    , gotrsStatus+    , gotrsBody     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data GetObjectTorrent = GetObjectTorrent-    { _gotBucket       :: Text-    , _gotKey          :: Text-    , _gotRequestPayer :: Maybe RequestPayer-    } deriving (Eq, Read, Show)+-- | /See:/ 'getObjectTorrent' smart constructor.+data GetObjectTorrent = GetObjectTorrent'+    { _gotRequestPayer :: !(Maybe RequestPayer)+    , _gotBucket       :: !BucketName+    , _gotKey          :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'GetObjectTorrent' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'GetObjectTorrent' with the minimum fields required to make a request. ----- * 'gotBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'gotKey' @::@ 'Text'+-- * 'gotRequestPayer' ----- * 'gotRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'gotBucket' ---getObjectTorrent :: Text -- ^ 'gotBucket'-                 -> Text -- ^ 'gotKey'-                 -> GetObjectTorrent-getObjectTorrent p1 p2 = GetObjectTorrent-    { _gotBucket       = p1-    , _gotKey          = p2-    , _gotRequestPayer = Nothing+-- * 'gotKey'+getObjectTorrent+    :: BucketName -- ^ 'gotBucket'+    -> ObjectKey -- ^ 'gotKey'+    -> GetObjectTorrent+getObjectTorrent pBucket_ pKey_ =+    GetObjectTorrent'+    { _gotRequestPayer = Nothing+    , _gotBucket = pBucket_+    , _gotKey = pKey_     } -gotBucket :: Lens' GetObjectTorrent Text-gotBucket = lens _gotBucket (\s a -> s { _gotBucket = a })--gotKey :: Lens' GetObjectTorrent Text-gotKey = lens _gotKey (\s a -> s { _gotKey = a })-+-- | Undocumented member. gotRequestPayer :: Lens' GetObjectTorrent (Maybe RequestPayer)-gotRequestPayer = lens _gotRequestPayer (\s a -> s { _gotRequestPayer = a })+gotRequestPayer = lens _gotRequestPayer (\ s a -> s{_gotRequestPayer = a}); -data GetObjectTorrentResponse = GetObjectTorrentResponse-    { _gotrBody           :: RsBody-    , _gotrRequestCharged :: Maybe RequestCharged-    } deriving (Show)+-- | Undocumented member.+gotBucket :: Lens' GetObjectTorrent BucketName+gotBucket = lens _gotBucket (\ s a -> s{_gotBucket = a}); --- | 'GetObjectTorrentResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'gotrBody' @::@ 'RsBody'------ * 'gotrRequestCharged' @::@ 'Maybe' 'RequestCharged'----getObjectTorrentResponse :: RsBody -- ^ 'gotrBody'-                         -> GetObjectTorrentResponse-getObjectTorrentResponse p1 = GetObjectTorrentResponse-    { _gotrBody           = p1-    , _gotrRequestCharged = Nothing-    }+-- | Undocumented member.+gotKey :: Lens' GetObjectTorrent ObjectKey+gotKey = lens _gotKey (\ s a -> s{_gotKey = a}); -gotrBody :: Lens' GetObjectTorrentResponse RsBody-gotrBody = lens _gotrBody (\s a -> s { _gotrBody = a })+instance AWSRequest GetObjectTorrent where+        type Sv GetObjectTorrent = S3+        type Rs GetObjectTorrent = GetObjectTorrentResponse+        request = get+        response+          = receiveBody+              (\ s h x ->+                 GetObjectTorrentResponse' <$>+                   (h .#? "x-amz-request-charged") <*>+                     (pure (fromEnum s))+                     <*> (pure x)) -gotrRequestCharged :: Lens' GetObjectTorrentResponse (Maybe RequestCharged)-gotrRequestCharged =-    lens _gotrRequestCharged (\s a -> s { _gotrRequestCharged = a })+instance ToHeaders GetObjectTorrent where+        toHeaders GetObjectTorrent'{..}+          = mconcat ["x-amz-request-payer" =# _gotRequestPayer]  instance ToPath GetObjectTorrent where-    toPath GetObjectTorrent{..} = mconcat-        [ "/"-        , toText _gotBucket-        , "/"-        , toText _gotKey-        ]+        toPath GetObjectTorrent'{..}+          = mconcat ["/", toBS _gotBucket, "/", toBS _gotKey]  instance ToQuery GetObjectTorrent where-    toQuery = const "torrent"+        toQuery = const (mconcat ["torrent"]) -instance ToHeaders GetObjectTorrent where-    toHeaders GetObjectTorrent{..} = mconcat-        [ "x-amz-request-payer" =: _gotRequestPayer-        ]+-- | /See:/ 'getObjectTorrentResponse' smart constructor.+data GetObjectTorrentResponse = GetObjectTorrentResponse'+    { _gotrsRequestCharged :: !(Maybe RequestCharged)+    , _gotrsStatus         :: !Int+    , _gotrsBody           :: !RsBody+    } deriving (Show,Generic) -instance ToXMLRoot GetObjectTorrent where-    toXMLRoot = const (namespaced ns "GetObjectTorrent" [])+-- | Creates a value of 'GetObjectTorrentResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gotrsRequestCharged'+--+-- * 'gotrsStatus'+--+-- * 'gotrsBody'+getObjectTorrentResponse+    :: Int -- ^ 'gotrsStatus'+    -> RsBody -- ^ 'gotrsBody'+    -> GetObjectTorrentResponse+getObjectTorrentResponse pStatus_ pBody_ =+    GetObjectTorrentResponse'+    { _gotrsRequestCharged = Nothing+    , _gotrsStatus = pStatus_+    , _gotrsBody = pBody_+    } -instance ToXML GetObjectTorrent+-- | Undocumented member.+gotrsRequestCharged :: Lens' GetObjectTorrentResponse (Maybe RequestCharged)+gotrsRequestCharged = lens _gotrsRequestCharged (\ s a -> s{_gotrsRequestCharged = a}); -instance AWSRequest GetObjectTorrent where-    type Sv GetObjectTorrent = S3-    type Rs GetObjectTorrent = GetObjectTorrentResponse+-- | The response status code.+gotrsStatus :: Lens' GetObjectTorrentResponse Int+gotrsStatus = lens _gotrsStatus (\ s a -> s{_gotrsStatus = a}); -    request  = get-    response = bodyResponse $ \h s b -> GetObjectTorrentResponse-        <$> pure (RsBody b)-        <*> h ~:? "x-amz-request-charged"+-- | Undocumented member.+gotrsBody :: Lens' GetObjectTorrentResponse RsBody+gotrsBody = lens _gotrsBody (\ s a -> s{_gotrsBody = a});
gen/Network/AWS/S3/HeadBucket.hs view
@@ -1,96 +1,91 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.HeadBucket--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | This operation is useful to determine if a bucket exists and you have+-- This operation is useful to determine if a bucket exists and you have -- permission to access it. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/HeadBucket.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/HeadBucket.html AWS API Reference> for HeadBucket. module Network.AWS.S3.HeadBucket     (-    -- * Request-      HeadBucket-    -- ** Request constructor-    , headBucket-    -- ** Request lenses+    -- * Creating a Request+      headBucket+    , HeadBucket+    -- * Request Lenses     , hbBucket -    -- * Response-    , HeadBucketResponse-    -- ** Response constructor+    -- * Destructuring the Response     , headBucketResponse+    , HeadBucketResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -newtype HeadBucket = HeadBucket-    { _hbBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+-- | /See:/ 'headBucket' smart constructor.+newtype HeadBucket = HeadBucket'+    { _hbBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'HeadBucket' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'HeadBucket' with the minimum fields required to make a request. ----- * 'hbBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---headBucket :: Text -- ^ 'hbBucket'-           -> HeadBucket-headBucket p1 = HeadBucket-    { _hbBucket = p1+-- * 'hbBucket'+headBucket+    :: BucketName -- ^ 'hbBucket'+    -> HeadBucket+headBucket pBucket_ =+    HeadBucket'+    { _hbBucket = pBucket_     } -hbBucket :: Lens' HeadBucket Text-hbBucket = lens _hbBucket (\s a -> s { _hbBucket = a })+-- | Undocumented member.+hbBucket :: Lens' HeadBucket BucketName+hbBucket = lens _hbBucket (\ s a -> s{_hbBucket = a}); -data HeadBucketResponse = HeadBucketResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest HeadBucket where+        type Sv HeadBucket = S3+        type Rs HeadBucket = HeadBucketResponse+        request = head'+        response = receiveNull HeadBucketResponse' --- | 'HeadBucketResponse' constructor.-headBucketResponse :: HeadBucketResponse-headBucketResponse = HeadBucketResponse+instance ToHeaders HeadBucket where+        toHeaders = const mempty  instance ToPath HeadBucket where-    toPath HeadBucket{..} = mconcat-        [ "/"-        , toText _hbBucket-        ]+        toPath HeadBucket'{..}+          = mconcat ["/", toBS _hbBucket]  instance ToQuery HeadBucket where-    toQuery = const mempty--instance ToHeaders HeadBucket--instance ToXMLRoot HeadBucket where-    toXMLRoot = const (namespaced ns "HeadBucket" [])--instance ToXML HeadBucket+        toQuery = const mempty -instance AWSRequest HeadBucket where-    type Sv HeadBucket = S3-    type Rs HeadBucket = HeadBucketResponse+-- | /See:/ 'headBucketResponse' smart constructor.+data HeadBucketResponse =+    HeadBucketResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = head-    response = nullResponse HeadBucketResponse+-- | Creates a value of 'HeadBucketResponse' with the minimum fields required to make a request.+--+headBucketResponse+    :: HeadBucketResponse+headBucketResponse = HeadBucketResponse'
gen/Network/AWS/S3/HeadObject.hs view
@@ -1,488 +1,502 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.HeadObject--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | The HEAD operation retrieves metadata from an object without returning the--- object itself. This operation is useful if you're only interested in an--- object's metadata. To use HEAD, you must have READ access to the object.+-- The HEAD operation retrieves metadata from an object without returning+-- the object itself. This operation is useful if you\'re only interested+-- in an object\'s metadata. To use HEAD, you must have READ access to the+-- object. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/HeadObject.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/HeadObject.html AWS API Reference> for HeadObject. module Network.AWS.S3.HeadObject     (-    -- * Request-      HeadObject-    -- ** Request constructor-    , headObject-    -- ** Request lenses-    , hoBucket+    -- * Creating a Request+      headObject+    , HeadObject+    -- * Request Lenses     , hoIfMatch-    , hoIfModifiedSince-    , hoIfNoneMatch-    , hoIfUnmodifiedSince-    , hoKey-    , hoRange-    , hoRequestPayer+    , hoVersionId     , hoSSECustomerAlgorithm     , hoSSECustomerKey+    , hoRequestPayer+    , hoIfModifiedSince+    , hoRange+    , hoIfUnmodifiedSince     , hoSSECustomerKeyMD5-    , hoVersionId+    , hoIfNoneMatch+    , hoBucket+    , hoKey -    -- * Response-    , HeadObjectResponse-    -- ** Response constructor+    -- * Destructuring the Response     , headObjectResponse-    -- ** Response lenses-    , horAcceptRanges-    , horCacheControl-    , horContentDisposition-    , horContentEncoding-    , horContentLanguage-    , horContentLength-    , horContentType-    , horDeleteMarker-    , horETag-    , horExpiration-    , horExpires-    , horLastModified-    , horMetadata-    , horMissingMeta-    , horReplicationStatus-    , horRequestCharged-    , horRestore-    , horSSECustomerAlgorithm-    , horSSECustomerKeyMD5-    , horSSEKMSKeyId-    , horServerSideEncryption-    , horVersionId-    , horWebsiteRedirectLocation+    , HeadObjectResponse+    -- * Response Lenses+    , horsVersionId+    , horsETag+    , horsRequestCharged+    , horsContentLength+    , horsRestore+    , horsExpires+    , horsDeleteMarker+    , horsExpiration+    , horsSSECustomerAlgorithm+    , horsMissingMeta+    , horsWebsiteRedirectLocation+    , horsAcceptRanges+    , horsStorageClass+    , horsContentEncoding+    , horsSSEKMSKeyId+    , horsSSECustomerKeyMD5+    , horsMetadata+    , horsReplicationStatus+    , horsCacheControl+    , horsContentLanguage+    , horsLastModified+    , horsContentDisposition+    , horsServerSideEncryption+    , horsContentType+    , horsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data HeadObject = HeadObject-    { _hoBucket               :: Text-    , _hoIfMatch              :: Maybe Text-    , _hoIfModifiedSince      :: Maybe RFC822-    , _hoIfNoneMatch          :: Maybe Text-    , _hoIfUnmodifiedSince    :: Maybe RFC822-    , _hoKey                  :: Text-    , _hoRange                :: Maybe Text-    , _hoRequestPayer         :: Maybe RequestPayer-    , _hoSSECustomerAlgorithm :: Maybe Text-    , _hoSSECustomerKey       :: Maybe (Sensitive Text)-    , _hoSSECustomerKeyMD5    :: Maybe Text-    , _hoVersionId            :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'headObject' smart constructor.+data HeadObject = HeadObject'+    { _hoIfMatch              :: !(Maybe Text)+    , _hoVersionId            :: !(Maybe ObjectVersionId)+    , _hoSSECustomerAlgorithm :: !(Maybe Text)+    , _hoSSECustomerKey       :: !(Maybe (Sensitive Text))+    , _hoRequestPayer         :: !(Maybe RequestPayer)+    , _hoIfModifiedSince      :: !(Maybe RFC822)+    , _hoRange                :: !(Maybe Text)+    , _hoIfUnmodifiedSince    :: !(Maybe RFC822)+    , _hoSSECustomerKeyMD5    :: !(Maybe Text)+    , _hoIfNoneMatch          :: !(Maybe Text)+    , _hoBucket               :: !BucketName+    , _hoKey                  :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'HeadObject' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'HeadObject' with the minimum fields required to make a request. ----- * 'hoBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'hoIfMatch' @::@ 'Maybe' 'Text'+-- * 'hoIfMatch' ----- * 'hoIfModifiedSince' @::@ 'Maybe' 'UTCTime'+-- * 'hoVersionId' ----- * 'hoIfNoneMatch' @::@ 'Maybe' 'Text'+-- * 'hoSSECustomerAlgorithm' ----- * 'hoIfUnmodifiedSince' @::@ 'Maybe' 'UTCTime'+-- * 'hoSSECustomerKey' ----- * 'hoKey' @::@ 'Text'+-- * 'hoRequestPayer' ----- * 'hoRange' @::@ 'Maybe' 'Text'+-- * 'hoIfModifiedSince' ----- * 'hoRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'hoRange' ----- * 'hoSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'hoIfUnmodifiedSince' ----- * 'hoSSECustomerKey' @::@ 'Maybe' 'Text'+-- * 'hoSSECustomerKeyMD5' ----- * 'hoSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'hoIfNoneMatch' ----- * 'hoVersionId' @::@ 'Maybe' 'Text'+-- * 'hoBucket' ---headObject :: Text -- ^ 'hoBucket'-           -> Text -- ^ 'hoKey'-           -> HeadObject-headObject p1 p2 = HeadObject-    { _hoBucket               = p1-    , _hoKey                  = p2-    , _hoIfMatch              = Nothing-    , _hoIfModifiedSince      = Nothing-    , _hoIfNoneMatch          = Nothing-    , _hoIfUnmodifiedSince    = Nothing-    , _hoRange                = Nothing-    , _hoVersionId            = Nothing+-- * 'hoKey'+headObject+    :: BucketName -- ^ 'hoBucket'+    -> ObjectKey -- ^ 'hoKey'+    -> HeadObject+headObject pBucket_ pKey_ =+    HeadObject'+    { _hoIfMatch = Nothing+    , _hoVersionId = Nothing     , _hoSSECustomerAlgorithm = Nothing-    , _hoSSECustomerKey       = Nothing-    , _hoSSECustomerKeyMD5    = Nothing-    , _hoRequestPayer         = Nothing+    , _hoSSECustomerKey = Nothing+    , _hoRequestPayer = Nothing+    , _hoIfModifiedSince = Nothing+    , _hoRange = Nothing+    , _hoIfUnmodifiedSince = Nothing+    , _hoSSECustomerKeyMD5 = Nothing+    , _hoIfNoneMatch = Nothing+    , _hoBucket = pBucket_+    , _hoKey = pKey_     } -hoBucket :: Lens' HeadObject Text-hoBucket = lens _hoBucket (\s a -> s { _hoBucket = a })- -- | Return the object only if its entity tag (ETag) is the same as the one -- specified, otherwise return a 412 (precondition failed). hoIfMatch :: Lens' HeadObject (Maybe Text)-hoIfMatch = lens _hoIfMatch (\s a -> s { _hoIfMatch = a })+hoIfMatch = lens _hoIfMatch (\ s a -> s{_hoIfMatch = a}); +-- | VersionId used to reference a specific version of the object.+hoVersionId :: Lens' HeadObject (Maybe ObjectVersionId)+hoVersionId = lens _hoVersionId (\ s a -> s{_hoVersionId = a});++-- | Specifies the algorithm to use to when encrypting the object (e.g.,+-- AES256).+hoSSECustomerAlgorithm :: Lens' HeadObject (Maybe Text)+hoSSECustomerAlgorithm = lens _hoSSECustomerAlgorithm (\ s a -> s{_hoSSECustomerAlgorithm = a});++-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- x-amz-server-side​-encryption​-customer-algorithm header.+hoSSECustomerKey :: Lens' HeadObject (Maybe Text)+hoSSECustomerKey = lens _hoSSECustomerKey (\ s a -> s{_hoSSECustomerKey = a}) . mapping _Sensitive;++-- | Undocumented member.+hoRequestPayer :: Lens' HeadObject (Maybe RequestPayer)+hoRequestPayer = lens _hoRequestPayer (\ s a -> s{_hoRequestPayer = a});+ -- | Return the object only if it has been modified since the specified time, -- otherwise return a 304 (not modified). hoIfModifiedSince :: Lens' HeadObject (Maybe UTCTime)-hoIfModifiedSince =-    lens _hoIfModifiedSince (\s a -> s { _hoIfModifiedSince = a })-        . mapping _Time+hoIfModifiedSince = lens _hoIfModifiedSince (\ s a -> s{_hoIfModifiedSince = a}) . mapping _Time; --- | Return the object only if its entity tag (ETag) is different from the one--- specified, otherwise return a 304 (not modified).-hoIfNoneMatch :: Lens' HeadObject (Maybe Text)-hoIfNoneMatch = lens _hoIfNoneMatch (\s a -> s { _hoIfNoneMatch = a })+-- | Downloads the specified range bytes of an object. For more information+-- about the HTTP Range header, go to+-- http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec14.html#sec14.35.+hoRange :: Lens' HeadObject (Maybe Text)+hoRange = lens _hoRange (\ s a -> s{_hoRange = a}); --- | Return the object only if it has not been modified since the specified time,--- otherwise return a 412 (precondition failed).+-- | Return the object only if it has not been modified since the specified+-- time, otherwise return a 412 (precondition failed). hoIfUnmodifiedSince :: Lens' HeadObject (Maybe UTCTime)-hoIfUnmodifiedSince =-    lens _hoIfUnmodifiedSince (\s a -> s { _hoIfUnmodifiedSince = a })-        . mapping _Time+hoIfUnmodifiedSince = lens _hoIfUnmodifiedSince (\ s a -> s{_hoIfUnmodifiedSince = a}) . mapping _Time; -hoKey :: Lens' HeadObject Text-hoKey = lens _hoKey (\s a -> s { _hoKey = a })+-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- the encryption key was transmitted without error.+hoSSECustomerKeyMD5 :: Lens' HeadObject (Maybe Text)+hoSSECustomerKeyMD5 = lens _hoSSECustomerKeyMD5 (\ s a -> s{_hoSSECustomerKeyMD5 = a}); --- | Downloads the specified range bytes of an object. For more information about--- the HTTP Range header, go to--- http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.-hoRange :: Lens' HeadObject (Maybe Text)-hoRange = lens _hoRange (\s a -> s { _hoRange = a })+-- | Return the object only if its entity tag (ETag) is different from the+-- one specified, otherwise return a 304 (not modified).+hoIfNoneMatch :: Lens' HeadObject (Maybe Text)+hoIfNoneMatch = lens _hoIfNoneMatch (\ s a -> s{_hoIfNoneMatch = a}); -hoRequestPayer :: Lens' HeadObject (Maybe RequestPayer)-hoRequestPayer = lens _hoRequestPayer (\s a -> s { _hoRequestPayer = a })+-- | Undocumented member.+hoBucket :: Lens' HeadObject BucketName+hoBucket = lens _hoBucket (\ s a -> s{_hoBucket = a}); --- | Specifies the algorithm to use to when encrypting the object (e.g., AES256,--- aws:kms).-hoSSECustomerAlgorithm :: Lens' HeadObject (Maybe Text)-hoSSECustomerAlgorithm =-    lens _hoSSECustomerAlgorithm (\s a -> s { _hoSSECustomerAlgorithm = a })+-- | Undocumented member.+hoKey :: Lens' HeadObject ObjectKey+hoKey = lens _hoKey (\ s a -> s{_hoKey = a}); --- | Specifies the customer-provided encryption key for Amazon S3 to use in--- encrypting data. This value is used to store the object and then it is--- discarded; Amazon does not store the encryption key. The key must be--- appropriate for use with the algorithm specified in the--- x-amz-server-side​-encryption​-customer-algorithm header.-hoSSECustomerKey :: Lens' HeadObject (Maybe Text)-hoSSECustomerKey = lens _hoSSECustomerKey (\s a -> s { _hoSSECustomerKey = a }) . mapping _Sensitive+instance AWSRequest HeadObject where+        type Sv HeadObject = S3+        type Rs HeadObject = HeadObjectResponse+        request = head'+        response+          = receiveEmpty+              (\ s h x ->+                 HeadObjectResponse' <$>+                   (h .#? "x-amz-version-id") <*> (h .#? "ETag") <*>+                     (h .#? "x-amz-request-charged")+                     <*> (h .#? "Content-Length")+                     <*> (h .#? "x-amz-restore")+                     <*> (h .#? "Expires")+                     <*> (h .#? "x-amz-delete-marker")+                     <*> (h .#? "x-amz-expiration")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-algorithm")+                     <*> (h .#? "x-amz-missing-meta")+                     <*> (h .#? "x-amz-website-redirect-location")+                     <*> (h .#? "accept-ranges")+                     <*> (h .#? "x-amz-storage-class")+                     <*> (h .#? "Content-Encoding")+                     <*>+                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-key-MD5")+                     <*> (parseHeadersMap "x-amz-meta-" h)+                     <*> (h .#? "x-amz-replication-status")+                     <*> (h .#? "Cache-Control")+                     <*> (h .#? "Content-Language")+                     <*> (h .#? "Last-Modified")+                     <*> (h .#? "Content-Disposition")+                     <*> (h .#? "x-amz-server-side-encryption")+                     <*> (h .#? "Content-Type")+                     <*> (pure (fromEnum s))) --- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.--- Amazon S3 uses this header for a message integrity check to ensure the--- encryption key was transmitted without error.-hoSSECustomerKeyMD5 :: Lens' HeadObject (Maybe Text)-hoSSECustomerKeyMD5 =-    lens _hoSSECustomerKeyMD5 (\s a -> s { _hoSSECustomerKeyMD5 = a })+instance ToHeaders HeadObject where+        toHeaders HeadObject'{..}+          = mconcat+              ["If-Match" =# _hoIfMatch,+               "x-amz-server-side-encryption-customer-algorithm" =#+                 _hoSSECustomerAlgorithm,+               "x-amz-server-side-encryption-customer-key" =#+                 _hoSSECustomerKey,+               "x-amz-request-payer" =# _hoRequestPayer,+               "If-Modified-Since" =# _hoIfModifiedSince,+               "Range" =# _hoRange,+               "If-Unmodified-Since" =# _hoIfUnmodifiedSince,+               "x-amz-server-side-encryption-customer-key-MD5" =#+                 _hoSSECustomerKeyMD5,+               "If-None-Match" =# _hoIfNoneMatch] --- | VersionId used to reference a specific version of the object.-hoVersionId :: Lens' HeadObject (Maybe Text)-hoVersionId = lens _hoVersionId (\s a -> s { _hoVersionId = a })+instance ToPath HeadObject where+        toPath HeadObject'{..}+          = mconcat ["/", toBS _hoBucket, "/", toBS _hoKey] -data HeadObjectResponse = HeadObjectResponse-    { _horAcceptRanges            :: Maybe Text-    , _horCacheControl            :: Maybe Text-    , _horContentDisposition      :: Maybe Text-    , _horContentEncoding         :: Maybe Text-    , _horContentLanguage         :: Maybe Text-    , _horContentLength           :: Maybe Int-    , _horContentType             :: Maybe Text-    , _horDeleteMarker            :: Maybe Bool-    , _horETag                    :: Maybe Text-    , _horExpiration              :: Maybe Text-    , _horExpires                 :: Maybe RFC822-    , _horLastModified            :: Maybe RFC822-    , _horMetadata                :: Map (CI Text) Text-    , _horMissingMeta             :: Maybe Int-    , _horReplicationStatus       :: Maybe ReplicationStatus-    , _horRequestCharged          :: Maybe RequestCharged-    , _horRestore                 :: Maybe Text-    , _horSSECustomerAlgorithm    :: Maybe Text-    , _horSSECustomerKeyMD5       :: Maybe Text-    , _horSSEKMSKeyId             :: Maybe (Sensitive Text)-    , _horServerSideEncryption    :: Maybe ServerSideEncryption-    , _horVersionId               :: Maybe Text-    , _horWebsiteRedirectLocation :: Maybe Text-    } deriving (Eq, Read, Show)+instance ToQuery HeadObject where+        toQuery HeadObject'{..}+          = mconcat ["versionId" =: _hoVersionId] --- | 'HeadObjectResponse' constructor.+-- | /See:/ 'headObjectResponse' smart constructor.+data HeadObjectResponse = HeadObjectResponse'+    { _horsVersionId               :: !(Maybe ObjectVersionId)+    , _horsETag                    :: !(Maybe ETag)+    , _horsRequestCharged          :: !(Maybe RequestCharged)+    , _horsContentLength           :: !(Maybe Int)+    , _horsRestore                 :: !(Maybe Text)+    , _horsExpires                 :: !(Maybe RFC822)+    , _horsDeleteMarker            :: !(Maybe Bool)+    , _horsExpiration              :: !(Maybe Text)+    , _horsSSECustomerAlgorithm    :: !(Maybe Text)+    , _horsMissingMeta             :: !(Maybe Int)+    , _horsWebsiteRedirectLocation :: !(Maybe Text)+    , _horsAcceptRanges            :: !(Maybe Text)+    , _horsStorageClass            :: !(Maybe StorageClass)+    , _horsContentEncoding         :: !(Maybe Text)+    , _horsSSEKMSKeyId             :: !(Maybe (Sensitive Text))+    , _horsSSECustomerKeyMD5       :: !(Maybe Text)+    , _horsMetadata                :: !(Map Text Text)+    , _horsReplicationStatus       :: !(Maybe ReplicationStatus)+    , _horsCacheControl            :: !(Maybe Text)+    , _horsContentLanguage         :: !(Maybe Text)+    , _horsLastModified            :: !(Maybe RFC822)+    , _horsContentDisposition      :: !(Maybe Text)+    , _horsServerSideEncryption    :: !(Maybe ServerSideEncryption)+    , _horsContentType             :: !(Maybe Text)+    , _horsStatus                  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'HeadObjectResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'horAcceptRanges' @::@ 'Maybe' 'Text'+-- * 'horsVersionId' ----- * 'horCacheControl' @::@ 'Maybe' 'Text'+-- * 'horsETag' ----- * 'horContentDisposition' @::@ 'Maybe' 'Text'+-- * 'horsRequestCharged' ----- * 'horContentEncoding' @::@ 'Maybe' 'Text'+-- * 'horsContentLength' ----- * 'horContentLanguage' @::@ 'Maybe' 'Text'+-- * 'horsRestore' ----- * 'horContentLength' @::@ 'Maybe' 'Int'+-- * 'horsExpires' ----- * 'horContentType' @::@ 'Maybe' 'Text'+-- * 'horsDeleteMarker' ----- * 'horDeleteMarker' @::@ 'Maybe' 'Bool'+-- * 'horsExpiration' ----- * 'horETag' @::@ 'Maybe' 'Text'+-- * 'horsSSECustomerAlgorithm' ----- * 'horExpiration' @::@ 'Maybe' 'Text'+-- * 'horsMissingMeta' ----- * 'horExpires' @::@ 'Maybe' 'UTCTime'+-- * 'horsWebsiteRedirectLocation' ----- * 'horLastModified' @::@ 'Maybe' 'UTCTime'+-- * 'horsAcceptRanges' ----- * 'horMetadata' @::@ 'HashMap' ('CI' 'Text') 'Text'+-- * 'horsStorageClass' ----- * 'horMissingMeta' @::@ 'Maybe' 'Int'+-- * 'horsContentEncoding' ----- * 'horReplicationStatus' @::@ 'Maybe' 'ReplicationStatus'+-- * 'horsSSEKMSKeyId' ----- * 'horRequestCharged' @::@ 'Maybe' 'RequestCharged'+-- * 'horsSSECustomerKeyMD5' ----- * 'horRestore' @::@ 'Maybe' 'Text'+-- * 'horsMetadata' ----- * 'horSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'horsReplicationStatus' ----- * 'horSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'horsCacheControl' ----- * 'horSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'horsContentLanguage' ----- * 'horServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'horsLastModified' ----- * 'horVersionId' @::@ 'Maybe' 'Text'+-- * 'horsContentDisposition' ----- * 'horWebsiteRedirectLocation' @::@ 'Maybe' 'Text'+-- * 'horsServerSideEncryption' ---headObjectResponse :: HeadObjectResponse-headObjectResponse = HeadObjectResponse-    { _horDeleteMarker            = Nothing-    , _horAcceptRanges            = Nothing-    , _horExpiration              = Nothing-    , _horRestore                 = Nothing-    , _horLastModified            = Nothing-    , _horContentLength           = Nothing-    , _horETag                    = Nothing-    , _horMissingMeta             = Nothing-    , _horVersionId               = Nothing-    , _horCacheControl            = Nothing-    , _horContentDisposition      = Nothing-    , _horContentEncoding         = Nothing-    , _horContentLanguage         = Nothing-    , _horContentType             = Nothing-    , _horExpires                 = Nothing-    , _horWebsiteRedirectLocation = Nothing-    , _horServerSideEncryption    = Nothing-    , _horMetadata                = mempty-    , _horSSECustomerAlgorithm    = Nothing-    , _horSSECustomerKeyMD5       = Nothing-    , _horSSEKMSKeyId             = Nothing-    , _horRequestCharged          = Nothing-    , _horReplicationStatus       = Nothing+-- * 'horsContentType'+--+-- * 'horsStatus'+headObjectResponse+    :: Int -- ^ 'horsStatus'+    -> HeadObjectResponse+headObjectResponse pStatus_ =+    HeadObjectResponse'+    { _horsVersionId = Nothing+    , _horsETag = Nothing+    , _horsRequestCharged = Nothing+    , _horsContentLength = Nothing+    , _horsRestore = Nothing+    , _horsExpires = Nothing+    , _horsDeleteMarker = Nothing+    , _horsExpiration = Nothing+    , _horsSSECustomerAlgorithm = Nothing+    , _horsMissingMeta = Nothing+    , _horsWebsiteRedirectLocation = Nothing+    , _horsAcceptRanges = Nothing+    , _horsStorageClass = Nothing+    , _horsContentEncoding = Nothing+    , _horsSSEKMSKeyId = Nothing+    , _horsSSECustomerKeyMD5 = Nothing+    , _horsMetadata = mempty+    , _horsReplicationStatus = Nothing+    , _horsCacheControl = Nothing+    , _horsContentLanguage = Nothing+    , _horsLastModified = Nothing+    , _horsContentDisposition = Nothing+    , _horsServerSideEncryption = Nothing+    , _horsContentType = Nothing+    , _horsStatus = pStatus_     } -horAcceptRanges :: Lens' HeadObjectResponse (Maybe Text)-horAcceptRanges = lens _horAcceptRanges (\s a -> s { _horAcceptRanges = a })---- | Specifies caching behavior along the request/reply chain.-horCacheControl :: Lens' HeadObjectResponse (Maybe Text)-horCacheControl = lens _horCacheControl (\s a -> s { _horCacheControl = a })---- | Specifies presentational information for the object.-horContentDisposition :: Lens' HeadObjectResponse (Maybe Text)-horContentDisposition =-    lens _horContentDisposition (\s a -> s { _horContentDisposition = a })+-- | Version of the object.+horsVersionId :: Lens' HeadObjectResponse (Maybe ObjectVersionId)+horsVersionId = lens _horsVersionId (\ s a -> s{_horsVersionId = a}); --- | Specifies what content encodings have been applied to the object and thus--- what decoding mechanisms must be applied to obtain the media-type referenced--- by the Content-Type header field.-horContentEncoding :: Lens' HeadObjectResponse (Maybe Text)-horContentEncoding =-    lens _horContentEncoding (\s a -> s { _horContentEncoding = a })+-- | An ETag is an opaque identifier assigned by a web server to a specific+-- version of a resource found at a URL+horsETag :: Lens' HeadObjectResponse (Maybe ETag)+horsETag = lens _horsETag (\ s a -> s{_horsETag = a}); --- | The language the content is in.-horContentLanguage :: Lens' HeadObjectResponse (Maybe Text)-horContentLanguage =-    lens _horContentLanguage (\s a -> s { _horContentLanguage = a })+-- | Undocumented member.+horsRequestCharged :: Lens' HeadObjectResponse (Maybe RequestCharged)+horsRequestCharged = lens _horsRequestCharged (\ s a -> s{_horsRequestCharged = a});  -- | Size of the body in bytes.-horContentLength :: Lens' HeadObjectResponse (Maybe Int)-horContentLength = lens _horContentLength (\s a -> s { _horContentLength = a })+horsContentLength :: Lens' HeadObjectResponse (Maybe Int)+horsContentLength = lens _horsContentLength (\ s a -> s{_horsContentLength = a}); --- | A standard MIME type describing the format of the object data.-horContentType :: Lens' HeadObjectResponse (Maybe Text)-horContentType = lens _horContentType (\s a -> s { _horContentType = a })+-- | Provides information about object restoration operation and expiration+-- time of the restored object copy.+horsRestore :: Lens' HeadObjectResponse (Maybe Text)+horsRestore = lens _horsRestore (\ s a -> s{_horsRestore = a}); --- | Specifies whether the object retrieved was (true) or was not (false) a Delete--- Marker. If false, this response header does not appear in the response.-horDeleteMarker :: Lens' HeadObjectResponse (Maybe Bool)-horDeleteMarker = lens _horDeleteMarker (\s a -> s { _horDeleteMarker = a })+-- | The date and time at which the object is no longer cacheable.+horsExpires :: Lens' HeadObjectResponse (Maybe UTCTime)+horsExpires = lens _horsExpires (\ s a -> s{_horsExpires = a}) . mapping _Time; --- | An ETag is an opaque identifier assigned by a web server to a specific--- version of a resource found at a URL-horETag :: Lens' HeadObjectResponse (Maybe Text)-horETag = lens _horETag (\s a -> s { _horETag = a })+-- | Specifies whether the object retrieved was (true) or was not (false) a+-- Delete Marker. If false, this response header does not appear in the+-- response.+horsDeleteMarker :: Lens' HeadObjectResponse (Maybe Bool)+horsDeleteMarker = lens _horsDeleteMarker (\ s a -> s{_horsDeleteMarker = a});  -- | If the object expiration is configured (see PUT Bucket lifecycle), the--- response includes this header. It includes the expiry-date and rule-id key--- value pairs providing object expiration information. The value of the rule-id--- is URL encoded.-horExpiration :: Lens' HeadObjectResponse (Maybe Text)-horExpiration = lens _horExpiration (\s a -> s { _horExpiration = a })---- | The date and time at which the object is no longer cacheable.-horExpires :: Lens' HeadObjectResponse (Maybe UTCTime)-horExpires = lens _horExpires (\s a -> s { _horExpires = a }) . mapping _Time---- | Last modified date of the object-horLastModified :: Lens' HeadObjectResponse (Maybe UTCTime)-horLastModified = lens _horLastModified (\s a -> s { _horLastModified = a }) . mapping _Time+-- response includes this header. It includes the expiry-date and rule-id+-- key value pairs providing object expiration information. The value of+-- the rule-id is URL encoded.+horsExpiration :: Lens' HeadObjectResponse (Maybe Text)+horsExpiration = lens _horsExpiration (\ s a -> s{_horsExpiration = a}); --- | A map of metadata to store with the object in S3.-horMetadata :: Lens' HeadObjectResponse (HashMap (CI Text) Text)-horMetadata = lens _horMetadata (\s a -> s { _horMetadata = a }) . _Map+-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+horsSSECustomerAlgorithm :: Lens' HeadObjectResponse (Maybe Text)+horsSSECustomerAlgorithm = lens _horsSSECustomerAlgorithm (\ s a -> s{_horsSSECustomerAlgorithm = a});  -- | This is set to the number of metadata entries not returned in x-amz-meta--- headers. This can happen if you create metadata using an API like SOAP that--- supports more flexible metadata than the REST API. For example, using SOAP,--- you can create metadata whose values are not legal HTTP headers.-horMissingMeta :: Lens' HeadObjectResponse (Maybe Int)-horMissingMeta = lens _horMissingMeta (\s a -> s { _horMissingMeta = a })+-- headers. This can happen if you create metadata using an API like SOAP+-- that supports more flexible metadata than the REST API. For example,+-- using SOAP, you can create metadata whose values are not legal HTTP+-- headers.+horsMissingMeta :: Lens' HeadObjectResponse (Maybe Int)+horsMissingMeta = lens _horsMissingMeta (\ s a -> s{_horsMissingMeta = a}); -horReplicationStatus :: Lens' HeadObjectResponse (Maybe ReplicationStatus)-horReplicationStatus =-    lens _horReplicationStatus (\s a -> s { _horReplicationStatus = a })+-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+horsWebsiteRedirectLocation :: Lens' HeadObjectResponse (Maybe Text)+horsWebsiteRedirectLocation = lens _horsWebsiteRedirectLocation (\ s a -> s{_horsWebsiteRedirectLocation = a}); -horRequestCharged :: Lens' HeadObjectResponse (Maybe RequestCharged)-horRequestCharged =-    lens _horRequestCharged (\s a -> s { _horRequestCharged = a })+-- | Undocumented member.+horsAcceptRanges :: Lens' HeadObjectResponse (Maybe Text)+horsAcceptRanges = lens _horsAcceptRanges (\ s a -> s{_horsAcceptRanges = a}); --- | Provides information about object restoration operation and expiration time--- of the restored object copy.-horRestore :: Lens' HeadObjectResponse (Maybe Text)-horRestore = lens _horRestore (\s a -> s { _horRestore = a })+-- | Undocumented member.+horsStorageClass :: Lens' HeadObjectResponse (Maybe StorageClass)+horsStorageClass = lens _horsStorageClass (\ s a -> s{_horsStorageClass = a}); --- | If server-side encryption with a customer-provided encryption key was--- requested, the response will include this header confirming the encryption--- algorithm used.-horSSECustomerAlgorithm :: Lens' HeadObjectResponse (Maybe Text)-horSSECustomerAlgorithm =-    lens _horSSECustomerAlgorithm (\s a -> s { _horSSECustomerAlgorithm = a })+-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+horsContentEncoding :: Lens' HeadObjectResponse (Maybe Text)+horsContentEncoding = lens _horsContentEncoding (\ s a -> s{_horsContentEncoding = a}); +-- | If present, specifies the ID of the AWS Key Management Service (KMS)+-- master encryption key that was used for the object.+horsSSEKMSKeyId :: Lens' HeadObjectResponse (Maybe Text)+horsSSEKMSKeyId = lens _horsSSEKMSKeyId (\ s a -> s{_horsSSEKMSKeyId = a}) . mapping _Sensitive;+ -- | If server-side encryption with a customer-provided encryption key was -- requested, the response will include this header to provide round trip -- message integrity verification of the customer-provided encryption key.-horSSECustomerKeyMD5 :: Lens' HeadObjectResponse (Maybe Text)-horSSECustomerKeyMD5 =-    lens _horSSECustomerKeyMD5 (\s a -> s { _horSSECustomerKeyMD5 = a })---- | If present, specifies the ID of the AWS Key Management Service (KMS) master--- encryption key that was used for the object.-horSSEKMSKeyId :: Lens' HeadObjectResponse (Maybe Text)-horSSEKMSKeyId = lens _horSSEKMSKeyId (\s a -> s { _horSSEKMSKeyId = a }) . mapping _Sensitive---- | The Server-side encryption algorithm used when storing this object in S3--- (e.g., AES256, aws:kms).-horServerSideEncryption :: Lens' HeadObjectResponse (Maybe ServerSideEncryption)-horServerSideEncryption =-    lens _horServerSideEncryption (\s a -> s { _horServerSideEncryption = a })+horsSSECustomerKeyMD5 :: Lens' HeadObjectResponse (Maybe Text)+horsSSECustomerKeyMD5 = lens _horsSSECustomerKeyMD5 (\ s a -> s{_horsSSECustomerKeyMD5 = a}); --- | Version of the object.-horVersionId :: Lens' HeadObjectResponse (Maybe Text)-horVersionId = lens _horVersionId (\s a -> s { _horVersionId = a })+-- | A map of metadata to store with the object in S3.+horsMetadata :: Lens' HeadObjectResponse (HashMap Text Text)+horsMetadata = lens _horsMetadata (\ s a -> s{_horsMetadata = a}) . _Map; --- | If the bucket is configured as a website, redirects requests for this object--- to another object in the same bucket or to an external URL. Amazon S3 stores--- the value of this header in the object metadata.-horWebsiteRedirectLocation :: Lens' HeadObjectResponse (Maybe Text)-horWebsiteRedirectLocation =-    lens _horWebsiteRedirectLocation-        (\s a -> s { _horWebsiteRedirectLocation = a })+-- | Undocumented member.+horsReplicationStatus :: Lens' HeadObjectResponse (Maybe ReplicationStatus)+horsReplicationStatus = lens _horsReplicationStatus (\ s a -> s{_horsReplicationStatus = a}); -instance ToPath HeadObject where-    toPath HeadObject{..} = mconcat-        [ "/"-        , toText _hoBucket-        , "/"-        , toText _hoKey-        ]+-- | Specifies caching behavior along the request\/reply chain.+horsCacheControl :: Lens' HeadObjectResponse (Maybe Text)+horsCacheControl = lens _horsCacheControl (\ s a -> s{_horsCacheControl = a}); -instance ToQuery HeadObject where-    toQuery rq = "versionId" =? _hoVersionId rq+-- | The language the content is in.+horsContentLanguage :: Lens' HeadObjectResponse (Maybe Text)+horsContentLanguage = lens _horsContentLanguage (\ s a -> s{_horsContentLanguage = a}); -instance ToHeaders HeadObject where-    toHeaders HeadObject{..} = mconcat-        [ "If-Match"                                        =: _hoIfMatch-        , "If-Modified-Since"                               =: _hoIfModifiedSince-        , "If-None-Match"                                   =: _hoIfNoneMatch-        , "If-Unmodified-Since"                             =: _hoIfUnmodifiedSince-        , "Range"                                           =: _hoRange-        , "x-amz-server-side-encryption-customer-algorithm" =: _hoSSECustomerAlgorithm-        , "x-amz-server-side-encryption-customer-key"       =: _hoSSECustomerKey-        , "x-amz-server-side-encryption-customer-key-MD5"   =: _hoSSECustomerKeyMD5-        , "x-amz-request-payer"                             =: _hoRequestPayer-        ]+-- | Last modified date of the object+horsLastModified :: Lens' HeadObjectResponse (Maybe UTCTime)+horsLastModified = lens _horsLastModified (\ s a -> s{_horsLastModified = a}) . mapping _Time; -instance ToXMLRoot HeadObject where-    toXMLRoot = const (namespaced ns "HeadObject" [])+-- | Specifies presentational information for the object.+horsContentDisposition :: Lens' HeadObjectResponse (Maybe Text)+horsContentDisposition = lens _horsContentDisposition (\ s a -> s{_horsContentDisposition = a}); -instance ToXML HeadObject+-- | The Server-side encryption algorithm used when storing this object in S3+-- (e.g., AES256, aws:kms).+horsServerSideEncryption :: Lens' HeadObjectResponse (Maybe ServerSideEncryption)+horsServerSideEncryption = lens _horsServerSideEncryption (\ s a -> s{_horsServerSideEncryption = a}); -instance AWSRequest HeadObject where-    type Sv HeadObject = S3-    type Rs HeadObject = HeadObjectResponse+-- | A standard MIME type describing the format of the object data.+horsContentType :: Lens' HeadObjectResponse (Maybe Text)+horsContentType = lens _horsContentType (\ s a -> s{_horsContentType = a}); -    request  = head-    response = headerResponse $ \h -> HeadObjectResponse-        <$> h ~:? "accept-ranges"-        <*> h ~:? "Cache-Control"-        <*> h ~:? "Content-Disposition"-        <*> h ~:? "Content-Encoding"-        <*> h ~:? "Content-Language"-        <*> h ~:? "Content-Length"-        <*> h ~:? "Content-Type"-        <*> h ~:? "x-amz-delete-marker"-        <*> h ~:? "ETag"-        <*> h ~:? "x-amz-expiration"-        <*> h ~:? "Expires"-        <*> h ~:? "Last-Modified"-        <*> h ~:: "x-amz-meta-"-        <*> h ~:? "x-amz-missing-meta"-        <*> h ~:? "x-amz-replication-status"-        <*> h ~:? "x-amz-request-charged"-        <*> h ~:? "x-amz-restore"-        <*> h ~:? "x-amz-server-side-encryption-customer-algorithm"-        <*> h ~:? "x-amz-server-side-encryption-customer-key-MD5"-        <*> h ~:? "x-amz-server-side-encryption-aws-kms-key-id"-        <*> h ~:? "x-amz-server-side-encryption"-        <*> h ~:? "x-amz-version-id"-        <*> h ~:? "x-amz-website-redirect-location"+-- | The response status code.+horsStatus :: Lens' HeadObjectResponse Int+horsStatus = lens _horsStatus (\ s a -> s{_horsStatus = a});
gen/Network/AWS/S3/ListBuckets.hs view
@@ -1,105 +1,115 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.ListBuckets--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of all buckets owned by the authenticated sender of the+-- Returns a list of all buckets owned by the authenticated sender of the -- request. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/ListBuckets.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/ListBuckets.html AWS API Reference> for ListBuckets. module Network.AWS.S3.ListBuckets     (-    -- * Request-      ListBuckets-    -- ** Request constructor-    , listBuckets+    -- * Creating a Request+      listBuckets+    , ListBuckets -    -- * Response-    , ListBucketsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listBucketsResponse-    -- ** Response lenses-    , lbrBuckets-    , lbrOwner+    , ListBucketsResponse+    -- * Response Lenses+    , lbrsBuckets+    , lbrsOwner+    , lbrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--data ListBuckets = ListBuckets-    deriving (Eq, Ord, Read, Show, Generic)---- | 'ListBuckets' constructor.-listBuckets :: ListBuckets-listBuckets = ListBuckets+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data ListBucketsResponse = ListBucketsResponse-    { _lbrBuckets :: List "Bucket" Bucket-    , _lbrOwner   :: Maybe Owner-    } deriving (Eq, Read, Show)+-- | /See:/ 'listBuckets' smart constructor.+data ListBuckets =+    ListBuckets'+    deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListBucketsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'lbrBuckets' @::@ ['Bucket']------ * 'lbrOwner' @::@ 'Maybe' 'Owner'+-- | Creates a value of 'ListBuckets' with the minimum fields required to make a request. ---listBucketsResponse :: ListBucketsResponse-listBucketsResponse = ListBucketsResponse-    { _lbrBuckets = mempty-    , _lbrOwner   = Nothing-    }+listBuckets+    :: ListBuckets+listBuckets = ListBuckets' -lbrBuckets :: Lens' ListBucketsResponse [Bucket]-lbrBuckets = lens _lbrBuckets (\s a -> s { _lbrBuckets = a }) . _List+instance AWSRequest ListBuckets where+        type Sv ListBuckets = S3+        type Rs ListBuckets = ListBucketsResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 ListBucketsResponse' <$>+                   (x .@? "Buckets" .!@ mempty >>=+                      may (parseXMLList "Bucket"))+                     <*> (x .@? "Owner")+                     <*> (pure (fromEnum s))) -lbrOwner :: Lens' ListBucketsResponse (Maybe Owner)-lbrOwner = lens _lbrOwner (\s a -> s { _lbrOwner = a })+instance ToHeaders ListBuckets where+        toHeaders = const mempty  instance ToPath ListBuckets where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ListBuckets where-    toQuery = const mempty--instance ToHeaders ListBuckets+        toQuery = const mempty -instance ToXMLRoot ListBuckets where-    toXMLRoot = const (namespaced ns "ListBuckets" [])+-- | /See:/ 'listBucketsResponse' smart constructor.+data ListBucketsResponse = ListBucketsResponse'+    { _lbrsBuckets :: !(Maybe [Bucket])+    , _lbrsOwner   :: !(Maybe Owner)+    , _lbrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXML ListBuckets+-- | Creates a value of 'ListBucketsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lbrsBuckets'+--+-- * 'lbrsOwner'+--+-- * 'lbrsStatus'+listBucketsResponse+    :: Int -- ^ 'lbrsStatus'+    -> ListBucketsResponse+listBucketsResponse pStatus_ =+    ListBucketsResponse'+    { _lbrsBuckets = Nothing+    , _lbrsOwner = Nothing+    , _lbrsStatus = pStatus_+    } -instance AWSRequest ListBuckets where-    type Sv ListBuckets = S3-    type Rs ListBuckets = ListBucketsResponse+-- | Undocumented member.+lbrsBuckets :: Lens' ListBucketsResponse [Bucket]+lbrsBuckets = lens _lbrsBuckets (\ s a -> s{_lbrsBuckets = a}) . _Default . _Coerce; -    request  = get-    response = xmlResponse+-- | Undocumented member.+lbrsOwner :: Lens' ListBucketsResponse (Maybe Owner)+lbrsOwner = lens _lbrsOwner (\ s a -> s{_lbrsOwner = a}); -instance FromXML ListBucketsResponse where-    parseXML x = ListBucketsResponse-        <$> x .@? "Buckets" .!@ mempty-        <*> x .@? "Owner"+-- | The response status code.+lbrsStatus :: Lens' ListBucketsResponse Int+lbrsStatus = lens _lbrsStatus (\ s a -> s{_lbrsStatus = a});
gen/Network/AWS/S3/ListMultipartUploads.hs view
@@ -1,311 +1,316 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.ListMultipartUploads--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | This operation lists in-progress multipart uploads.+-- This operation lists in-progress multipart uploads. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/ListMultipartUploads.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/ListMultipartUploads.html AWS API Reference> for ListMultipartUploads.+--+-- This operation returns paginated results. module Network.AWS.S3.ListMultipartUploads     (-    -- * Request-      ListMultipartUploads-    -- ** Request constructor-    , listMultipartUploads-    -- ** Request lenses-    , lmuBucket-    , lmuDelimiter-    , lmuEncodingType+    -- * Creating a Request+      listMultipartUploads+    , ListMultipartUploads+    -- * Request Lenses     , lmuKeyMarker-    , lmuMaxUploads     , lmuPrefix+    , lmuEncodingType+    , lmuMaxUploads     , lmuUploadIdMarker+    , lmuDelimiter+    , lmuBucket -    -- * Response-    , ListMultipartUploadsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listMultipartUploadsResponse-    -- ** Response lenses-    , lmurBucket-    , lmurCommonPrefixes-    , lmurDelimiter-    , lmurEncodingType-    , lmurIsTruncated-    , lmurKeyMarker-    , lmurMaxUploads-    , lmurNextKeyMarker-    , lmurNextUploadIdMarker-    , lmurPrefix-    , lmurUploadIdMarker-    , lmurUploads+    , ListMultipartUploadsResponse+    -- * Response Lenses+    , lmursKeyMarker+    , lmursPrefix+    , lmursEncodingType+    , lmursCommonPrefixes+    , lmursBucket+    , lmursMaxUploads+    , lmursUploadIdMarker+    , lmursNextKeyMarker+    , lmursUploads+    , lmursIsTruncated+    , lmursNextUploadIdMarker+    , lmursDelimiter+    , lmursStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data ListMultipartUploads = ListMultipartUploads-    { _lmuBucket         :: Text-    , _lmuDelimiter      :: Maybe Text-    , _lmuEncodingType   :: Maybe EncodingType-    , _lmuKeyMarker      :: Maybe Text-    , _lmuMaxUploads     :: Maybe Int-    , _lmuPrefix         :: Maybe Text-    , _lmuUploadIdMarker :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'listMultipartUploads' smart constructor.+data ListMultipartUploads = ListMultipartUploads'+    { _lmuKeyMarker      :: !(Maybe Text)+    , _lmuPrefix         :: !(Maybe Text)+    , _lmuEncodingType   :: !(Maybe EncodingType)+    , _lmuMaxUploads     :: !(Maybe Int)+    , _lmuUploadIdMarker :: !(Maybe Text)+    , _lmuDelimiter      :: !(Maybe Delimiter)+    , _lmuBucket         :: !BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListMultipartUploads' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ListMultipartUploads' with the minimum fields required to make a request. ----- * 'lmuBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'lmuDelimiter' @::@ 'Maybe' 'Text'+-- * 'lmuKeyMarker' ----- * 'lmuEncodingType' @::@ 'Maybe' 'EncodingType'+-- * 'lmuPrefix' ----- * 'lmuKeyMarker' @::@ 'Maybe' 'Text'+-- * 'lmuEncodingType' ----- * 'lmuMaxUploads' @::@ 'Maybe' 'Int'+-- * 'lmuMaxUploads' ----- * 'lmuPrefix' @::@ 'Maybe' 'Text'+-- * 'lmuUploadIdMarker' ----- * 'lmuUploadIdMarker' @::@ 'Maybe' 'Text'+-- * 'lmuDelimiter' ---listMultipartUploads :: Text -- ^ 'lmuBucket'-                     -> ListMultipartUploads-listMultipartUploads p1 = ListMultipartUploads-    { _lmuBucket         = p1-    , _lmuDelimiter      = Nothing-    , _lmuEncodingType   = Nothing-    , _lmuKeyMarker      = Nothing-    , _lmuMaxUploads     = Nothing-    , _lmuPrefix         = Nothing+-- * 'lmuBucket'+listMultipartUploads+    :: BucketName -- ^ 'lmuBucket'+    -> ListMultipartUploads+listMultipartUploads pBucket_ =+    ListMultipartUploads'+    { _lmuKeyMarker = Nothing+    , _lmuPrefix = Nothing+    , _lmuEncodingType = Nothing+    , _lmuMaxUploads = Nothing     , _lmuUploadIdMarker = Nothing+    , _lmuDelimiter = Nothing+    , _lmuBucket = pBucket_     } -lmuBucket :: Lens' ListMultipartUploads Text-lmuBucket = lens _lmuBucket (\s a -> s { _lmuBucket = a })+-- | Together with upload-id-marker, this parameter specifies the multipart+-- upload after which listing should begin.+lmuKeyMarker :: Lens' ListMultipartUploads (Maybe Text)+lmuKeyMarker = lens _lmuKeyMarker (\ s a -> s{_lmuKeyMarker = a}); --- | Character you use to group keys.-lmuDelimiter :: Lens' ListMultipartUploads (Maybe Text)-lmuDelimiter = lens _lmuDelimiter (\s a -> s { _lmuDelimiter = a })+-- | Lists in-progress uploads only for those keys that begin with the+-- specified prefix.+lmuPrefix :: Lens' ListMultipartUploads (Maybe Text)+lmuPrefix = lens _lmuPrefix (\ s a -> s{_lmuPrefix = a}); +-- | Undocumented member. lmuEncodingType :: Lens' ListMultipartUploads (Maybe EncodingType)-lmuEncodingType = lens _lmuEncodingType (\s a -> s { _lmuEncodingType = a })---- | Together with upload-id-marker, this parameter specifies the multipart upload--- after which listing should begin.-lmuKeyMarker :: Lens' ListMultipartUploads (Maybe Text)-lmuKeyMarker = lens _lmuKeyMarker (\s a -> s { _lmuKeyMarker = a })+lmuEncodingType = lens _lmuEncodingType (\ s a -> s{_lmuEncodingType = a}); --- | Sets the maximum number of multipart uploads, from 1 to 1,000, to return in--- the response body. 1,000 is the maximum number of uploads that can be+-- | Sets the maximum number of multipart uploads, from 1 to 1,000, to return+-- in the response body. 1,000 is the maximum number of uploads that can be -- returned in a response. lmuMaxUploads :: Lens' ListMultipartUploads (Maybe Int)-lmuMaxUploads = lens _lmuMaxUploads (\s a -> s { _lmuMaxUploads = a })---- | Lists in-progress uploads only for those keys that begin with the specified--- prefix.-lmuPrefix :: Lens' ListMultipartUploads (Maybe Text)-lmuPrefix = lens _lmuPrefix (\s a -> s { _lmuPrefix = a })+lmuMaxUploads = lens _lmuMaxUploads (\ s a -> s{_lmuMaxUploads = a}); --- | Together with key-marker, specifies the multipart upload after which listing--- should begin. If key-marker is not specified, the upload-id-marker parameter--- is ignored.+-- | Together with key-marker, specifies the multipart upload after which+-- listing should begin. If key-marker is not specified, the+-- upload-id-marker parameter is ignored. lmuUploadIdMarker :: Lens' ListMultipartUploads (Maybe Text)-lmuUploadIdMarker =-    lens _lmuUploadIdMarker (\s a -> s { _lmuUploadIdMarker = a })+lmuUploadIdMarker = lens _lmuUploadIdMarker (\ s a -> s{_lmuUploadIdMarker = a}); -data ListMultipartUploadsResponse = ListMultipartUploadsResponse-    { _lmurBucket             :: Maybe Text-    , _lmurCommonPrefixes     :: List "CommonPrefixes" CommonPrefix-    , _lmurDelimiter          :: Maybe Text-    , _lmurEncodingType       :: Maybe EncodingType-    , _lmurIsTruncated        :: Maybe Bool-    , _lmurKeyMarker          :: Maybe Text-    , _lmurMaxUploads         :: Maybe Int-    , _lmurNextKeyMarker      :: Maybe Text-    , _lmurNextUploadIdMarker :: Maybe Text-    , _lmurPrefix             :: Maybe Text-    , _lmurUploadIdMarker     :: Maybe Text-    , _lmurUploads            :: List "Upload" MultipartUpload-    } deriving (Eq, Read, Show)+-- | Character you use to group keys.+lmuDelimiter :: Lens' ListMultipartUploads (Maybe Delimiter)+lmuDelimiter = lens _lmuDelimiter (\ s a -> s{_lmuDelimiter = a}); --- | 'ListMultipartUploadsResponse' constructor.+-- | Undocumented member.+lmuBucket :: Lens' ListMultipartUploads BucketName+lmuBucket = lens _lmuBucket (\ s a -> s{_lmuBucket = a});++instance AWSPager ListMultipartUploads where+        page rq rs+          | stop (rs ^. lmursIsTruncated) = Nothing+          | isNothing (rs ^. lmursNextKeyMarker) &&+              isNothing (rs ^. lmursNextUploadIdMarker)+            = Nothing+          | otherwise =+            Just $ rq & lmuKeyMarker .~ rs ^. lmursNextKeyMarker+              & lmuUploadIdMarker .~ rs ^. lmursNextUploadIdMarker++instance AWSRequest ListMultipartUploads where+        type Sv ListMultipartUploads = S3+        type Rs ListMultipartUploads =+             ListMultipartUploadsResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 ListMultipartUploadsResponse' <$>+                   (x .@? "KeyMarker") <*> (x .@? "Prefix") <*>+                     (x .@? "EncodingType")+                     <*> (may (parseXMLList "CommonPrefixes") x)+                     <*> (x .@? "Bucket")+                     <*> (x .@? "MaxUploads")+                     <*> (x .@? "UploadIdMarker")+                     <*> (x .@? "NextKeyMarker")+                     <*> (may (parseXMLList "Upload") x)+                     <*> (x .@? "IsTruncated")+                     <*> (x .@? "NextUploadIdMarker")+                     <*> (x .@? "Delimiter")+                     <*> (pure (fromEnum s)))++instance ToHeaders ListMultipartUploads where+        toHeaders = const mempty++instance ToPath ListMultipartUploads where+        toPath ListMultipartUploads'{..}+          = mconcat ["/", toBS _lmuBucket]++instance ToQuery ListMultipartUploads where+        toQuery ListMultipartUploads'{..}+          = mconcat+              ["key-marker" =: _lmuKeyMarker,+               "prefix" =: _lmuPrefix,+               "encoding-type" =: _lmuEncodingType,+               "max-uploads" =: _lmuMaxUploads,+               "upload-id-marker" =: _lmuUploadIdMarker,+               "delimiter" =: _lmuDelimiter, "uploads"]++-- | /See:/ 'listMultipartUploadsResponse' smart constructor.+data ListMultipartUploadsResponse = ListMultipartUploadsResponse'+    { _lmursKeyMarker          :: !(Maybe Text)+    , _lmursPrefix             :: !(Maybe Text)+    , _lmursEncodingType       :: !(Maybe EncodingType)+    , _lmursCommonPrefixes     :: !(Maybe [CommonPrefix])+    , _lmursBucket             :: !(Maybe BucketName)+    , _lmursMaxUploads         :: !(Maybe Int)+    , _lmursUploadIdMarker     :: !(Maybe Text)+    , _lmursNextKeyMarker      :: !(Maybe Text)+    , _lmursUploads            :: !(Maybe [MultipartUpload])+    , _lmursIsTruncated        :: !(Maybe Bool)+    , _lmursNextUploadIdMarker :: !(Maybe Text)+    , _lmursDelimiter          :: !(Maybe Delimiter)+    , _lmursStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListMultipartUploadsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'lmurBucket' @::@ 'Maybe' 'Text'+-- * 'lmursKeyMarker' ----- * 'lmurCommonPrefixes' @::@ ['CommonPrefix']+-- * 'lmursPrefix' ----- * 'lmurDelimiter' @::@ 'Maybe' 'Text'+-- * 'lmursEncodingType' ----- * 'lmurEncodingType' @::@ 'Maybe' 'EncodingType'+-- * 'lmursCommonPrefixes' ----- * 'lmurIsTruncated' @::@ 'Maybe' 'Bool'+-- * 'lmursBucket' ----- * 'lmurKeyMarker' @::@ 'Maybe' 'Text'+-- * 'lmursMaxUploads' ----- * 'lmurMaxUploads' @::@ 'Maybe' 'Int'+-- * 'lmursUploadIdMarker' ----- * 'lmurNextKeyMarker' @::@ 'Maybe' 'Text'+-- * 'lmursNextKeyMarker' ----- * 'lmurNextUploadIdMarker' @::@ 'Maybe' 'Text'+-- * 'lmursUploads' ----- * 'lmurPrefix' @::@ 'Maybe' 'Text'+-- * 'lmursIsTruncated' ----- * 'lmurUploadIdMarker' @::@ 'Maybe' 'Text'+-- * 'lmursNextUploadIdMarker' ----- * 'lmurUploads' @::@ ['MultipartUpload']+-- * 'lmursDelimiter' ---listMultipartUploadsResponse :: ListMultipartUploadsResponse-listMultipartUploadsResponse = ListMultipartUploadsResponse-    { _lmurBucket             = Nothing-    , _lmurKeyMarker          = Nothing-    , _lmurUploadIdMarker     = Nothing-    , _lmurNextKeyMarker      = Nothing-    , _lmurPrefix             = Nothing-    , _lmurDelimiter          = Nothing-    , _lmurNextUploadIdMarker = Nothing-    , _lmurMaxUploads         = Nothing-    , _lmurIsTruncated        = Nothing-    , _lmurUploads            = mempty-    , _lmurCommonPrefixes     = mempty-    , _lmurEncodingType       = Nothing+-- * 'lmursStatus'+listMultipartUploadsResponse+    :: Int -- ^ 'lmursStatus'+    -> ListMultipartUploadsResponse+listMultipartUploadsResponse pStatus_ =+    ListMultipartUploadsResponse'+    { _lmursKeyMarker = Nothing+    , _lmursPrefix = Nothing+    , _lmursEncodingType = Nothing+    , _lmursCommonPrefixes = Nothing+    , _lmursBucket = Nothing+    , _lmursMaxUploads = Nothing+    , _lmursUploadIdMarker = Nothing+    , _lmursNextKeyMarker = Nothing+    , _lmursUploads = Nothing+    , _lmursIsTruncated = Nothing+    , _lmursNextUploadIdMarker = Nothing+    , _lmursDelimiter = Nothing+    , _lmursStatus = pStatus_     } --- | Name of the bucket to which the multipart upload was initiated.-lmurBucket :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmurBucket = lens _lmurBucket (\s a -> s { _lmurBucket = a })--lmurCommonPrefixes :: Lens' ListMultipartUploadsResponse [CommonPrefix]-lmurCommonPrefixes =-    lens _lmurCommonPrefixes (\s a -> s { _lmurCommonPrefixes = a })-        . _List+-- | The key at or after which the listing began.+lmursKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)+lmursKeyMarker = lens _lmursKeyMarker (\ s a -> s{_lmursKeyMarker = a}); -lmurDelimiter :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmurDelimiter = lens _lmurDelimiter (\s a -> s { _lmurDelimiter = a })+-- | When a prefix is provided in the request, this field contains the+-- specified prefix. The result contains only keys starting with the+-- specified prefix.+lmursPrefix :: Lens' ListMultipartUploadsResponse (Maybe Text)+lmursPrefix = lens _lmursPrefix (\ s a -> s{_lmursPrefix = a});  -- | Encoding type used by Amazon S3 to encode object keys in the response.-lmurEncodingType :: Lens' ListMultipartUploadsResponse (Maybe EncodingType)-lmurEncodingType = lens _lmurEncodingType (\s a -> s { _lmurEncodingType = a })+lmursEncodingType :: Lens' ListMultipartUploadsResponse (Maybe EncodingType)+lmursEncodingType = lens _lmursEncodingType (\ s a -> s{_lmursEncodingType = a}); --- | Indicates whether the returned list of multipart uploads is truncated. A--- value of true indicates that the list was truncated. The list can be--- truncated if the number of multipart uploads exceeds the limit allowed or--- specified by max uploads.-lmurIsTruncated :: Lens' ListMultipartUploadsResponse (Maybe Bool)-lmurIsTruncated = lens _lmurIsTruncated (\s a -> s { _lmurIsTruncated = a })+-- | Undocumented member.+lmursCommonPrefixes :: Lens' ListMultipartUploadsResponse [CommonPrefix]+lmursCommonPrefixes = lens _lmursCommonPrefixes (\ s a -> s{_lmursCommonPrefixes = a}) . _Default . _Coerce; --- | The key at or after which the listing began.-lmurKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmurKeyMarker = lens _lmurKeyMarker (\s a -> s { _lmurKeyMarker = a })+-- | Name of the bucket to which the multipart upload was initiated.+lmursBucket :: Lens' ListMultipartUploadsResponse (Maybe BucketName)+lmursBucket = lens _lmursBucket (\ s a -> s{_lmursBucket = a});  -- | Maximum number of multipart uploads that could have been included in the -- response.-lmurMaxUploads :: Lens' ListMultipartUploadsResponse (Maybe Int)-lmurMaxUploads = lens _lmurMaxUploads (\s a -> s { _lmurMaxUploads = a })---- | When a list is truncated, this element specifies the value that should be--- used for the key-marker request parameter in a subsequent request.-lmurNextKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmurNextKeyMarker =-    lens _lmurNextKeyMarker (\s a -> s { _lmurNextKeyMarker = a })---- | When a list is truncated, this element specifies the value that should be--- used for the upload-id-marker request parameter in a subsequent request.-lmurNextUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmurNextUploadIdMarker =-    lens _lmurNextUploadIdMarker (\s a -> s { _lmurNextUploadIdMarker = a })---- | When a prefix is provided in the request, this field contains the specified--- prefix. The result contains only keys starting with the specified prefix.-lmurPrefix :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmurPrefix = lens _lmurPrefix (\s a -> s { _lmurPrefix = a })+lmursMaxUploads :: Lens' ListMultipartUploadsResponse (Maybe Int)+lmursMaxUploads = lens _lmursMaxUploads (\ s a -> s{_lmursMaxUploads = a});  -- | Upload ID after which listing began.-lmurUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmurUploadIdMarker =-    lens _lmurUploadIdMarker (\s a -> s { _lmurUploadIdMarker = a })--lmurUploads :: Lens' ListMultipartUploadsResponse [MultipartUpload]-lmurUploads = lens _lmurUploads (\s a -> s { _lmurUploads = a }) . _List--instance ToPath ListMultipartUploads where-    toPath ListMultipartUploads{..} = mconcat-        [ "/"-        , toText _lmuBucket-        ]--instance ToQuery ListMultipartUploads where-    toQuery ListMultipartUploads{..} = mconcat-        [ "uploads"-        , "delimiter"        =? _lmuDelimiter-        , "encoding-type"    =? _lmuEncodingType-        , "key-marker"       =? _lmuKeyMarker-        , "max-uploads"      =? _lmuMaxUploads-        , "prefix"           =? _lmuPrefix-        , "upload-id-marker" =? _lmuUploadIdMarker-        ]--instance ToHeaders ListMultipartUploads+lmursUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)+lmursUploadIdMarker = lens _lmursUploadIdMarker (\ s a -> s{_lmursUploadIdMarker = a}); -instance ToXMLRoot ListMultipartUploads where-    toXMLRoot = const (namespaced ns "ListMultipartUploads" [])+-- | When a list is truncated, this element specifies the value that should+-- be used for the key-marker request parameter in a subsequent request.+lmursNextKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)+lmursNextKeyMarker = lens _lmursNextKeyMarker (\ s a -> s{_lmursNextKeyMarker = a}); -instance ToXML ListMultipartUploads+-- | Undocumented member.+lmursUploads :: Lens' ListMultipartUploadsResponse [MultipartUpload]+lmursUploads = lens _lmursUploads (\ s a -> s{_lmursUploads = a}) . _Default . _Coerce; -instance AWSRequest ListMultipartUploads where-    type Sv ListMultipartUploads = S3-    type Rs ListMultipartUploads = ListMultipartUploadsResponse+-- | Indicates whether the returned list of multipart uploads is truncated. A+-- value of true indicates that the list was truncated. The list can be+-- truncated if the number of multipart uploads exceeds the limit allowed+-- or specified by max uploads.+lmursIsTruncated :: Lens' ListMultipartUploadsResponse (Maybe Bool)+lmursIsTruncated = lens _lmursIsTruncated (\ s a -> s{_lmursIsTruncated = a}); -    request  = get-    response = xmlResponse+-- | When a list is truncated, this element specifies the value that should+-- be used for the upload-id-marker request parameter in a subsequent+-- request.+lmursNextUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)+lmursNextUploadIdMarker = lens _lmursNextUploadIdMarker (\ s a -> s{_lmursNextUploadIdMarker = a}); -instance FromXML ListMultipartUploadsResponse where-    parseXML x = ListMultipartUploadsResponse-        <$> x .@? "Bucket"-        <*> parseXML x-        <*> x .@? "Delimiter"-        <*> x .@? "EncodingType"-        <*> x .@? "IsTruncated"-        <*> x .@? "KeyMarker"-        <*> x .@? "MaxUploads"-        <*> x .@? "NextKeyMarker"-        <*> x .@? "NextUploadIdMarker"-        <*> x .@? "Prefix"-        <*> x .@? "UploadIdMarker"-        <*> parseXML x+-- | Undocumented member.+lmursDelimiter :: Lens' ListMultipartUploadsResponse (Maybe Delimiter)+lmursDelimiter = lens _lmursDelimiter (\ s a -> s{_lmursDelimiter = a}); -instance AWSPager ListMultipartUploads where-    page rq rs-        | stop (rs ^. lmurIsTruncated) = Nothing-        | isNothing p1 && isNothing p2 = Nothing-        | otherwise = Just $ rq-            & lmuKeyMarker .~ p1-            & lmuUploadIdMarker .~ p2-      where-        p1 = rs ^. lmurNextKeyMarker-        p2 = rs ^. lmurNextUploadIdMarker+-- | The response status code.+lmursStatus :: Lens' ListMultipartUploadsResponse Int+lmursStatus = lens _lmursStatus (\ s a -> s{_lmursStatus = a});
gen/Network/AWS/S3/ListObjectVersions.hs view
@@ -1,311 +1,319 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.ListObjectVersions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns metadata about all of the versions of objects in a bucket.+-- Returns metadata about all of the versions of objects in a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/ListObjectVersions.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/ListObjectVersions.html AWS API Reference> for ListObjectVersions.+--+-- This operation returns paginated results. module Network.AWS.S3.ListObjectVersions     (-    -- * Request-      ListObjectVersions-    -- ** Request constructor-    , listObjectVersions-    -- ** Request lenses-    , lovBucket-    , lovDelimiter-    , lovEncodingType+    -- * Creating a Request+      listObjectVersions+    , ListObjectVersions+    -- * Request Lenses     , lovKeyMarker-    , lovMaxKeys     , lovPrefix+    , lovEncodingType     , lovVersionIdMarker+    , lovMaxKeys+    , lovDelimiter+    , lovBucket -    -- * Response-    , ListObjectVersionsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listObjectVersionsResponse-    -- ** Response lenses-    , lovrCommonPrefixes-    , lovrDeleteMarkers-    , lovrDelimiter-    , lovrEncodingType-    , lovrIsTruncated-    , lovrKeyMarker-    , lovrMaxKeys-    , lovrName-    , lovrNextKeyMarker-    , lovrNextVersionIdMarker-    , lovrPrefix-    , lovrVersionIdMarker-    , lovrVersions+    , ListObjectVersionsResponse+    -- * Response Lenses+    , lovrsNextVersionIdMarker+    , lovrsKeyMarker+    , lovrsPrefix+    , lovrsDeleteMarkers+    , lovrsEncodingType+    , lovrsCommonPrefixes+    , lovrsVersions+    , lovrsName+    , lovrsNextKeyMarker+    , lovrsVersionIdMarker+    , lovrsMaxKeys+    , lovrsIsTruncated+    , lovrsDelimiter+    , lovrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data ListObjectVersions = ListObjectVersions-    { _lovBucket          :: Text-    , _lovDelimiter       :: Maybe Text-    , _lovEncodingType    :: Maybe EncodingType-    , _lovKeyMarker       :: Maybe Text-    , _lovMaxKeys         :: Maybe Int-    , _lovPrefix          :: Maybe Text-    , _lovVersionIdMarker :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'listObjectVersions' smart constructor.+data ListObjectVersions = ListObjectVersions'+    { _lovKeyMarker       :: !(Maybe Text)+    , _lovPrefix          :: !(Maybe Text)+    , _lovEncodingType    :: !(Maybe EncodingType)+    , _lovVersionIdMarker :: !(Maybe Text)+    , _lovMaxKeys         :: !(Maybe Int)+    , _lovDelimiter       :: !(Maybe Delimiter)+    , _lovBucket          :: !BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListObjectVersions' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ListObjectVersions' with the minimum fields required to make a request. ----- * 'lovBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'lovDelimiter' @::@ 'Maybe' 'Text'+-- * 'lovKeyMarker' ----- * 'lovEncodingType' @::@ 'Maybe' 'EncodingType'+-- * 'lovPrefix' ----- * 'lovKeyMarker' @::@ 'Maybe' 'Text'+-- * 'lovEncodingType' ----- * 'lovMaxKeys' @::@ 'Maybe' 'Int'+-- * 'lovVersionIdMarker' ----- * 'lovPrefix' @::@ 'Maybe' 'Text'+-- * 'lovMaxKeys' ----- * 'lovVersionIdMarker' @::@ 'Maybe' 'Text'+-- * 'lovDelimiter' ---listObjectVersions :: Text -- ^ 'lovBucket'-                   -> ListObjectVersions-listObjectVersions p1 = ListObjectVersions-    { _lovBucket          = p1-    , _lovDelimiter       = Nothing-    , _lovEncodingType    = Nothing-    , _lovKeyMarker       = Nothing-    , _lovMaxKeys         = Nothing-    , _lovPrefix          = Nothing+-- * 'lovBucket'+listObjectVersions+    :: BucketName -- ^ 'lovBucket'+    -> ListObjectVersions+listObjectVersions pBucket_ =+    ListObjectVersions'+    { _lovKeyMarker = Nothing+    , _lovPrefix = Nothing+    , _lovEncodingType = Nothing     , _lovVersionIdMarker = Nothing+    , _lovMaxKeys = Nothing+    , _lovDelimiter = Nothing+    , _lovBucket = pBucket_     } -lovBucket :: Lens' ListObjectVersions Text-lovBucket = lens _lovBucket (\s a -> s { _lovBucket = a })---- | A delimiter is a character you use to group keys.-lovDelimiter :: Lens' ListObjectVersions (Maybe Text)-lovDelimiter = lens _lovDelimiter (\s a -> s { _lovDelimiter = a })--lovEncodingType :: Lens' ListObjectVersions (Maybe EncodingType)-lovEncodingType = lens _lovEncodingType (\s a -> s { _lovEncodingType = a })- -- | Specifies the key to start with when listing objects in a bucket. lovKeyMarker :: Lens' ListObjectVersions (Maybe Text)-lovKeyMarker = lens _lovKeyMarker (\s a -> s { _lovKeyMarker = a })---- | Sets the maximum number of keys returned in the response. The response might--- contain fewer keys but will never contain more.-lovMaxKeys :: Lens' ListObjectVersions (Maybe Int)-lovMaxKeys = lens _lovMaxKeys (\s a -> s { _lovMaxKeys = a })+lovKeyMarker = lens _lovKeyMarker (\ s a -> s{_lovKeyMarker = a});  -- | Limits the response to keys that begin with the specified prefix. lovPrefix :: Lens' ListObjectVersions (Maybe Text)-lovPrefix = lens _lovPrefix (\s a -> s { _lovPrefix = a })+lovPrefix = lens _lovPrefix (\ s a -> s{_lovPrefix = a}); +-- | Undocumented member.+lovEncodingType :: Lens' ListObjectVersions (Maybe EncodingType)+lovEncodingType = lens _lovEncodingType (\ s a -> s{_lovEncodingType = a});+ -- | Specifies the object version you want to start listing from. lovVersionIdMarker :: Lens' ListObjectVersions (Maybe Text)-lovVersionIdMarker =-    lens _lovVersionIdMarker (\s a -> s { _lovVersionIdMarker = a })+lovVersionIdMarker = lens _lovVersionIdMarker (\ s a -> s{_lovVersionIdMarker = a}); -data ListObjectVersionsResponse = ListObjectVersionsResponse-    { _lovrCommonPrefixes      :: List "CommonPrefixes" CommonPrefix-    , _lovrDeleteMarkers       :: List "DeleteMarker" DeleteMarkerEntry-    , _lovrDelimiter           :: Maybe Text-    , _lovrEncodingType        :: Maybe EncodingType-    , _lovrIsTruncated         :: Maybe Bool-    , _lovrKeyMarker           :: Maybe Text-    , _lovrMaxKeys             :: Maybe Int-    , _lovrName                :: Maybe Text-    , _lovrNextKeyMarker       :: Maybe Text-    , _lovrNextVersionIdMarker :: Maybe Text-    , _lovrPrefix              :: Maybe Text-    , _lovrVersionIdMarker     :: Maybe Text-    , _lovrVersions            :: List "Version" ObjectVersion-    } deriving (Eq, Read, Show)+-- | Sets the maximum number of keys returned in the response. The response+-- might contain fewer keys but will never contain more.+lovMaxKeys :: Lens' ListObjectVersions (Maybe Int)+lovMaxKeys = lens _lovMaxKeys (\ s a -> s{_lovMaxKeys = a}); --- | 'ListObjectVersionsResponse' constructor.+-- | A delimiter is a character you use to group keys.+lovDelimiter :: Lens' ListObjectVersions (Maybe Delimiter)+lovDelimiter = lens _lovDelimiter (\ s a -> s{_lovDelimiter = a});++-- | Undocumented member.+lovBucket :: Lens' ListObjectVersions BucketName+lovBucket = lens _lovBucket (\ s a -> s{_lovBucket = a});++instance AWSPager ListObjectVersions where+        page rq rs+          | stop (rs ^. lovrsIsTruncated) = Nothing+          | isNothing (rs ^. lovrsNextKeyMarker) &&+              isNothing (rs ^. lovrsNextVersionIdMarker)+            = Nothing+          | otherwise =+            Just $ rq & lovKeyMarker .~ rs ^. lovrsNextKeyMarker+              &+              lovVersionIdMarker .~ rs ^. lovrsNextVersionIdMarker++instance AWSRequest ListObjectVersions where+        type Sv ListObjectVersions = S3+        type Rs ListObjectVersions =+             ListObjectVersionsResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 ListObjectVersionsResponse' <$>+                   (x .@? "NextVersionIdMarker") <*> (x .@? "KeyMarker")+                     <*> (x .@? "Prefix")+                     <*> (may (parseXMLList "DeleteMarker") x)+                     <*> (x .@? "EncodingType")+                     <*> (may (parseXMLList "CommonPrefixes") x)+                     <*> (may (parseXMLList "Version") x)+                     <*> (x .@? "Name")+                     <*> (x .@? "NextKeyMarker")+                     <*> (x .@? "VersionIdMarker")+                     <*> (x .@? "MaxKeys")+                     <*> (x .@? "IsTruncated")+                     <*> (x .@? "Delimiter")+                     <*> (pure (fromEnum s)))++instance ToHeaders ListObjectVersions where+        toHeaders = const mempty++instance ToPath ListObjectVersions where+        toPath ListObjectVersions'{..}+          = mconcat ["/", toBS _lovBucket]++instance ToQuery ListObjectVersions where+        toQuery ListObjectVersions'{..}+          = mconcat+              ["key-marker" =: _lovKeyMarker,+               "prefix" =: _lovPrefix,+               "encoding-type" =: _lovEncodingType,+               "version-id-marker" =: _lovVersionIdMarker,+               "max-keys" =: _lovMaxKeys,+               "delimiter" =: _lovDelimiter, "versions"]++-- | /See:/ 'listObjectVersionsResponse' smart constructor.+data ListObjectVersionsResponse = ListObjectVersionsResponse'+    { _lovrsNextVersionIdMarker :: !(Maybe Text)+    , _lovrsKeyMarker           :: !(Maybe Text)+    , _lovrsPrefix              :: !(Maybe Text)+    , _lovrsDeleteMarkers       :: !(Maybe [DeleteMarkerEntry])+    , _lovrsEncodingType        :: !(Maybe EncodingType)+    , _lovrsCommonPrefixes      :: !(Maybe [CommonPrefix])+    , _lovrsVersions            :: !(Maybe [ObjectVersion])+    , _lovrsName                :: !(Maybe BucketName)+    , _lovrsNextKeyMarker       :: !(Maybe Text)+    , _lovrsVersionIdMarker     :: !(Maybe Text)+    , _lovrsMaxKeys             :: !(Maybe Int)+    , _lovrsIsTruncated         :: !(Maybe Bool)+    , _lovrsDelimiter           :: !(Maybe Delimiter)+    , _lovrsStatus              :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListObjectVersionsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'lovrCommonPrefixes' @::@ ['CommonPrefix']+-- * 'lovrsNextVersionIdMarker' ----- * 'lovrDeleteMarkers' @::@ ['DeleteMarkerEntry']+-- * 'lovrsKeyMarker' ----- * 'lovrDelimiter' @::@ 'Maybe' 'Text'+-- * 'lovrsPrefix' ----- * 'lovrEncodingType' @::@ 'Maybe' 'EncodingType'+-- * 'lovrsDeleteMarkers' ----- * 'lovrIsTruncated' @::@ 'Maybe' 'Bool'+-- * 'lovrsEncodingType' ----- * 'lovrKeyMarker' @::@ 'Maybe' 'Text'+-- * 'lovrsCommonPrefixes' ----- * 'lovrMaxKeys' @::@ 'Maybe' 'Int'+-- * 'lovrsVersions' ----- * 'lovrName' @::@ 'Maybe' 'Text'+-- * 'lovrsName' ----- * 'lovrNextKeyMarker' @::@ 'Maybe' 'Text'+-- * 'lovrsNextKeyMarker' ----- * 'lovrNextVersionIdMarker' @::@ 'Maybe' 'Text'+-- * 'lovrsVersionIdMarker' ----- * 'lovrPrefix' @::@ 'Maybe' 'Text'+-- * 'lovrsMaxKeys' ----- * 'lovrVersionIdMarker' @::@ 'Maybe' 'Text'+-- * 'lovrsIsTruncated' ----- * 'lovrVersions' @::@ ['ObjectVersion']+-- * 'lovrsDelimiter' ---listObjectVersionsResponse :: ListObjectVersionsResponse-listObjectVersionsResponse = ListObjectVersionsResponse-    { _lovrIsTruncated         = Nothing-    , _lovrKeyMarker           = Nothing-    , _lovrVersionIdMarker     = Nothing-    , _lovrNextKeyMarker       = Nothing-    , _lovrNextVersionIdMarker = Nothing-    , _lovrVersions            = mempty-    , _lovrDeleteMarkers       = mempty-    , _lovrName                = Nothing-    , _lovrPrefix              = Nothing-    , _lovrDelimiter           = Nothing-    , _lovrMaxKeys             = Nothing-    , _lovrCommonPrefixes      = mempty-    , _lovrEncodingType        = Nothing+-- * 'lovrsStatus'+listObjectVersionsResponse+    :: Int -- ^ 'lovrsStatus'+    -> ListObjectVersionsResponse+listObjectVersionsResponse pStatus_ =+    ListObjectVersionsResponse'+    { _lovrsNextVersionIdMarker = Nothing+    , _lovrsKeyMarker = Nothing+    , _lovrsPrefix = Nothing+    , _lovrsDeleteMarkers = Nothing+    , _lovrsEncodingType = Nothing+    , _lovrsCommonPrefixes = Nothing+    , _lovrsVersions = Nothing+    , _lovrsName = Nothing+    , _lovrsNextKeyMarker = Nothing+    , _lovrsVersionIdMarker = Nothing+    , _lovrsMaxKeys = Nothing+    , _lovrsIsTruncated = Nothing+    , _lovrsDelimiter = Nothing+    , _lovrsStatus = pStatus_     } -lovrCommonPrefixes :: Lens' ListObjectVersionsResponse [CommonPrefix]-lovrCommonPrefixes =-    lens _lovrCommonPrefixes (\s a -> s { _lovrCommonPrefixes = a })-        . _List--lovrDeleteMarkers :: Lens' ListObjectVersionsResponse [DeleteMarkerEntry]-lovrDeleteMarkers =-    lens _lovrDeleteMarkers (\s a -> s { _lovrDeleteMarkers = a })-        . _List--lovrDelimiter :: Lens' ListObjectVersionsResponse (Maybe Text)-lovrDelimiter = lens _lovrDelimiter (\s a -> s { _lovrDelimiter = a })---- | Encoding type used by Amazon S3 to encode object keys in the response.-lovrEncodingType :: Lens' ListObjectVersionsResponse (Maybe EncodingType)-lovrEncodingType = lens _lovrEncodingType (\s a -> s { _lovrEncodingType = a })---- | A flag that indicates whether or not Amazon S3 returned all of the results--- that satisfied the search criteria. If your results were truncated, you can--- make a follow-up paginated request using the NextKeyMarker and--- NextVersionIdMarker response parameters as a starting place in another--- request to return the rest of the results.-lovrIsTruncated :: Lens' ListObjectVersionsResponse (Maybe Bool)-lovrIsTruncated = lens _lovrIsTruncated (\s a -> s { _lovrIsTruncated = a })---- | Marks the last Key returned in a truncated response.-lovrKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)-lovrKeyMarker = lens _lovrKeyMarker (\s a -> s { _lovrKeyMarker = a })--lovrMaxKeys :: Lens' ListObjectVersionsResponse (Maybe Int)-lovrMaxKeys = lens _lovrMaxKeys (\s a -> s { _lovrMaxKeys = a })--lovrName :: Lens' ListObjectVersionsResponse (Maybe Text)-lovrName = lens _lovrName (\s a -> s { _lovrName = a })---- | Use this value for the key marker request parameter in a subsequent request.-lovrNextKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)-lovrNextKeyMarker =-    lens _lovrNextKeyMarker (\s a -> s { _lovrNextKeyMarker = a })- -- | Use this value for the next version id marker parameter in a subsequent -- request.-lovrNextVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)-lovrNextVersionIdMarker =-    lens _lovrNextVersionIdMarker (\s a -> s { _lovrNextVersionIdMarker = a })+lovrsNextVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)+lovrsNextVersionIdMarker = lens _lovrsNextVersionIdMarker (\ s a -> s{_lovrsNextVersionIdMarker = a}); -lovrPrefix :: Lens' ListObjectVersionsResponse (Maybe Text)-lovrPrefix = lens _lovrPrefix (\s a -> s { _lovrPrefix = a })+-- | Marks the last Key returned in a truncated response.+lovrsKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)+lovrsKeyMarker = lens _lovrsKeyMarker (\ s a -> s{_lovrsKeyMarker = a}); -lovrVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)-lovrVersionIdMarker =-    lens _lovrVersionIdMarker (\s a -> s { _lovrVersionIdMarker = a })+-- | Undocumented member.+lovrsPrefix :: Lens' ListObjectVersionsResponse (Maybe Text)+lovrsPrefix = lens _lovrsPrefix (\ s a -> s{_lovrsPrefix = a}); -lovrVersions :: Lens' ListObjectVersionsResponse [ObjectVersion]-lovrVersions = lens _lovrVersions (\s a -> s { _lovrVersions = a }) . _List+-- | Undocumented member.+lovrsDeleteMarkers :: Lens' ListObjectVersionsResponse [DeleteMarkerEntry]+lovrsDeleteMarkers = lens _lovrsDeleteMarkers (\ s a -> s{_lovrsDeleteMarkers = a}) . _Default . _Coerce; -instance ToPath ListObjectVersions where-    toPath ListObjectVersions{..} = mconcat-        [ "/"-        , toText _lovBucket-        ]+-- | Encoding type used by Amazon S3 to encode object keys in the response.+lovrsEncodingType :: Lens' ListObjectVersionsResponse (Maybe EncodingType)+lovrsEncodingType = lens _lovrsEncodingType (\ s a -> s{_lovrsEncodingType = a}); -instance ToQuery ListObjectVersions where-    toQuery ListObjectVersions{..} = mconcat-        [ "versions"-        , "delimiter"         =? _lovDelimiter-        , "encoding-type"     =? _lovEncodingType-        , "key-marker"        =? _lovKeyMarker-        , "max-keys"          =? _lovMaxKeys-        , "prefix"            =? _lovPrefix-        , "version-id-marker" =? _lovVersionIdMarker-        ]+-- | Undocumented member.+lovrsCommonPrefixes :: Lens' ListObjectVersionsResponse [CommonPrefix]+lovrsCommonPrefixes = lens _lovrsCommonPrefixes (\ s a -> s{_lovrsCommonPrefixes = a}) . _Default . _Coerce; -instance ToHeaders ListObjectVersions+-- | Undocumented member.+lovrsVersions :: Lens' ListObjectVersionsResponse [ObjectVersion]+lovrsVersions = lens _lovrsVersions (\ s a -> s{_lovrsVersions = a}) . _Default . _Coerce; -instance ToXMLRoot ListObjectVersions where-    toXMLRoot = const (namespaced ns "ListObjectVersions" [])+-- | Undocumented member.+lovrsName :: Lens' ListObjectVersionsResponse (Maybe BucketName)+lovrsName = lens _lovrsName (\ s a -> s{_lovrsName = a}); -instance ToXML ListObjectVersions+-- | Use this value for the key marker request parameter in a subsequent+-- request.+lovrsNextKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)+lovrsNextKeyMarker = lens _lovrsNextKeyMarker (\ s a -> s{_lovrsNextKeyMarker = a}); -instance AWSRequest ListObjectVersions where-    type Sv ListObjectVersions = S3-    type Rs ListObjectVersions = ListObjectVersionsResponse+-- | Undocumented member.+lovrsVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)+lovrsVersionIdMarker = lens _lovrsVersionIdMarker (\ s a -> s{_lovrsVersionIdMarker = a}); -    request  = get-    response = xmlResponse+-- | Undocumented member.+lovrsMaxKeys :: Lens' ListObjectVersionsResponse (Maybe Int)+lovrsMaxKeys = lens _lovrsMaxKeys (\ s a -> s{_lovrsMaxKeys = a}); -instance FromXML ListObjectVersionsResponse where-    parseXML x = ListObjectVersionsResponse-        <$> parseXML x-        <*> parseXML x-        <*> x .@? "Delimiter"-        <*> x .@? "EncodingType"-        <*> x .@? "IsTruncated"-        <*> x .@? "KeyMarker"-        <*> x .@? "MaxKeys"-        <*> x .@? "Name"-        <*> x .@? "NextKeyMarker"-        <*> x .@? "NextVersionIdMarker"-        <*> x .@? "Prefix"-        <*> x .@? "VersionIdMarker"-        <*> parseXML x+-- | A flag that indicates whether or not Amazon S3 returned all of the+-- results that satisfied the search criteria. If your results were+-- truncated, you can make a follow-up paginated request using the+-- NextKeyMarker and NextVersionIdMarker response parameters as a starting+-- place in another request to return the rest of the results.+lovrsIsTruncated :: Lens' ListObjectVersionsResponse (Maybe Bool)+lovrsIsTruncated = lens _lovrsIsTruncated (\ s a -> s{_lovrsIsTruncated = a}); -instance AWSPager ListObjectVersions where-    page rq rs-        | stop (rs ^. lovrIsTruncated) = Nothing-        | isNothing p1 && isNothing p2 = Nothing-        | otherwise = Just $ rq-            & lovKeyMarker .~ p1-            & lovVersionIdMarker .~ p2-      where-        p1 = rs ^. lovrNextKeyMarker-        p2 = rs ^. lovrNextVersionIdMarker+-- | Undocumented member.+lovrsDelimiter :: Lens' ListObjectVersionsResponse (Maybe Delimiter)+lovrsDelimiter = lens _lovrsDelimiter (\ s a -> s{_lovrsDelimiter = a});++-- | The response status code.+lovrsStatus :: Lens' ListObjectVersionsResponse Int+lovrsStatus = lens _lovrsStatus (\ s a -> s{_lovrsStatus = a});
gen/Network/AWS/S3/ListObjects.hs view
@@ -1,264 +1,286 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.ListObjects--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns some or all (up to 1000) of the objects in a bucket. You can use the--- request parameters as selection criteria to return a subset of the objects in--- a bucket.+-- Returns some or all (up to 1000) of the objects in a bucket. You can use+-- the request parameters as selection criteria to return a subset of the+-- objects in a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/ListObjects.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/ListObjects.html AWS API Reference> for ListObjects.+--+-- This operation returns paginated results. module Network.AWS.S3.ListObjects     (-    -- * Request-      ListObjects-    -- ** Request constructor-    , listObjects-    -- ** Request lenses-    , loBucket-    , loDelimiter+    -- * Creating a Request+      listObjects+    , ListObjects+    -- * Request Lenses+    , loPrefix     , loEncodingType     , loMarker     , loMaxKeys-    , loPrefix+    , loDelimiter+    , loBucket -    -- * Response-    , ListObjectsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listObjectsResponse-    -- ** Response lenses-    , lorCommonPrefixes-    , lorContents-    , lorDelimiter-    , lorEncodingType-    , lorIsTruncated-    , lorMarker-    , lorMaxKeys-    , lorName-    , lorNextMarker-    , lorPrefix+    , ListObjectsResponse+    -- * Response Lenses+    , lorsContents+    , lorsPrefix+    , lorsEncodingType+    , lorsCommonPrefixes+    , lorsName+    , lorsMarker+    , lorsNextMarker+    , lorsMaxKeys+    , lorsIsTruncated+    , lorsDelimiter+    , lorsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data ListObjects = ListObjects-    { _loBucket       :: Text-    , _loDelimiter    :: Maybe Text-    , _loEncodingType :: Maybe EncodingType-    , _loMarker       :: Maybe Text-    , _loMaxKeys      :: Maybe Int-    , _loPrefix       :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'listObjects' smart constructor.+data ListObjects = ListObjects'+    { _loPrefix       :: !(Maybe Text)+    , _loEncodingType :: !(Maybe EncodingType)+    , _loMarker       :: !(Maybe Text)+    , _loMaxKeys      :: !(Maybe Int)+    , _loDelimiter    :: !(Maybe Delimiter)+    , _loBucket       :: !BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListObjects' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ListObjects' with the minimum fields required to make a request. ----- * 'loBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'loDelimiter' @::@ 'Maybe' 'Text'+-- * 'loPrefix' ----- * 'loEncodingType' @::@ 'Maybe' 'EncodingType'+-- * 'loEncodingType' ----- * 'loMarker' @::@ 'Maybe' 'Text'+-- * 'loMarker' ----- * 'loMaxKeys' @::@ 'Maybe' 'Int'+-- * 'loMaxKeys' ----- * 'loPrefix' @::@ 'Maybe' 'Text'+-- * 'loDelimiter' ---listObjects :: Text -- ^ 'loBucket'-            -> ListObjects-listObjects p1 = ListObjects-    { _loBucket       = p1-    , _loDelimiter    = Nothing+-- * 'loBucket'+listObjects+    :: BucketName -- ^ 'loBucket'+    -> ListObjects+listObjects pBucket_ =+    ListObjects'+    { _loPrefix = Nothing     , _loEncodingType = Nothing-    , _loMarker       = Nothing-    , _loMaxKeys      = Nothing-    , _loPrefix       = Nothing+    , _loMarker = Nothing+    , _loMaxKeys = Nothing+    , _loDelimiter = Nothing+    , _loBucket = pBucket_     } -loBucket :: Lens' ListObjects Text-loBucket = lens _loBucket (\s a -> s { _loBucket = a })---- | A delimiter is a character you use to group keys.-loDelimiter :: Lens' ListObjects (Maybe Text)-loDelimiter = lens _loDelimiter (\s a -> s { _loDelimiter = a })+-- | Limits the response to keys that begin with the specified prefix.+loPrefix :: Lens' ListObjects (Maybe Text)+loPrefix = lens _loPrefix (\ s a -> s{_loPrefix = a}); +-- | Undocumented member. loEncodingType :: Lens' ListObjects (Maybe EncodingType)-loEncodingType = lens _loEncodingType (\s a -> s { _loEncodingType = a })+loEncodingType = lens _loEncodingType (\ s a -> s{_loEncodingType = a});  -- | Specifies the key to start with when listing objects in a bucket. loMarker :: Lens' ListObjects (Maybe Text)-loMarker = lens _loMarker (\s a -> s { _loMarker = a })+loMarker = lens _loMarker (\ s a -> s{_loMarker = a}); --- | Sets the maximum number of keys returned in the response. The response might--- contain fewer keys but will never contain more.+-- | Sets the maximum number of keys returned in the response. The response+-- might contain fewer keys but will never contain more. loMaxKeys :: Lens' ListObjects (Maybe Int)-loMaxKeys = lens _loMaxKeys (\s a -> s { _loMaxKeys = a })+loMaxKeys = lens _loMaxKeys (\ s a -> s{_loMaxKeys = a}); --- | Limits the response to keys that begin with the specified prefix.-loPrefix :: Lens' ListObjects (Maybe Text)-loPrefix = lens _loPrefix (\s a -> s { _loPrefix = a })+-- | A delimiter is a character you use to group keys.+loDelimiter :: Lens' ListObjects (Maybe Delimiter)+loDelimiter = lens _loDelimiter (\ s a -> s{_loDelimiter = a}); -data ListObjectsResponse = ListObjectsResponse-    { _lorCommonPrefixes :: List "CommonPrefixes" CommonPrefix-    , _lorContents       :: List "Contents" Object-    , _lorDelimiter      :: Maybe Text-    , _lorEncodingType   :: Maybe EncodingType-    , _lorIsTruncated    :: Maybe Bool-    , _lorMarker         :: Maybe Text-    , _lorMaxKeys        :: Maybe Int-    , _lorName           :: Maybe Text-    , _lorNextMarker     :: Maybe Text-    , _lorPrefix         :: Maybe Text-    } deriving (Eq, Read, Show)+-- | Undocumented member.+loBucket :: Lens' ListObjects BucketName+loBucket = lens _loBucket (\ s a -> s{_loBucket = a}); --- | 'ListObjectsResponse' constructor.+instance AWSPager ListObjects where+        page rq rs+          | stop (rs ^. lorsIsTruncated) = Nothing+          | isNothing+              (rs ^.+                 choice (^. lorsNextMarker)+                   (^? (lorsContents . _last . oKey)))+            = Nothing+          | otherwise =+            Just $ rq &+              loMarker .~+                rs ^.+                  choice (^. lorsNextMarker)+                    (^? (lorsContents . _last . oKey))++instance AWSRequest ListObjects where+        type Sv ListObjects = S3+        type Rs ListObjects = ListObjectsResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 ListObjectsResponse' <$>+                   (may (parseXMLList "Contents") x) <*>+                     (x .@? "Prefix")+                     <*> (x .@? "EncodingType")+                     <*> (may (parseXMLList "CommonPrefixes") x)+                     <*> (x .@? "Name")+                     <*> (x .@? "Marker")+                     <*> (x .@? "NextMarker")+                     <*> (x .@? "MaxKeys")+                     <*> (x .@? "IsTruncated")+                     <*> (x .@? "Delimiter")+                     <*> (pure (fromEnum s)))++instance ToHeaders ListObjects where+        toHeaders = const mempty++instance ToPath ListObjects where+        toPath ListObjects'{..}+          = mconcat ["/", toBS _loBucket]++instance ToQuery ListObjects where+        toQuery ListObjects'{..}+          = mconcat+              ["prefix" =: _loPrefix,+               "encoding-type" =: _loEncodingType,+               "marker" =: _loMarker, "max-keys" =: _loMaxKeys,+               "delimiter" =: _loDelimiter]++-- | /See:/ 'listObjectsResponse' smart constructor.+data ListObjectsResponse = ListObjectsResponse'+    { _lorsContents       :: !(Maybe [Object])+    , _lorsPrefix         :: !(Maybe Text)+    , _lorsEncodingType   :: !(Maybe EncodingType)+    , _lorsCommonPrefixes :: !(Maybe [CommonPrefix])+    , _lorsName           :: !(Maybe BucketName)+    , _lorsMarker         :: !(Maybe Text)+    , _lorsNextMarker     :: !(Maybe Text)+    , _lorsMaxKeys        :: !(Maybe Int)+    , _lorsIsTruncated    :: !(Maybe Bool)+    , _lorsDelimiter      :: !(Maybe Delimiter)+    , _lorsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListObjectsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'lorCommonPrefixes' @::@ ['CommonPrefix']+-- * 'lorsContents' ----- * 'lorContents' @::@ ['Object']+-- * 'lorsPrefix' ----- * 'lorDelimiter' @::@ 'Maybe' 'Text'+-- * 'lorsEncodingType' ----- * 'lorEncodingType' @::@ 'Maybe' 'EncodingType'+-- * 'lorsCommonPrefixes' ----- * 'lorIsTruncated' @::@ 'Maybe' 'Bool'+-- * 'lorsName' ----- * 'lorMarker' @::@ 'Maybe' 'Text'+-- * 'lorsMarker' ----- * 'lorMaxKeys' @::@ 'Maybe' 'Int'+-- * 'lorsNextMarker' ----- * 'lorName' @::@ 'Maybe' 'Text'+-- * 'lorsMaxKeys' ----- * 'lorNextMarker' @::@ 'Maybe' 'Text'+-- * 'lorsIsTruncated' ----- * 'lorPrefix' @::@ 'Maybe' 'Text'+-- * 'lorsDelimiter' ---listObjectsResponse :: ListObjectsResponse-listObjectsResponse = ListObjectsResponse-    { _lorIsTruncated    = Nothing-    , _lorMarker         = Nothing-    , _lorNextMarker     = Nothing-    , _lorContents       = mempty-    , _lorName           = Nothing-    , _lorPrefix         = Nothing-    , _lorDelimiter      = Nothing-    , _lorMaxKeys        = Nothing-    , _lorCommonPrefixes = mempty-    , _lorEncodingType   = Nothing+-- * 'lorsStatus'+listObjectsResponse+    :: Int -- ^ 'lorsStatus'+    -> ListObjectsResponse+listObjectsResponse pStatus_ =+    ListObjectsResponse'+    { _lorsContents = Nothing+    , _lorsPrefix = Nothing+    , _lorsEncodingType = Nothing+    , _lorsCommonPrefixes = Nothing+    , _lorsName = Nothing+    , _lorsMarker = Nothing+    , _lorsNextMarker = Nothing+    , _lorsMaxKeys = Nothing+    , _lorsIsTruncated = Nothing+    , _lorsDelimiter = Nothing+    , _lorsStatus = pStatus_     } -lorCommonPrefixes :: Lens' ListObjectsResponse [CommonPrefix]-lorCommonPrefixes =-    lens _lorCommonPrefixes (\s a -> s { _lorCommonPrefixes = a })-        . _List--lorContents :: Lens' ListObjectsResponse [Object]-lorContents = lens _lorContents (\s a -> s { _lorContents = a }) . _List+-- | Undocumented member.+lorsContents :: Lens' ListObjectsResponse [Object]+lorsContents = lens _lorsContents (\ s a -> s{_lorsContents = a}) . _Default . _Coerce; -lorDelimiter :: Lens' ListObjectsResponse (Maybe Text)-lorDelimiter = lens _lorDelimiter (\s a -> s { _lorDelimiter = a })+-- | Undocumented member.+lorsPrefix :: Lens' ListObjectsResponse (Maybe Text)+lorsPrefix = lens _lorsPrefix (\ s a -> s{_lorsPrefix = a});  -- | Encoding type used by Amazon S3 to encode object keys in the response.-lorEncodingType :: Lens' ListObjectsResponse (Maybe EncodingType)-lorEncodingType = lens _lorEncodingType (\s a -> s { _lorEncodingType = a })---- | A flag that indicates whether or not Amazon S3 returned all of the results--- that satisfied the search criteria.-lorIsTruncated :: Lens' ListObjectsResponse (Maybe Bool)-lorIsTruncated = lens _lorIsTruncated (\s a -> s { _lorIsTruncated = a })--lorMarker :: Lens' ListObjectsResponse (Maybe Text)-lorMarker = lens _lorMarker (\s a -> s { _lorMarker = a })--lorMaxKeys :: Lens' ListObjectsResponse (Maybe Int)-lorMaxKeys = lens _lorMaxKeys (\s a -> s { _lorMaxKeys = a })--lorName :: Lens' ListObjectsResponse (Maybe Text)-lorName = lens _lorName (\s a -> s { _lorName = a })---- | When response is truncated (the IsTruncated element value in the response is--- true), you can use the key name in this field as marker in the subsequent--- request to get next set of objects. Amazon S3 lists objects in alphabetical--- order Note: This element is returned only if you have delimiter request--- parameter specified. If response does not include the NextMaker and it is--- truncated, you can use the value of the last Key in the response as the--- marker in the subsequent request to get the next set of object keys.-lorNextMarker :: Lens' ListObjectsResponse (Maybe Text)-lorNextMarker = lens _lorNextMarker (\s a -> s { _lorNextMarker = a })--lorPrefix :: Lens' ListObjectsResponse (Maybe Text)-lorPrefix = lens _lorPrefix (\s a -> s { _lorPrefix = a })--instance ToPath ListObjects where-    toPath ListObjects{..} = mconcat-        [ "/"-        , toText _loBucket-        ]+lorsEncodingType :: Lens' ListObjectsResponse (Maybe EncodingType)+lorsEncodingType = lens _lorsEncodingType (\ s a -> s{_lorsEncodingType = a}); -instance ToQuery ListObjects where-    toQuery ListObjects{..} = mconcat-        [ "delimiter"     =? _loDelimiter-        , "encoding-type" =? _loEncodingType-        , "marker"        =? _loMarker-        , "max-keys"      =? _loMaxKeys-        , "prefix"        =? _loPrefix-        ]+-- | Undocumented member.+lorsCommonPrefixes :: Lens' ListObjectsResponse [CommonPrefix]+lorsCommonPrefixes = lens _lorsCommonPrefixes (\ s a -> s{_lorsCommonPrefixes = a}) . _Default . _Coerce; -instance ToHeaders ListObjects+-- | Undocumented member.+lorsName :: Lens' ListObjectsResponse (Maybe BucketName)+lorsName = lens _lorsName (\ s a -> s{_lorsName = a}); -instance ToXMLRoot ListObjects where-    toXMLRoot = const (namespaced ns "ListObjects" [])+-- | Undocumented member.+lorsMarker :: Lens' ListObjectsResponse (Maybe Text)+lorsMarker = lens _lorsMarker (\ s a -> s{_lorsMarker = a}); -instance ToXML ListObjects+-- | When response is truncated (the IsTruncated element value in the+-- response is true), you can use the key name in this field as marker in+-- the subsequent request to get next set of objects. Amazon S3 lists+-- objects in alphabetical order Note: This element is returned only if you+-- have delimiter request parameter specified. If response does not include+-- the NextMaker and it is truncated, you can use the value of the last Key+-- in the response as the marker in the subsequent request to get the next+-- set of object keys.+lorsNextMarker :: Lens' ListObjectsResponse (Maybe Text)+lorsNextMarker = lens _lorsNextMarker (\ s a -> s{_lorsNextMarker = a}); -instance AWSRequest ListObjects where-    type Sv ListObjects = S3-    type Rs ListObjects = ListObjectsResponse+-- | Undocumented member.+lorsMaxKeys :: Lens' ListObjectsResponse (Maybe Int)+lorsMaxKeys = lens _lorsMaxKeys (\ s a -> s{_lorsMaxKeys = a}); -    request  = get-    response = xmlResponse+-- | A flag that indicates whether or not Amazon S3 returned all of the+-- results that satisfied the search criteria.+lorsIsTruncated :: Lens' ListObjectsResponse (Maybe Bool)+lorsIsTruncated = lens _lorsIsTruncated (\ s a -> s{_lorsIsTruncated = a}); -instance FromXML ListObjectsResponse where-    parseXML x = ListObjectsResponse-        <$> parseXML x-        <*> parseXML x-        <*> x .@? "Delimiter"-        <*> x .@? "EncodingType"-        <*> x .@? "IsTruncated"-        <*> x .@? "Marker"-        <*> x .@? "MaxKeys"-        <*> x .@? "Name"-        <*> x .@? "NextMarker"-        <*> x .@? "Prefix"+-- | Undocumented member.+lorsDelimiter :: Lens' ListObjectsResponse (Maybe Delimiter)+lorsDelimiter = lens _lorsDelimiter (\ s a -> s{_lorsDelimiter = a}); -instance AWSPager ListObjects where-    page rq rs-        | stop (rs ^. lorIsTruncated) = Nothing-        | otherwise = Just $ rq-            & loMarker .~ rs ^. lorNextMarker+-- | The response status code.+lorsStatus :: Lens' ListObjectsResponse Int+lorsStatus = lens _lorsStatus (\ s a -> s{_lorsStatus = a});
gen/Network/AWS/S3/ListParts.hs view
@@ -1,284 +1,294 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.ListParts--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Lists the parts that have been uploaded for a specific multipart upload.+-- Lists the parts that have been uploaded for a specific multipart upload. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/ListParts.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/ListParts.html AWS API Reference> for ListParts.+--+-- This operation returns paginated results. module Network.AWS.S3.ListParts     (-    -- * Request-      ListParts-    -- ** Request constructor-    , listParts-    -- ** Request lenses-    , lpBucket-    , lpKey+    -- * Creating a Request+      listParts+    , ListParts+    -- * Request Lenses     , lpMaxParts-    , lpPartNumberMarker     , lpRequestPayer+    , lpPartNumberMarker+    , lpBucket+    , lpKey     , lpUploadId -    -- * Response-    , ListPartsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , listPartsResponse-    -- ** Response lenses-    , lprBucket-    , lprInitiator-    , lprIsTruncated-    , lprKey-    , lprMaxParts-    , lprNextPartNumberMarker-    , lprOwner-    , lprPartNumberMarker-    , lprParts-    , lprRequestCharged-    , lprStorageClass-    , lprUploadId+    , ListPartsResponse+    -- * Response Lenses+    , lprsParts+    , lprsRequestCharged+    , lprsMaxParts+    , lprsInitiator+    , lprsBucket+    , lprsNextPartNumberMarker+    , lprsOwner+    , lprsKey+    , lprsStorageClass+    , lprsIsTruncated+    , lprsPartNumberMarker+    , lprsUploadId+    , lprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data ListParts = ListParts-    { _lpBucket           :: Text-    , _lpKey              :: Text-    , _lpMaxParts         :: Maybe Int-    , _lpPartNumberMarker :: Maybe Int-    , _lpRequestPayer     :: Maybe RequestPayer-    , _lpUploadId         :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'listParts' smart constructor.+data ListParts = ListParts'+    { _lpMaxParts         :: !(Maybe Int)+    , _lpRequestPayer     :: !(Maybe RequestPayer)+    , _lpPartNumberMarker :: !(Maybe Int)+    , _lpBucket           :: !BucketName+    , _lpKey              :: !ObjectKey+    , _lpUploadId         :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'ListParts' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'ListParts' with the minimum fields required to make a request. ----- * 'lpBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'lpKey' @::@ 'Text'+-- * 'lpMaxParts' ----- * 'lpMaxParts' @::@ 'Maybe' 'Int'+-- * 'lpRequestPayer' ----- * 'lpPartNumberMarker' @::@ 'Maybe' 'Int'+-- * 'lpPartNumberMarker' ----- * 'lpRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'lpBucket' ----- * 'lpUploadId' @::@ 'Text'+-- * 'lpKey' ---listParts :: Text -- ^ 'lpBucket'-          -> Text -- ^ 'lpKey'-          -> Text -- ^ 'lpUploadId'-          -> ListParts-listParts p1 p2 p3 = ListParts-    { _lpBucket           = p1-    , _lpKey              = p2-    , _lpUploadId         = p3-    , _lpMaxParts         = Nothing+-- * 'lpUploadId'+listParts+    :: BucketName -- ^ 'lpBucket'+    -> ObjectKey -- ^ 'lpKey'+    -> Text -- ^ 'lpUploadId'+    -> ListParts+listParts pBucket_ pKey_ pUploadId_ =+    ListParts'+    { _lpMaxParts = Nothing+    , _lpRequestPayer = Nothing     , _lpPartNumberMarker = Nothing-    , _lpRequestPayer     = Nothing+    , _lpBucket = pBucket_+    , _lpKey = pKey_+    , _lpUploadId = pUploadId_     } -lpBucket :: Lens' ListParts Text-lpBucket = lens _lpBucket (\s a -> s { _lpBucket = a })--lpKey :: Lens' ListParts Text-lpKey = lens _lpKey (\s a -> s { _lpKey = a })- -- | Sets the maximum number of parts to return. lpMaxParts :: Lens' ListParts (Maybe Int)-lpMaxParts = lens _lpMaxParts (\s a -> s { _lpMaxParts = a })+lpMaxParts = lens _lpMaxParts (\ s a -> s{_lpMaxParts = a}); --- | Specifies the part after which listing should begin. Only parts with higher--- part numbers will be listed.+-- | Undocumented member.+lpRequestPayer :: Lens' ListParts (Maybe RequestPayer)+lpRequestPayer = lens _lpRequestPayer (\ s a -> s{_lpRequestPayer = a});++-- | Specifies the part after which listing should begin. Only parts with+-- higher part numbers will be listed. lpPartNumberMarker :: Lens' ListParts (Maybe Int)-lpPartNumberMarker =-    lens _lpPartNumberMarker (\s a -> s { _lpPartNumberMarker = a })+lpPartNumberMarker = lens _lpPartNumberMarker (\ s a -> s{_lpPartNumberMarker = a}); -lpRequestPayer :: Lens' ListParts (Maybe RequestPayer)-lpRequestPayer = lens _lpRequestPayer (\s a -> s { _lpRequestPayer = a })+-- | Undocumented member.+lpBucket :: Lens' ListParts BucketName+lpBucket = lens _lpBucket (\ s a -> s{_lpBucket = a}); +-- | Undocumented member.+lpKey :: Lens' ListParts ObjectKey+lpKey = lens _lpKey (\ s a -> s{_lpKey = a});+ -- | Upload ID identifying the multipart upload whose parts are being listed. lpUploadId :: Lens' ListParts Text-lpUploadId = lens _lpUploadId (\s a -> s { _lpUploadId = a })+lpUploadId = lens _lpUploadId (\ s a -> s{_lpUploadId = a}); -data ListPartsResponse = ListPartsResponse-    { _lprBucket               :: Maybe Text-    , _lprInitiator            :: Maybe Initiator-    , _lprIsTruncated          :: Maybe Bool-    , _lprKey                  :: Maybe Text-    , _lprMaxParts             :: Maybe Int-    , _lprNextPartNumberMarker :: Maybe Int-    , _lprOwner                :: Maybe Owner-    , _lprPartNumberMarker     :: Maybe Int-    , _lprParts                :: List "Part" Part-    , _lprRequestCharged       :: Maybe RequestCharged-    , _lprStorageClass         :: Maybe StorageClass-    , _lprUploadId             :: Maybe Text-    } deriving (Eq, Read, Show)+instance AWSPager ListParts where+        page rq rs+          | stop (rs ^. lprsIsTruncated) = Nothing+          | isNothing (rs ^. lprsNextPartNumberMarker) =+            Nothing+          | otherwise =+            Just $ rq &+              lpPartNumberMarker .~ rs ^. lprsNextPartNumberMarker --- | 'ListPartsResponse' constructor.+instance AWSRequest ListParts where+        type Sv ListParts = S3+        type Rs ListParts = ListPartsResponse+        request = get+        response+          = receiveXML+              (\ s h x ->+                 ListPartsResponse' <$>+                   (may (parseXMLList "Part") x) <*>+                     (h .#? "x-amz-request-charged")+                     <*> (x .@? "MaxParts")+                     <*> (x .@? "Initiator")+                     <*> (x .@? "Bucket")+                     <*> (x .@? "NextPartNumberMarker")+                     <*> (x .@? "Owner")+                     <*> (x .@? "Key")+                     <*> (x .@? "StorageClass")+                     <*> (x .@? "IsTruncated")+                     <*> (x .@? "PartNumberMarker")+                     <*> (x .@? "UploadId")+                     <*> (pure (fromEnum s)))++instance ToHeaders ListParts where+        toHeaders ListParts'{..}+          = mconcat ["x-amz-request-payer" =# _lpRequestPayer]++instance ToPath ListParts where+        toPath ListParts'{..}+          = mconcat ["/", toBS _lpBucket, "/", toBS _lpKey]++instance ToQuery ListParts where+        toQuery ListParts'{..}+          = mconcat+              ["max-parts" =: _lpMaxParts,+               "part-number-marker" =: _lpPartNumberMarker,+               "uploadId" =: _lpUploadId]++-- | /See:/ 'listPartsResponse' smart constructor.+data ListPartsResponse = ListPartsResponse'+    { _lprsParts                :: !(Maybe [Part])+    , _lprsRequestCharged       :: !(Maybe RequestCharged)+    , _lprsMaxParts             :: !(Maybe Int)+    , _lprsInitiator            :: !(Maybe Initiator)+    , _lprsBucket               :: !(Maybe BucketName)+    , _lprsNextPartNumberMarker :: !(Maybe Int)+    , _lprsOwner                :: !(Maybe Owner)+    , _lprsKey                  :: !(Maybe ObjectKey)+    , _lprsStorageClass         :: !(Maybe StorageClass)+    , _lprsIsTruncated          :: !(Maybe Bool)+    , _lprsPartNumberMarker     :: !(Maybe Int)+    , _lprsUploadId             :: !(Maybe Text)+    , _lprsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ListPartsResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'lprBucket' @::@ 'Maybe' 'Text'+-- * 'lprsParts' ----- * 'lprInitiator' @::@ 'Maybe' 'Initiator'+-- * 'lprsRequestCharged' ----- * 'lprIsTruncated' @::@ 'Maybe' 'Bool'+-- * 'lprsMaxParts' ----- * 'lprKey' @::@ 'Maybe' 'Text'+-- * 'lprsInitiator' ----- * 'lprMaxParts' @::@ 'Maybe' 'Int'+-- * 'lprsBucket' ----- * 'lprNextPartNumberMarker' @::@ 'Maybe' 'Int'+-- * 'lprsNextPartNumberMarker' ----- * 'lprOwner' @::@ 'Maybe' 'Owner'+-- * 'lprsOwner' ----- * 'lprPartNumberMarker' @::@ 'Maybe' 'Int'+-- * 'lprsKey' ----- * 'lprParts' @::@ ['Part']+-- * 'lprsStorageClass' ----- * 'lprRequestCharged' @::@ 'Maybe' 'RequestCharged'+-- * 'lprsIsTruncated' ----- * 'lprStorageClass' @::@ 'Maybe' 'StorageClass'+-- * 'lprsPartNumberMarker' ----- * 'lprUploadId' @::@ 'Maybe' 'Text'+-- * 'lprsUploadId' ---listPartsResponse :: ListPartsResponse-listPartsResponse = ListPartsResponse-    { _lprBucket               = Nothing-    , _lprKey                  = Nothing-    , _lprUploadId             = Nothing-    , _lprPartNumberMarker     = Nothing-    , _lprNextPartNumberMarker = Nothing-    , _lprMaxParts             = Nothing-    , _lprIsTruncated          = Nothing-    , _lprParts                = mempty-    , _lprInitiator            = Nothing-    , _lprOwner                = Nothing-    , _lprStorageClass         = Nothing-    , _lprRequestCharged       = Nothing+-- * 'lprsStatus'+listPartsResponse+    :: Int -- ^ 'lprsStatus'+    -> ListPartsResponse+listPartsResponse pStatus_ =+    ListPartsResponse'+    { _lprsParts = Nothing+    , _lprsRequestCharged = Nothing+    , _lprsMaxParts = Nothing+    , _lprsInitiator = Nothing+    , _lprsBucket = Nothing+    , _lprsNextPartNumberMarker = Nothing+    , _lprsOwner = Nothing+    , _lprsKey = Nothing+    , _lprsStorageClass = Nothing+    , _lprsIsTruncated = Nothing+    , _lprsPartNumberMarker = Nothing+    , _lprsUploadId = Nothing+    , _lprsStatus = pStatus_     } --- | Name of the bucket to which the multipart upload was initiated.-lprBucket :: Lens' ListPartsResponse (Maybe Text)-lprBucket = lens _lprBucket (\s a -> s { _lprBucket = a })---- | Identifies who initiated the multipart upload.-lprInitiator :: Lens' ListPartsResponse (Maybe Initiator)-lprInitiator = lens _lprInitiator (\s a -> s { _lprInitiator = a })---- | Indicates whether the returned list of parts is truncated.-lprIsTruncated :: Lens' ListPartsResponse (Maybe Bool)-lprIsTruncated = lens _lprIsTruncated (\s a -> s { _lprIsTruncated = a })+-- | Undocumented member.+lprsParts :: Lens' ListPartsResponse [Part]+lprsParts = lens _lprsParts (\ s a -> s{_lprsParts = a}) . _Default . _Coerce; --- | Object key for which the multipart upload was initiated.-lprKey :: Lens' ListPartsResponse (Maybe Text)-lprKey = lens _lprKey (\s a -> s { _lprKey = a })+-- | Undocumented member.+lprsRequestCharged :: Lens' ListPartsResponse (Maybe RequestCharged)+lprsRequestCharged = lens _lprsRequestCharged (\ s a -> s{_lprsRequestCharged = a});  -- | Maximum number of parts that were allowed in the response.-lprMaxParts :: Lens' ListPartsResponse (Maybe Int)-lprMaxParts = lens _lprMaxParts (\s a -> s { _lprMaxParts = a })+lprsMaxParts :: Lens' ListPartsResponse (Maybe Int)+lprsMaxParts = lens _lprsMaxParts (\ s a -> s{_lprsMaxParts = a}); --- | When a list is truncated, this element specifies the last part in the list,--- as well as the value to use for the part-number-marker request parameter in a--- subsequent request.-lprNextPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)-lprNextPartNumberMarker =-    lens _lprNextPartNumberMarker (\s a -> s { _lprNextPartNumberMarker = a })+-- | Identifies who initiated the multipart upload.+lprsInitiator :: Lens' ListPartsResponse (Maybe Initiator)+lprsInitiator = lens _lprsInitiator (\ s a -> s{_lprsInitiator = a}); -lprOwner :: Lens' ListPartsResponse (Maybe Owner)-lprOwner = lens _lprOwner (\s a -> s { _lprOwner = a })+-- | Name of the bucket to which the multipart upload was initiated.+lprsBucket :: Lens' ListPartsResponse (Maybe BucketName)+lprsBucket = lens _lprsBucket (\ s a -> s{_lprsBucket = a}); --- | Part number after which listing begins.-lprPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)-lprPartNumberMarker =-    lens _lprPartNumberMarker (\s a -> s { _lprPartNumberMarker = a })+-- | When a list is truncated, this element specifies the last part in the+-- list, as well as the value to use for the part-number-marker request+-- parameter in a subsequent request.+lprsNextPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)+lprsNextPartNumberMarker = lens _lprsNextPartNumberMarker (\ s a -> s{_lprsNextPartNumberMarker = a}); -lprParts :: Lens' ListPartsResponse [Part]-lprParts = lens _lprParts (\s a -> s { _lprParts = a }) . _List+-- | Undocumented member.+lprsOwner :: Lens' ListPartsResponse (Maybe Owner)+lprsOwner = lens _lprsOwner (\ s a -> s{_lprsOwner = a}); -lprRequestCharged :: Lens' ListPartsResponse (Maybe RequestCharged)-lprRequestCharged =-    lens _lprRequestCharged (\s a -> s { _lprRequestCharged = a })+-- | Object key for which the multipart upload was initiated.+lprsKey :: Lens' ListPartsResponse (Maybe ObjectKey)+lprsKey = lens _lprsKey (\ s a -> s{_lprsKey = a});  -- | The class of storage used to store the object.-lprStorageClass :: Lens' ListPartsResponse (Maybe StorageClass)-lprStorageClass = lens _lprStorageClass (\s a -> s { _lprStorageClass = a })---- | Upload ID identifying the multipart upload whose parts are being listed.-lprUploadId :: Lens' ListPartsResponse (Maybe Text)-lprUploadId = lens _lprUploadId (\s a -> s { _lprUploadId = a })--instance ToPath ListParts where-    toPath ListParts{..} = mconcat-        [ "/"-        , toText _lpBucket-        , "/"-        , toText _lpKey-        ]--instance ToQuery ListParts where-    toQuery ListParts{..} = mconcat-        [ "max-parts"          =? _lpMaxParts-        , "part-number-marker" =? _lpPartNumberMarker-        , "uploadId"           =? _lpUploadId-        ]--instance ToHeaders ListParts where-    toHeaders ListParts{..} = mconcat-        [ "x-amz-request-payer" =: _lpRequestPayer-        ]--instance ToXMLRoot ListParts where-    toXMLRoot = const (namespaced ns "ListParts" [])+lprsStorageClass :: Lens' ListPartsResponse (Maybe StorageClass)+lprsStorageClass = lens _lprsStorageClass (\ s a -> s{_lprsStorageClass = a}); -instance ToXML ListParts+-- | Indicates whether the returned list of parts is truncated.+lprsIsTruncated :: Lens' ListPartsResponse (Maybe Bool)+lprsIsTruncated = lens _lprsIsTruncated (\ s a -> s{_lprsIsTruncated = a}); -instance AWSRequest ListParts where-    type Sv ListParts = S3-    type Rs ListParts = ListPartsResponse+-- | Part number after which listing begins.+lprsPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)+lprsPartNumberMarker = lens _lprsPartNumberMarker (\ s a -> s{_lprsPartNumberMarker = a}); -    request  = get-    response = xmlHeaderResponse $ \h x -> ListPartsResponse-        <$> x .@? "Bucket"-        <*> x .@? "Initiator"-        <*> x .@? "IsTruncated"-        <*> x .@? "Key"-        <*> x .@? "MaxParts"-        <*> x .@? "NextPartNumberMarker"-        <*> x .@? "Owner"-        <*> x .@? "PartNumberMarker"-        <*> x .@? "Part" .!@ mempty-        <*> h ~:? "x-amz-request-charged"-        <*> x .@? "StorageClass"-        <*> x .@? "UploadId"+-- | Upload ID identifying the multipart upload whose parts are being listed.+lprsUploadId :: Lens' ListPartsResponse (Maybe Text)+lprsUploadId = lens _lprsUploadId (\ s a -> s{_lprsUploadId = a}); -instance AWSPager ListParts where-    page rq rs-        | stop (rs ^. lprIsTruncated) = Nothing-        | otherwise = Just $ rq-            & lpPartNumberMarker .~ rs ^. lprNextPartNumberMarker+-- | The response status code.+lprsStatus :: Lens' ListPartsResponse Int+lprsStatus = lens _lprsStatus (\ s a -> s{_lprsStatus = a});
+ gen/Network/AWS/S3/PutBucketACL.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.PutBucketACL+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the permissions on a bucket using access control lists (ACL).+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketACL.html AWS API Reference> for PutBucketACL.+module Network.AWS.S3.PutBucketACL+    (+    -- * Creating a Request+      putBucketACL+    , PutBucketACL+    -- * Request Lenses+    , pbaGrantReadACP+    , pbaGrantWriteACP+    , pbaGrantRead+    , pbaGrantFullControl+    , pbaContentMD5+    , pbaAccessControlPolicy+    , pbaGrantWrite+    , pbaACL+    , pbaBucket++    -- * Destructuring the Response+    , putBucketACLResponse+    , PutBucketACLResponse+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product++-- | /See:/ 'putBucketACL' smart constructor.+data PutBucketACL = PutBucketACL'+    { _pbaGrantReadACP        :: !(Maybe Text)+    , _pbaGrantWriteACP       :: !(Maybe Text)+    , _pbaGrantRead           :: !(Maybe Text)+    , _pbaGrantFullControl    :: !(Maybe Text)+    , _pbaContentMD5          :: !(Maybe Text)+    , _pbaAccessControlPolicy :: !(Maybe AccessControlPolicy)+    , _pbaGrantWrite          :: !(Maybe Text)+    , _pbaACL                 :: !(Maybe BucketCannedACL)+    , _pbaBucket              :: !BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutBucketACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pbaGrantReadACP'+--+-- * 'pbaGrantWriteACP'+--+-- * 'pbaGrantRead'+--+-- * 'pbaGrantFullControl'+--+-- * 'pbaContentMD5'+--+-- * 'pbaAccessControlPolicy'+--+-- * 'pbaGrantWrite'+--+-- * 'pbaACL'+--+-- * 'pbaBucket'+putBucketACL+    :: BucketName -- ^ 'pbaBucket'+    -> PutBucketACL+putBucketACL pBucket_ =+    PutBucketACL'+    { _pbaGrantReadACP = Nothing+    , _pbaGrantWriteACP = Nothing+    , _pbaGrantRead = Nothing+    , _pbaGrantFullControl = Nothing+    , _pbaContentMD5 = Nothing+    , _pbaAccessControlPolicy = Nothing+    , _pbaGrantWrite = Nothing+    , _pbaACL = Nothing+    , _pbaBucket = pBucket_+    }++-- | Allows grantee to read the bucket ACL.+pbaGrantReadACP :: Lens' PutBucketACL (Maybe Text)+pbaGrantReadACP = lens _pbaGrantReadACP (\ s a -> s{_pbaGrantReadACP = a});++-- | Allows grantee to write the ACL for the applicable bucket.+pbaGrantWriteACP :: Lens' PutBucketACL (Maybe Text)+pbaGrantWriteACP = lens _pbaGrantWriteACP (\ s a -> s{_pbaGrantWriteACP = a});++-- | Allows grantee to list the objects in the bucket.+pbaGrantRead :: Lens' PutBucketACL (Maybe Text)+pbaGrantRead = lens _pbaGrantRead (\ s a -> s{_pbaGrantRead = a});++-- | Allows grantee the read, write, read ACP, and write ACP permissions on+-- the bucket.+pbaGrantFullControl :: Lens' PutBucketACL (Maybe Text)+pbaGrantFullControl = lens _pbaGrantFullControl (\ s a -> s{_pbaGrantFullControl = a});++-- | Undocumented member.+pbaContentMD5 :: Lens' PutBucketACL (Maybe Text)+pbaContentMD5 = lens _pbaContentMD5 (\ s a -> s{_pbaContentMD5 = a});++-- | Undocumented member.+pbaAccessControlPolicy :: Lens' PutBucketACL (Maybe AccessControlPolicy)+pbaAccessControlPolicy = lens _pbaAccessControlPolicy (\ s a -> s{_pbaAccessControlPolicy = a});++-- | Allows grantee to create, overwrite, and delete any object in the+-- bucket.+pbaGrantWrite :: Lens' PutBucketACL (Maybe Text)+pbaGrantWrite = lens _pbaGrantWrite (\ s a -> s{_pbaGrantWrite = a});++-- | The canned ACL to apply to the bucket.+pbaACL :: Lens' PutBucketACL (Maybe BucketCannedACL)+pbaACL = lens _pbaACL (\ s a -> s{_pbaACL = a});++-- | Undocumented member.+pbaBucket :: Lens' PutBucketACL BucketName+pbaBucket = lens _pbaBucket (\ s a -> s{_pbaBucket = a});++instance AWSRequest PutBucketACL where+        type Sv PutBucketACL = S3+        type Rs PutBucketACL = PutBucketACLResponse+        request = putXML+        response = receiveNull PutBucketACLResponse'++instance ToElement PutBucketACL where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}AccessControlPolicy"+              .+              _pbaAccessControlPolicy++instance ToHeaders PutBucketACL where+        toHeaders PutBucketACL'{..}+          = mconcat+              ["x-amz-grant-read-acp" =# _pbaGrantReadACP,+               "x-amz-grant-write-acp" =# _pbaGrantWriteACP,+               "x-amz-grant-read" =# _pbaGrantRead,+               "x-amz-grant-full-control" =# _pbaGrantFullControl,+               "Content-MD5" =# _pbaContentMD5,+               "x-amz-grant-write" =# _pbaGrantWrite,+               "x-amz-acl" =# _pbaACL]++instance ToPath PutBucketACL where+        toPath PutBucketACL'{..}+          = mconcat ["/", toBS _pbaBucket]++instance ToQuery PutBucketACL where+        toQuery = const (mconcat ["acl"])++-- | /See:/ 'putBucketACLResponse' smart constructor.+data PutBucketACLResponse =+    PutBucketACLResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutBucketACLResponse' with the minimum fields required to make a request.+--+putBucketACLResponse+    :: PutBucketACLResponse+putBucketACLResponse = PutBucketACLResponse'
− gen/Network/AWS/S3/PutBucketAcl.hs
@@ -1,177 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.PutBucketAcl--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Sets the permissions on a bucket using access control lists (ACL).------ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketAcl.html>-module Network.AWS.S3.PutBucketAcl-    (-    -- * Request-      PutBucketAcl-    -- ** Request constructor-    , putBucketAcl-    -- ** Request lenses-    , pbaACL-    , pbaAccessControlPolicy-    , pbaBucket-    , pbaContentMD5-    , pbaGrantFullControl-    , pbaGrantRead-    , pbaGrantReadACP-    , pbaGrantWrite-    , pbaGrantWriteACP--    -- * Response-    , PutBucketAclResponse-    -- ** Response constructor-    , putBucketAclResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--data PutBucketAcl = PutBucketAcl-    { _pbaACL                 :: Maybe BucketCannedACL-    , _pbaAccessControlPolicy :: Maybe AccessControlPolicy-    , _pbaBucket              :: Text-    , _pbaContentMD5          :: Maybe Text-    , _pbaGrantFullControl    :: Maybe Text-    , _pbaGrantRead           :: Maybe Text-    , _pbaGrantReadACP        :: Maybe Text-    , _pbaGrantWrite          :: Maybe Text-    , _pbaGrantWriteACP       :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'PutBucketAcl' constructor.------ The fields accessible through corresponding lenses are:------ * 'pbaACL' @::@ 'Maybe' 'BucketCannedACL'------ * 'pbaAccessControlPolicy' @::@ 'Maybe' 'AccessControlPolicy'------ * 'pbaBucket' @::@ 'Text'------ * 'pbaContentMD5' @::@ 'Maybe' 'Text'------ * 'pbaGrantFullControl' @::@ 'Maybe' 'Text'------ * 'pbaGrantRead' @::@ 'Maybe' 'Text'------ * 'pbaGrantReadACP' @::@ 'Maybe' 'Text'------ * 'pbaGrantWrite' @::@ 'Maybe' 'Text'------ * 'pbaGrantWriteACP' @::@ 'Maybe' 'Text'----putBucketAcl :: Text -- ^ 'pbaBucket'-             -> PutBucketAcl-putBucketAcl p1 = PutBucketAcl-    { _pbaBucket              = p1-    , _pbaACL                 = Nothing-    , _pbaAccessControlPolicy = Nothing-    , _pbaContentMD5          = Nothing-    , _pbaGrantFullControl    = Nothing-    , _pbaGrantRead           = Nothing-    , _pbaGrantReadACP        = Nothing-    , _pbaGrantWrite          = Nothing-    , _pbaGrantWriteACP       = Nothing-    }---- | The canned ACL to apply to the bucket.-pbaACL :: Lens' PutBucketAcl (Maybe BucketCannedACL)-pbaACL = lens _pbaACL (\s a -> s { _pbaACL = a })--pbaAccessControlPolicy :: Lens' PutBucketAcl (Maybe AccessControlPolicy)-pbaAccessControlPolicy =-    lens _pbaAccessControlPolicy (\s a -> s { _pbaAccessControlPolicy = a })--pbaBucket :: Lens' PutBucketAcl Text-pbaBucket = lens _pbaBucket (\s a -> s { _pbaBucket = a })--pbaContentMD5 :: Lens' PutBucketAcl (Maybe Text)-pbaContentMD5 = lens _pbaContentMD5 (\s a -> s { _pbaContentMD5 = a })---- | Allows grantee the read, write, read ACP, and write ACP permissions on the--- bucket.-pbaGrantFullControl :: Lens' PutBucketAcl (Maybe Text)-pbaGrantFullControl =-    lens _pbaGrantFullControl (\s a -> s { _pbaGrantFullControl = a })---- | Allows grantee to list the objects in the bucket.-pbaGrantRead :: Lens' PutBucketAcl (Maybe Text)-pbaGrantRead = lens _pbaGrantRead (\s a -> s { _pbaGrantRead = a })---- | Allows grantee to read the bucket ACL.-pbaGrantReadACP :: Lens' PutBucketAcl (Maybe Text)-pbaGrantReadACP = lens _pbaGrantReadACP (\s a -> s { _pbaGrantReadACP = a })---- | Allows grantee to create, overwrite, and delete any object in the bucket.-pbaGrantWrite :: Lens' PutBucketAcl (Maybe Text)-pbaGrantWrite = lens _pbaGrantWrite (\s a -> s { _pbaGrantWrite = a })---- | Allows grantee to write the ACL for the applicable bucket.-pbaGrantWriteACP :: Lens' PutBucketAcl (Maybe Text)-pbaGrantWriteACP = lens _pbaGrantWriteACP (\s a -> s { _pbaGrantWriteACP = a })--data PutBucketAclResponse = PutBucketAclResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'PutBucketAclResponse' constructor.-putBucketAclResponse :: PutBucketAclResponse-putBucketAclResponse = PutBucketAclResponse--instance ToPath PutBucketAcl where-    toPath PutBucketAcl{..} = mconcat-        [ "/"-        , toText _pbaBucket-        ]--instance ToQuery PutBucketAcl where-    toQuery = const "acl"--instance ToHeaders PutBucketAcl where-    toHeaders PutBucketAcl{..} = mconcat-        [ "x-amz-acl"                =: _pbaACL-        , "Content-MD5"              =: _pbaContentMD5-        , "x-amz-grant-full-control" =: _pbaGrantFullControl-        , "x-amz-grant-read"         =: _pbaGrantRead-        , "x-amz-grant-read-acp"     =: _pbaGrantReadACP-        , "x-amz-grant-write"        =: _pbaGrantWrite-        , "x-amz-grant-write-acp"    =: _pbaGrantWriteACP-        ]--instance ToXMLRoot PutBucketAcl where-    toXMLRoot = extractRoot ns . toXML . _pbaAccessControlPolicy--instance ToXML PutBucketAcl--instance AWSRequest PutBucketAcl where-    type Sv PutBucketAcl = S3-    type Rs PutBucketAcl = PutBucketAclResponse--    request  = put-    response = nullResponse PutBucketAclResponse
+ gen/Network/AWS/S3/PutBucketCORS.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.PutBucketCORS+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the cors configuration for a bucket.+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketCORS.html AWS API Reference> for PutBucketCORS.+module Network.AWS.S3.PutBucketCORS+    (+    -- * Creating a Request+      putBucketCORS+    , PutBucketCORS+    -- * Request Lenses+    , pbcContentMD5+    , pbcCORSConfiguration+    , pbcBucket++    -- * Destructuring the Response+    , putBucketCORSResponse+    , PutBucketCORSResponse+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product++-- | /See:/ 'putBucketCORS' smart constructor.+data PutBucketCORS = PutBucketCORS'+    { _pbcContentMD5        :: !(Maybe Text)+    , _pbcCORSConfiguration :: !(Maybe CORSConfiguration)+    , _pbcBucket            :: !BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutBucketCORS' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pbcContentMD5'+--+-- * 'pbcCORSConfiguration'+--+-- * 'pbcBucket'+putBucketCORS+    :: BucketName -- ^ 'pbcBucket'+    -> PutBucketCORS+putBucketCORS pBucket_ =+    PutBucketCORS'+    { _pbcContentMD5 = Nothing+    , _pbcCORSConfiguration = Nothing+    , _pbcBucket = pBucket_+    }++-- | Undocumented member.+pbcContentMD5 :: Lens' PutBucketCORS (Maybe Text)+pbcContentMD5 = lens _pbcContentMD5 (\ s a -> s{_pbcContentMD5 = a});++-- | Undocumented member.+pbcCORSConfiguration :: Lens' PutBucketCORS (Maybe CORSConfiguration)+pbcCORSConfiguration = lens _pbcCORSConfiguration (\ s a -> s{_pbcCORSConfiguration = a});++-- | Undocumented member.+pbcBucket :: Lens' PutBucketCORS BucketName+pbcBucket = lens _pbcBucket (\ s a -> s{_pbcBucket = a});++instance AWSRequest PutBucketCORS where+        type Sv PutBucketCORS = S3+        type Rs PutBucketCORS = PutBucketCORSResponse+        request = contentMD5 . putXML+        response = receiveNull PutBucketCORSResponse'++instance ToElement PutBucketCORS where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}CORSConfiguration"+              .+              _pbcCORSConfiguration++instance ToHeaders PutBucketCORS where+        toHeaders PutBucketCORS'{..}+          = mconcat ["Content-MD5" =# _pbcContentMD5]++instance ToPath PutBucketCORS where+        toPath PutBucketCORS'{..}+          = mconcat ["/", toBS _pbcBucket]++instance ToQuery PutBucketCORS where+        toQuery = const (mconcat ["cors"])++-- | /See:/ 'putBucketCORSResponse' smart constructor.+data PutBucketCORSResponse =+    PutBucketCORSResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutBucketCORSResponse' with the minimum fields required to make a request.+--+putBucketCORSResponse+    :: PutBucketCORSResponse+putBucketCORSResponse = PutBucketCORSResponse'
− gen/Network/AWS/S3/PutBucketCors.hs
@@ -1,115 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.PutBucketCors--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Sets the cors configuration for a bucket.------ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketCors.html>-module Network.AWS.S3.PutBucketCors-    (-    -- * Request-      PutBucketCors-    -- ** Request constructor-    , putBucketCors-    -- ** Request lenses-    , pbcBucket-    , pbcCORSConfiguration-    , pbcContentMD5--    -- * Response-    , PutBucketCorsResponse-    -- ** Response constructor-    , putBucketCorsResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--data PutBucketCors = PutBucketCors-    { _pbcBucket            :: Text-    , _pbcCORSConfiguration :: Maybe CORSConfiguration-    , _pbcContentMD5        :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'PutBucketCors' constructor.------ The fields accessible through corresponding lenses are:------ * 'pbcBucket' @::@ 'Text'------ * 'pbcCORSConfiguration' @::@ 'Maybe' 'CORSConfiguration'------ * 'pbcContentMD5' @::@ 'Maybe' 'Text'----putBucketCors :: Text -- ^ 'pbcBucket'-              -> PutBucketCors-putBucketCors p1 = PutBucketCors-    { _pbcBucket            = p1-    , _pbcCORSConfiguration = Nothing-    , _pbcContentMD5        = Nothing-    }--pbcBucket :: Lens' PutBucketCors Text-pbcBucket = lens _pbcBucket (\s a -> s { _pbcBucket = a })--pbcCORSConfiguration :: Lens' PutBucketCors (Maybe CORSConfiguration)-pbcCORSConfiguration =-    lens _pbcCORSConfiguration (\s a -> s { _pbcCORSConfiguration = a })--pbcContentMD5 :: Lens' PutBucketCors (Maybe Text)-pbcContentMD5 = lens _pbcContentMD5 (\s a -> s { _pbcContentMD5 = a })--data PutBucketCorsResponse = PutBucketCorsResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'PutBucketCorsResponse' constructor.-putBucketCorsResponse :: PutBucketCorsResponse-putBucketCorsResponse = PutBucketCorsResponse--instance ToPath PutBucketCors where-    toPath PutBucketCors{..} = mconcat-        [ "/"-        , toText _pbcBucket-        ]--instance ToQuery PutBucketCors where-    toQuery = const "cors"--instance ToHeaders PutBucketCors where-    toHeaders PutBucketCors{..} = mconcat-        [ "Content-MD5" =: _pbcContentMD5-        ]--instance ToXMLRoot PutBucketCors where-    toXMLRoot = extractRoot ns . toXML . _pbcCORSConfiguration--instance ToXML PutBucketCors--instance AWSRequest PutBucketCors where-    type Sv PutBucketCors = S3-    type Rs PutBucketCors = PutBucketCorsResponse--    request  = put-    response = nullResponse PutBucketCorsResponse
gen/Network/AWS/S3/PutBucketLifecycle.hs view
@@ -1,117 +1,118 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutBucketLifecycle--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Sets lifecycle configuration for your bucket. If a lifecycle configuration--- exists, it replaces it.+-- Sets lifecycle configuration for your bucket. If a lifecycle+-- configuration exists, it replaces it. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketLifecycle.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketLifecycle.html AWS API Reference> for PutBucketLifecycle. module Network.AWS.S3.PutBucketLifecycle     (-    -- * Request-      PutBucketLifecycle-    -- ** Request constructor-    , putBucketLifecycle-    -- ** Request lenses-    , pbl1Bucket-    , pbl1ContentMD5-    , pbl1LifecycleConfiguration+    -- * Creating a Request+      putBucketLifecycle+    , PutBucketLifecycle+    -- * Request Lenses+    , pContentMD5+    , pLifecycleConfiguration+    , pBucket -    -- * Response-    , PutBucketLifecycleResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putBucketLifecycleResponse+    , PutBucketLifecycleResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutBucketLifecycle = PutBucketLifecycle-    { _pbl1Bucket                 :: Text-    , _pbl1ContentMD5             :: Maybe Text-    , _pbl1LifecycleConfiguration :: Maybe LifecycleConfiguration-    } deriving (Eq, Read, Show)+-- | /See:/ 'putBucketLifecycle' smart constructor.+data PutBucketLifecycle = PutBucketLifecycle'+    { _pContentMD5             :: !(Maybe Text)+    , _pLifecycleConfiguration :: !(Maybe LifecycleConfiguration)+    , _pBucket                 :: !BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutBucketLifecycle' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutBucketLifecycle' with the minimum fields required to make a request. ----- * 'pbl1Bucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pbl1ContentMD5' @::@ 'Maybe' 'Text'+-- * 'pContentMD5' ----- * 'pbl1LifecycleConfiguration' @::@ 'Maybe' 'LifecycleConfiguration'+-- * 'pLifecycleConfiguration' ---putBucketLifecycle :: Text -- ^ 'pbl1Bucket'-                   -> PutBucketLifecycle-putBucketLifecycle p1 = PutBucketLifecycle-    { _pbl1Bucket                 = p1-    , _pbl1ContentMD5             = Nothing-    , _pbl1LifecycleConfiguration = Nothing+-- * 'pBucket'+putBucketLifecycle+    :: BucketName -- ^ 'pBucket'+    -> PutBucketLifecycle+putBucketLifecycle pBucket_ =+    PutBucketLifecycle'+    { _pContentMD5 = Nothing+    , _pLifecycleConfiguration = Nothing+    , _pBucket = pBucket_     } -pbl1Bucket :: Lens' PutBucketLifecycle Text-pbl1Bucket = lens _pbl1Bucket (\s a -> s { _pbl1Bucket = a })--pbl1ContentMD5 :: Lens' PutBucketLifecycle (Maybe Text)-pbl1ContentMD5 = lens _pbl1ContentMD5 (\s a -> s { _pbl1ContentMD5 = a })--pbl1LifecycleConfiguration :: Lens' PutBucketLifecycle (Maybe LifecycleConfiguration)-pbl1LifecycleConfiguration =-    lens _pbl1LifecycleConfiguration-        (\s a -> s { _pbl1LifecycleConfiguration = a })+-- | Undocumented member.+pContentMD5 :: Lens' PutBucketLifecycle (Maybe Text)+pContentMD5 = lens _pContentMD5 (\ s a -> s{_pContentMD5 = a}); -data PutBucketLifecycleResponse = PutBucketLifecycleResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | Undocumented member.+pLifecycleConfiguration :: Lens' PutBucketLifecycle (Maybe LifecycleConfiguration)+pLifecycleConfiguration = lens _pLifecycleConfiguration (\ s a -> s{_pLifecycleConfiguration = a}); --- | 'PutBucketLifecycleResponse' constructor.-putBucketLifecycleResponse :: PutBucketLifecycleResponse-putBucketLifecycleResponse = PutBucketLifecycleResponse+-- | Undocumented member.+pBucket :: Lens' PutBucketLifecycle BucketName+pBucket = lens _pBucket (\ s a -> s{_pBucket = a}); -instance ToPath PutBucketLifecycle where-    toPath PutBucketLifecycle{..} = mconcat-        [ "/"-        , toText _pbl1Bucket-        ]+instance AWSRequest PutBucketLifecycle where+        type Sv PutBucketLifecycle = S3+        type Rs PutBucketLifecycle =+             PutBucketLifecycleResponse+        request = contentMD5 . putXML+        response = receiveNull PutBucketLifecycleResponse' -instance ToQuery PutBucketLifecycle where-    toQuery = const "lifecycle"+instance ToElement PutBucketLifecycle where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}LifecycleConfiguration"+              .+              _pLifecycleConfiguration  instance ToHeaders PutBucketLifecycle where-    toHeaders PutBucketLifecycle{..} = mconcat-        [ "Content-MD5" =: _pbl1ContentMD5-        ]+        toHeaders PutBucketLifecycle'{..}+          = mconcat ["Content-MD5" =# _pContentMD5] -instance ToXMLRoot PutBucketLifecycle where-    toXMLRoot = extractRoot ns . toXML . _pbl1LifecycleConfiguration+instance ToPath PutBucketLifecycle where+        toPath PutBucketLifecycle'{..}+          = mconcat ["/", toBS _pBucket] -instance ToXML PutBucketLifecycle+instance ToQuery PutBucketLifecycle where+        toQuery = const (mconcat ["lifecycle"]) -instance AWSRequest PutBucketLifecycle where-    type Sv PutBucketLifecycle = S3-    type Rs PutBucketLifecycle = PutBucketLifecycleResponse+-- | /See:/ 'putBucketLifecycleResponse' smart constructor.+data PutBucketLifecycleResponse =+    PutBucketLifecycleResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = put-    response = nullResponse PutBucketLifecycleResponse+-- | Creates a value of 'PutBucketLifecycleResponse' with the minimum fields required to make a request.+--+putBucketLifecycleResponse+    :: PutBucketLifecycleResponse+putBucketLifecycleResponse = PutBucketLifecycleResponse'
gen/Network/AWS/S3/PutBucketLogging.hs view
@@ -1,118 +1,119 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutBucketLogging--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Set the logging parameters for a bucket and to specify permissions for who--- can view and modify the logging parameters. To set the logging status of a--- bucket, you must be the bucket owner.+-- Set the logging parameters for a bucket and to specify permissions for+-- who can view and modify the logging parameters. To set the logging+-- status of a bucket, you must be the bucket owner. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketLogging.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketLogging.html AWS API Reference> for PutBucketLogging. module Network.AWS.S3.PutBucketLogging     (-    -- * Request-      PutBucketLogging-    -- ** Request constructor-    , putBucketLogging-    -- ** Request lenses+    -- * Creating a Request+      putBucketLogging+    , PutBucketLogging+    -- * Request Lenses+    , pblContentMD5     , pblBucket     , pblBucketLoggingStatus-    , pblContentMD5 -    -- * Response-    , PutBucketLoggingResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putBucketLoggingResponse+    , PutBucketLoggingResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutBucketLogging = PutBucketLogging-    { _pblBucket              :: Text-    , _pblBucketLoggingStatus :: BucketLoggingStatus-    , _pblContentMD5          :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'putBucketLogging' smart constructor.+data PutBucketLogging = PutBucketLogging'+    { _pblContentMD5          :: !(Maybe Text)+    , _pblBucket              :: !BucketName+    , _pblBucketLoggingStatus :: !BucketLoggingStatus+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutBucketLogging' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutBucketLogging' with the minimum fields required to make a request. ----- * 'pblBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pblBucketLoggingStatus' @::@ 'BucketLoggingStatus'+-- * 'pblContentMD5' ----- * 'pblContentMD5' @::@ 'Maybe' 'Text'+-- * 'pblBucket' ---putBucketLogging :: Text -- ^ 'pblBucket'-                 -> BucketLoggingStatus -- ^ 'pblBucketLoggingStatus'-                 -> PutBucketLogging-putBucketLogging p1 p2 = PutBucketLogging-    { _pblBucket              = p1-    , _pblBucketLoggingStatus = p2-    , _pblContentMD5          = Nothing+-- * 'pblBucketLoggingStatus'+putBucketLogging+    :: BucketName -- ^ 'pblBucket'+    -> BucketLoggingStatus -- ^ 'pblBucketLoggingStatus'+    -> PutBucketLogging+putBucketLogging pBucket_ pBucketLoggingStatus_ =+    PutBucketLogging'+    { _pblContentMD5 = Nothing+    , _pblBucket = pBucket_+    , _pblBucketLoggingStatus = pBucketLoggingStatus_     } -pblBucket :: Lens' PutBucketLogging Text-pblBucket = lens _pblBucket (\s a -> s { _pblBucket = a })--pblBucketLoggingStatus :: Lens' PutBucketLogging BucketLoggingStatus-pblBucketLoggingStatus =-    lens _pblBucketLoggingStatus (\s a -> s { _pblBucketLoggingStatus = a })-+-- | Undocumented member. pblContentMD5 :: Lens' PutBucketLogging (Maybe Text)-pblContentMD5 = lens _pblContentMD5 (\s a -> s { _pblContentMD5 = a })+pblContentMD5 = lens _pblContentMD5 (\ s a -> s{_pblContentMD5 = a}); -data PutBucketLoggingResponse = PutBucketLoggingResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | Undocumented member.+pblBucket :: Lens' PutBucketLogging BucketName+pblBucket = lens _pblBucket (\ s a -> s{_pblBucket = a}); --- | 'PutBucketLoggingResponse' constructor.-putBucketLoggingResponse :: PutBucketLoggingResponse-putBucketLoggingResponse = PutBucketLoggingResponse+-- | Undocumented member.+pblBucketLoggingStatus :: Lens' PutBucketLogging BucketLoggingStatus+pblBucketLoggingStatus = lens _pblBucketLoggingStatus (\ s a -> s{_pblBucketLoggingStatus = a}); -instance ToPath PutBucketLogging where-    toPath PutBucketLogging{..} = mconcat-        [ "/"-        , toText _pblBucket-        ]+instance AWSRequest PutBucketLogging where+        type Sv PutBucketLogging = S3+        type Rs PutBucketLogging = PutBucketLoggingResponse+        request = putXML+        response = receiveNull PutBucketLoggingResponse' -instance ToQuery PutBucketLogging where-    toQuery = const "logging"+instance ToElement PutBucketLogging where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}BucketLoggingStatus"+              .+              _pblBucketLoggingStatus  instance ToHeaders PutBucketLogging where-    toHeaders PutBucketLogging{..} = mconcat-        [ "Content-MD5" =: _pblContentMD5-        ]+        toHeaders PutBucketLogging'{..}+          = mconcat ["Content-MD5" =# _pblContentMD5] -instance ToXMLRoot PutBucketLogging where-    toXMLRoot = extractRoot ns . toXML . _pblBucketLoggingStatus+instance ToPath PutBucketLogging where+        toPath PutBucketLogging'{..}+          = mconcat ["/", toBS _pblBucket] -instance ToXML PutBucketLogging+instance ToQuery PutBucketLogging where+        toQuery = const (mconcat ["logging"]) -instance AWSRequest PutBucketLogging where-    type Sv PutBucketLogging = S3-    type Rs PutBucketLogging = PutBucketLoggingResponse+-- | /See:/ 'putBucketLoggingResponse' smart constructor.+data PutBucketLoggingResponse =+    PutBucketLoggingResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = put-    response = nullResponse PutBucketLoggingResponse+-- | Creates a value of 'PutBucketLoggingResponse' with the minimum fields required to make a request.+--+putBucketLoggingResponse+    :: PutBucketLoggingResponse+putBucketLoggingResponse = PutBucketLoggingResponse'
− gen/Network/AWS/S3/PutBucketNotification.hs
@@ -1,117 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.PutBucketNotification--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deprecated, see the PutBucketNotificationConfiguraiton operation.------ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketNotification.html>-module Network.AWS.S3.PutBucketNotification-    (-    -- * Request-      PutBucketNotification-    -- ** Request constructor-    , putBucketNotification-    -- ** Request lenses-    , pbnBucket-    , pbnContentMD5-    , pbnNotificationConfiguration--    -- * Response-    , PutBucketNotificationResponse-    -- ** Response constructor-    , putBucketNotificationResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--data PutBucketNotification = PutBucketNotification-    { _pbnBucket                    :: Text-    , _pbnContentMD5                :: Maybe Text-    , _pbnNotificationConfiguration :: NotificationConfigurationDeprecated-    } deriving (Eq, Read, Show)---- | 'PutBucketNotification' constructor.------ The fields accessible through corresponding lenses are:------ * 'pbnBucket' @::@ 'Text'------ * 'pbnContentMD5' @::@ 'Maybe' 'Text'------ * 'pbnNotificationConfiguration' @::@ 'NotificationConfigurationDeprecated'----putBucketNotification :: Text -- ^ 'pbnBucket'-                      -> NotificationConfigurationDeprecated -- ^ 'pbnNotificationConfiguration'-                      -> PutBucketNotification-putBucketNotification p1 p2 = PutBucketNotification-    { _pbnBucket                    = p1-    , _pbnNotificationConfiguration = p2-    , _pbnContentMD5                = Nothing-    }--pbnBucket :: Lens' PutBucketNotification Text-pbnBucket = lens _pbnBucket (\s a -> s { _pbnBucket = a })--pbnContentMD5 :: Lens' PutBucketNotification (Maybe Text)-pbnContentMD5 = lens _pbnContentMD5 (\s a -> s { _pbnContentMD5 = a })--pbnNotificationConfiguration :: Lens' PutBucketNotification NotificationConfigurationDeprecated-pbnNotificationConfiguration =-    lens _pbnNotificationConfiguration-        (\s a -> s { _pbnNotificationConfiguration = a })--data PutBucketNotificationResponse = PutBucketNotificationResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'PutBucketNotificationResponse' constructor.-putBucketNotificationResponse :: PutBucketNotificationResponse-putBucketNotificationResponse = PutBucketNotificationResponse--instance ToPath PutBucketNotification where-    toPath PutBucketNotification{..} = mconcat-        [ "/"-        , toText _pbnBucket-        ]--instance ToQuery PutBucketNotification where-    toQuery = const "notification"--instance ToHeaders PutBucketNotification where-    toHeaders PutBucketNotification{..} = mconcat-        [ "Content-MD5" =: _pbnContentMD5-        ]--instance ToXMLRoot PutBucketNotification where-    toXMLRoot = extractRoot ns . toXML . _pbnNotificationConfiguration--instance ToXML PutBucketNotification--instance AWSRequest PutBucketNotification where-    type Sv PutBucketNotification = S3-    type Rs PutBucketNotification = PutBucketNotificationResponse--    request  = put-    response = nullResponse PutBucketNotificationResponse
gen/Network/AWS/S3/PutBucketNotificationConfiguration.hs view
@@ -1,108 +1,116 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutBucketNotificationConfiguration--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Enables notifications of specified events for a bucket.+-- Enables notifications of specified events for a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketNotificationConfiguration.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketNotificationConfiguration.html AWS API Reference> for PutBucketNotificationConfiguration. module Network.AWS.S3.PutBucketNotificationConfiguration     (-    -- * Request-      PutBucketNotificationConfiguration-    -- ** Request constructor-    , putBucketNotificationConfiguration-    -- ** Request lenses+    -- * Creating a Request+      putBucketNotificationConfiguration+    , PutBucketNotificationConfiguration+    -- * Request Lenses     , pbncBucket     , pbncNotificationConfiguration -    -- * Response-    , PutBucketNotificationConfigurationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putBucketNotificationConfigurationResponse+    , PutBucketNotificationConfigurationResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutBucketNotificationConfiguration = PutBucketNotificationConfiguration-    { _pbncBucket                    :: Text-    , _pbncNotificationConfiguration :: NotificationConfiguration-    } deriving (Eq, Read, Show)+-- | /See:/ 'putBucketNotificationConfiguration' smart constructor.+data PutBucketNotificationConfiguration = PutBucketNotificationConfiguration'+    { _pbncBucket                    :: !BucketName+    , _pbncNotificationConfiguration :: !NotificationConfiguration+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutBucketNotificationConfiguration' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutBucketNotificationConfiguration' with the minimum fields required to make a request. ----- * 'pbncBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pbncNotificationConfiguration' @::@ 'NotificationConfiguration'+-- * 'pbncBucket' ---putBucketNotificationConfiguration :: Text -- ^ 'pbncBucket'-                                   -> NotificationConfiguration -- ^ 'pbncNotificationConfiguration'-                                   -> PutBucketNotificationConfiguration-putBucketNotificationConfiguration p1 p2 = PutBucketNotificationConfiguration-    { _pbncBucket                    = p1-    , _pbncNotificationConfiguration = p2+-- * 'pbncNotificationConfiguration'+putBucketNotificationConfiguration+    :: BucketName -- ^ 'pbncBucket'+    -> NotificationConfiguration -- ^ 'pbncNotificationConfiguration'+    -> PutBucketNotificationConfiguration+putBucketNotificationConfiguration pBucket_ pNotificationConfiguration_ =+    PutBucketNotificationConfiguration'+    { _pbncBucket = pBucket_+    , _pbncNotificationConfiguration = pNotificationConfiguration_     } -pbncBucket :: Lens' PutBucketNotificationConfiguration Text-pbncBucket = lens _pbncBucket (\s a -> s { _pbncBucket = a })+-- | Undocumented member.+pbncBucket :: Lens' PutBucketNotificationConfiguration BucketName+pbncBucket = lens _pbncBucket (\ s a -> s{_pbncBucket = a}); +-- | Undocumented member. pbncNotificationConfiguration :: Lens' PutBucketNotificationConfiguration NotificationConfiguration-pbncNotificationConfiguration =-    lens _pbncNotificationConfiguration-        (\s a -> s { _pbncNotificationConfiguration = a })--data PutBucketNotificationConfigurationResponse = PutBucketNotificationConfigurationResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'PutBucketNotificationConfigurationResponse' constructor.-putBucketNotificationConfigurationResponse :: PutBucketNotificationConfigurationResponse-putBucketNotificationConfigurationResponse = PutBucketNotificationConfigurationResponse+pbncNotificationConfiguration = lens _pbncNotificationConfiguration (\ s a -> s{_pbncNotificationConfiguration = a}); -instance ToPath PutBucketNotificationConfiguration where-    toPath PutBucketNotificationConfiguration{..} = mconcat-        [ "/"-        , toText _pbncBucket-        ]+instance AWSRequest+         PutBucketNotificationConfiguration where+        type Sv PutBucketNotificationConfiguration = S3+        type Rs PutBucketNotificationConfiguration =+             PutBucketNotificationConfigurationResponse+        request = putXML+        response+          = receiveNull+              PutBucketNotificationConfigurationResponse' -instance ToQuery PutBucketNotificationConfiguration where-    toQuery = const "notification"+instance ToElement PutBucketNotificationConfiguration+         where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}NotificationConfiguration"+              .+              _pbncNotificationConfiguration  instance ToHeaders PutBucketNotificationConfiguration+         where+        toHeaders = const mempty -instance ToXMLRoot PutBucketNotificationConfiguration where-    toXMLRoot PutBucketNotificationConfiguration{..} = namespaced ns "PutBucketNotificationConfiguration"-        [ "NotificationConfiguration" =@ _pbncNotificationConfiguration-        ]+instance ToPath PutBucketNotificationConfiguration+         where+        toPath PutBucketNotificationConfiguration'{..}+          = mconcat ["/", toBS _pbncBucket] -instance ToXML PutBucketNotificationConfiguration+instance ToQuery PutBucketNotificationConfiguration+         where+        toQuery = const (mconcat ["notification"]) -instance AWSRequest PutBucketNotificationConfiguration where-    type Sv PutBucketNotificationConfiguration = S3-    type Rs PutBucketNotificationConfiguration = PutBucketNotificationConfigurationResponse+-- | /See:/ 'putBucketNotificationConfigurationResponse' smart constructor.+data PutBucketNotificationConfigurationResponse =+    PutBucketNotificationConfigurationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = put-    response = nullResponse PutBucketNotificationConfigurationResponse+-- | Creates a value of 'PutBucketNotificationConfigurationResponse' with the minimum fields required to make a request.+--+putBucketNotificationConfigurationResponse+    :: PutBucketNotificationConfigurationResponse+putBucketNotificationConfigurationResponse =+    PutBucketNotificationConfigurationResponse'
gen/Network/AWS/S3/PutBucketPolicy.hs view
@@ -1,117 +1,114 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutBucketPolicy--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Replaces a policy on a bucket. If the bucket already has a policy, the one in--- this request completely replaces it.+-- Replaces a policy on a bucket. If the bucket already has a policy, the+-- one in this request completely replaces it. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketPolicy.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketPolicy.html AWS API Reference> for PutBucketPolicy. module Network.AWS.S3.PutBucketPolicy     (-    -- * Request-      PutBucketPolicy-    -- ** Request constructor-    , putBucketPolicy-    -- ** Request lenses-    , pbpBucket+    -- * Creating a Request+      putBucketPolicy+    , PutBucketPolicy+    -- * Request Lenses     , pbpContentMD5+    , pbpBucket     , pbpPolicy -    -- * Response-    , PutBucketPolicyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putBucketPolicyResponse+    , PutBucketPolicyResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutBucketPolicy = PutBucketPolicy-    { _pbpBucket     :: Text-    , _pbpContentMD5 :: Maybe Text-    , _pbpPolicy     :: Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'putBucketPolicy' smart constructor.+data PutBucketPolicy = PutBucketPolicy'+    { _pbpContentMD5 :: !(Maybe Text)+    , _pbpBucket     :: !BucketName+    , _pbpPolicy     :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutBucketPolicy' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutBucketPolicy' with the minimum fields required to make a request. ----- * 'pbpBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pbpContentMD5' @::@ 'Maybe' 'Text'+-- * 'pbpContentMD5' ----- * 'pbpPolicy' @::@ 'Text'+-- * 'pbpBucket' ---putBucketPolicy :: Text -- ^ 'pbpBucket'-                -> Text -- ^ 'pbpPolicy'-                -> PutBucketPolicy-putBucketPolicy p1 p2 = PutBucketPolicy-    { _pbpBucket     = p1-    , _pbpPolicy     = p2-    , _pbpContentMD5 = Nothing+-- * 'pbpPolicy'+putBucketPolicy+    :: BucketName -- ^ 'pbpBucket'+    -> Text -- ^ 'pbpPolicy'+    -> PutBucketPolicy+putBucketPolicy pBucket_ pPolicy_ =+    PutBucketPolicy'+    { _pbpContentMD5 = Nothing+    , _pbpBucket = pBucket_+    , _pbpPolicy = pPolicy_     } -pbpBucket :: Lens' PutBucketPolicy Text-pbpBucket = lens _pbpBucket (\s a -> s { _pbpBucket = a })-+-- | Undocumented member. pbpContentMD5 :: Lens' PutBucketPolicy (Maybe Text)-pbpContentMD5 = lens _pbpContentMD5 (\s a -> s { _pbpContentMD5 = a })+pbpContentMD5 = lens _pbpContentMD5 (\ s a -> s{_pbpContentMD5 = a}); +-- | Undocumented member.+pbpBucket :: Lens' PutBucketPolicy BucketName+pbpBucket = lens _pbpBucket (\ s a -> s{_pbpBucket = a});+ -- | The bucket policy as a JSON document. pbpPolicy :: Lens' PutBucketPolicy Text-pbpPolicy = lens _pbpPolicy (\s a -> s { _pbpPolicy = a })--data PutBucketPolicyResponse = PutBucketPolicyResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'PutBucketPolicyResponse' constructor.-putBucketPolicyResponse :: PutBucketPolicyResponse-putBucketPolicyResponse = PutBucketPolicyResponse+pbpPolicy = lens _pbpPolicy (\ s a -> s{_pbpPolicy = a}); -instance ToPath PutBucketPolicy where-    toPath PutBucketPolicy{..} = mconcat-        [ "/"-        , toText _pbpBucket-        ]+instance AWSRequest PutBucketPolicy where+        type Sv PutBucketPolicy = S3+        type Rs PutBucketPolicy = PutBucketPolicyResponse+        request = contentMD5 . putXML+        response = receiveNull PutBucketPolicyResponse' -instance ToQuery PutBucketPolicy where-    toQuery = const "policy"+instance ToElement PutBucketPolicy where+        toElement = mkElement "Policy" . _pbpPolicy  instance ToHeaders PutBucketPolicy where-    toHeaders PutBucketPolicy{..} = mconcat-        [ "Content-MD5" =: _pbpContentMD5-        ]+        toHeaders PutBucketPolicy'{..}+          = mconcat ["Content-MD5" =# _pbpContentMD5] -instance ToXMLRoot PutBucketPolicy where-    toXMLRoot = extractRoot ns . toXML . _pbpPolicy+instance ToPath PutBucketPolicy where+        toPath PutBucketPolicy'{..}+          = mconcat ["/", toBS _pbpBucket] -instance ToXML PutBucketPolicy+instance ToQuery PutBucketPolicy where+        toQuery = const (mconcat ["policy"]) -instance AWSRequest PutBucketPolicy where-    type Sv PutBucketPolicy = S3-    type Rs PutBucketPolicy = PutBucketPolicyResponse+-- | /See:/ 'putBucketPolicyResponse' smart constructor.+data PutBucketPolicyResponse =+    PutBucketPolicyResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = put-    response = nullResponse PutBucketPolicyResponse+-- | Creates a value of 'PutBucketPolicyResponse' with the minimum fields required to make a request.+--+putBucketPolicyResponse+    :: PutBucketPolicyResponse+putBucketPolicyResponse = PutBucketPolicyResponse'
gen/Network/AWS/S3/PutBucketReplication.hs view
@@ -1,118 +1,119 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutBucketReplication--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a new replication configuration (or replaces an existing one, if+-- Creates a new replication configuration (or replaces an existing one, if -- present). ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketReplication.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketReplication.html AWS API Reference> for PutBucketReplication. module Network.AWS.S3.PutBucketReplication     (-    -- * Request-      PutBucketReplication-    -- ** Request constructor-    , putBucketReplication-    -- ** Request lenses-    , pbrBucket+    -- * Creating a Request+      putBucketReplication+    , PutBucketReplication+    -- * Request Lenses     , pbrContentMD5+    , pbrBucket     , pbrReplicationConfiguration -    -- * Response-    , PutBucketReplicationResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putBucketReplicationResponse+    , PutBucketReplicationResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutBucketReplication = PutBucketReplication-    { _pbrBucket                   :: Text-    , _pbrContentMD5               :: Maybe Text-    , _pbrReplicationConfiguration :: ReplicationConfiguration-    } deriving (Eq, Read, Show)+-- | /See:/ 'putBucketReplication' smart constructor.+data PutBucketReplication = PutBucketReplication'+    { _pbrContentMD5               :: !(Maybe Text)+    , _pbrBucket                   :: !BucketName+    , _pbrReplicationConfiguration :: !ReplicationConfiguration+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutBucketReplication' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutBucketReplication' with the minimum fields required to make a request. ----- * 'pbrBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pbrContentMD5' @::@ 'Maybe' 'Text'+-- * 'pbrContentMD5' ----- * 'pbrReplicationConfiguration' @::@ 'ReplicationConfiguration'+-- * 'pbrBucket' ---putBucketReplication :: Text -- ^ 'pbrBucket'-                     -> ReplicationConfiguration -- ^ 'pbrReplicationConfiguration'-                     -> PutBucketReplication-putBucketReplication p1 p2 = PutBucketReplication-    { _pbrBucket                   = p1-    , _pbrReplicationConfiguration = p2-    , _pbrContentMD5               = Nothing+-- * 'pbrReplicationConfiguration'+putBucketReplication+    :: BucketName -- ^ 'pbrBucket'+    -> ReplicationConfiguration -- ^ 'pbrReplicationConfiguration'+    -> PutBucketReplication+putBucketReplication pBucket_ pReplicationConfiguration_ =+    PutBucketReplication'+    { _pbrContentMD5 = Nothing+    , _pbrBucket = pBucket_+    , _pbrReplicationConfiguration = pReplicationConfiguration_     } -pbrBucket :: Lens' PutBucketReplication Text-pbrBucket = lens _pbrBucket (\s a -> s { _pbrBucket = a })-+-- | Undocumented member. pbrContentMD5 :: Lens' PutBucketReplication (Maybe Text)-pbrContentMD5 = lens _pbrContentMD5 (\s a -> s { _pbrContentMD5 = a })--pbrReplicationConfiguration :: Lens' PutBucketReplication ReplicationConfiguration-pbrReplicationConfiguration =-    lens _pbrReplicationConfiguration-        (\s a -> s { _pbrReplicationConfiguration = a })+pbrContentMD5 = lens _pbrContentMD5 (\ s a -> s{_pbrContentMD5 = a}); -data PutBucketReplicationResponse = PutBucketReplicationResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | Undocumented member.+pbrBucket :: Lens' PutBucketReplication BucketName+pbrBucket = lens _pbrBucket (\ s a -> s{_pbrBucket = a}); --- | 'PutBucketReplicationResponse' constructor.-putBucketReplicationResponse :: PutBucketReplicationResponse-putBucketReplicationResponse = PutBucketReplicationResponse+-- | Undocumented member.+pbrReplicationConfiguration :: Lens' PutBucketReplication ReplicationConfiguration+pbrReplicationConfiguration = lens _pbrReplicationConfiguration (\ s a -> s{_pbrReplicationConfiguration = a}); -instance ToPath PutBucketReplication where-    toPath PutBucketReplication{..} = mconcat-        [ "/"-        , toText _pbrBucket-        ]+instance AWSRequest PutBucketReplication where+        type Sv PutBucketReplication = S3+        type Rs PutBucketReplication =+             PutBucketReplicationResponse+        request = putXML+        response = receiveNull PutBucketReplicationResponse' -instance ToQuery PutBucketReplication where-    toQuery = const "replication"+instance ToElement PutBucketReplication where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}ReplicationConfiguration"+              .+              _pbrReplicationConfiguration  instance ToHeaders PutBucketReplication where-    toHeaders PutBucketReplication{..} = mconcat-        [ "Content-MD5" =: _pbrContentMD5-        ]+        toHeaders PutBucketReplication'{..}+          = mconcat ["Content-MD5" =# _pbrContentMD5] -instance ToXMLRoot PutBucketReplication where-    toXMLRoot = extractRoot ns . toXML . _pbrReplicationConfiguration+instance ToPath PutBucketReplication where+        toPath PutBucketReplication'{..}+          = mconcat ["/", toBS _pbrBucket] -instance ToXML PutBucketReplication+instance ToQuery PutBucketReplication where+        toQuery = const (mconcat ["replication"]) -instance AWSRequest PutBucketReplication where-    type Sv PutBucketReplication = S3-    type Rs PutBucketReplication = PutBucketReplicationResponse+-- | /See:/ 'putBucketReplicationResponse' smart constructor.+data PutBucketReplicationResponse =+    PutBucketReplicationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = put-    response = nullResponse PutBucketReplicationResponse+-- | Creates a value of 'PutBucketReplicationResponse' with the minimum fields required to make a request.+--+putBucketReplicationResponse+    :: PutBucketReplicationResponse+putBucketReplicationResponse = PutBucketReplicationResponse'
gen/Network/AWS/S3/PutBucketRequestPayment.hs view
@@ -1,122 +1,124 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutBucketRequestPayment--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Sets the request payment configuration for a bucket. By default, the bucket--- owner pays for downloads from the bucket. This configuration parameter--- enables the bucket owner (only) to specify that the person requesting the--- download will be charged for the download. Documentation on requester pays--- buckets can be found at--- http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html+-- Sets the request payment configuration for a bucket. By default, the+-- bucket owner pays for downloads from the bucket. This configuration+-- parameter enables the bucket owner (only) to specify that the person+-- requesting the download will be charged for the download. Documentation+-- on requester pays buckets can be found at+-- http:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/dev\/RequesterPaysBuckets.html ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketRequestPayment.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketRequestPayment.html AWS API Reference> for PutBucketRequestPayment. module Network.AWS.S3.PutBucketRequestPayment     (-    -- * Request-      PutBucketRequestPayment-    -- ** Request constructor-    , putBucketRequestPayment-    -- ** Request lenses-    , pbrpBucket+    -- * Creating a Request+      putBucketRequestPayment+    , PutBucketRequestPayment+    -- * Request Lenses     , pbrpContentMD5+    , pbrpBucket     , pbrpRequestPaymentConfiguration -    -- * Response-    , PutBucketRequestPaymentResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putBucketRequestPaymentResponse+    , PutBucketRequestPaymentResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutBucketRequestPayment = PutBucketRequestPayment-    { _pbrpBucket                      :: Text-    , _pbrpContentMD5                  :: Maybe Text-    , _pbrpRequestPaymentConfiguration :: RequestPaymentConfiguration-    } deriving (Eq, Read, Show)+-- | /See:/ 'putBucketRequestPayment' smart constructor.+data PutBucketRequestPayment = PutBucketRequestPayment'+    { _pbrpContentMD5                  :: !(Maybe Text)+    , _pbrpBucket                      :: !BucketName+    , _pbrpRequestPaymentConfiguration :: !RequestPaymentConfiguration+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutBucketRequestPayment' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutBucketRequestPayment' with the minimum fields required to make a request. ----- * 'pbrpBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pbrpContentMD5' @::@ 'Maybe' 'Text'+-- * 'pbrpContentMD5' ----- * 'pbrpRequestPaymentConfiguration' @::@ 'RequestPaymentConfiguration'+-- * 'pbrpBucket' ---putBucketRequestPayment :: Text -- ^ 'pbrpBucket'-                        -> RequestPaymentConfiguration -- ^ 'pbrpRequestPaymentConfiguration'-                        -> PutBucketRequestPayment-putBucketRequestPayment p1 p2 = PutBucketRequestPayment-    { _pbrpBucket                      = p1-    , _pbrpRequestPaymentConfiguration = p2-    , _pbrpContentMD5                  = Nothing+-- * 'pbrpRequestPaymentConfiguration'+putBucketRequestPayment+    :: BucketName -- ^ 'pbrpBucket'+    -> RequestPaymentConfiguration -- ^ 'pbrpRequestPaymentConfiguration'+    -> PutBucketRequestPayment+putBucketRequestPayment pBucket_ pRequestPaymentConfiguration_ =+    PutBucketRequestPayment'+    { _pbrpContentMD5 = Nothing+    , _pbrpBucket = pBucket_+    , _pbrpRequestPaymentConfiguration = pRequestPaymentConfiguration_     } -pbrpBucket :: Lens' PutBucketRequestPayment Text-pbrpBucket = lens _pbrpBucket (\s a -> s { _pbrpBucket = a })-+-- | Undocumented member. pbrpContentMD5 :: Lens' PutBucketRequestPayment (Maybe Text)-pbrpContentMD5 = lens _pbrpContentMD5 (\s a -> s { _pbrpContentMD5 = a })--pbrpRequestPaymentConfiguration :: Lens' PutBucketRequestPayment RequestPaymentConfiguration-pbrpRequestPaymentConfiguration =-    lens _pbrpRequestPaymentConfiguration-        (\s a -> s { _pbrpRequestPaymentConfiguration = a })+pbrpContentMD5 = lens _pbrpContentMD5 (\ s a -> s{_pbrpContentMD5 = a}); -data PutBucketRequestPaymentResponse = PutBucketRequestPaymentResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | Undocumented member.+pbrpBucket :: Lens' PutBucketRequestPayment BucketName+pbrpBucket = lens _pbrpBucket (\ s a -> s{_pbrpBucket = a}); --- | 'PutBucketRequestPaymentResponse' constructor.-putBucketRequestPaymentResponse :: PutBucketRequestPaymentResponse-putBucketRequestPaymentResponse = PutBucketRequestPaymentResponse+-- | Undocumented member.+pbrpRequestPaymentConfiguration :: Lens' PutBucketRequestPayment RequestPaymentConfiguration+pbrpRequestPaymentConfiguration = lens _pbrpRequestPaymentConfiguration (\ s a -> s{_pbrpRequestPaymentConfiguration = a}); -instance ToPath PutBucketRequestPayment where-    toPath PutBucketRequestPayment{..} = mconcat-        [ "/"-        , toText _pbrpBucket-        ]+instance AWSRequest PutBucketRequestPayment where+        type Sv PutBucketRequestPayment = S3+        type Rs PutBucketRequestPayment =+             PutBucketRequestPaymentResponse+        request = putXML+        response+          = receiveNull PutBucketRequestPaymentResponse' -instance ToQuery PutBucketRequestPayment where-    toQuery = const "requestPayment"+instance ToElement PutBucketRequestPayment where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}RequestPaymentConfiguration"+              .+              _pbrpRequestPaymentConfiguration  instance ToHeaders PutBucketRequestPayment where-    toHeaders PutBucketRequestPayment{..} = mconcat-        [ "Content-MD5" =: _pbrpContentMD5-        ]+        toHeaders PutBucketRequestPayment'{..}+          = mconcat ["Content-MD5" =# _pbrpContentMD5] -instance ToXMLRoot PutBucketRequestPayment where-    toXMLRoot = extractRoot ns . toXML . _pbrpRequestPaymentConfiguration+instance ToPath PutBucketRequestPayment where+        toPath PutBucketRequestPayment'{..}+          = mconcat ["/", toBS _pbrpBucket] -instance ToXML PutBucketRequestPayment+instance ToQuery PutBucketRequestPayment where+        toQuery = const (mconcat ["requestPayment"]) -instance AWSRequest PutBucketRequestPayment where-    type Sv PutBucketRequestPayment = S3-    type Rs PutBucketRequestPayment = PutBucketRequestPaymentResponse+-- | /See:/ 'putBucketRequestPaymentResponse' smart constructor.+data PutBucketRequestPaymentResponse =+    PutBucketRequestPaymentResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = put-    response = nullResponse PutBucketRequestPaymentResponse+-- | Creates a value of 'PutBucketRequestPaymentResponse' with the minimum fields required to make a request.+--+putBucketRequestPaymentResponse+    :: PutBucketRequestPaymentResponse+putBucketRequestPaymentResponse = PutBucketRequestPaymentResponse'
gen/Network/AWS/S3/PutBucketTagging.hs view
@@ -1,115 +1,117 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutBucketTagging--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Sets the tags for a bucket.+-- Sets the tags for a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketTagging.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketTagging.html AWS API Reference> for PutBucketTagging. module Network.AWS.S3.PutBucketTagging     (-    -- * Request-      PutBucketTagging-    -- ** Request constructor-    , putBucketTagging-    -- ** Request lenses-    , pbtBucket+    -- * Creating a Request+      putBucketTagging+    , PutBucketTagging+    -- * Request Lenses     , pbtContentMD5+    , pbtBucket     , pbtTagging -    -- * Response-    , PutBucketTaggingResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putBucketTaggingResponse+    , PutBucketTaggingResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutBucketTagging = PutBucketTagging-    { _pbtBucket     :: Text-    , _pbtContentMD5 :: Maybe Text-    , _pbtTagging    :: Tagging-    } deriving (Eq, Read, Show)+-- | /See:/ 'putBucketTagging' smart constructor.+data PutBucketTagging = PutBucketTagging'+    { _pbtContentMD5 :: !(Maybe Text)+    , _pbtBucket     :: !BucketName+    , _pbtTagging    :: !Tagging+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutBucketTagging' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutBucketTagging' with the minimum fields required to make a request. ----- * 'pbtBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pbtContentMD5' @::@ 'Maybe' 'Text'+-- * 'pbtContentMD5' ----- * 'pbtTagging' @::@ 'Tagging'+-- * 'pbtBucket' ---putBucketTagging :: Text -- ^ 'pbtBucket'-                 -> Tagging -- ^ 'pbtTagging'-                 -> PutBucketTagging-putBucketTagging p1 p2 = PutBucketTagging-    { _pbtBucket     = p1-    , _pbtTagging    = p2-    , _pbtContentMD5 = Nothing+-- * 'pbtTagging'+putBucketTagging+    :: BucketName -- ^ 'pbtBucket'+    -> Tagging -- ^ 'pbtTagging'+    -> PutBucketTagging+putBucketTagging pBucket_ pTagging_ =+    PutBucketTagging'+    { _pbtContentMD5 = Nothing+    , _pbtBucket = pBucket_+    , _pbtTagging = pTagging_     } -pbtBucket :: Lens' PutBucketTagging Text-pbtBucket = lens _pbtBucket (\s a -> s { _pbtBucket = a })-+-- | Undocumented member. pbtContentMD5 :: Lens' PutBucketTagging (Maybe Text)-pbtContentMD5 = lens _pbtContentMD5 (\s a -> s { _pbtContentMD5 = a })--pbtTagging :: Lens' PutBucketTagging Tagging-pbtTagging = lens _pbtTagging (\s a -> s { _pbtTagging = a })+pbtContentMD5 = lens _pbtContentMD5 (\ s a -> s{_pbtContentMD5 = a}); -data PutBucketTaggingResponse = PutBucketTaggingResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | Undocumented member.+pbtBucket :: Lens' PutBucketTagging BucketName+pbtBucket = lens _pbtBucket (\ s a -> s{_pbtBucket = a}); --- | 'PutBucketTaggingResponse' constructor.-putBucketTaggingResponse :: PutBucketTaggingResponse-putBucketTaggingResponse = PutBucketTaggingResponse+-- | Undocumented member.+pbtTagging :: Lens' PutBucketTagging Tagging+pbtTagging = lens _pbtTagging (\ s a -> s{_pbtTagging = a}); -instance ToPath PutBucketTagging where-    toPath PutBucketTagging{..} = mconcat-        [ "/"-        , toText _pbtBucket-        ]+instance AWSRequest PutBucketTagging where+        type Sv PutBucketTagging = S3+        type Rs PutBucketTagging = PutBucketTaggingResponse+        request = contentMD5 . putXML+        response = receiveNull PutBucketTaggingResponse' -instance ToQuery PutBucketTagging where-    toQuery = const "tagging"+instance ToElement PutBucketTagging where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}Tagging"+              .+              _pbtTagging  instance ToHeaders PutBucketTagging where-    toHeaders PutBucketTagging{..} = mconcat-        [ "Content-MD5" =: _pbtContentMD5-        ]+        toHeaders PutBucketTagging'{..}+          = mconcat ["Content-MD5" =# _pbtContentMD5] -instance ToXMLRoot PutBucketTagging where-    toXMLRoot = extractRoot ns . toXML . _pbtTagging+instance ToPath PutBucketTagging where+        toPath PutBucketTagging'{..}+          = mconcat ["/", toBS _pbtBucket] -instance ToXML PutBucketTagging+instance ToQuery PutBucketTagging where+        toQuery = const (mconcat ["tagging"]) -instance AWSRequest PutBucketTagging where-    type Sv PutBucketTagging = S3-    type Rs PutBucketTagging = PutBucketTaggingResponse+-- | /See:/ 'putBucketTaggingResponse' smart constructor.+data PutBucketTaggingResponse =+    PutBucketTaggingResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = put-    response = nullResponse PutBucketTaggingResponse+-- | Creates a value of 'PutBucketTaggingResponse' with the minimum fields required to make a request.+--+putBucketTaggingResponse+    :: PutBucketTaggingResponse+putBucketTaggingResponse = PutBucketTaggingResponse'
gen/Network/AWS/S3/PutBucketVersioning.hs view
@@ -1,129 +1,131 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutBucketVersioning--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Sets the versioning state of an existing bucket. To set the versioning state,--- you must be the bucket owner.+-- Sets the versioning state of an existing bucket. To set the versioning+-- state, you must be the bucket owner. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketVersioning.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketVersioning.html AWS API Reference> for PutBucketVersioning. module Network.AWS.S3.PutBucketVersioning     (-    -- * Request-      PutBucketVersioning-    -- ** Request constructor-    , putBucketVersioning-    -- ** Request lenses-    , pbvBucket-    , pbvContentMD5+    -- * Creating a Request+      putBucketVersioning+    , PutBucketVersioning+    -- * Request Lenses     , pbvMFA+    , pbvContentMD5+    , pbvBucket     , pbvVersioningConfiguration -    -- * Response-    , PutBucketVersioningResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putBucketVersioningResponse+    , PutBucketVersioningResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutBucketVersioning = PutBucketVersioning-    { _pbvBucket                  :: Text-    , _pbvContentMD5              :: Maybe Text-    , _pbvMFA                     :: Maybe Text-    , _pbvVersioningConfiguration :: VersioningConfiguration-    } deriving (Eq, Read, Show)+-- | /See:/ 'putBucketVersioning' smart constructor.+data PutBucketVersioning = PutBucketVersioning'+    { _pbvMFA                     :: !(Maybe Text)+    , _pbvContentMD5              :: !(Maybe Text)+    , _pbvBucket                  :: !BucketName+    , _pbvVersioningConfiguration :: !VersioningConfiguration+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutBucketVersioning' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutBucketVersioning' with the minimum fields required to make a request. ----- * 'pbvBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pbvContentMD5' @::@ 'Maybe' 'Text'+-- * 'pbvMFA' ----- * 'pbvMFA' @::@ 'Maybe' 'Text'+-- * 'pbvContentMD5' ----- * 'pbvVersioningConfiguration' @::@ 'VersioningConfiguration'+-- * 'pbvBucket' ---putBucketVersioning :: Text -- ^ 'pbvBucket'-                    -> VersioningConfiguration -- ^ 'pbvVersioningConfiguration'-                    -> PutBucketVersioning-putBucketVersioning p1 p2 = PutBucketVersioning-    { _pbvBucket                  = p1-    , _pbvVersioningConfiguration = p2-    , _pbvContentMD5              = Nothing-    , _pbvMFA                     = Nothing+-- * 'pbvVersioningConfiguration'+putBucketVersioning+    :: BucketName -- ^ 'pbvBucket'+    -> VersioningConfiguration -- ^ 'pbvVersioningConfiguration'+    -> PutBucketVersioning+putBucketVersioning pBucket_ pVersioningConfiguration_ =+    PutBucketVersioning'+    { _pbvMFA = Nothing+    , _pbvContentMD5 = Nothing+    , _pbvBucket = pBucket_+    , _pbvVersioningConfiguration = pVersioningConfiguration_     } -pbvBucket :: Lens' PutBucketVersioning Text-pbvBucket = lens _pbvBucket (\s a -> s { _pbvBucket = a })+-- | The concatenation of the authentication device\'s serial number, a+-- space, and the value that is displayed on your authentication device.+pbvMFA :: Lens' PutBucketVersioning (Maybe Text)+pbvMFA = lens _pbvMFA (\ s a -> s{_pbvMFA = a}); +-- | Undocumented member. pbvContentMD5 :: Lens' PutBucketVersioning (Maybe Text)-pbvContentMD5 = lens _pbvContentMD5 (\s a -> s { _pbvContentMD5 = a })+pbvContentMD5 = lens _pbvContentMD5 (\ s a -> s{_pbvContentMD5 = a}); --- | The concatenation of the authentication device's serial number, a space, and--- the value that is displayed on your authentication device.-pbvMFA :: Lens' PutBucketVersioning (Maybe Text)-pbvMFA = lens _pbvMFA (\s a -> s { _pbvMFA = a })+-- | Undocumented member.+pbvBucket :: Lens' PutBucketVersioning BucketName+pbvBucket = lens _pbvBucket (\ s a -> s{_pbvBucket = a}); +-- | Undocumented member. pbvVersioningConfiguration :: Lens' PutBucketVersioning VersioningConfiguration-pbvVersioningConfiguration =-    lens _pbvVersioningConfiguration-        (\s a -> s { _pbvVersioningConfiguration = a })--data PutBucketVersioningResponse = PutBucketVersioningResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'PutBucketVersioningResponse' constructor.-putBucketVersioningResponse :: PutBucketVersioningResponse-putBucketVersioningResponse = PutBucketVersioningResponse+pbvVersioningConfiguration = lens _pbvVersioningConfiguration (\ s a -> s{_pbvVersioningConfiguration = a}); -instance ToPath PutBucketVersioning where-    toPath PutBucketVersioning{..} = mconcat-        [ "/"-        , toText _pbvBucket-        ]+instance AWSRequest PutBucketVersioning where+        type Sv PutBucketVersioning = S3+        type Rs PutBucketVersioning =+             PutBucketVersioningResponse+        request = putXML+        response = receiveNull PutBucketVersioningResponse' -instance ToQuery PutBucketVersioning where-    toQuery = const "versioning"+instance ToElement PutBucketVersioning where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}VersioningConfiguration"+              .+              _pbvVersioningConfiguration  instance ToHeaders PutBucketVersioning where-    toHeaders PutBucketVersioning{..} = mconcat-        [ "Content-MD5" =: _pbvContentMD5-        , "x-amz-mfa"   =: _pbvMFA-        ]+        toHeaders PutBucketVersioning'{..}+          = mconcat+              ["x-amz-mfa" =# _pbvMFA,+               "Content-MD5" =# _pbvContentMD5] -instance ToXMLRoot PutBucketVersioning where-    toXMLRoot = extractRoot ns . toXML . _pbvVersioningConfiguration+instance ToPath PutBucketVersioning where+        toPath PutBucketVersioning'{..}+          = mconcat ["/", toBS _pbvBucket] -instance ToXML PutBucketVersioning+instance ToQuery PutBucketVersioning where+        toQuery = const (mconcat ["versioning"]) -instance AWSRequest PutBucketVersioning where-    type Sv PutBucketVersioning = S3-    type Rs PutBucketVersioning = PutBucketVersioningResponse+-- | /See:/ 'putBucketVersioningResponse' smart constructor.+data PutBucketVersioningResponse =+    PutBucketVersioningResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = put-    response = nullResponse PutBucketVersioningResponse+-- | Creates a value of 'PutBucketVersioningResponse' with the minimum fields required to make a request.+--+putBucketVersioningResponse+    :: PutBucketVersioningResponse+putBucketVersioningResponse = PutBucketVersioningResponse'
gen/Network/AWS/S3/PutBucketWebsite.hs view
@@ -1,116 +1,117 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutBucketWebsite--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Set the website configuration for a bucket.+-- Set the website configuration for a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketWebsite.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutBucketWebsite.html AWS API Reference> for PutBucketWebsite. module Network.AWS.S3.PutBucketWebsite     (-    -- * Request-      PutBucketWebsite-    -- ** Request constructor-    , putBucketWebsite-    -- ** Request lenses-    , pbwBucket+    -- * Creating a Request+      putBucketWebsite+    , PutBucketWebsite+    -- * Request Lenses     , pbwContentMD5+    , pbwBucket     , pbwWebsiteConfiguration -    -- * Response-    , PutBucketWebsiteResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putBucketWebsiteResponse+    , PutBucketWebsiteResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutBucketWebsite = PutBucketWebsite-    { _pbwBucket               :: Text-    , _pbwContentMD5           :: Maybe Text-    , _pbwWebsiteConfiguration :: WebsiteConfiguration-    } deriving (Eq, Read, Show)+-- | /See:/ 'putBucketWebsite' smart constructor.+data PutBucketWebsite = PutBucketWebsite'+    { _pbwContentMD5           :: !(Maybe Text)+    , _pbwBucket               :: !BucketName+    , _pbwWebsiteConfiguration :: !WebsiteConfiguration+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'PutBucketWebsite' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutBucketWebsite' with the minimum fields required to make a request. ----- * 'pbwBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'pbwContentMD5' @::@ 'Maybe' 'Text'+-- * 'pbwContentMD5' ----- * 'pbwWebsiteConfiguration' @::@ 'WebsiteConfiguration'+-- * 'pbwBucket' ---putBucketWebsite :: Text -- ^ 'pbwBucket'-                 -> WebsiteConfiguration -- ^ 'pbwWebsiteConfiguration'-                 -> PutBucketWebsite-putBucketWebsite p1 p2 = PutBucketWebsite-    { _pbwBucket               = p1-    , _pbwWebsiteConfiguration = p2-    , _pbwContentMD5           = Nothing+-- * 'pbwWebsiteConfiguration'+putBucketWebsite+    :: BucketName -- ^ 'pbwBucket'+    -> WebsiteConfiguration -- ^ 'pbwWebsiteConfiguration'+    -> PutBucketWebsite+putBucketWebsite pBucket_ pWebsiteConfiguration_ =+    PutBucketWebsite'+    { _pbwContentMD5 = Nothing+    , _pbwBucket = pBucket_+    , _pbwWebsiteConfiguration = pWebsiteConfiguration_     } -pbwBucket :: Lens' PutBucketWebsite Text-pbwBucket = lens _pbwBucket (\s a -> s { _pbwBucket = a })-+-- | Undocumented member. pbwContentMD5 :: Lens' PutBucketWebsite (Maybe Text)-pbwContentMD5 = lens _pbwContentMD5 (\s a -> s { _pbwContentMD5 = a })--pbwWebsiteConfiguration :: Lens' PutBucketWebsite WebsiteConfiguration-pbwWebsiteConfiguration =-    lens _pbwWebsiteConfiguration (\s a -> s { _pbwWebsiteConfiguration = a })+pbwContentMD5 = lens _pbwContentMD5 (\ s a -> s{_pbwContentMD5 = a}); -data PutBucketWebsiteResponse = PutBucketWebsiteResponse-    deriving (Eq, Ord, Read, Show, Generic)+-- | Undocumented member.+pbwBucket :: Lens' PutBucketWebsite BucketName+pbwBucket = lens _pbwBucket (\ s a -> s{_pbwBucket = a}); --- | 'PutBucketWebsiteResponse' constructor.-putBucketWebsiteResponse :: PutBucketWebsiteResponse-putBucketWebsiteResponse = PutBucketWebsiteResponse+-- | Undocumented member.+pbwWebsiteConfiguration :: Lens' PutBucketWebsite WebsiteConfiguration+pbwWebsiteConfiguration = lens _pbwWebsiteConfiguration (\ s a -> s{_pbwWebsiteConfiguration = a}); -instance ToPath PutBucketWebsite where-    toPath PutBucketWebsite{..} = mconcat-        [ "/"-        , toText _pbwBucket-        ]+instance AWSRequest PutBucketWebsite where+        type Sv PutBucketWebsite = S3+        type Rs PutBucketWebsite = PutBucketWebsiteResponse+        request = putXML+        response = receiveNull PutBucketWebsiteResponse' -instance ToQuery PutBucketWebsite where-    toQuery = const "website"+instance ToElement PutBucketWebsite where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}WebsiteConfiguration"+              .+              _pbwWebsiteConfiguration  instance ToHeaders PutBucketWebsite where-    toHeaders PutBucketWebsite{..} = mconcat-        [ "Content-MD5" =: _pbwContentMD5-        ]+        toHeaders PutBucketWebsite'{..}+          = mconcat ["Content-MD5" =# _pbwContentMD5] -instance ToXMLRoot PutBucketWebsite where-    toXMLRoot = extractRoot ns . toXML . _pbwWebsiteConfiguration+instance ToPath PutBucketWebsite where+        toPath PutBucketWebsite'{..}+          = mconcat ["/", toBS _pbwBucket] -instance ToXML PutBucketWebsite+instance ToQuery PutBucketWebsite where+        toQuery = const (mconcat ["website"]) -instance AWSRequest PutBucketWebsite where-    type Sv PutBucketWebsite = S3-    type Rs PutBucketWebsite = PutBucketWebsiteResponse+-- | /See:/ 'putBucketWebsiteResponse' smart constructor.+data PutBucketWebsiteResponse =+    PutBucketWebsiteResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = put-    response = nullResponse PutBucketWebsiteResponse+-- | Creates a value of 'PutBucketWebsiteResponse' with the minimum fields required to make a request.+--+putBucketWebsiteResponse+    :: PutBucketWebsiteResponse+putBucketWebsiteResponse = PutBucketWebsiteResponse'
gen/Network/AWS/S3/PutObject.hs view
@@ -1,455 +1,467 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.PutObject--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Adds an object to a bucket.+-- Adds an object to a bucket. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/PutObject.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutObject.html AWS API Reference> for PutObject. module Network.AWS.S3.PutObject     (-    -- * Request-      PutObject-    -- ** Request constructor-    , putObject-    -- ** Request lenses-    , poACL-    , poBody-    , poBucket-    , poCacheControl-    , poContentDisposition-    , poContentEncoding-    , poContentLanguage+    -- * Creating a Request+      putObject+    , PutObject+    -- * Request Lenses     , poContentLength-    , poContentMD5-    , poContentType     , poExpires-    , poGrantFullControl-    , poGrantRead-    , poGrantReadACP-    , poGrantWriteACP-    , poKey-    , poMetadata-    , poRequestPayer     , poSSECustomerAlgorithm+    , poGrantReadACP     , poSSECustomerKey-    , poSSECustomerKeyMD5+    , poRequestPayer+    , poGrantWriteACP+    , poWebsiteRedirectLocation+    , poGrantRead+    , poStorageClass+    , poContentEncoding     , poSSEKMSKeyId+    , poGrantFullControl+    , poSSECustomerKeyMD5+    , poMetadata+    , poContentMD5+    , poCacheControl+    , poContentLanguage+    , poACL+    , poContentDisposition     , poServerSideEncryption-    , poStorageClass-    , poWebsiteRedirectLocation+    , poContentType+    , poBucket+    , poKey+    , poBody -    -- * Response-    , PutObjectResponse-    -- ** Response constructor+    -- * Destructuring the Response     , putObjectResponse-    -- ** Response lenses-    , porETag-    , porExpiration-    , porRequestCharged-    , porSSECustomerAlgorithm-    , porSSECustomerKeyMD5-    , porSSEKMSKeyId-    , porServerSideEncryption-    , porVersionId+    , PutObjectResponse+    -- * Response Lenses+    , porsVersionId+    , porsETag+    , porsRequestCharged+    , porsExpiration+    , porsSSECustomerAlgorithm+    , porsSSEKMSKeyId+    , porsSSECustomerKeyMD5+    , porsServerSideEncryption+    , porsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data PutObject = PutObject-    { _poACL                     :: Maybe ObjectCannedACL-    , _poBody                    :: RqBody-    , _poBucket                  :: Text-    , _poCacheControl            :: Maybe Text-    , _poContentDisposition      :: Maybe Text-    , _poContentEncoding         :: Maybe Text-    , _poContentLanguage         :: Maybe Text-    , _poContentLength           :: Maybe Int-    , _poContentMD5              :: Maybe Text-    , _poContentType             :: Maybe Text-    , _poExpires                 :: Maybe RFC822-    , _poGrantFullControl        :: Maybe Text-    , _poGrantRead               :: Maybe Text-    , _poGrantReadACP            :: Maybe Text-    , _poGrantWriteACP           :: Maybe Text-    , _poKey                     :: Text-    , _poMetadata                :: Map (CI Text) Text-    , _poRequestPayer            :: Maybe RequestPayer-    , _poSSECustomerAlgorithm    :: Maybe Text-    , _poSSECustomerKey          :: Maybe (Sensitive Text)-    , _poSSECustomerKeyMD5       :: Maybe Text-    , _poSSEKMSKeyId             :: Maybe (Sensitive Text)-    , _poServerSideEncryption    :: Maybe ServerSideEncryption-    , _poStorageClass            :: Maybe StorageClass-    , _poWebsiteRedirectLocation :: Maybe Text-    } deriving (Show)+-- | /See:/ 'putObject' smart constructor.+data PutObject = PutObject'+    { _poContentLength           :: !(Maybe Int)+    , _poExpires                 :: !(Maybe RFC822)+    , _poSSECustomerAlgorithm    :: !(Maybe Text)+    , _poGrantReadACP            :: !(Maybe Text)+    , _poSSECustomerKey          :: !(Maybe (Sensitive Text))+    , _poRequestPayer            :: !(Maybe RequestPayer)+    , _poGrantWriteACP           :: !(Maybe Text)+    , _poWebsiteRedirectLocation :: !(Maybe Text)+    , _poGrantRead               :: !(Maybe Text)+    , _poStorageClass            :: !(Maybe StorageClass)+    , _poContentEncoding         :: !(Maybe Text)+    , _poSSEKMSKeyId             :: !(Maybe (Sensitive Text))+    , _poGrantFullControl        :: !(Maybe Text)+    , _poSSECustomerKeyMD5       :: !(Maybe Text)+    , _poMetadata                :: !(Map Text Text)+    , _poContentMD5              :: !(Maybe Text)+    , _poCacheControl            :: !(Maybe Text)+    , _poContentLanguage         :: !(Maybe Text)+    , _poACL                     :: !(Maybe ObjectCannedACL)+    , _poContentDisposition      :: !(Maybe Text)+    , _poServerSideEncryption    :: !(Maybe ServerSideEncryption)+    , _poContentType             :: !(Maybe Text)+    , _poBucket                  :: !BucketName+    , _poKey                     :: !ObjectKey+    , _poBody                    :: !RqBody+    } deriving (Show,Generic) --- | 'PutObject' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'PutObject' with the minimum fields required to make a request. ----- * 'poACL' @::@ 'Maybe' 'ObjectCannedACL'+-- Use one of the following lenses to modify other fields as desired: ----- * 'poBody' @::@ 'RqBody'+-- * 'poContentLength' ----- * 'poBucket' @::@ 'Text'+-- * 'poExpires' ----- * 'poCacheControl' @::@ 'Maybe' 'Text'+-- * 'poSSECustomerAlgorithm' ----- * 'poContentDisposition' @::@ 'Maybe' 'Text'+-- * 'poGrantReadACP' ----- * 'poContentEncoding' @::@ 'Maybe' 'Text'+-- * 'poSSECustomerKey' ----- * 'poContentLanguage' @::@ 'Maybe' 'Text'+-- * 'poRequestPayer' ----- * 'poContentLength' @::@ 'Maybe' 'Int'+-- * 'poGrantWriteACP' ----- * 'poContentMD5' @::@ 'Maybe' 'Text'+-- * 'poWebsiteRedirectLocation' ----- * 'poContentType' @::@ 'Maybe' 'Text'+-- * 'poGrantRead' ----- * 'poExpires' @::@ 'Maybe' 'UTCTime'+-- * 'poStorageClass' ----- * 'poGrantFullControl' @::@ 'Maybe' 'Text'+-- * 'poContentEncoding' ----- * 'poGrantRead' @::@ 'Maybe' 'Text'+-- * 'poSSEKMSKeyId' ----- * 'poGrantReadACP' @::@ 'Maybe' 'Text'+-- * 'poGrantFullControl' ----- * 'poGrantWriteACP' @::@ 'Maybe' 'Text'+-- * 'poSSECustomerKeyMD5' ----- * 'poKey' @::@ 'Text'+-- * 'poMetadata' ----- * 'poMetadata' @::@ 'HashMap' ('CI' 'Text') 'Text'+-- * 'poContentMD5' ----- * 'poRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'poCacheControl' ----- * 'poSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'poContentLanguage' ----- * 'poSSECustomerKey' @::@ 'Maybe' 'Text'+-- * 'poACL' ----- * 'poSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'poContentDisposition' ----- * 'poSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'poServerSideEncryption' ----- * 'poServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'poContentType' ----- * 'poStorageClass' @::@ 'Maybe' 'StorageClass'+-- * 'poBucket' ----- * 'poWebsiteRedirectLocation' @::@ 'Maybe' 'Text'+-- * 'poKey' ---putObject :: RqBody -- ^ 'poBody'-          -> Text -- ^ 'poBucket'-          -> Text -- ^ 'poKey'-          -> PutObject-putObject p1 p2 p3 = PutObject-    { _poBody                    = p1-    , _poBucket                  = p2-    , _poKey                     = p3-    , _poACL                     = Nothing-    , _poCacheControl            = Nothing-    , _poContentDisposition      = Nothing-    , _poContentEncoding         = Nothing-    , _poContentLanguage         = Nothing-    , _poContentLength           = Nothing-    , _poContentMD5              = Nothing-    , _poContentType             = Nothing-    , _poExpires                 = Nothing-    , _poGrantFullControl        = Nothing-    , _poGrantRead               = Nothing-    , _poGrantReadACP            = Nothing-    , _poGrantWriteACP           = Nothing-    , _poMetadata                = mempty-    , _poServerSideEncryption    = Nothing-    , _poStorageClass            = Nothing+-- * 'poBody'+putObject+    :: BucketName -- ^ 'poBucket'+    -> ObjectKey -- ^ 'poKey'+    -> RqBody -- ^ 'poBody'+    -> PutObject+putObject pBucket_ pKey_ pBody_ =+    PutObject'+    { _poContentLength = Nothing+    , _poExpires = Nothing+    , _poSSECustomerAlgorithm = Nothing+    , _poGrantReadACP = Nothing+    , _poSSECustomerKey = Nothing+    , _poRequestPayer = Nothing+    , _poGrantWriteACP = Nothing     , _poWebsiteRedirectLocation = Nothing-    , _poSSECustomerAlgorithm    = Nothing-    , _poSSECustomerKey          = Nothing-    , _poSSECustomerKeyMD5       = Nothing-    , _poSSEKMSKeyId             = Nothing-    , _poRequestPayer            = Nothing+    , _poGrantRead = Nothing+    , _poStorageClass = Nothing+    , _poContentEncoding = Nothing+    , _poSSEKMSKeyId = Nothing+    , _poGrantFullControl = Nothing+    , _poSSECustomerKeyMD5 = Nothing+    , _poMetadata = mempty+    , _poContentMD5 = Nothing+    , _poCacheControl = Nothing+    , _poContentLanguage = Nothing+    , _poACL = Nothing+    , _poContentDisposition = Nothing+    , _poServerSideEncryption = Nothing+    , _poContentType = Nothing+    , _poBucket = pBucket_+    , _poKey = pKey_+    , _poBody = pBody_     } --- | The canned ACL to apply to the object.-poACL :: Lens' PutObject (Maybe ObjectCannedACL)-poACL = lens _poACL (\s a -> s { _poACL = a })---- | Object data.-poBody :: Lens' PutObject RqBody-poBody = lens _poBody (\s a -> s { _poBody = a })--poBucket :: Lens' PutObject Text-poBucket = lens _poBucket (\s a -> s { _poBucket = a })---- | Specifies caching behavior along the request/reply chain.-poCacheControl :: Lens' PutObject (Maybe Text)-poCacheControl = lens _poCacheControl (\s a -> s { _poCacheControl = a })---- | Specifies presentational information for the object.-poContentDisposition :: Lens' PutObject (Maybe Text)-poContentDisposition =-    lens _poContentDisposition (\s a -> s { _poContentDisposition = a })+-- | Size of the body in bytes. This parameter is useful when the size of the+-- body cannot be determined automatically.+poContentLength :: Lens' PutObject (Maybe Int)+poContentLength = lens _poContentLength (\ s a -> s{_poContentLength = a}); --- | Specifies what content encodings have been applied to the object and thus--- what decoding mechanisms must be applied to obtain the media-type referenced--- by the Content-Type header field.-poContentEncoding :: Lens' PutObject (Maybe Text)-poContentEncoding =-    lens _poContentEncoding (\s a -> s { _poContentEncoding = a })+-- | The date and time at which the object is no longer cacheable.+poExpires :: Lens' PutObject (Maybe UTCTime)+poExpires = lens _poExpires (\ s a -> s{_poExpires = a}) . mapping _Time; --- | The language the content is in.-poContentLanguage :: Lens' PutObject (Maybe Text)-poContentLanguage =-    lens _poContentLanguage (\s a -> s { _poContentLanguage = a })+-- | Specifies the algorithm to use to when encrypting the object (e.g.,+-- AES256).+poSSECustomerAlgorithm :: Lens' PutObject (Maybe Text)+poSSECustomerAlgorithm = lens _poSSECustomerAlgorithm (\ s a -> s{_poSSECustomerAlgorithm = a}); --- | Size of the body in bytes. This parameter is useful when the size of the body--- cannot be determined automatically.-poContentLength :: Lens' PutObject (Maybe Int)-poContentLength = lens _poContentLength (\s a -> s { _poContentLength = a })+-- | Allows grantee to read the object ACL.+poGrantReadACP :: Lens' PutObject (Maybe Text)+poGrantReadACP = lens _poGrantReadACP (\ s a -> s{_poGrantReadACP = a}); -poContentMD5 :: Lens' PutObject (Maybe Text)-poContentMD5 = lens _poContentMD5 (\s a -> s { _poContentMD5 = a })+-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- x-amz-server-side​-encryption​-customer-algorithm header.+poSSECustomerKey :: Lens' PutObject (Maybe Text)+poSSECustomerKey = lens _poSSECustomerKey (\ s a -> s{_poSSECustomerKey = a}) . mapping _Sensitive; --- | A standard MIME type describing the format of the object data.-poContentType :: Lens' PutObject (Maybe Text)-poContentType = lens _poContentType (\s a -> s { _poContentType = a })+-- | Undocumented member.+poRequestPayer :: Lens' PutObject (Maybe RequestPayer)+poRequestPayer = lens _poRequestPayer (\ s a -> s{_poRequestPayer = a}); --- | The date and time at which the object is no longer cacheable.-poExpires :: Lens' PutObject (Maybe UTCTime)-poExpires = lens _poExpires (\s a -> s { _poExpires = a }) . mapping _Time+-- | Allows grantee to write the ACL for the applicable object.+poGrantWriteACP :: Lens' PutObject (Maybe Text)+poGrantWriteACP = lens _poGrantWriteACP (\ s a -> s{_poGrantWriteACP = a}); --- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.-poGrantFullControl :: Lens' PutObject (Maybe Text)-poGrantFullControl =-    lens _poGrantFullControl (\s a -> s { _poGrantFullControl = a })+-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+poWebsiteRedirectLocation :: Lens' PutObject (Maybe Text)+poWebsiteRedirectLocation = lens _poWebsiteRedirectLocation (\ s a -> s{_poWebsiteRedirectLocation = a});  -- | Allows grantee to read the object data and its metadata. poGrantRead :: Lens' PutObject (Maybe Text)-poGrantRead = lens _poGrantRead (\s a -> s { _poGrantRead = a })+poGrantRead = lens _poGrantRead (\ s a -> s{_poGrantRead = a}); --- | Allows grantee to read the object ACL.-poGrantReadACP :: Lens' PutObject (Maybe Text)-poGrantReadACP = lens _poGrantReadACP (\s a -> s { _poGrantReadACP = a })+-- | The type of storage to use for the object. Defaults to \'STANDARD\'.+poStorageClass :: Lens' PutObject (Maybe StorageClass)+poStorageClass = lens _poStorageClass (\ s a -> s{_poStorageClass = a}); --- | Allows grantee to write the ACL for the applicable object.-poGrantWriteACP :: Lens' PutObject (Maybe Text)-poGrantWriteACP = lens _poGrantWriteACP (\s a -> s { _poGrantWriteACP = a })+-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+poContentEncoding :: Lens' PutObject (Maybe Text)+poContentEncoding = lens _poContentEncoding (\ s a -> s{_poContentEncoding = a}); -poKey :: Lens' PutObject Text-poKey = lens _poKey (\s a -> s { _poKey = a })+-- | Specifies the AWS KMS key ID to use for object encryption. All GET and+-- PUT requests for an object protected by AWS KMS will fail if not made+-- via SSL or using SigV4. Documentation on configuring any of the+-- officially supported AWS SDKs and CLI can be found at+-- http:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/dev\/UsingAWSSDK.html#specify-signature-version+poSSEKMSKeyId :: Lens' PutObject (Maybe Text)+poSSEKMSKeyId = lens _poSSEKMSKeyId (\ s a -> s{_poSSEKMSKeyId = a}) . mapping _Sensitive; +-- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+-- object.+poGrantFullControl :: Lens' PutObject (Maybe Text)+poGrantFullControl = lens _poGrantFullControl (\ s a -> s{_poGrantFullControl = a});++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- the encryption key was transmitted without error.+poSSECustomerKeyMD5 :: Lens' PutObject (Maybe Text)+poSSECustomerKeyMD5 = lens _poSSECustomerKeyMD5 (\ s a -> s{_poSSECustomerKeyMD5 = a});+ -- | A map of metadata to store with the object in S3.-poMetadata :: Lens' PutObject (HashMap (CI Text) Text)-poMetadata = lens _poMetadata (\s a -> s { _poMetadata = a }) . _Map+poMetadata :: Lens' PutObject (HashMap Text Text)+poMetadata = lens _poMetadata (\ s a -> s{_poMetadata = a}) . _Map; -poRequestPayer :: Lens' PutObject (Maybe RequestPayer)-poRequestPayer = lens _poRequestPayer (\s a -> s { _poRequestPayer = a })+-- | Undocumented member.+poContentMD5 :: Lens' PutObject (Maybe Text)+poContentMD5 = lens _poContentMD5 (\ s a -> s{_poContentMD5 = a}); --- | Specifies the algorithm to use to when encrypting the object (e.g., AES256,--- aws:kms).-poSSECustomerAlgorithm :: Lens' PutObject (Maybe Text)-poSSECustomerAlgorithm =-    lens _poSSECustomerAlgorithm (\s a -> s { _poSSECustomerAlgorithm = a })+-- | Specifies caching behavior along the request\/reply chain.+poCacheControl :: Lens' PutObject (Maybe Text)+poCacheControl = lens _poCacheControl (\ s a -> s{_poCacheControl = a}); --- | Specifies the customer-provided encryption key for Amazon S3 to use in--- encrypting data. This value is used to store the object and then it is--- discarded; Amazon does not store the encryption key. The key must be--- appropriate for use with the algorithm specified in the--- x-amz-server-side​-encryption​-customer-algorithm header.-poSSECustomerKey :: Lens' PutObject (Maybe Text)-poSSECustomerKey = lens _poSSECustomerKey (\s a -> s { _poSSECustomerKey = a }) . mapping _Sensitive+-- | The language the content is in.+poContentLanguage :: Lens' PutObject (Maybe Text)+poContentLanguage = lens _poContentLanguage (\ s a -> s{_poContentLanguage = a}); --- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.--- Amazon S3 uses this header for a message integrity check to ensure the--- encryption key was transmitted without error.-poSSECustomerKeyMD5 :: Lens' PutObject (Maybe Text)-poSSECustomerKeyMD5 =-    lens _poSSECustomerKeyMD5 (\s a -> s { _poSSECustomerKeyMD5 = a })+-- | The canned ACL to apply to the object.+poACL :: Lens' PutObject (Maybe ObjectCannedACL)+poACL = lens _poACL (\ s a -> s{_poACL = a}); --- | Specifies the AWS KMS key ID to use for object encryption. All GET and PUT--- requests for an object protected by AWS KMS will fail if not made via SSL or--- using SigV4. Documentation on configuring any of the officially supported AWS--- SDKs and CLI can be found at--- http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version-poSSEKMSKeyId :: Lens' PutObject (Maybe Text)-poSSEKMSKeyId = lens _poSSEKMSKeyId (\s a -> s { _poSSEKMSKeyId = a }) . mapping _Sensitive+-- | Specifies presentational information for the object.+poContentDisposition :: Lens' PutObject (Maybe Text)+poContentDisposition = lens _poContentDisposition (\ s a -> s{_poContentDisposition = a});  -- | The Server-side encryption algorithm used when storing this object in S3 -- (e.g., AES256, aws:kms). poServerSideEncryption :: Lens' PutObject (Maybe ServerSideEncryption)-poServerSideEncryption =-    lens _poServerSideEncryption (\s a -> s { _poServerSideEncryption = a })+poServerSideEncryption = lens _poServerSideEncryption (\ s a -> s{_poServerSideEncryption = a}); --- | The type of storage to use for the object. Defaults to 'STANDARD'.-poStorageClass :: Lens' PutObject (Maybe StorageClass)-poStorageClass = lens _poStorageClass (\s a -> s { _poStorageClass = a })+-- | A standard MIME type describing the format of the object data.+poContentType :: Lens' PutObject (Maybe Text)+poContentType = lens _poContentType (\ s a -> s{_poContentType = a}); --- | If the bucket is configured as a website, redirects requests for this object--- to another object in the same bucket or to an external URL. Amazon S3 stores--- the value of this header in the object metadata.-poWebsiteRedirectLocation :: Lens' PutObject (Maybe Text)-poWebsiteRedirectLocation =-    lens _poWebsiteRedirectLocation-        (\s a -> s { _poWebsiteRedirectLocation = a })+-- | Undocumented member.+poBucket :: Lens' PutObject BucketName+poBucket = lens _poBucket (\ s a -> s{_poBucket = a}); -data PutObjectResponse = PutObjectResponse-    { _porETag                 :: Maybe Text-    , _porExpiration           :: Maybe Text-    , _porRequestCharged       :: Maybe RequestCharged-    , _porSSECustomerAlgorithm :: Maybe Text-    , _porSSECustomerKeyMD5    :: Maybe Text-    , _porSSEKMSKeyId          :: Maybe (Sensitive Text)-    , _porServerSideEncryption :: Maybe ServerSideEncryption-    , _porVersionId            :: Maybe Text-    } deriving (Eq, Read, Show)+-- | Undocumented member.+poKey :: Lens' PutObject ObjectKey+poKey = lens _poKey (\ s a -> s{_poKey = a}); --- | 'PutObjectResponse' constructor.+-- | Object data.+poBody :: Lens' PutObject RqBody+poBody = lens _poBody (\ s a -> s{_poBody = a});++instance AWSRequest PutObject where+        type Sv PutObject = S3+        type Rs PutObject = PutObjectResponse+        request = putBody+        response+          = receiveEmpty+              (\ s h x ->+                 PutObjectResponse' <$>+                   (h .#? "x-amz-version-id") <*> (h .#? "ETag") <*>+                     (h .#? "x-amz-request-charged")+                     <*> (h .#? "x-amz-expiration")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-algorithm")+                     <*>+                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-key-MD5")+                     <*> (h .#? "x-amz-server-side-encryption")+                     <*> (pure (fromEnum s)))++instance ToBody PutObject where+        toBody = _poBody++instance ToHeaders PutObject where+        toHeaders PutObject'{..}+          = mconcat+              ["Content-Length" =# _poContentLength,+               "Expires" =# _poExpires,+               "x-amz-server-side-encryption-customer-algorithm" =#+                 _poSSECustomerAlgorithm,+               "x-amz-grant-read-acp" =# _poGrantReadACP,+               "x-amz-server-side-encryption-customer-key" =#+                 _poSSECustomerKey,+               "x-amz-request-payer" =# _poRequestPayer,+               "x-amz-grant-write-acp" =# _poGrantWriteACP,+               "x-amz-website-redirect-location" =#+                 _poWebsiteRedirectLocation,+               "x-amz-grant-read" =# _poGrantRead,+               "x-amz-storage-class" =# _poStorageClass,+               "Content-Encoding" =# _poContentEncoding,+               "x-amz-server-side-encryption-aws-kms-key-id" =#+                 _poSSEKMSKeyId,+               "x-amz-grant-full-control" =# _poGrantFullControl,+               "x-amz-server-side-encryption-customer-key-MD5" =#+                 _poSSECustomerKeyMD5,+               "x-amz-meta-" =# _poMetadata,+               "Content-MD5" =# _poContentMD5,+               "Cache-Control" =# _poCacheControl,+               "Content-Language" =# _poContentLanguage,+               "x-amz-acl" =# _poACL,+               "Content-Disposition" =# _poContentDisposition,+               "x-amz-server-side-encryption" =#+                 _poServerSideEncryption,+               "Content-Type" =# _poContentType]++instance ToPath PutObject where+        toPath PutObject'{..}+          = mconcat ["/", toBS _poBucket, "/", toBS _poKey]++instance ToQuery PutObject where+        toQuery = const mempty++-- | /See:/ 'putObjectResponse' smart constructor.+data PutObjectResponse = PutObjectResponse'+    { _porsVersionId            :: !(Maybe ObjectVersionId)+    , _porsETag                 :: !(Maybe ETag)+    , _porsRequestCharged       :: !(Maybe RequestCharged)+    , _porsExpiration           :: !(Maybe Text)+    , _porsSSECustomerAlgorithm :: !(Maybe Text)+    , _porsSSEKMSKeyId          :: !(Maybe (Sensitive Text))+    , _porsSSECustomerKeyMD5    :: !(Maybe Text)+    , _porsServerSideEncryption :: !(Maybe ServerSideEncryption)+    , _porsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutObjectResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'porETag' @::@ 'Maybe' 'Text'+-- * 'porsVersionId' ----- * 'porExpiration' @::@ 'Maybe' 'Text'+-- * 'porsETag' ----- * 'porRequestCharged' @::@ 'Maybe' 'RequestCharged'+-- * 'porsRequestCharged' ----- * 'porSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'porsExpiration' ----- * 'porSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'porsSSECustomerAlgorithm' ----- * 'porSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'porsSSEKMSKeyId' ----- * 'porServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'porsSSECustomerKeyMD5' ----- * 'porVersionId' @::@ 'Maybe' 'Text'+-- * 'porsServerSideEncryption' ---putObjectResponse :: PutObjectResponse-putObjectResponse = PutObjectResponse-    { _porExpiration           = Nothing-    , _porETag                 = Nothing-    , _porServerSideEncryption = Nothing-    , _porVersionId            = Nothing-    , _porSSECustomerAlgorithm = Nothing-    , _porSSECustomerKeyMD5    = Nothing-    , _porSSEKMSKeyId          = Nothing-    , _porRequestCharged       = Nothing+-- * 'porsStatus'+putObjectResponse+    :: Int -- ^ 'porsStatus'+    -> PutObjectResponse+putObjectResponse pStatus_ =+    PutObjectResponse'+    { _porsVersionId = Nothing+    , _porsETag = Nothing+    , _porsRequestCharged = Nothing+    , _porsExpiration = Nothing+    , _porsSSECustomerAlgorithm = Nothing+    , _porsSSEKMSKeyId = Nothing+    , _porsSSECustomerKeyMD5 = Nothing+    , _porsServerSideEncryption = Nothing+    , _porsStatus = pStatus_     } +-- | Version of the object.+porsVersionId :: Lens' PutObjectResponse (Maybe ObjectVersionId)+porsVersionId = lens _porsVersionId (\ s a -> s{_porsVersionId = a});+ -- | Entity tag for the uploaded object.-porETag :: Lens' PutObjectResponse (Maybe Text)-porETag = lens _porETag (\s a -> s { _porETag = a })+porsETag :: Lens' PutObjectResponse (Maybe ETag)+porsETag = lens _porsETag (\ s a -> s{_porsETag = a}); --- | If the object expiration is configured, this will contain the expiration date--- (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.-porExpiration :: Lens' PutObjectResponse (Maybe Text)-porExpiration = lens _porExpiration (\s a -> s { _porExpiration = a })+-- | Undocumented member.+porsRequestCharged :: Lens' PutObjectResponse (Maybe RequestCharged)+porsRequestCharged = lens _porsRequestCharged (\ s a -> s{_porsRequestCharged = a}); -porRequestCharged :: Lens' PutObjectResponse (Maybe RequestCharged)-porRequestCharged =-    lens _porRequestCharged (\s a -> s { _porRequestCharged = a })+-- | If the object expiration is configured, this will contain the expiration+-- date (expiry-date) and rule ID (rule-id). The value of rule-id is URL+-- encoded.+porsExpiration :: Lens' PutObjectResponse (Maybe Text)+porsExpiration = lens _porsExpiration (\ s a -> s{_porsExpiration = a});  -- | If server-side encryption with a customer-provided encryption key was--- requested, the response will include this header confirming the encryption--- algorithm used.-porSSECustomerAlgorithm :: Lens' PutObjectResponse (Maybe Text)-porSSECustomerAlgorithm =-    lens _porSSECustomerAlgorithm (\s a -> s { _porSSECustomerAlgorithm = a })+-- requested, the response will include this header confirming the+-- encryption algorithm used.+porsSSECustomerAlgorithm :: Lens' PutObjectResponse (Maybe Text)+porsSSECustomerAlgorithm = lens _porsSSECustomerAlgorithm (\ s a -> s{_porsSSECustomerAlgorithm = a}); +-- | If present, specifies the ID of the AWS Key Management Service (KMS)+-- master encryption key that was used for the object.+porsSSEKMSKeyId :: Lens' PutObjectResponse (Maybe Text)+porsSSEKMSKeyId = lens _porsSSEKMSKeyId (\ s a -> s{_porsSSEKMSKeyId = a}) . mapping _Sensitive;+ -- | If server-side encryption with a customer-provided encryption key was -- requested, the response will include this header to provide round trip -- message integrity verification of the customer-provided encryption key.-porSSECustomerKeyMD5 :: Lens' PutObjectResponse (Maybe Text)-porSSECustomerKeyMD5 =-    lens _porSSECustomerKeyMD5 (\s a -> s { _porSSECustomerKeyMD5 = a })---- | If present, specifies the ID of the AWS Key Management Service (KMS) master--- encryption key that was used for the object.-porSSEKMSKeyId :: Lens' PutObjectResponse (Maybe Text)-porSSEKMSKeyId = lens _porSSEKMSKeyId (\s a -> s { _porSSEKMSKeyId = a }) . mapping _Sensitive+porsSSECustomerKeyMD5 :: Lens' PutObjectResponse (Maybe Text)+porsSSECustomerKeyMD5 = lens _porsSSECustomerKeyMD5 (\ s a -> s{_porsSSECustomerKeyMD5 = a});  -- | The Server-side encryption algorithm used when storing this object in S3 -- (e.g., AES256, aws:kms).-porServerSideEncryption :: Lens' PutObjectResponse (Maybe ServerSideEncryption)-porServerSideEncryption =-    lens _porServerSideEncryption (\s a -> s { _porServerSideEncryption = a })---- | Version of the object.-porVersionId :: Lens' PutObjectResponse (Maybe Text)-porVersionId = lens _porVersionId (\s a -> s { _porVersionId = a })--instance ToPath PutObject where-    toPath PutObject{..} = mconcat-        [ "/"-        , toText _poBucket-        , "/"-        , toText _poKey-        ]--instance ToQuery PutObject where-    toQuery = const mempty--instance ToHeaders PutObject where-    toHeaders PutObject{..} = mconcat-        [ "x-amz-acl"                                       =: _poACL-        , "Cache-Control"                                   =: _poCacheControl-        , "Content-Disposition"                             =: _poContentDisposition-        , "Content-Encoding"                                =: _poContentEncoding-        , "Content-Language"                                =: _poContentLanguage-        , "Content-Length"                                  =: _poContentLength-        , "Content-MD5"                                     =: _poContentMD5-        , "Content-Type"                                    =: _poContentType-        , "Expires"                                         =: _poExpires-        , "x-amz-grant-full-control"                        =: _poGrantFullControl-        , "x-amz-grant-read"                                =: _poGrantRead-        , "x-amz-grant-read-acp"                            =: _poGrantReadACP-        , "x-amz-grant-write-acp"                           =: _poGrantWriteACP-        , "x-amz-meta-"                                     =: _poMetadata-        , "x-amz-server-side-encryption"                    =: _poServerSideEncryption-        , "x-amz-storage-class"                             =: _poStorageClass-        , "x-amz-website-redirect-location"                 =: _poWebsiteRedirectLocation-        , "x-amz-server-side-encryption-customer-algorithm" =: _poSSECustomerAlgorithm-        , "x-amz-server-side-encryption-customer-key"       =: _poSSECustomerKey-        , "x-amz-server-side-encryption-customer-key-MD5"   =: _poSSECustomerKeyMD5-        , "x-amz-server-side-encryption-aws-kms-key-id"     =: _poSSEKMSKeyId-        , "x-amz-request-payer"                             =: _poRequestPayer-        ]--instance ToBody PutObject where-    toBody = toBody . _poBody--instance AWSRequest PutObject where-    type Sv PutObject = S3-    type Rs PutObject = PutObjectResponse+porsServerSideEncryption :: Lens' PutObjectResponse (Maybe ServerSideEncryption)+porsServerSideEncryption = lens _porsServerSideEncryption (\ s a -> s{_porsServerSideEncryption = a}); -    request  = stream PUT-    response = headerResponse $ \h -> PutObjectResponse-        <$> h ~:? "ETag"-        <*> h ~:? "x-amz-expiration"-        <*> h ~:? "x-amz-request-charged"-        <*> h ~:? "x-amz-server-side-encryption-customer-algorithm"-        <*> h ~:? "x-amz-server-side-encryption-customer-key-MD5"-        <*> h ~:? "x-amz-server-side-encryption-aws-kms-key-id"-        <*> h ~:? "x-amz-server-side-encryption"-        <*> h ~:? "x-amz-version-id"+-- | The response status code.+porsStatus :: Lens' PutObjectResponse Int+porsStatus = lens _porsStatus (\ s a -> s{_porsStatus = a});
+ gen/Network/AWS/S3/PutObjectACL.hs view
@@ -0,0 +1,227 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.PutObjectACL+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- uses the acl subresource to set the access control list (ACL)+-- permissions for an object that already exists in a bucket+--+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutObjectACL.html AWS API Reference> for PutObjectACL.+module Network.AWS.S3.PutObjectACL+    (+    -- * Creating a Request+      putObjectACL+    , PutObjectACL+    -- * Request Lenses+    , poaGrantReadACP+    , poaRequestPayer+    , poaGrantWriteACP+    , poaGrantRead+    , poaGrantFullControl+    , poaContentMD5+    , poaAccessControlPolicy+    , poaGrantWrite+    , poaACL+    , poaBucket+    , poaKey++    -- * Destructuring the Response+    , putObjectACLResponse+    , PutObjectACLResponse+    -- * Response Lenses+    , poarsRequestCharged+    , poarsStatus+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product++-- | /See:/ 'putObjectACL' smart constructor.+data PutObjectACL = PutObjectACL'+    { _poaGrantReadACP        :: !(Maybe Text)+    , _poaRequestPayer        :: !(Maybe RequestPayer)+    , _poaGrantWriteACP       :: !(Maybe Text)+    , _poaGrantRead           :: !(Maybe Text)+    , _poaGrantFullControl    :: !(Maybe Text)+    , _poaContentMD5          :: !(Maybe Text)+    , _poaAccessControlPolicy :: !(Maybe AccessControlPolicy)+    , _poaGrantWrite          :: !(Maybe Text)+    , _poaACL                 :: !(Maybe ObjectCannedACL)+    , _poaBucket              :: !BucketName+    , _poaKey                 :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutObjectACL' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'poaGrantReadACP'+--+-- * 'poaRequestPayer'+--+-- * 'poaGrantWriteACP'+--+-- * 'poaGrantRead'+--+-- * 'poaGrantFullControl'+--+-- * 'poaContentMD5'+--+-- * 'poaAccessControlPolicy'+--+-- * 'poaGrantWrite'+--+-- * 'poaACL'+--+-- * 'poaBucket'+--+-- * 'poaKey'+putObjectACL+    :: BucketName -- ^ 'poaBucket'+    -> ObjectKey -- ^ 'poaKey'+    -> PutObjectACL+putObjectACL pBucket_ pKey_ =+    PutObjectACL'+    { _poaGrantReadACP = Nothing+    , _poaRequestPayer = Nothing+    , _poaGrantWriteACP = Nothing+    , _poaGrantRead = Nothing+    , _poaGrantFullControl = Nothing+    , _poaContentMD5 = Nothing+    , _poaAccessControlPolicy = Nothing+    , _poaGrantWrite = Nothing+    , _poaACL = Nothing+    , _poaBucket = pBucket_+    , _poaKey = pKey_+    }++-- | Allows grantee to read the bucket ACL.+poaGrantReadACP :: Lens' PutObjectACL (Maybe Text)+poaGrantReadACP = lens _poaGrantReadACP (\ s a -> s{_poaGrantReadACP = a});++-- | Undocumented member.+poaRequestPayer :: Lens' PutObjectACL (Maybe RequestPayer)+poaRequestPayer = lens _poaRequestPayer (\ s a -> s{_poaRequestPayer = a});++-- | Allows grantee to write the ACL for the applicable bucket.+poaGrantWriteACP :: Lens' PutObjectACL (Maybe Text)+poaGrantWriteACP = lens _poaGrantWriteACP (\ s a -> s{_poaGrantWriteACP = a});++-- | Allows grantee to list the objects in the bucket.+poaGrantRead :: Lens' PutObjectACL (Maybe Text)+poaGrantRead = lens _poaGrantRead (\ s a -> s{_poaGrantRead = a});++-- | Allows grantee the read, write, read ACP, and write ACP permissions on+-- the bucket.+poaGrantFullControl :: Lens' PutObjectACL (Maybe Text)+poaGrantFullControl = lens _poaGrantFullControl (\ s a -> s{_poaGrantFullControl = a});++-- | Undocumented member.+poaContentMD5 :: Lens' PutObjectACL (Maybe Text)+poaContentMD5 = lens _poaContentMD5 (\ s a -> s{_poaContentMD5 = a});++-- | Undocumented member.+poaAccessControlPolicy :: Lens' PutObjectACL (Maybe AccessControlPolicy)+poaAccessControlPolicy = lens _poaAccessControlPolicy (\ s a -> s{_poaAccessControlPolicy = a});++-- | Allows grantee to create, overwrite, and delete any object in the+-- bucket.+poaGrantWrite :: Lens' PutObjectACL (Maybe Text)+poaGrantWrite = lens _poaGrantWrite (\ s a -> s{_poaGrantWrite = a});++-- | The canned ACL to apply to the object.+poaACL :: Lens' PutObjectACL (Maybe ObjectCannedACL)+poaACL = lens _poaACL (\ s a -> s{_poaACL = a});++-- | Undocumented member.+poaBucket :: Lens' PutObjectACL BucketName+poaBucket = lens _poaBucket (\ s a -> s{_poaBucket = a});++-- | Undocumented member.+poaKey :: Lens' PutObjectACL ObjectKey+poaKey = lens _poaKey (\ s a -> s{_poaKey = a});++instance AWSRequest PutObjectACL where+        type Sv PutObjectACL = S3+        type Rs PutObjectACL = PutObjectACLResponse+        request = putXML+        response+          = receiveEmpty+              (\ s h x ->+                 PutObjectACLResponse' <$>+                   (h .#? "x-amz-request-charged") <*>+                     (pure (fromEnum s)))++instance ToElement PutObjectACL where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}AccessControlPolicy"+              .+              _poaAccessControlPolicy++instance ToHeaders PutObjectACL where+        toHeaders PutObjectACL'{..}+          = mconcat+              ["x-amz-grant-read-acp" =# _poaGrantReadACP,+               "x-amz-request-payer" =# _poaRequestPayer,+               "x-amz-grant-write-acp" =# _poaGrantWriteACP,+               "x-amz-grant-read" =# _poaGrantRead,+               "x-amz-grant-full-control" =# _poaGrantFullControl,+               "Content-MD5" =# _poaContentMD5,+               "x-amz-grant-write" =# _poaGrantWrite,+               "x-amz-acl" =# _poaACL]++instance ToPath PutObjectACL where+        toPath PutObjectACL'{..}+          = mconcat ["/", toBS _poaBucket, "/", toBS _poaKey]++instance ToQuery PutObjectACL where+        toQuery = const (mconcat ["acl"])++-- | /See:/ 'putObjectACLResponse' smart constructor.+data PutObjectACLResponse = PutObjectACLResponse'+    { _poarsRequestCharged :: !(Maybe RequestCharged)+    , _poarsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PutObjectACLResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'poarsRequestCharged'+--+-- * 'poarsStatus'+putObjectACLResponse+    :: Int -- ^ 'poarsStatus'+    -> PutObjectACLResponse+putObjectACLResponse pStatus_ =+    PutObjectACLResponse'+    { _poarsRequestCharged = Nothing+    , _poarsStatus = pStatus_+    }++-- | Undocumented member.+poarsRequestCharged :: Lens' PutObjectACLResponse (Maybe RequestCharged)+poarsRequestCharged = lens _poarsRequestCharged (\ s a -> s{_poarsRequestCharged = a});++-- | The response status code.+poarsStatus :: Lens' PutObjectACLResponse Int+poarsStatus = lens _poarsStatus (\ s a -> s{_poarsStatus = a});
− gen/Network/AWS/S3/PutObjectAcl.hs
@@ -1,213 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.PutObjectAcl--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | uses the acl subresource to set the access control list (ACL) permissions for--- an object that already exists in a bucket------ <http://docs.aws.amazon.com/AmazonS3/latest/API/PutObjectAcl.html>-module Network.AWS.S3.PutObjectAcl-    (-    -- * Request-      PutObjectAcl-    -- ** Request constructor-    , putObjectAcl-    -- ** Request lenses-    , poaACL-    , poaAccessControlPolicy-    , poaBucket-    , poaContentMD5-    , poaGrantFullControl-    , poaGrantRead-    , poaGrantReadACP-    , poaGrantWrite-    , poaGrantWriteACP-    , poaKey-    , poaRequestPayer--    -- * Response-    , PutObjectAclResponse-    -- ** Response constructor-    , putObjectAclResponse-    -- ** Response lenses-    , poarRequestCharged-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts--data PutObjectAcl = PutObjectAcl-    { _poaACL                 :: Maybe ObjectCannedACL-    , _poaAccessControlPolicy :: Maybe AccessControlPolicy-    , _poaBucket              :: Text-    , _poaContentMD5          :: Maybe Text-    , _poaGrantFullControl    :: Maybe Text-    , _poaGrantRead           :: Maybe Text-    , _poaGrantReadACP        :: Maybe Text-    , _poaGrantWrite          :: Maybe Text-    , _poaGrantWriteACP       :: Maybe Text-    , _poaKey                 :: Text-    , _poaRequestPayer        :: Maybe RequestPayer-    } deriving (Eq, Read, Show)---- | 'PutObjectAcl' constructor.------ The fields accessible through corresponding lenses are:------ * 'poaACL' @::@ 'Maybe' 'ObjectCannedACL'------ * 'poaAccessControlPolicy' @::@ 'Maybe' 'AccessControlPolicy'------ * 'poaBucket' @::@ 'Text'------ * 'poaContentMD5' @::@ 'Maybe' 'Text'------ * 'poaGrantFullControl' @::@ 'Maybe' 'Text'------ * 'poaGrantRead' @::@ 'Maybe' 'Text'------ * 'poaGrantReadACP' @::@ 'Maybe' 'Text'------ * 'poaGrantWrite' @::@ 'Maybe' 'Text'------ * 'poaGrantWriteACP' @::@ 'Maybe' 'Text'------ * 'poaKey' @::@ 'Text'------ * 'poaRequestPayer' @::@ 'Maybe' 'RequestPayer'----putObjectAcl :: Text -- ^ 'poaBucket'-             -> Text -- ^ 'poaKey'-             -> PutObjectAcl-putObjectAcl p1 p2 = PutObjectAcl-    { _poaBucket              = p1-    , _poaKey                 = p2-    , _poaACL                 = Nothing-    , _poaAccessControlPolicy = Nothing-    , _poaContentMD5          = Nothing-    , _poaGrantFullControl    = Nothing-    , _poaGrantRead           = Nothing-    , _poaGrantReadACP        = Nothing-    , _poaGrantWrite          = Nothing-    , _poaGrantWriteACP       = Nothing-    , _poaRequestPayer        = Nothing-    }---- | The canned ACL to apply to the object.-poaACL :: Lens' PutObjectAcl (Maybe ObjectCannedACL)-poaACL = lens _poaACL (\s a -> s { _poaACL = a })--poaAccessControlPolicy :: Lens' PutObjectAcl (Maybe AccessControlPolicy)-poaAccessControlPolicy =-    lens _poaAccessControlPolicy (\s a -> s { _poaAccessControlPolicy = a })--poaBucket :: Lens' PutObjectAcl Text-poaBucket = lens _poaBucket (\s a -> s { _poaBucket = a })--poaContentMD5 :: Lens' PutObjectAcl (Maybe Text)-poaContentMD5 = lens _poaContentMD5 (\s a -> s { _poaContentMD5 = a })---- | Allows grantee the read, write, read ACP, and write ACP permissions on the--- bucket.-poaGrantFullControl :: Lens' PutObjectAcl (Maybe Text)-poaGrantFullControl =-    lens _poaGrantFullControl (\s a -> s { _poaGrantFullControl = a })---- | Allows grantee to list the objects in the bucket.-poaGrantRead :: Lens' PutObjectAcl (Maybe Text)-poaGrantRead = lens _poaGrantRead (\s a -> s { _poaGrantRead = a })---- | Allows grantee to read the bucket ACL.-poaGrantReadACP :: Lens' PutObjectAcl (Maybe Text)-poaGrantReadACP = lens _poaGrantReadACP (\s a -> s { _poaGrantReadACP = a })---- | Allows grantee to create, overwrite, and delete any object in the bucket.-poaGrantWrite :: Lens' PutObjectAcl (Maybe Text)-poaGrantWrite = lens _poaGrantWrite (\s a -> s { _poaGrantWrite = a })---- | Allows grantee to write the ACL for the applicable bucket.-poaGrantWriteACP :: Lens' PutObjectAcl (Maybe Text)-poaGrantWriteACP = lens _poaGrantWriteACP (\s a -> s { _poaGrantWriteACP = a })--poaKey :: Lens' PutObjectAcl Text-poaKey = lens _poaKey (\s a -> s { _poaKey = a })--poaRequestPayer :: Lens' PutObjectAcl (Maybe RequestPayer)-poaRequestPayer = lens _poaRequestPayer (\s a -> s { _poaRequestPayer = a })--newtype PutObjectAclResponse = PutObjectAclResponse-    { _poarRequestCharged :: Maybe RequestCharged-    } deriving (Eq, Read, Show)---- | 'PutObjectAclResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'poarRequestCharged' @::@ 'Maybe' 'RequestCharged'----putObjectAclResponse :: PutObjectAclResponse-putObjectAclResponse = PutObjectAclResponse-    { _poarRequestCharged = Nothing-    }--poarRequestCharged :: Lens' PutObjectAclResponse (Maybe RequestCharged)-poarRequestCharged =-    lens _poarRequestCharged (\s a -> s { _poarRequestCharged = a })--instance ToPath PutObjectAcl where-    toPath PutObjectAcl{..} = mconcat-        [ "/"-        , toText _poaBucket-        , "/"-        , toText _poaKey-        ]--instance ToQuery PutObjectAcl where-    toQuery = const "acl"--instance ToHeaders PutObjectAcl where-    toHeaders PutObjectAcl{..} = mconcat-        [ "x-amz-acl"                =: _poaACL-        , "Content-MD5"              =: _poaContentMD5-        , "x-amz-grant-full-control" =: _poaGrantFullControl-        , "x-amz-grant-read"         =: _poaGrantRead-        , "x-amz-grant-read-acp"     =: _poaGrantReadACP-        , "x-amz-grant-write"        =: _poaGrantWrite-        , "x-amz-grant-write-acp"    =: _poaGrantWriteACP-        , "x-amz-request-payer"      =: _poaRequestPayer-        ]--instance ToXMLRoot PutObjectAcl where-    toXMLRoot = extractRoot ns . toXML . _poaAccessControlPolicy--instance ToXML PutObjectAcl--instance AWSRequest PutObjectAcl where-    type Sv PutObjectAcl = S3-    type Rs PutObjectAcl = PutObjectAclResponse--    request  = put-    response = headerResponse $ \h -> PutObjectAclResponse-        <$> h ~:? "x-amz-request-charged"
gen/Network/AWS/S3/RestoreObject.hs view
@@ -1,151 +1,163 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.RestoreObject--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Restores an archived copy of an object back into Amazon S3+-- Restores an archived copy of an object back into Amazon S3 ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/RestoreObject.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/RestoreObject.html AWS API Reference> for RestoreObject. module Network.AWS.S3.RestoreObject     (-    -- * Request-      RestoreObject-    -- ** Request constructor-    , restoreObject-    -- ** Request lenses-    , roBucket-    , roKey+    -- * Creating a Request+      restoreObject+    , RestoreObject+    -- * Request Lenses+    , roVersionId     , roRequestPayer     , roRestoreRequest-    , roVersionId+    , roBucket+    , roKey -    -- * Response-    , RestoreObjectResponse-    -- ** Response constructor+    -- * Destructuring the Response     , restoreObjectResponse-    -- ** Response lenses-    , rorRequestCharged+    , RestoreObjectResponse+    -- * Response Lenses+    , rorsRequestCharged+    , rorsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data RestoreObject = RestoreObject-    { _roBucket         :: Text-    , _roKey            :: Text-    , _roRequestPayer   :: Maybe RequestPayer-    , _roRestoreRequest :: Maybe RestoreRequest-    , _roVersionId      :: Maybe Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'restoreObject' smart constructor.+data RestoreObject = RestoreObject'+    { _roVersionId      :: !(Maybe ObjectVersionId)+    , _roRequestPayer   :: !(Maybe RequestPayer)+    , _roRestoreRequest :: !(Maybe RestoreRequest)+    , _roBucket         :: !BucketName+    , _roKey            :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RestoreObject' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RestoreObject' with the minimum fields required to make a request. ----- * 'roBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'roKey' @::@ 'Text'+-- * 'roVersionId' ----- * 'roRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'roRequestPayer' ----- * 'roRestoreRequest' @::@ 'Maybe' 'RestoreRequest'+-- * 'roRestoreRequest' ----- * 'roVersionId' @::@ 'Maybe' 'Text'+-- * 'roBucket' ---restoreObject :: Text -- ^ 'roBucket'-              -> Text -- ^ 'roKey'-              -> RestoreObject-restoreObject p1 p2 = RestoreObject-    { _roBucket         = p1-    , _roKey            = p2-    , _roVersionId      = Nothing+-- * 'roKey'+restoreObject+    :: BucketName -- ^ 'roBucket'+    -> ObjectKey -- ^ 'roKey'+    -> RestoreObject+restoreObject pBucket_ pKey_ =+    RestoreObject'+    { _roVersionId = Nothing+    , _roRequestPayer = Nothing     , _roRestoreRequest = Nothing-    , _roRequestPayer   = Nothing+    , _roBucket = pBucket_+    , _roKey = pKey_     } -roBucket :: Lens' RestoreObject Text-roBucket = lens _roBucket (\s a -> s { _roBucket = a })--roKey :: Lens' RestoreObject Text-roKey = lens _roKey (\s a -> s { _roKey = a })+-- | Undocumented member.+roVersionId :: Lens' RestoreObject (Maybe ObjectVersionId)+roVersionId = lens _roVersionId (\ s a -> s{_roVersionId = a}); +-- | Undocumented member. roRequestPayer :: Lens' RestoreObject (Maybe RequestPayer)-roRequestPayer = lens _roRequestPayer (\s a -> s { _roRequestPayer = a })+roRequestPayer = lens _roRequestPayer (\ s a -> s{_roRequestPayer = a}); +-- | Undocumented member. roRestoreRequest :: Lens' RestoreObject (Maybe RestoreRequest)-roRestoreRequest = lens _roRestoreRequest (\s a -> s { _roRestoreRequest = a })+roRestoreRequest = lens _roRestoreRequest (\ s a -> s{_roRestoreRequest = a}); -roVersionId :: Lens' RestoreObject (Maybe Text)-roVersionId = lens _roVersionId (\s a -> s { _roVersionId = a })+-- | Undocumented member.+roBucket :: Lens' RestoreObject BucketName+roBucket = lens _roBucket (\ s a -> s{_roBucket = a}); -newtype RestoreObjectResponse = RestoreObjectResponse-    { _rorRequestCharged :: Maybe RequestCharged-    } deriving (Eq, Read, Show)+-- | Undocumented member.+roKey :: Lens' RestoreObject ObjectKey+roKey = lens _roKey (\ s a -> s{_roKey = a}); --- | 'RestoreObjectResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rorRequestCharged' @::@ 'Maybe' 'RequestCharged'----restoreObjectResponse :: RestoreObjectResponse-restoreObjectResponse = RestoreObjectResponse-    { _rorRequestCharged = Nothing-    }+instance AWSRequest RestoreObject where+        type Sv RestoreObject = S3+        type Rs RestoreObject = RestoreObjectResponse+        request = postXML+        response+          = receiveEmpty+              (\ s h x ->+                 RestoreObjectResponse' <$>+                   (h .#? "x-amz-request-charged") <*>+                     (pure (fromEnum s))) -rorRequestCharged :: Lens' RestoreObjectResponse (Maybe RequestCharged)-rorRequestCharged =-    lens _rorRequestCharged (\s a -> s { _rorRequestCharged = a })+instance ToElement RestoreObject where+        toElement+          = mkElement+              "{http://s3.amazonaws.com/doc/2006-03-01/}RestoreRequest"+              .+              _roRestoreRequest +instance ToHeaders RestoreObject where+        toHeaders RestoreObject'{..}+          = mconcat ["x-amz-request-payer" =# _roRequestPayer]+ instance ToPath RestoreObject where-    toPath RestoreObject{..} = mconcat-        [ "/"-        , toText _roBucket-        , "/"-        , toText _roKey-        ]+        toPath RestoreObject'{..}+          = mconcat ["/", toBS _roBucket, "/", toBS _roKey]  instance ToQuery RestoreObject where-    toQuery RestoreObject{..} = mconcat-        [ "restore"-        , "versionId" =? _roVersionId-        ]--instance ToHeaders RestoreObject where-    toHeaders RestoreObject{..} = mconcat-        [ "x-amz-request-payer" =: _roRequestPayer-        ]+        toQuery RestoreObject'{..}+          = mconcat ["versionId" =: _roVersionId, "restore"] -instance ToXMLRoot RestoreObject where-    toXMLRoot = extractRoot ns . toXML . _roRestoreRequest+-- | /See:/ 'restoreObjectResponse' smart constructor.+data RestoreObjectResponse = RestoreObjectResponse'+    { _rorsRequestCharged :: !(Maybe RequestCharged)+    , _rorsStatus         :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance ToXML RestoreObject+-- | Creates a value of 'RestoreObjectResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rorsRequestCharged'+--+-- * 'rorsStatus'+restoreObjectResponse+    :: Int -- ^ 'rorsStatus'+    -> RestoreObjectResponse+restoreObjectResponse pStatus_ =+    RestoreObjectResponse'+    { _rorsRequestCharged = Nothing+    , _rorsStatus = pStatus_+    } -instance AWSRequest RestoreObject where-    type Sv RestoreObject = S3-    type Rs RestoreObject = RestoreObjectResponse+-- | Undocumented member.+rorsRequestCharged :: Lens' RestoreObjectResponse (Maybe RequestCharged)+rorsRequestCharged = lens _rorsRequestCharged (\ s a -> s{_rorsRequestCharged = a}); -    request  = post-    response = headerResponse $ \h -> RestoreObjectResponse-        <$> h ~:? "x-amz-request-charged"+-- | The response status code.+rorsStatus :: Lens' RestoreObjectResponse Int+rorsStatus = lens _rorsStatus (\ s a -> s{_rorsStatus = a});
gen/Network/AWS/S3/Types.hs view
@@ -1,3860 +1,509 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}-{-# LANGUAGE ViewPatterns                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.S3.Types--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.--module Network.AWS.S3.Types-    (-    -- * Service-      S3-    -- ** Error-    , RESTError-    -- ** XML-    , ns--    -- * GetBucketNotificationConfigurationRequest-    , GetBucketNotificationConfigurationRequest-    , getBucketNotificationConfigurationRequest-    , gbncBucket--    -- * ReplicationConfiguration-    , ReplicationConfiguration-    , replicationConfiguration-    , rcRole-    , rcRules--    -- * Destination-    , Destination-    , destination-    , dBucket--    -- * Event-    , Event (..)--    -- * RequestCharged-    , RequestCharged (..)--    -- * NoncurrentVersionExpiration-    , NoncurrentVersionExpiration-    , noncurrentVersionExpiration-    , nveNoncurrentDays--    -- * Transition-    , Transition-    , transition-    , tDate-    , tDays-    , tStorageClass--    -- * DeleteMarkerEntry-    , DeleteMarkerEntry-    , deleteMarkerEntry-    , dmeIsLatest-    , dmeKey-    , dmeLastModified-    , dmeOwner-    , dmeVersionId--    -- * ExpirationStatus-    , ExpirationStatus (..)--    -- * Part-    , Part-    , part-    , pETag-    , pLastModified-    , pPartNumber-    , pSize--    -- * VersioningConfiguration-    , VersioningConfiguration-    , versioningConfiguration-    , vcMFADelete-    , vcStatus--    -- * Tag-    , Tag-    , tag-    , tagKey-    , tagValue--    -- * ObjectStorageClass-    , ObjectStorageClass (..)--    -- * MetadataDirective-    , MetadataDirective (..)--    -- * ReplicationRule-    , ReplicationRule-    , replicationRule-    , rrDestination-    , rrID-    , rrPrefix-    , rrStatus--    -- * RedirectAllRequestsTo-    , RedirectAllRequestsTo-    , redirectAllRequestsTo-    , rartHostName-    , rartProtocol--    -- * RoutingRule-    , RoutingRule-    , routingRule-    , rrCondition-    , rrRedirect--    -- * NotificationConfiguration-    , NotificationConfiguration-    , notificationConfiguration-    , ncLambdaFunctionConfigurations-    , ncQueueConfigurations-    , ncTopicConfigurations--    -- * S3ServiceError-    , S3ServiceError-    , s3ServiceError-    , sseCode-    , sseKey-    , sseMessage-    , sseVersionId--    -- * ObjectCannedACL-    , ObjectCannedACL (..)--    -- * BucketVersioningStatus-    , BucketVersioningStatus (..)--    -- * DeletedObject-    , DeletedObject-    , deletedObject-    , do1DeleteMarker-    , do1DeleteMarkerVersionId-    , do1Key-    , do1VersionId--    -- * ObjectVersionStorageClass-    , ObjectVersionStorageClass (..)--    -- * CopyPartResult-    , CopyPartResult-    , copyPartResult-    , cprETag-    , cprLastModified--    -- * EncodingType-    , EncodingType (..)--    -- * RequestPaymentConfiguration-    , RequestPaymentConfiguration-    , requestPaymentConfiguration-    , rpcPayer--    -- * CORSRule-    , CORSRule-    , corsrule-    , corsrAllowedHeaders-    , corsrAllowedMethods-    , corsrAllowedOrigins-    , corsrExposeHeaders-    , corsrMaxAgeSeconds--    -- * WebsiteConfiguration-    , WebsiteConfiguration-    , websiteConfiguration-    , wcErrorDocument-    , wcIndexDocument-    , wcRedirectAllRequestsTo-    , wcRoutingRules--    -- * NoncurrentVersionTransition-    , NoncurrentVersionTransition-    , noncurrentVersionTransition-    , nvtNoncurrentDays-    , nvtStorageClass--    -- * Initiator-    , Initiator-    , initiator-    , iDisplayName-    , iID--    -- * ObjectIdentifier-    , ObjectIdentifier-    , objectIdentifier-    , oiKey-    , oiVersionId--    -- * Bucket-    , Bucket-    , bucket-    , bCreationDate-    , bName--    -- * Protocol-    , Protocol (..)--    -- * Grant-    , Grant-    , grant-    , gGrantee-    , gPermission--    -- * Rule-    , Rule-    , rule-    , rExpiration-    , rID-    , rNoncurrentVersionExpiration-    , rNoncurrentVersionTransition-    , rPrefix-    , rStatus-    , rTransition--    -- * RequestPayer-    , RequestPayer (..)--    -- * TopicConfiguration-    , TopicConfiguration-    , topicConfiguration-    , tcEvents-    , tcId-    , tcTopicArn--    -- * QueueConfiguration-    , QueueConfiguration-    , queueConfiguration-    , qcEvents-    , qcId-    , qcQueueArn--    -- * Owner-    , Owner-    , owner-    , oDisplayName-    , oID--    -- * BucketLoggingStatus-    , BucketLoggingStatus-    , bucketLoggingStatus-    , blsLoggingEnabled--    -- * NotificationConfigurationDeprecated-    , NotificationConfigurationDeprecated-    , notificationConfigurationDeprecated-    , ncdCloudFunctionConfiguration-    , ncdQueueConfiguration-    , ncdTopicConfiguration--    -- * ErrorDocument-    , ErrorDocument-    , errorDocument-    , edKey--    -- * StorageClass-    , StorageClass (..)--    -- * ObjectVersion-    , ObjectVersion-    , objectVersion-    , ovETag-    , ovIsLatest-    , ovKey-    , ovLastModified-    , ovOwner-    , ovSize-    , ovStorageClass-    , ovVersionId--    -- * TargetGrant-    , TargetGrant-    , targetGrant-    , tgGrantee-    , tgPermission--    -- * MFADeleteStatus-    , MFADeleteStatus (..)--    -- * Payer-    , Payer (..)--    -- * Redirect-    , Redirect-    , redirect-    , rHostName-    , rHttpRedirectCode-    , rProtocol-    , rReplaceKeyPrefixWith-    , rReplaceKeyWith--    -- * BucketLogsPermission-    , BucketLogsPermission (..)--    -- * CompletedPart-    , CompletedPart-    , completedPart-    , cpETag-    , cpPartNumber--    -- * CreateBucketConfiguration-    , CreateBucketConfiguration-    , createBucketConfiguration-    , cbcLocationConstraint--    -- * Tagging-    , Tagging-    , tagging-    , tTagSet--    -- * LifecycleExpiration-    , LifecycleExpiration-    , lifecycleExpiration-    , leDate-    , leDays--    -- * CORSConfiguration-    , CORSConfiguration-    , corsconfiguration-    , corscCORSRules--    -- * Object-    , Object-    , object'-    , oETag-    , oKey-    , oLastModified-    , oOwner-    , oSize-    , oStorageClass--    -- * CommonPrefix-    , CommonPrefix-    , commonPrefix-    , cpPrefix--    -- * MultipartUpload-    , MultipartUpload-    , multipartUpload-    , muInitiated-    , muInitiator-    , muKey-    , muOwner-    , muStorageClass-    , muUploadId--    -- * LambdaFunctionConfiguration-    , LambdaFunctionConfiguration-    , lambdaFunctionConfiguration-    , lfcEvents-    , lfcId-    , lfcLambdaFunctionArn--    -- * QueueConfigurationDeprecated-    , QueueConfigurationDeprecated-    , queueConfigurationDeprecated-    , qcdEvent-    , qcdEvents-    , qcdId-    , qcdQueue--    -- * TopicConfigurationDeprecated-    , TopicConfigurationDeprecated-    , topicConfigurationDeprecated-    , tcdEvent-    , tcdEvents-    , tcdId-    , tcdTopic--    -- * Type-    , Type (..)--    -- * ReplicationStatus-    , ReplicationStatus (..)--    -- * TransitionStorageClass-    , TransitionStorageClass (..)--    -- * CompletedMultipartUpload-    , CompletedMultipartUpload-    , completedMultipartUpload-    , cmuParts--    -- * Condition-    , Condition-    , condition-    , cHttpErrorCodeReturnedEquals-    , cKeyPrefixEquals--    -- * Permission-    , Permission (..)--    -- * AccessControlPolicy-    , AccessControlPolicy-    , accessControlPolicy-    , acpGrants-    , acpOwner--    -- * BucketCannedACL-    , BucketCannedACL (..)--    -- * MFADelete-    , MFADelete (..)--    -- * CloudFunctionConfiguration-    , CloudFunctionConfiguration-    , cloudFunctionConfiguration-    , cfcCloudFunction-    , cfcEvent-    , cfcEvents-    , cfcId-    , cfcInvocationRole--    -- * Grantee-    , Grantee-    , grantee-    , gDisplayName-    , gEmailAddress-    , gID-    , gType-    , gURI--    -- * LifecycleConfiguration-    , LifecycleConfiguration-    , lifecycleConfiguration-    , lcRules--    -- * LoggingEnabled-    , LoggingEnabled-    , loggingEnabled-    , leTargetBucket-    , leTargetGrants-    , leTargetPrefix--    -- * ReplicationRuleStatus-    , ReplicationRuleStatus (..)--    -- * ServerSideEncryption-    , ServerSideEncryption (..)--    -- * IndexDocument-    , IndexDocument-    , indexDocument-    , idSuffix--    -- * CopyObjectResult-    , CopyObjectResult-    , copyObjectResult-    , corETag-    , corLastModified--    -- * Delete-    , Delete-    , delete'-    , dObjects-    , dQuiet--    -- * RestoreRequest-    , RestoreRequest-    , restoreRequest-    , rDays--    -- * Common-    , module Network.AWS.S3.Internal-    ) where--import Network.AWS.Prelude-import Network.AWS.Signing-import Network.AWS.S3.Internal-import qualified GHC.Exts---- | Version @2006-03-01@ of the Amazon Simple Storage Service service.-data S3--instance AWSService S3 where-    type Sg S3 = V4-    type Er S3 = RESTError--    service = service'-      where-        service' :: Service S3-        service' = Service-            { _svcAbbrev       = "S3"-            , _svcPrefix       = "s3"-            , _svcVersion      = "2006-03-01"-            , _svcTargetPrefix = Nothing-            , _svcJSONVersion  = Nothing-            , _svcHandle       = handle-            , _svcRetry        = retry-            }--        handle :: Status-               -> Maybe (LazyByteString -> ServiceError RESTError)-        handle = restError statusSuccess service'--        retry :: Retry S3-        retry = Exponential-            { _retryBase     = 0.05-            , _retryGrowth   = 2-            , _retryAttempts = 5-            , _retryCheck    = check-            }--        check :: Status-              -> RESTError-              -> Bool-        check (statusCode -> s) (awsErrorCode -> e)-            | s == 400 && (Just "RequestTimeout") == e = True -- Timeouts-            | s == 500  = True -- General Server Error-            | s == 509  = True -- Limit Exceeded-            | s == 503  = True -- Service Unavailable-            | otherwise = False--ns :: Text-ns = "http://s3.amazonaws.com/doc/2006-03-01/"-{-# INLINE ns #-}--newtype GetBucketNotificationConfigurationRequest = GetBucketNotificationConfigurationRequest-    { _gbncBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'GetBucketNotificationConfigurationRequest' constructor.------ The fields accessible through corresponding lenses are:------ * 'gbncBucket' @::@ 'Text'----getBucketNotificationConfigurationRequest :: Text -- ^ 'gbncBucket'-                                          -> GetBucketNotificationConfigurationRequest-getBucketNotificationConfigurationRequest p1 = GetBucketNotificationConfigurationRequest-    { _gbncBucket = p1-    }---- | Name of the buket to get the notification configuration for.-gbncBucket :: Lens' GetBucketNotificationConfigurationRequest Text-gbncBucket = lens _gbncBucket (\s a -> s { _gbncBucket = a })--instance FromXML GetBucketNotificationConfigurationRequest where-    parseXML x = GetBucketNotificationConfigurationRequest-        <$> x .@  "Bucket"--instance ToXMLRoot GetBucketNotificationConfigurationRequest where-    toXMLRoot = const (namespaced ns "GetBucketNotificationConfigurationRequest" [])--instance ToXML GetBucketNotificationConfigurationRequest--data ReplicationConfiguration = ReplicationConfiguration-    { _rcRole  :: Text-    , _rcRules :: List "Rule" ReplicationRule-    } deriving (Eq, Read, Show)---- | 'ReplicationConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'rcRole' @::@ 'Text'------ * 'rcRules' @::@ ['ReplicationRule']----replicationConfiguration :: Text -- ^ 'rcRole'-                         -> ReplicationConfiguration-replicationConfiguration p1 = ReplicationConfiguration-    { _rcRole  = p1-    , _rcRules = mempty-    }---- | Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when--- replicating the objects.-rcRole :: Lens' ReplicationConfiguration Text-rcRole = lens _rcRole (\s a -> s { _rcRole = a })---- | Container for information about a particular replication rule. Replication--- configuration must have at least one rule and can contain up to 1,000 rules.-rcRules :: Lens' ReplicationConfiguration [ReplicationRule]-rcRules = lens _rcRules (\s a -> s { _rcRules = a }) . _List--instance FromXML ReplicationConfiguration where-    parseXML x = ReplicationConfiguration-        <$> x .@  "Role"-        <*> parseXML x--instance ToXMLRoot ReplicationConfiguration where-    toXMLRoot ReplicationConfiguration{..} = namespaced ns "ReplicationConfiguration"-        [ "Role" =@ _rcRole-        , "Rule" =@ _rcRules-        ]--instance ToXML ReplicationConfiguration--newtype Destination = Destination-    { _dBucket :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'Destination' constructor.------ The fields accessible through corresponding lenses are:------ * 'dBucket' @::@ 'Text'----destination :: Text -- ^ 'dBucket'-            -> Destination-destination p1 = Destination-    { _dBucket = p1-    }---- | Amazon resource name (ARN) of the bucket where you want Amazon S3 to store--- replicas of the object identified by the rule.-dBucket :: Lens' Destination Text-dBucket = lens _dBucket (\s a -> s { _dBucket = a })--instance FromXML Destination where-    parseXML x = Destination-        <$> x .@  "Bucket"--instance ToXML Destination where-    toXML Destination{..} = nodes "Destination"-        [ "Bucket" =@ _dBucket-        ]--data Event-    = S3ObjectCreatedCompleteMultipartUpload -- ^ s3:ObjectCreated:CompleteMultipartUpload-    | S3ObjectCreatedCopy                    -- ^ s3:ObjectCreated:Copy-    | S3ObjectCreatedPost                    -- ^ s3:ObjectCreated:Post-    | S3ObjectCreatedPut                     -- ^ s3:ObjectCreated:Put-    | S3ReducedRedundancyLostObject          -- ^ s3:ReducedRedundancyLostObject-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable Event--instance FromText Event where-    parser = takeLowerText >>= \case-        "s3:objectcreated:completemultipartupload" -> pure S3ObjectCreatedCompleteMultipartUpload-        "s3:objectcreated:copy"                    -> pure S3ObjectCreatedCopy-        "s3:objectcreated:post"                    -> pure S3ObjectCreatedPost-        "s3:objectcreated:put"                     -> pure S3ObjectCreatedPut-        "s3:reducedredundancylostobject"           -> pure S3ReducedRedundancyLostObject-        e                                          -> fail $-            "Failure parsing Event from " ++ show e--instance ToText Event where-    toText = \case-        S3ObjectCreatedCompleteMultipartUpload -> "s3:ObjectCreated:CompleteMultipartUpload"-        S3ObjectCreatedCopy                    -> "s3:ObjectCreated:Copy"-        S3ObjectCreatedPost                    -> "s3:ObjectCreated:Post"-        S3ObjectCreatedPut                     -> "s3:ObjectCreated:Put"-        S3ReducedRedundancyLostObject          -> "s3:ReducedRedundancyLostObject"--instance ToByteString Event-instance ToHeader     Event-instance ToQuery      Event--instance FromXML Event where-    parseXML = parseXMLText "Event"--instance ToXML Event where-    toXML = toXMLText--data RequestCharged-    = Requester -- ^ requester-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable RequestCharged--instance FromText RequestCharged where-    parser = takeLowerText >>= \case-        "requester" -> pure Requester-        e           -> fail $-            "Failure parsing RequestCharged from " ++ show e--instance ToText RequestCharged where-    toText Requester = "requester"--instance ToByteString RequestCharged-instance ToHeader     RequestCharged-instance ToQuery      RequestCharged--instance FromXML RequestCharged where-    parseXML = parseXMLText "RequestCharged"--instance ToXML RequestCharged where-    toXML = toXMLText--newtype NoncurrentVersionExpiration = NoncurrentVersionExpiration-    { _nveNoncurrentDays :: Int-    } deriving (Eq, Ord, Read, Show, Enum, Num, Integral, Real)---- | 'NoncurrentVersionExpiration' constructor.------ The fields accessible through corresponding lenses are:------ * 'nveNoncurrentDays' @::@ 'Int'----noncurrentVersionExpiration :: Int -- ^ 'nveNoncurrentDays'-                            -> NoncurrentVersionExpiration-noncurrentVersionExpiration p1 = NoncurrentVersionExpiration-    { _nveNoncurrentDays = p1-    }---- | Specifies the number of days an object is noncurrent before Amazon S3 can--- perform the associated action. For information about the noncurrent days--- calculations, see </AmazonS3/latest/dev/s3-access-control.html How Amazon S3 Calculates When an Object Became Noncurrent>--- in the Amazon Simple Storage Service Developer Guide.-nveNoncurrentDays :: Lens' NoncurrentVersionExpiration Int-nveNoncurrentDays =-    lens _nveNoncurrentDays (\s a -> s { _nveNoncurrentDays = a })--instance FromXML NoncurrentVersionExpiration where-    parseXML x = NoncurrentVersionExpiration-        <$> x .@  "NoncurrentDays"--instance ToXML NoncurrentVersionExpiration where-    toXML NoncurrentVersionExpiration{..} = nodes "NoncurrentVersionExpiration"-        [ "NoncurrentDays" =@ _nveNoncurrentDays-        ]--data Transition = Transition-    { _tDate         :: Maybe ISO8601-    , _tDays         :: Maybe Int-    , _tStorageClass :: Maybe TransitionStorageClass-    } deriving (Eq, Read, Show)---- | 'Transition' constructor.------ The fields accessible through corresponding lenses are:------ * 'tDate' @::@ 'Maybe' 'UTCTime'------ * 'tDays' @::@ 'Maybe' 'Int'------ * 'tStorageClass' @::@ 'Maybe' 'TransitionStorageClass'----transition :: Transition-transition = Transition-    { _tDate         = Nothing-    , _tDays         = Nothing-    , _tStorageClass = Nothing-    }---- | Indicates at what date the object is to be moved or deleted. Should be in GMT--- ISO 8601 Format.-tDate :: Lens' Transition (Maybe UTCTime)-tDate = lens _tDate (\s a -> s { _tDate = a }) . mapping _Time---- | Indicates the lifetime, in days, of the objects that are subject to the rule.--- The value must be a non-zero positive integer.-tDays :: Lens' Transition (Maybe Int)-tDays = lens _tDays (\s a -> s { _tDays = a })---- | The class of storage used to store the object.-tStorageClass :: Lens' Transition (Maybe TransitionStorageClass)-tStorageClass = lens _tStorageClass (\s a -> s { _tStorageClass = a })--instance FromXML Transition where-    parseXML x = Transition-        <$> x .@? "Date"-        <*> x .@? "Days"-        <*> x .@? "StorageClass"--instance ToXML Transition where-    toXML Transition{..} = nodes "Transition"-        [ "Date"         =@ _tDate-        , "Days"         =@ _tDays-        , "StorageClass" =@ _tStorageClass-        ]--data DeleteMarkerEntry = DeleteMarkerEntry-    { _dmeIsLatest     :: Maybe Bool-    , _dmeKey          :: Maybe Text-    , _dmeLastModified :: Maybe RFC822-    , _dmeOwner        :: Maybe Owner-    , _dmeVersionId    :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'DeleteMarkerEntry' constructor.------ The fields accessible through corresponding lenses are:------ * 'dmeIsLatest' @::@ 'Maybe' 'Bool'------ * 'dmeKey' @::@ 'Maybe' 'Text'------ * 'dmeLastModified' @::@ 'Maybe' 'UTCTime'------ * 'dmeOwner' @::@ 'Maybe' 'Owner'------ * 'dmeVersionId' @::@ 'Maybe' 'Text'----deleteMarkerEntry :: DeleteMarkerEntry-deleteMarkerEntry = DeleteMarkerEntry-    { _dmeOwner        = Nothing-    , _dmeKey          = Nothing-    , _dmeVersionId    = Nothing-    , _dmeIsLatest     = Nothing-    , _dmeLastModified = Nothing-    }---- | Specifies whether the object is (true) or is not (false) the latest version--- of an object.-dmeIsLatest :: Lens' DeleteMarkerEntry (Maybe Bool)-dmeIsLatest = lens _dmeIsLatest (\s a -> s { _dmeIsLatest = a })---- | The object key.-dmeKey :: Lens' DeleteMarkerEntry (Maybe Text)-dmeKey = lens _dmeKey (\s a -> s { _dmeKey = a })---- | Date and time the object was last modified.-dmeLastModified :: Lens' DeleteMarkerEntry (Maybe UTCTime)-dmeLastModified = lens _dmeLastModified (\s a -> s { _dmeLastModified = a }) . mapping _Time--dmeOwner :: Lens' DeleteMarkerEntry (Maybe Owner)-dmeOwner = lens _dmeOwner (\s a -> s { _dmeOwner = a })---- | Version ID of an object.-dmeVersionId :: Lens' DeleteMarkerEntry (Maybe Text)-dmeVersionId = lens _dmeVersionId (\s a -> s { _dmeVersionId = a })--instance FromXML DeleteMarkerEntry where-    parseXML x = DeleteMarkerEntry-        <$> x .@? "IsLatest"-        <*> x .@? "Key"-        <*> x .@? "LastModified"-        <*> x .@? "Owner"-        <*> x .@? "VersionId"--instance ToXML DeleteMarkerEntry where-    toXML DeleteMarkerEntry{..} = nodes "DeleteMarkerEntry"-        [ "Owner"        =@ _dmeOwner-        , "Key"          =@ _dmeKey-        , "VersionId"    =@ _dmeVersionId-        , "IsLatest"     =@ _dmeIsLatest-        , "LastModified" =@ _dmeLastModified-        ]--data ExpirationStatus-    = Disabled -- ^ Disabled-    | Enabled  -- ^ Enabled-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ExpirationStatus--instance FromText ExpirationStatus where-    parser = takeLowerText >>= \case-        "disabled" -> pure Disabled-        "enabled"  -> pure Enabled-        e          -> fail $-            "Failure parsing ExpirationStatus from " ++ show e--instance ToText ExpirationStatus where-    toText = \case-        Disabled -> "Disabled"-        Enabled  -> "Enabled"--instance ToByteString ExpirationStatus-instance ToHeader     ExpirationStatus-instance ToQuery      ExpirationStatus--instance FromXML ExpirationStatus where-    parseXML = parseXMLText "ExpirationStatus"--instance ToXML ExpirationStatus where-    toXML = toXMLText--data Part = Part-    { _pETag         :: Maybe Text-    , _pLastModified :: Maybe RFC822-    , _pPartNumber   :: Maybe Int-    , _pSize         :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'Part' constructor.------ The fields accessible through corresponding lenses are:------ * 'pETag' @::@ 'Maybe' 'Text'------ * 'pLastModified' @::@ 'Maybe' 'UTCTime'------ * 'pPartNumber' @::@ 'Maybe' 'Int'------ * 'pSize' @::@ 'Maybe' 'Int'----part :: Part-part = Part-    { _pPartNumber   = Nothing-    , _pLastModified = Nothing-    , _pETag         = Nothing-    , _pSize         = Nothing-    }---- | Entity tag returned when the part was uploaded.-pETag :: Lens' Part (Maybe Text)-pETag = lens _pETag (\s a -> s { _pETag = a })---- | Date and time at which the part was uploaded.-pLastModified :: Lens' Part (Maybe UTCTime)-pLastModified = lens _pLastModified (\s a -> s { _pLastModified = a }) . mapping _Time---- | Part number identifying the part.-pPartNumber :: Lens' Part (Maybe Int)-pPartNumber = lens _pPartNumber (\s a -> s { _pPartNumber = a })---- | Size of the uploaded part data.-pSize :: Lens' Part (Maybe Int)-pSize = lens _pSize (\s a -> s { _pSize = a })--instance FromXML Part where-    parseXML x = Part-        <$> x .@? "ETag"-        <*> x .@? "LastModified"-        <*> x .@? "PartNumber"-        <*> x .@? "Size"--instance ToXML Part where-    toXML Part{..} = nodes "Part"-        [ "PartNumber"   =@ _pPartNumber-        , "LastModified" =@ _pLastModified-        , "ETag"         =@ _pETag-        , "Size"         =@ _pSize-        ]--data VersioningConfiguration = VersioningConfiguration-    { _vcMFADelete :: Maybe MFADelete-    , _vcStatus    :: Maybe BucketVersioningStatus-    } deriving (Eq, Read, Show)---- | 'VersioningConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'vcMFADelete' @::@ 'Maybe' 'MFADelete'------ * 'vcStatus' @::@ 'Maybe' 'BucketVersioningStatus'----versioningConfiguration :: VersioningConfiguration-versioningConfiguration = VersioningConfiguration-    { _vcMFADelete = Nothing-    , _vcStatus    = Nothing-    }---- | Specifies whether MFA delete is enabled in the bucket versioning--- configuration. This element is only returned if the bucket has been--- configured with MFA delete. If the bucket has never been so configured, this--- element is not returned.-vcMFADelete :: Lens' VersioningConfiguration (Maybe MFADelete)-vcMFADelete = lens _vcMFADelete (\s a -> s { _vcMFADelete = a })---- | The versioning state of the bucket.-vcStatus :: Lens' VersioningConfiguration (Maybe BucketVersioningStatus)-vcStatus = lens _vcStatus (\s a -> s { _vcStatus = a })--instance FromXML VersioningConfiguration where-    parseXML x = VersioningConfiguration-        <$> x .@? "MfaDelete"-        <*> x .@? "Status"--instance ToXML VersioningConfiguration where-    toXML VersioningConfiguration{..} = nodes "VersioningConfiguration"-        [ "MfaDelete" =@ _vcMFADelete-        , "Status"    =@ _vcStatus-        ]--data Tag = Tag-    { _tagKey   :: Text-    , _tagValue :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'Tag' constructor.------ The fields accessible through corresponding lenses are:------ * 'tagKey' @::@ 'Text'------ * 'tagValue' @::@ 'Text'----tag :: Text -- ^ 'tagKey'-    -> Text -- ^ 'tagValue'-    -> Tag-tag p1 p2 = Tag-    { _tagKey   = p1-    , _tagValue = p2-    }---- | Name of the tag.-tagKey :: Lens' Tag Text-tagKey = lens _tagKey (\s a -> s { _tagKey = a })---- | Value of the tag.-tagValue :: Lens' Tag Text-tagValue = lens _tagValue (\s a -> s { _tagValue = a })--instance FromXML Tag where-    parseXML x = Tag-        <$> x .@  "Key"-        <*> x .@  "Value"--instance ToXML Tag where-    toXML Tag{..} = nodes "Tag"-        [ "Key"   =@ _tagKey-        , "Value" =@ _tagValue-        ]--data ObjectStorageClass-    = Glacier           -- ^ GLACIER-    | ReducedRedundancy -- ^ REDUCED_REDUNDANCY-    | Standard          -- ^ STANDARD-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ObjectStorageClass--instance FromText ObjectStorageClass where-    parser = takeLowerText >>= \case-        "glacier"            -> pure Glacier-        "reduced_redundancy" -> pure ReducedRedundancy-        "standard"           -> pure Standard-        e                    -> fail $-            "Failure parsing ObjectStorageClass from " ++ show e--instance ToText ObjectStorageClass where-    toText = \case-        Glacier           -> "GLACIER"-        ReducedRedundancy -> "REDUCED_REDUNDANCY"-        Standard          -> "STANDARD"--instance ToByteString ObjectStorageClass-instance ToHeader     ObjectStorageClass-instance ToQuery      ObjectStorageClass--instance FromXML ObjectStorageClass where-    parseXML = parseXMLText "ObjectStorageClass"--instance ToXML ObjectStorageClass where-    toXML = toXMLText--data MetadataDirective-    = Copy    -- ^ COPY-    | Replace -- ^ REPLACE-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable MetadataDirective--instance FromText MetadataDirective where-    parser = takeLowerText >>= \case-        "copy"    -> pure Copy-        "replace" -> pure Replace-        e         -> fail $-            "Failure parsing MetadataDirective from " ++ show e--instance ToText MetadataDirective where-    toText = \case-        Copy    -> "COPY"-        Replace -> "REPLACE"--instance ToByteString MetadataDirective-instance ToHeader     MetadataDirective-instance ToQuery      MetadataDirective--instance FromXML MetadataDirective where-    parseXML = parseXMLText "MetadataDirective"--instance ToXML MetadataDirective where-    toXML = toXMLText--data ReplicationRule = ReplicationRule-    { _rrDestination :: Destination-    , _rrID          :: Maybe Text-    , _rrPrefix      :: Text-    , _rrStatus      :: ReplicationRuleStatus-    } deriving (Eq, Read, Show)---- | 'ReplicationRule' constructor.------ The fields accessible through corresponding lenses are:------ * 'rrDestination' @::@ 'Destination'------ * 'rrID' @::@ 'Maybe' 'Text'------ * 'rrPrefix' @::@ 'Text'------ * 'rrStatus' @::@ 'ReplicationRuleStatus'----replicationRule :: Text -- ^ 'rrPrefix'-                -> ReplicationRuleStatus -- ^ 'rrStatus'-                -> Destination -- ^ 'rrDestination'-                -> ReplicationRule-replicationRule p1 p2 p3 = ReplicationRule-    { _rrPrefix      = p1-    , _rrStatus      = p2-    , _rrDestination = p3-    , _rrID          = Nothing-    }--rrDestination :: Lens' ReplicationRule Destination-rrDestination = lens _rrDestination (\s a -> s { _rrDestination = a })---- | Unique identifier for the rule. The value cannot be longer than 255--- characters.-rrID :: Lens' ReplicationRule (Maybe Text)-rrID = lens _rrID (\s a -> s { _rrID = a })---- | Object keyname prefix identifying one or more objects to which the rule--- applies. Maximum prefix length can be up to 1,024 characters. Overlapping--- prefixes are not supported.-rrPrefix :: Lens' ReplicationRule Text-rrPrefix = lens _rrPrefix (\s a -> s { _rrPrefix = a })---- | The rule is ignored if status is not Enabled.-rrStatus :: Lens' ReplicationRule ReplicationRuleStatus-rrStatus = lens _rrStatus (\s a -> s { _rrStatus = a })--instance FromXML ReplicationRule where-    parseXML x = ReplicationRule-        <$> x .@  "Destination"-        <*> x .@? "ID"-        <*> x .@  "Prefix"-        <*> x .@  "Status"--instance ToXML ReplicationRule where-    toXML ReplicationRule{..} = nodes "ReplicationRule"-        [ "ID"          =@ _rrID-        , "Prefix"      =@ _rrPrefix-        , "Status"      =@ _rrStatus-        , "Destination" =@ _rrDestination-        ]--data RedirectAllRequestsTo = RedirectAllRequestsTo-    { _rartHostName :: Text-    , _rartProtocol :: Maybe Protocol-    } deriving (Eq, Read, Show)---- | 'RedirectAllRequestsTo' constructor.------ The fields accessible through corresponding lenses are:------ * 'rartHostName' @::@ 'Text'------ * 'rartProtocol' @::@ 'Maybe' 'Protocol'----redirectAllRequestsTo :: Text -- ^ 'rartHostName'-                      -> RedirectAllRequestsTo-redirectAllRequestsTo p1 = RedirectAllRequestsTo-    { _rartHostName = p1-    , _rartProtocol = Nothing-    }---- | Name of the host where requests will be redirected.-rartHostName :: Lens' RedirectAllRequestsTo Text-rartHostName = lens _rartHostName (\s a -> s { _rartHostName = a })---- | Protocol to use (http, https) when redirecting requests. The default is the--- protocol that is used in the original request.-rartProtocol :: Lens' RedirectAllRequestsTo (Maybe Protocol)-rartProtocol = lens _rartProtocol (\s a -> s { _rartProtocol = a })--instance FromXML RedirectAllRequestsTo where-    parseXML x = RedirectAllRequestsTo-        <$> x .@  "HostName"-        <*> x .@? "Protocol"--instance ToXML RedirectAllRequestsTo where-    toXML RedirectAllRequestsTo{..} = nodes "RedirectAllRequestsTo"-        [ "HostName" =@ _rartHostName-        , "Protocol" =@ _rartProtocol-        ]--data RoutingRule = RoutingRule-    { _rrCondition :: Maybe Condition-    , _rrRedirect  :: Redirect-    } deriving (Eq, Read, Show)---- | 'RoutingRule' constructor.------ The fields accessible through corresponding lenses are:------ * 'rrCondition' @::@ 'Maybe' 'Condition'------ * 'rrRedirect' @::@ 'Redirect'----routingRule :: Redirect -- ^ 'rrRedirect'-            -> RoutingRule-routingRule p1 = RoutingRule-    { _rrRedirect  = p1-    , _rrCondition = Nothing-    }---- | A container for describing a condition that must be met for the specified--- redirect to apply. For example, 1. If request is for pages in the /docs--- folder, redirect to the /documents folder. 2. If request results in HTTP--- error 4xx, redirect request to another host where you might process the error.-rrCondition :: Lens' RoutingRule (Maybe Condition)-rrCondition = lens _rrCondition (\s a -> s { _rrCondition = a })---- | Container for redirect information. You can redirect requests to another--- host, to another page, or with another protocol. In the event of an error,--- you can can specify a different error code to return.-rrRedirect :: Lens' RoutingRule Redirect-rrRedirect = lens _rrRedirect (\s a -> s { _rrRedirect = a })--instance FromXML RoutingRule where-    parseXML x = RoutingRule-        <$> x .@? "Condition"-        <*> x .@  "Redirect"--instance ToXML RoutingRule where-    toXML RoutingRule{..} = nodes "RoutingRule"-        [ "Condition" =@ _rrCondition-        , "Redirect"  =@ _rrRedirect-        ]--data NotificationConfiguration = NotificationConfiguration-    { _ncLambdaFunctionConfigurations :: List "CloudFunctionConfiguration" LambdaFunctionConfiguration-    , _ncQueueConfigurations          :: List "QueueConfiguration" QueueConfiguration-    , _ncTopicConfigurations          :: List "TopicConfiguration" TopicConfiguration-    } deriving (Eq, Read, Show)---- | 'NotificationConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'ncLambdaFunctionConfigurations' @::@ ['LambdaFunctionConfiguration']------ * 'ncQueueConfigurations' @::@ ['QueueConfiguration']------ * 'ncTopicConfigurations' @::@ ['TopicConfiguration']----notificationConfiguration :: NotificationConfiguration-notificationConfiguration = NotificationConfiguration-    { _ncTopicConfigurations          = mempty-    , _ncQueueConfigurations          = mempty-    , _ncLambdaFunctionConfigurations = mempty-    }--ncLambdaFunctionConfigurations :: Lens' NotificationConfiguration [LambdaFunctionConfiguration]-ncLambdaFunctionConfigurations =-    lens _ncLambdaFunctionConfigurations-        (\s a -> s { _ncLambdaFunctionConfigurations = a })-            . _List--ncQueueConfigurations :: Lens' NotificationConfiguration [QueueConfiguration]-ncQueueConfigurations =-    lens _ncQueueConfigurations (\s a -> s { _ncQueueConfigurations = a })-        . _List--ncTopicConfigurations :: Lens' NotificationConfiguration [TopicConfiguration]-ncTopicConfigurations =-    lens _ncTopicConfigurations (\s a -> s { _ncTopicConfigurations = a })-        . _List--instance FromXML NotificationConfiguration where-    parseXML x = NotificationConfiguration-        <$> parseXML x-        <*> parseXML x-        <*> parseXML x--instance ToXMLRoot NotificationConfiguration where-    toXMLRoot NotificationConfiguration{..} = namespaced ns "NotificationConfiguration"-        [ "TopicConfiguration"         =@ _ncTopicConfigurations-        , "QueueConfiguration"         =@ _ncQueueConfigurations-        , "CloudFunctionConfiguration" =@ _ncLambdaFunctionConfigurations-        ]--instance ToXML NotificationConfiguration--data S3ServiceError = S3ServiceError-    { _sseCode      :: Maybe Text-    , _sseKey       :: Maybe Text-    , _sseMessage   :: Maybe Text-    , _sseVersionId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'S3ServiceError' constructor.------ The fields accessible through corresponding lenses are:------ * 'sseCode' @::@ 'Maybe' 'Text'------ * 'sseKey' @::@ 'Maybe' 'Text'------ * 'sseMessage' @::@ 'Maybe' 'Text'------ * 'sseVersionId' @::@ 'Maybe' 'Text'----s3ServiceError :: S3ServiceError-s3ServiceError = S3ServiceError-    { _sseKey       = Nothing-    , _sseVersionId = Nothing-    , _sseCode      = Nothing-    , _sseMessage   = Nothing-    }--sseCode :: Lens' S3ServiceError (Maybe Text)-sseCode = lens _sseCode (\s a -> s { _sseCode = a })--sseKey :: Lens' S3ServiceError (Maybe Text)-sseKey = lens _sseKey (\s a -> s { _sseKey = a })--sseMessage :: Lens' S3ServiceError (Maybe Text)-sseMessage = lens _sseMessage (\s a -> s { _sseMessage = a })--sseVersionId :: Lens' S3ServiceError (Maybe Text)-sseVersionId = lens _sseVersionId (\s a -> s { _sseVersionId = a })--instance FromXML S3ServiceError where-    parseXML x = S3ServiceError-        <$> x .@? "Code"-        <*> x .@? "Key"-        <*> x .@? "Message"-        <*> x .@? "VersionId"--instance ToXML S3ServiceError where-    toXML S3ServiceError{..} = nodes "S3ServiceError"-        [ "Key"       =@ _sseKey-        , "VersionId" =@ _sseVersionId-        , "Code"      =@ _sseCode-        , "Message"   =@ _sseMessage-        ]--data ObjectCannedACL-    = AuthenticatedRead      -- ^ authenticated-read-    | BucketOwnerFullControl -- ^ bucket-owner-full-control-    | BucketOwnerRead        -- ^ bucket-owner-read-    | Private                -- ^ private-    | PublicRead             -- ^ public-read-    | PublicReadWrite        -- ^ public-read-write-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ObjectCannedACL--instance FromText ObjectCannedACL where-    parser = takeLowerText >>= \case-        "authenticated-read"        -> pure AuthenticatedRead-        "bucket-owner-full-control" -> pure BucketOwnerFullControl-        "bucket-owner-read"         -> pure BucketOwnerRead-        "private"                   -> pure Private-        "public-read"               -> pure PublicRead-        "public-read-write"         -> pure PublicReadWrite-        e                           -> fail $-            "Failure parsing ObjectCannedACL from " ++ show e--instance ToText ObjectCannedACL where-    toText = \case-        AuthenticatedRead      -> "authenticated-read"-        BucketOwnerFullControl -> "bucket-owner-full-control"-        BucketOwnerRead        -> "bucket-owner-read"-        Private                -> "private"-        PublicRead             -> "public-read"-        PublicReadWrite        -> "public-read-write"--instance ToByteString ObjectCannedACL-instance ToHeader     ObjectCannedACL-instance ToQuery      ObjectCannedACL--instance FromXML ObjectCannedACL where-    parseXML = parseXMLText "ObjectCannedACL"--instance ToXML ObjectCannedACL where-    toXML = toXMLText--data BucketVersioningStatus-    = BVSEnabled   -- ^ Enabled-    | BVSSuspended -- ^ Suspended-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable BucketVersioningStatus--instance FromText BucketVersioningStatus where-    parser = takeLowerText >>= \case-        "enabled"   -> pure BVSEnabled-        "suspended" -> pure BVSSuspended-        e           -> fail $-            "Failure parsing BucketVersioningStatus from " ++ show e--instance ToText BucketVersioningStatus where-    toText = \case-        BVSEnabled   -> "Enabled"-        BVSSuspended -> "Suspended"--instance ToByteString BucketVersioningStatus-instance ToHeader     BucketVersioningStatus-instance ToQuery      BucketVersioningStatus--instance FromXML BucketVersioningStatus where-    parseXML = parseXMLText "BucketVersioningStatus"--instance ToXML BucketVersioningStatus where-    toXML = toXMLText--data DeletedObject = DeletedObject-    { _do1DeleteMarker          :: Maybe Bool-    , _do1DeleteMarkerVersionId :: Maybe Text-    , _do1Key                   :: Maybe Text-    , _do1VersionId             :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'DeletedObject' constructor.------ The fields accessible through corresponding lenses are:------ * 'do1DeleteMarker' @::@ 'Maybe' 'Bool'------ * 'do1DeleteMarkerVersionId' @::@ 'Maybe' 'Text'------ * 'do1Key' @::@ 'Maybe' 'Text'------ * 'do1VersionId' @::@ 'Maybe' 'Text'----deletedObject :: DeletedObject-deletedObject = DeletedObject-    { _do1Key                   = Nothing-    , _do1VersionId             = Nothing-    , _do1DeleteMarker          = Nothing-    , _do1DeleteMarkerVersionId = Nothing-    }--do1DeleteMarker :: Lens' DeletedObject (Maybe Bool)-do1DeleteMarker = lens _do1DeleteMarker (\s a -> s { _do1DeleteMarker = a })--do1DeleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)-do1DeleteMarkerVersionId =-    lens _do1DeleteMarkerVersionId-        (\s a -> s { _do1DeleteMarkerVersionId = a })--do1Key :: Lens' DeletedObject (Maybe Text)-do1Key = lens _do1Key (\s a -> s { _do1Key = a })--do1VersionId :: Lens' DeletedObject (Maybe Text)-do1VersionId = lens _do1VersionId (\s a -> s { _do1VersionId = a })--instance FromXML DeletedObject where-    parseXML x = DeletedObject-        <$> x .@? "DeleteMarker"-        <*> x .@? "DeleteMarkerVersionId"-        <*> x .@? "Key"-        <*> x .@? "VersionId"--instance ToXML DeletedObject where-    toXML DeletedObject{..} = nodes "DeletedObject"-        [ "Key"                   =@ _do1Key-        , "VersionId"             =@ _do1VersionId-        , "DeleteMarker"          =@ _do1DeleteMarker-        , "DeleteMarkerVersionId" =@ _do1DeleteMarkerVersionId-        ]--data ObjectVersionStorageClass-    = OVSCStandard -- ^ STANDARD-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ObjectVersionStorageClass--instance FromText ObjectVersionStorageClass where-    parser = takeLowerText >>= \case-        "standard" -> pure OVSCStandard-        e          -> fail $-            "Failure parsing ObjectVersionStorageClass from " ++ show e--instance ToText ObjectVersionStorageClass where-    toText OVSCStandard = "STANDARD"--instance ToByteString ObjectVersionStorageClass-instance ToHeader     ObjectVersionStorageClass-instance ToQuery      ObjectVersionStorageClass--instance FromXML ObjectVersionStorageClass where-    parseXML = parseXMLText "ObjectVersionStorageClass"--instance ToXML ObjectVersionStorageClass where-    toXML = toXMLText--data CopyPartResult = CopyPartResult-    { _cprETag         :: Maybe Text-    , _cprLastModified :: Maybe RFC822-    } deriving (Eq, Ord, Read, Show)---- | 'CopyPartResult' constructor.------ The fields accessible through corresponding lenses are:------ * 'cprETag' @::@ 'Maybe' 'Text'------ * 'cprLastModified' @::@ 'Maybe' 'UTCTime'----copyPartResult :: CopyPartResult-copyPartResult = CopyPartResult-    { _cprETag         = Nothing-    , _cprLastModified = Nothing-    }---- | Entity tag of the object.-cprETag :: Lens' CopyPartResult (Maybe Text)-cprETag = lens _cprETag (\s a -> s { _cprETag = a })---- | Date and time at which the object was uploaded.-cprLastModified :: Lens' CopyPartResult (Maybe UTCTime)-cprLastModified = lens _cprLastModified (\s a -> s { _cprLastModified = a }) . mapping _Time--instance FromXML CopyPartResult where-    parseXML x = CopyPartResult-        <$> x .@? "ETag"-        <*> x .@? "LastModified"--instance ToXML CopyPartResult where-    toXML CopyPartResult{..} = nodes "CopyPartResult"-        [ "ETag"         =@ _cprETag-        , "LastModified" =@ _cprLastModified-        ]--data EncodingType-    = Url -- ^ url-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable EncodingType--instance FromText EncodingType where-    parser = takeLowerText >>= \case-        "url" -> pure Url-        e     -> fail $-            "Failure parsing EncodingType from " ++ show e--instance ToText EncodingType where-    toText Url = "url"--instance ToByteString EncodingType-instance ToHeader     EncodingType-instance ToQuery      EncodingType--instance FromXML EncodingType where-    parseXML = parseXMLText "EncodingType"--instance ToXML EncodingType where-    toXML = toXMLText--newtype RequestPaymentConfiguration = RequestPaymentConfiguration-    { _rpcPayer :: Payer-    } deriving (Eq, Read, Show)---- | 'RequestPaymentConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'rpcPayer' @::@ 'Payer'----requestPaymentConfiguration :: Payer -- ^ 'rpcPayer'-                            -> RequestPaymentConfiguration-requestPaymentConfiguration p1 = RequestPaymentConfiguration-    { _rpcPayer = p1-    }---- | Specifies who pays for the download and request fees.-rpcPayer :: Lens' RequestPaymentConfiguration Payer-rpcPayer = lens _rpcPayer (\s a -> s { _rpcPayer = a })--instance FromXML RequestPaymentConfiguration where-    parseXML x = RequestPaymentConfiguration-        <$> x .@  "Payer"--instance ToXML RequestPaymentConfiguration where-    toXML RequestPaymentConfiguration{..} = nodes "RequestPaymentConfiguration"-        [ "Payer" =@ _rpcPayer-        ]--data CORSRule = CORSRule-    { _corsrAllowedHeaders :: List "AllowedHeader" Text-    , _corsrAllowedMethods :: List "AllowedMethod" Text-    , _corsrAllowedOrigins :: List "AllowedOrigin" Text-    , _corsrExposeHeaders  :: List "ExposeHeader" Text-    , _corsrMaxAgeSeconds  :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'CORSRule' constructor.------ The fields accessible through corresponding lenses are:------ * 'corsrAllowedHeaders' @::@ ['Text']------ * 'corsrAllowedMethods' @::@ ['Text']------ * 'corsrAllowedOrigins' @::@ ['Text']------ * 'corsrExposeHeaders' @::@ ['Text']------ * 'corsrMaxAgeSeconds' @::@ 'Maybe' 'Int'----corsrule :: CORSRule-corsrule = CORSRule-    { _corsrAllowedHeaders = mempty-    , _corsrAllowedMethods = mempty-    , _corsrAllowedOrigins = mempty-    , _corsrExposeHeaders  = mempty-    , _corsrMaxAgeSeconds  = Nothing-    }---- | Specifies which headers are allowed in a pre-flight OPTIONS request.-corsrAllowedHeaders :: Lens' CORSRule [Text]-corsrAllowedHeaders =-    lens _corsrAllowedHeaders (\s a -> s { _corsrAllowedHeaders = a })-        . _List---- | Identifies HTTP methods that the domain/origin specified in the rule is--- allowed to execute.-corsrAllowedMethods :: Lens' CORSRule [Text]-corsrAllowedMethods =-    lens _corsrAllowedMethods (\s a -> s { _corsrAllowedMethods = a })-        . _List---- | One or more origins you want customers to be able to access the bucket from.-corsrAllowedOrigins :: Lens' CORSRule [Text]-corsrAllowedOrigins =-    lens _corsrAllowedOrigins (\s a -> s { _corsrAllowedOrigins = a })-        . _List---- | One or more headers in the response that you want customers to be able to--- access from their applications (for example, from a JavaScript XMLHttpRequest--- object).-corsrExposeHeaders :: Lens' CORSRule [Text]-corsrExposeHeaders =-    lens _corsrExposeHeaders (\s a -> s { _corsrExposeHeaders = a })-        . _List---- | The time in seconds that your browser is to cache the preflight response for--- the specified resource.-corsrMaxAgeSeconds :: Lens' CORSRule (Maybe Int)-corsrMaxAgeSeconds =-    lens _corsrMaxAgeSeconds (\s a -> s { _corsrMaxAgeSeconds = a })--instance FromXML CORSRule where-    parseXML x = CORSRule-        <$> parseXML x-        <*> parseXML x-        <*> parseXML x-        <*> parseXML x-        <*> x .@? "MaxAgeSeconds"--instance ToXML CORSRule where-    toXML CORSRule{..} = nodes "CORSRule"-        [ unsafeToXML        _corsrAllowedHeaders-        , unsafeToXML        _corsrAllowedMethods-        , unsafeToXML        _corsrAllowedOrigins-        , unsafeToXML        _corsrExposeHeaders-        , "MaxAgeSeconds" =@ _corsrMaxAgeSeconds-        ]--data WebsiteConfiguration = WebsiteConfiguration-    { _wcErrorDocument         :: Maybe ErrorDocument-    , _wcIndexDocument         :: Maybe IndexDocument-    , _wcRedirectAllRequestsTo :: Maybe RedirectAllRequestsTo-    , _wcRoutingRules          :: List "RoutingRule" RoutingRule-    } deriving (Eq, Read, Show)---- | 'WebsiteConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'wcErrorDocument' @::@ 'Maybe' 'ErrorDocument'------ * 'wcIndexDocument' @::@ 'Maybe' 'IndexDocument'------ * 'wcRedirectAllRequestsTo' @::@ 'Maybe' 'RedirectAllRequestsTo'------ * 'wcRoutingRules' @::@ ['RoutingRule']----websiteConfiguration :: WebsiteConfiguration-websiteConfiguration = WebsiteConfiguration-    { _wcErrorDocument         = Nothing-    , _wcIndexDocument         = Nothing-    , _wcRedirectAllRequestsTo = Nothing-    , _wcRoutingRules          = mempty-    }--wcErrorDocument :: Lens' WebsiteConfiguration (Maybe ErrorDocument)-wcErrorDocument = lens _wcErrorDocument (\s a -> s { _wcErrorDocument = a })--wcIndexDocument :: Lens' WebsiteConfiguration (Maybe IndexDocument)-wcIndexDocument = lens _wcIndexDocument (\s a -> s { _wcIndexDocument = a })--wcRedirectAllRequestsTo :: Lens' WebsiteConfiguration (Maybe RedirectAllRequestsTo)-wcRedirectAllRequestsTo =-    lens _wcRedirectAllRequestsTo (\s a -> s { _wcRedirectAllRequestsTo = a })--wcRoutingRules :: Lens' WebsiteConfiguration [RoutingRule]-wcRoutingRules = lens _wcRoutingRules (\s a -> s { _wcRoutingRules = a }) . _List--instance FromXML WebsiteConfiguration where-    parseXML x = WebsiteConfiguration-        <$> x .@? "ErrorDocument"-        <*> x .@? "IndexDocument"-        <*> x .@? "RedirectAllRequestsTo"-        <*> x .@? "RoutingRules" .!@ mempty--instance ToXML WebsiteConfiguration where-    toXML WebsiteConfiguration{..} = nodes "WebsiteConfiguration"-        [ "ErrorDocument"         =@ _wcErrorDocument-        , "IndexDocument"         =@ _wcIndexDocument-        , "RedirectAllRequestsTo" =@ _wcRedirectAllRequestsTo-        , "RoutingRules"          =@ _wcRoutingRules-        ]--data NoncurrentVersionTransition = NoncurrentVersionTransition-    { _nvtNoncurrentDays :: Int-    , _nvtStorageClass   :: TransitionStorageClass-    } deriving (Eq, Read, Show)---- | 'NoncurrentVersionTransition' constructor.------ The fields accessible through corresponding lenses are:------ * 'nvtNoncurrentDays' @::@ 'Int'------ * 'nvtStorageClass' @::@ 'TransitionStorageClass'----noncurrentVersionTransition :: Int -- ^ 'nvtNoncurrentDays'-                            -> TransitionStorageClass -- ^ 'nvtStorageClass'-                            -> NoncurrentVersionTransition-noncurrentVersionTransition p1 p2 = NoncurrentVersionTransition-    { _nvtNoncurrentDays = p1-    , _nvtStorageClass   = p2-    }---- | Specifies the number of days an object is noncurrent before Amazon S3 can--- perform the associated action. For information about the noncurrent days--- calculations, see </AmazonS3/latest/dev/s3-access-control.html How Amazon S3 Calculates When an Object Became Noncurrent>--- in the Amazon Simple Storage Service Developer Guide.-nvtNoncurrentDays :: Lens' NoncurrentVersionTransition Int-nvtNoncurrentDays =-    lens _nvtNoncurrentDays (\s a -> s { _nvtNoncurrentDays = a })---- | The class of storage used to store the object.-nvtStorageClass :: Lens' NoncurrentVersionTransition TransitionStorageClass-nvtStorageClass = lens _nvtStorageClass (\s a -> s { _nvtStorageClass = a })--instance FromXML NoncurrentVersionTransition where-    parseXML x = NoncurrentVersionTransition-        <$> x .@  "NoncurrentDays"-        <*> x .@  "StorageClass"--instance ToXML NoncurrentVersionTransition where-    toXML NoncurrentVersionTransition{..} = nodes "NoncurrentVersionTransition"-        [ "NoncurrentDays" =@ _nvtNoncurrentDays-        , "StorageClass"   =@ _nvtStorageClass-        ]--data Initiator = Initiator-    { _iDisplayName :: Maybe Text-    , _iID          :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Initiator' constructor.------ The fields accessible through corresponding lenses are:------ * 'iDisplayName' @::@ 'Maybe' 'Text'------ * 'iID' @::@ 'Maybe' 'Text'----initiator :: Initiator-initiator = Initiator-    { _iID          = Nothing-    , _iDisplayName = Nothing-    }---- | Name of the Principal.-iDisplayName :: Lens' Initiator (Maybe Text)-iDisplayName = lens _iDisplayName (\s a -> s { _iDisplayName = a })---- | If the principal is an AWS account, it provides the Canonical User ID. If the--- principal is an IAM User, it provides a user ARN value.-iID :: Lens' Initiator (Maybe Text)-iID = lens _iID (\s a -> s { _iID = a })--instance FromXML Initiator where-    parseXML x = Initiator-        <$> x .@? "DisplayName"-        <*> x .@? "ID"--instance ToXML Initiator where-    toXML Initiator{..} = nodes "Initiator"-        [ "ID"          =@ _iID-        , "DisplayName" =@ _iDisplayName-        ]--data ObjectIdentifier = ObjectIdentifier-    { _oiKey       :: Text-    , _oiVersionId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ObjectIdentifier' constructor.------ The fields accessible through corresponding lenses are:------ * 'oiKey' @::@ 'Text'------ * 'oiVersionId' @::@ 'Maybe' 'Text'----objectIdentifier :: Text -- ^ 'oiKey'-                 -> ObjectIdentifier-objectIdentifier p1 = ObjectIdentifier-    { _oiKey       = p1-    , _oiVersionId = Nothing-    }---- | Key name of the object to delete.-oiKey :: Lens' ObjectIdentifier Text-oiKey = lens _oiKey (\s a -> s { _oiKey = a })---- | VersionId for the specific version of the object to delete.-oiVersionId :: Lens' ObjectIdentifier (Maybe Text)-oiVersionId = lens _oiVersionId (\s a -> s { _oiVersionId = a })--instance FromXML ObjectIdentifier where-    parseXML x = ObjectIdentifier-        <$> x .@  "Key"-        <*> x .@? "VersionId"--instance ToXML ObjectIdentifier where-    toXML ObjectIdentifier{..} = nodes "ObjectIdentifier"-        [ "Key"       =@ _oiKey-        , "VersionId" =@ _oiVersionId-        ]--data Bucket = Bucket-    { _bCreationDate :: RFC822-    , _bName         :: Text-    } deriving (Eq, Ord, Read, Show)---- | 'Bucket' constructor.------ The fields accessible through corresponding lenses are:------ * 'bCreationDate' @::@ 'UTCTime'------ * 'bName' @::@ 'Text'----bucket :: Text -- ^ 'bName'-       -> UTCTime -- ^ 'bCreationDate'-       -> Bucket-bucket p1 p2 = Bucket-    { _bName         = p1-    , _bCreationDate = withIso _Time (const id) p2-    }---- | Date the bucket was created.-bCreationDate :: Lens' Bucket UTCTime-bCreationDate = lens _bCreationDate (\s a -> s { _bCreationDate = a }) . _Time---- | The name of the bucket.-bName :: Lens' Bucket Text-bName = lens _bName (\s a -> s { _bName = a })--instance FromXML Bucket where-    parseXML x = Bucket-        <$> x .@  "CreationDate"-        <*> x .@  "Name"--instance ToXML Bucket where-    toXML Bucket{..} = nodes "Bucket"-        [ "Name"         =@ _bName-        , "CreationDate" =@ _bCreationDate-        ]--data Protocol-    = Http  -- ^ http-    | Https -- ^ https-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable Protocol--instance FromText Protocol where-    parser = takeLowerText >>= \case-        "http"  -> pure Http-        "https" -> pure Https-        e       -> fail $-            "Failure parsing Protocol from " ++ show e--instance ToText Protocol where-    toText = \case-        Http  -> "http"-        Https -> "https"--instance ToByteString Protocol-instance ToHeader     Protocol-instance ToQuery      Protocol--instance FromXML Protocol where-    parseXML = parseXMLText "Protocol"--instance ToXML Protocol where-    toXML = toXMLText--data Grant = Grant-    { _gGrantee    :: Maybe Grantee-    , _gPermission :: Maybe Permission-    } deriving (Eq, Read, Show)---- | 'Grant' constructor.------ The fields accessible through corresponding lenses are:------ * 'gGrantee' @::@ 'Maybe' 'Grantee'------ * 'gPermission' @::@ 'Maybe' 'Permission'----grant :: Grant-grant = Grant-    { _gGrantee    = Nothing-    , _gPermission = Nothing-    }--gGrantee :: Lens' Grant (Maybe Grantee)-gGrantee = lens _gGrantee (\s a -> s { _gGrantee = a })---- | Specifies the permission given to the grantee.-gPermission :: Lens' Grant (Maybe Permission)-gPermission = lens _gPermission (\s a -> s { _gPermission = a })--instance FromXML Grant where-    parseXML x = Grant-        <$> x .@? "Grantee"-        <*> x .@? "Permission"--instance ToXMLRoot Grant where-    toXMLRoot Grant{..} = namespaced ns "Grant"-        [ "Grantee"    =@ _gGrantee-        , "Permission" =@ _gPermission-        ]--instance ToXML Grant--data Rule = Rule-    { _rExpiration                  :: Maybe LifecycleExpiration-    , _rID                          :: Maybe Text-    , _rNoncurrentVersionExpiration :: Maybe NoncurrentVersionExpiration-    , _rNoncurrentVersionTransition :: Maybe NoncurrentVersionTransition-    , _rPrefix                      :: Text-    , _rStatus                      :: ExpirationStatus-    , _rTransition                  :: Maybe Transition-    } deriving (Eq, Read, Show)---- | 'Rule' constructor.------ The fields accessible through corresponding lenses are:------ * 'rExpiration' @::@ 'Maybe' 'LifecycleExpiration'------ * 'rID' @::@ 'Maybe' 'Text'------ * 'rNoncurrentVersionExpiration' @::@ 'Maybe' 'NoncurrentVersionExpiration'------ * 'rNoncurrentVersionTransition' @::@ 'Maybe' 'NoncurrentVersionTransition'------ * 'rPrefix' @::@ 'Text'------ * 'rStatus' @::@ 'ExpirationStatus'------ * 'rTransition' @::@ 'Maybe' 'Transition'----rule :: Text -- ^ 'rPrefix'-     -> ExpirationStatus -- ^ 'rStatus'-     -> Rule-rule p1 p2 = Rule-    { _rPrefix                      = p1-    , _rStatus                      = p2-    , _rExpiration                  = Nothing-    , _rID                          = Nothing-    , _rTransition                  = Nothing-    , _rNoncurrentVersionTransition = Nothing-    , _rNoncurrentVersionExpiration = Nothing-    }--rExpiration :: Lens' Rule (Maybe LifecycleExpiration)-rExpiration = lens _rExpiration (\s a -> s { _rExpiration = a })---- | Unique identifier for the rule. The value cannot be longer than 255--- characters.-rID :: Lens' Rule (Maybe Text)-rID = lens _rID (\s a -> s { _rID = a })--rNoncurrentVersionExpiration :: Lens' Rule (Maybe NoncurrentVersionExpiration)-rNoncurrentVersionExpiration =-    lens _rNoncurrentVersionExpiration-        (\s a -> s { _rNoncurrentVersionExpiration = a })--rNoncurrentVersionTransition :: Lens' Rule (Maybe NoncurrentVersionTransition)-rNoncurrentVersionTransition =-    lens _rNoncurrentVersionTransition-        (\s a -> s { _rNoncurrentVersionTransition = a })---- | Prefix identifying one or more objects to which the rule applies.-rPrefix :: Lens' Rule Text-rPrefix = lens _rPrefix (\s a -> s { _rPrefix = a })---- | If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is--- not currently being applied.-rStatus :: Lens' Rule ExpirationStatus-rStatus = lens _rStatus (\s a -> s { _rStatus = a })--rTransition :: Lens' Rule (Maybe Transition)-rTransition = lens _rTransition (\s a -> s { _rTransition = a })--instance FromXML Rule where-    parseXML x = Rule-        <$> x .@? "Expiration"-        <*> x .@? "ID"-        <*> x .@? "NoncurrentVersionExpiration"-        <*> x .@? "NoncurrentVersionTransition"-        <*> x .@  "Prefix"-        <*> x .@  "Status"-        <*> x .@? "Transition"--instance ToXML Rule where-    toXML Rule{..} = nodes "Rule"-        [ "Expiration"                  =@ _rExpiration-        , "ID"                          =@ _rID-        , "Prefix"                      =@ _rPrefix-        , "Status"                      =@ _rStatus-        , "Transition"                  =@ _rTransition-        , "NoncurrentVersionTransition" =@ _rNoncurrentVersionTransition-        , "NoncurrentVersionExpiration" =@ _rNoncurrentVersionExpiration-        ]--data RequestPayer-    = RPRequester -- ^ requester-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable RequestPayer--instance FromText RequestPayer where-    parser = takeLowerText >>= \case-        "requester" -> pure RPRequester-        e           -> fail $-            "Failure parsing RequestPayer from " ++ show e--instance ToText RequestPayer where-    toText RPRequester = "requester"--instance ToByteString RequestPayer-instance ToHeader     RequestPayer-instance ToQuery      RequestPayer--instance FromXML RequestPayer where-    parseXML = parseXMLText "RequestPayer"--instance ToXML RequestPayer where-    toXML = toXMLText--data TopicConfiguration = TopicConfiguration-    { _tcEvents   :: List "Event" Event-    , _tcId       :: Maybe Text-    , _tcTopicArn :: Text-    } deriving (Eq, Read, Show)---- | 'TopicConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'tcEvents' @::@ ['Event']------ * 'tcId' @::@ 'Maybe' 'Text'------ * 'tcTopicArn' @::@ 'Text'----topicConfiguration :: Text -- ^ 'tcTopicArn'-                   -> TopicConfiguration-topicConfiguration p1 = TopicConfiguration-    { _tcTopicArn = p1-    , _tcId       = Nothing-    , _tcEvents   = mempty-    }--tcEvents :: Lens' TopicConfiguration [Event]-tcEvents = lens _tcEvents (\s a -> s { _tcEvents = a }) . _List--tcId :: Lens' TopicConfiguration (Maybe Text)-tcId = lens _tcId (\s a -> s { _tcId = a })---- | Amazon SNS topic ARN to which Amazon S3 will publish a message when it--- detects events of specified type.-tcTopicArn :: Lens' TopicConfiguration Text-tcTopicArn = lens _tcTopicArn (\s a -> s { _tcTopicArn = a })--instance FromXML TopicConfiguration where-    parseXML x = TopicConfiguration-        <$> parseXML x-        <*> x .@? "Id"-        <*> x .@  "Topic"--instance ToXML TopicConfiguration where-    toXML TopicConfiguration{..} = nodes "TopicConfiguration"-        [ "Id"    =@ _tcId-        , "Topic" =@ _tcTopicArn-        , unsafeToXML     _tcEvents-        ]--data QueueConfiguration = QueueConfiguration-    { _qcEvents   :: List "Event" Event-    , _qcId       :: Maybe Text-    , _qcQueueArn :: Text-    } deriving (Eq, Read, Show)---- | 'QueueConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'qcEvents' @::@ ['Event']------ * 'qcId' @::@ 'Maybe' 'Text'------ * 'qcQueueArn' @::@ 'Text'----queueConfiguration :: Text -- ^ 'qcQueueArn'-                   -> QueueConfiguration-queueConfiguration p1 = QueueConfiguration-    { _qcQueueArn = p1-    , _qcId       = Nothing-    , _qcEvents   = mempty-    }--qcEvents :: Lens' QueueConfiguration [Event]-qcEvents = lens _qcEvents (\s a -> s { _qcEvents = a }) . _List--qcId :: Lens' QueueConfiguration (Maybe Text)-qcId = lens _qcId (\s a -> s { _qcId = a })---- | Amazon SQS queue ARN to which Amazon S3 will publish a message when it--- detects events of specified type.-qcQueueArn :: Lens' QueueConfiguration Text-qcQueueArn = lens _qcQueueArn (\s a -> s { _qcQueueArn = a })--instance FromXML QueueConfiguration where-    parseXML x = QueueConfiguration-        <$> parseXML x-        <*> x .@? "Id"-        <*> x .@  "Queue"--instance ToXML QueueConfiguration where-    toXML QueueConfiguration{..} = nodes "QueueConfiguration"-        [ "Id"    =@ _qcId-        , "Queue" =@ _qcQueueArn-        , unsafeToXML     _qcEvents-        ]--data Owner = Owner-    { _oDisplayName :: Maybe Text-    , _oID          :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Owner' constructor.------ The fields accessible through corresponding lenses are:------ * 'oDisplayName' @::@ 'Maybe' 'Text'------ * 'oID' @::@ 'Maybe' 'Text'----owner :: Owner-owner = Owner-    { _oDisplayName = Nothing-    , _oID          = Nothing-    }--oDisplayName :: Lens' Owner (Maybe Text)-oDisplayName = lens _oDisplayName (\s a -> s { _oDisplayName = a })--oID :: Lens' Owner (Maybe Text)-oID = lens _oID (\s a -> s { _oID = a })--instance FromXML Owner where-    parseXML x = Owner-        <$> x .@? "DisplayName"-        <*> x .@? "ID"--instance ToXMLRoot Owner where-    toXMLRoot Owner{..} = namespaced ns "Owner"-        [ "DisplayName" =@ _oDisplayName-        , "ID"          =@ _oID-        ]--instance ToXML Owner--newtype BucketLoggingStatus = BucketLoggingStatus-    { _blsLoggingEnabled :: Maybe LoggingEnabled-    } deriving (Eq, Read, Show)---- | 'BucketLoggingStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'blsLoggingEnabled' @::@ 'Maybe' 'LoggingEnabled'----bucketLoggingStatus :: BucketLoggingStatus-bucketLoggingStatus = BucketLoggingStatus-    { _blsLoggingEnabled = Nothing-    }--blsLoggingEnabled :: Lens' BucketLoggingStatus (Maybe LoggingEnabled)-blsLoggingEnabled =-    lens _blsLoggingEnabled (\s a -> s { _blsLoggingEnabled = a })--instance FromXML BucketLoggingStatus where-    parseXML x = BucketLoggingStatus-        <$> x .@? "LoggingEnabled"--instance ToXML BucketLoggingStatus where-    toXML BucketLoggingStatus{..} = nodes "BucketLoggingStatus"-        [ "LoggingEnabled" =@ _blsLoggingEnabled-        ]--data NotificationConfigurationDeprecated = NotificationConfigurationDeprecated-    { _ncdCloudFunctionConfiguration :: Maybe CloudFunctionConfiguration-    , _ncdQueueConfiguration         :: Maybe QueueConfigurationDeprecated-    , _ncdTopicConfiguration         :: Maybe TopicConfigurationDeprecated-    } deriving (Eq, Read, Show)---- | 'NotificationConfigurationDeprecated' constructor.------ The fields accessible through corresponding lenses are:------ * 'ncdCloudFunctionConfiguration' @::@ 'Maybe' 'CloudFunctionConfiguration'------ * 'ncdQueueConfiguration' @::@ 'Maybe' 'QueueConfigurationDeprecated'------ * 'ncdTopicConfiguration' @::@ 'Maybe' 'TopicConfigurationDeprecated'----notificationConfigurationDeprecated :: NotificationConfigurationDeprecated-notificationConfigurationDeprecated = NotificationConfigurationDeprecated-    { _ncdTopicConfiguration         = Nothing-    , _ncdQueueConfiguration         = Nothing-    , _ncdCloudFunctionConfiguration = Nothing-    }--ncdCloudFunctionConfiguration :: Lens' NotificationConfigurationDeprecated (Maybe CloudFunctionConfiguration)-ncdCloudFunctionConfiguration =-    lens _ncdCloudFunctionConfiguration-        (\s a -> s { _ncdCloudFunctionConfiguration = a })--ncdQueueConfiguration :: Lens' NotificationConfigurationDeprecated (Maybe QueueConfigurationDeprecated)-ncdQueueConfiguration =-    lens _ncdQueueConfiguration (\s a -> s { _ncdQueueConfiguration = a })--ncdTopicConfiguration :: Lens' NotificationConfigurationDeprecated (Maybe TopicConfigurationDeprecated)-ncdTopicConfiguration =-    lens _ncdTopicConfiguration (\s a -> s { _ncdTopicConfiguration = a })--instance FromXML NotificationConfigurationDeprecated where-    parseXML x = NotificationConfigurationDeprecated-        <$> x .@? "CloudFunctionConfiguration"-        <*> x .@? "QueueConfiguration"-        <*> x .@? "TopicConfiguration"--instance ToXMLRoot NotificationConfigurationDeprecated where-    toXMLRoot NotificationConfigurationDeprecated{..} = namespaced ns "NotificationConfigurationDeprecated"-        [ "TopicConfiguration"         =@ _ncdTopicConfiguration-        , "QueueConfiguration"         =@ _ncdQueueConfiguration-        , "CloudFunctionConfiguration" =@ _ncdCloudFunctionConfiguration-        ]--instance ToXML NotificationConfigurationDeprecated--newtype ErrorDocument = ErrorDocument-    { _edKey :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'ErrorDocument' constructor.------ The fields accessible through corresponding lenses are:------ * 'edKey' @::@ 'Text'----errorDocument :: Text -- ^ 'edKey'-              -> ErrorDocument-errorDocument p1 = ErrorDocument-    { _edKey = p1-    }---- | The object key name to use when a 4XX class error occurs.-edKey :: Lens' ErrorDocument Text-edKey = lens _edKey (\s a -> s { _edKey = a })--instance FromXML ErrorDocument where-    parseXML x = ErrorDocument-        <$> x .@  "Key"--instance ToXML ErrorDocument where-    toXML ErrorDocument{..} = nodes "ErrorDocument"-        [ "Key" =@ _edKey-        ]--data StorageClass-    = SCReducedRedundancy -- ^ REDUCED_REDUNDANCY-    | SCStandard          -- ^ STANDARD-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable StorageClass--instance FromText StorageClass where-    parser = takeLowerText >>= \case-        "reduced_redundancy" -> pure SCReducedRedundancy-        "standard"           -> pure SCStandard-        e                    -> fail $-            "Failure parsing StorageClass from " ++ show e--instance ToText StorageClass where-    toText = \case-        SCReducedRedundancy -> "REDUCED_REDUNDANCY"-        SCStandard          -> "STANDARD"--instance ToByteString StorageClass-instance ToHeader     StorageClass-instance ToQuery      StorageClass--instance FromXML StorageClass where-    parseXML = parseXMLText "StorageClass"--instance ToXML StorageClass where-    toXML = toXMLText--data ObjectVersion = ObjectVersion-    { _ovETag         :: Maybe Text-    , _ovIsLatest     :: Maybe Bool-    , _ovKey          :: Maybe Text-    , _ovLastModified :: Maybe RFC822-    , _ovOwner        :: Maybe Owner-    , _ovSize         :: Maybe Int-    , _ovStorageClass :: Maybe ObjectVersionStorageClass-    , _ovVersionId    :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'ObjectVersion' constructor.------ The fields accessible through corresponding lenses are:------ * 'ovETag' @::@ 'Maybe' 'Text'------ * 'ovIsLatest' @::@ 'Maybe' 'Bool'------ * 'ovKey' @::@ 'Maybe' 'Text'------ * 'ovLastModified' @::@ 'Maybe' 'UTCTime'------ * 'ovOwner' @::@ 'Maybe' 'Owner'------ * 'ovSize' @::@ 'Maybe' 'Int'------ * 'ovStorageClass' @::@ 'Maybe' 'ObjectVersionStorageClass'------ * 'ovVersionId' @::@ 'Maybe' 'Text'----objectVersion :: ObjectVersion-objectVersion = ObjectVersion-    { _ovETag         = Nothing-    , _ovSize         = Nothing-    , _ovStorageClass = Nothing-    , _ovKey          = Nothing-    , _ovVersionId    = Nothing-    , _ovIsLatest     = Nothing-    , _ovLastModified = Nothing-    , _ovOwner        = Nothing-    }--ovETag :: Lens' ObjectVersion (Maybe Text)-ovETag = lens _ovETag (\s a -> s { _ovETag = a })---- | Specifies whether the object is (true) or is not (false) the latest version--- of an object.-ovIsLatest :: Lens' ObjectVersion (Maybe Bool)-ovIsLatest = lens _ovIsLatest (\s a -> s { _ovIsLatest = a })---- | The object key.-ovKey :: Lens' ObjectVersion (Maybe Text)-ovKey = lens _ovKey (\s a -> s { _ovKey = a })---- | Date and time the object was last modified.-ovLastModified :: Lens' ObjectVersion (Maybe UTCTime)-ovLastModified = lens _ovLastModified (\s a -> s { _ovLastModified = a }) . mapping _Time--ovOwner :: Lens' ObjectVersion (Maybe Owner)-ovOwner = lens _ovOwner (\s a -> s { _ovOwner = a })---- | Size in bytes of the object.-ovSize :: Lens' ObjectVersion (Maybe Int)-ovSize = lens _ovSize (\s a -> s { _ovSize = a })---- | The class of storage used to store the object.-ovStorageClass :: Lens' ObjectVersion (Maybe ObjectVersionStorageClass)-ovStorageClass = lens _ovStorageClass (\s a -> s { _ovStorageClass = a })---- | Version ID of an object.-ovVersionId :: Lens' ObjectVersion (Maybe Text)-ovVersionId = lens _ovVersionId (\s a -> s { _ovVersionId = a })--instance FromXML ObjectVersion where-    parseXML x = ObjectVersion-        <$> x .@? "ETag"-        <*> x .@? "IsLatest"-        <*> x .@? "Key"-        <*> x .@? "LastModified"-        <*> x .@? "Owner"-        <*> x .@? "Size"-        <*> x .@? "StorageClass"-        <*> x .@? "VersionId"--instance ToXML ObjectVersion where-    toXML ObjectVersion{..} = nodes "ObjectVersion"-        [ "ETag"         =@ _ovETag-        , "Size"         =@ _ovSize-        , "StorageClass" =@ _ovStorageClass-        , "Key"          =@ _ovKey-        , "VersionId"    =@ _ovVersionId-        , "IsLatest"     =@ _ovIsLatest-        , "LastModified" =@ _ovLastModified-        , "Owner"        =@ _ovOwner-        ]--data TargetGrant = TargetGrant-    { _tgGrantee    :: Maybe Grantee-    , _tgPermission :: Maybe BucketLogsPermission-    } deriving (Eq, Read, Show)---- | 'TargetGrant' constructor.------ The fields accessible through corresponding lenses are:------ * 'tgGrantee' @::@ 'Maybe' 'Grantee'------ * 'tgPermission' @::@ 'Maybe' 'BucketLogsPermission'----targetGrant :: TargetGrant-targetGrant = TargetGrant-    { _tgGrantee    = Nothing-    , _tgPermission = Nothing-    }--tgGrantee :: Lens' TargetGrant (Maybe Grantee)-tgGrantee = lens _tgGrantee (\s a -> s { _tgGrantee = a })---- | Logging permissions assigned to the Grantee for the bucket.-tgPermission :: Lens' TargetGrant (Maybe BucketLogsPermission)-tgPermission = lens _tgPermission (\s a -> s { _tgPermission = a })--instance FromXML TargetGrant where-    parseXML x = TargetGrant-        <$> x .@? "Grantee"-        <*> x .@? "Permission"--instance ToXML TargetGrant where-    toXML TargetGrant{..} = nodes "TargetGrant"-        [ "Grantee"    =@ _tgGrantee-        , "Permission" =@ _tgPermission-        ]--data MFADeleteStatus-    = MFADSDisabled -- ^ Disabled-    | MFADSEnabled  -- ^ Enabled-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable MFADeleteStatus--instance FromText MFADeleteStatus where-    parser = takeLowerText >>= \case-        "disabled" -> pure MFADSDisabled-        "enabled"  -> pure MFADSEnabled-        e          -> fail $-            "Failure parsing MFADeleteStatus from " ++ show e--instance ToText MFADeleteStatus where-    toText = \case-        MFADSDisabled -> "Disabled"-        MFADSEnabled  -> "Enabled"--instance ToByteString MFADeleteStatus-instance ToHeader     MFADeleteStatus-instance ToQuery      MFADeleteStatus--instance FromXML MFADeleteStatus where-    parseXML = parseXMLText "MFADeleteStatus"--instance ToXML MFADeleteStatus where-    toXML = toXMLText--data Payer-    = PBucketOwner -- ^ BucketOwner-    | PRequester   -- ^ Requester-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable Payer--instance FromText Payer where-    parser = takeLowerText >>= \case-        "bucketowner" -> pure PBucketOwner-        "requester"   -> pure PRequester-        e             -> fail $-            "Failure parsing Payer from " ++ show e--instance ToText Payer where-    toText = \case-        PBucketOwner -> "BucketOwner"-        PRequester   -> "Requester"--instance ToByteString Payer-instance ToHeader     Payer-instance ToQuery      Payer--instance FromXML Payer where-    parseXML = parseXMLText "Payer"--instance ToXML Payer where-    toXML = toXMLText--data Redirect = Redirect-    { _rHostName             :: Maybe Text-    , _rHttpRedirectCode     :: Maybe Text-    , _rProtocol             :: Maybe Protocol-    , _rReplaceKeyPrefixWith :: Maybe Text-    , _rReplaceKeyWith       :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Redirect' constructor.------ The fields accessible through corresponding lenses are:------ * 'rHostName' @::@ 'Maybe' 'Text'------ * 'rHttpRedirectCode' @::@ 'Maybe' 'Text'------ * 'rProtocol' @::@ 'Maybe' 'Protocol'------ * 'rReplaceKeyPrefixWith' @::@ 'Maybe' 'Text'------ * 'rReplaceKeyWith' @::@ 'Maybe' 'Text'----redirect :: Redirect-redirect = Redirect-    { _rHostName             = Nothing-    , _rHttpRedirectCode     = Nothing-    , _rProtocol             = Nothing-    , _rReplaceKeyPrefixWith = Nothing-    , _rReplaceKeyWith       = Nothing-    }---- | The host name to use in the redirect request.-rHostName :: Lens' Redirect (Maybe Text)-rHostName = lens _rHostName (\s a -> s { _rHostName = a })---- | The HTTP redirect code to use on the response. Not required if one of the--- siblings is present.-rHttpRedirectCode :: Lens' Redirect (Maybe Text)-rHttpRedirectCode =-    lens _rHttpRedirectCode (\s a -> s { _rHttpRedirectCode = a })---- | Protocol to use (http, https) when redirecting requests. The default is the--- protocol that is used in the original request.-rProtocol :: Lens' Redirect (Maybe Protocol)-rProtocol = lens _rProtocol (\s a -> s { _rProtocol = a })---- | The object key prefix to use in the redirect request. For example, to--- redirect requests for all pages with prefix docs/ (objects in the docs/--- folder) to documents/, you can set a condition block with KeyPrefixEquals set--- to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not--- required if one of the siblings is present. Can be present only if--- ReplaceKeyWith is not provided.-rReplaceKeyPrefixWith :: Lens' Redirect (Maybe Text)-rReplaceKeyPrefixWith =-    lens _rReplaceKeyPrefixWith (\s a -> s { _rReplaceKeyPrefixWith = a })---- | The specific object key to use in the redirect request. For example, redirect--- request to error.html. Not required if one of the sibling is present. Can be--- present only if ReplaceKeyPrefixWith is not provided.-rReplaceKeyWith :: Lens' Redirect (Maybe Text)-rReplaceKeyWith = lens _rReplaceKeyWith (\s a -> s { _rReplaceKeyWith = a })--instance FromXML Redirect where-    parseXML x = Redirect-        <$> x .@? "HostName"-        <*> x .@? "HttpRedirectCode"-        <*> x .@? "Protocol"-        <*> x .@? "ReplaceKeyPrefixWith"-        <*> x .@? "ReplaceKeyWith"--instance ToXML Redirect where-    toXML Redirect{..} = nodes "Redirect"-        [ "HostName"             =@ _rHostName-        , "HttpRedirectCode"     =@ _rHttpRedirectCode-        , "Protocol"             =@ _rProtocol-        , "ReplaceKeyPrefixWith" =@ _rReplaceKeyPrefixWith-        , "ReplaceKeyWith"       =@ _rReplaceKeyWith-        ]--data BucketLogsPermission-    = FullControl -- ^ FULL_CONTROL-    | Read        -- ^ READ-    | Write       -- ^ WRITE-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable BucketLogsPermission--instance FromText BucketLogsPermission where-    parser = takeLowerText >>= \case-        "full_control" -> pure FullControl-        "read"         -> pure Read-        "write"        -> pure Write-        e              -> fail $-            "Failure parsing BucketLogsPermission from " ++ show e--instance ToText BucketLogsPermission where-    toText = \case-        FullControl -> "FULL_CONTROL"-        Read        -> "READ"-        Write       -> "WRITE"--instance ToByteString BucketLogsPermission-instance ToHeader     BucketLogsPermission-instance ToQuery      BucketLogsPermission--instance FromXML BucketLogsPermission where-    parseXML = parseXMLText "BucketLogsPermission"--instance ToXML BucketLogsPermission where-    toXML = toXMLText--data CompletedPart = CompletedPart-    { _cpETag       :: Maybe Text-    , _cpPartNumber :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'CompletedPart' constructor.------ The fields accessible through corresponding lenses are:------ * 'cpETag' @::@ 'Maybe' 'Text'------ * 'cpPartNumber' @::@ 'Maybe' 'Int'----completedPart :: CompletedPart-completedPart = CompletedPart-    { _cpETag       = Nothing-    , _cpPartNumber = Nothing-    }---- | Entity tag returned when the part was uploaded.-cpETag :: Lens' CompletedPart (Maybe Text)-cpETag = lens _cpETag (\s a -> s { _cpETag = a })---- | Part number that identifies the part.-cpPartNumber :: Lens' CompletedPart (Maybe Int)-cpPartNumber = lens _cpPartNumber (\s a -> s { _cpPartNumber = a })--instance FromXML CompletedPart where-    parseXML x = CompletedPart-        <$> x .@? "ETag"-        <*> x .@? "PartNumber"--instance ToXML CompletedPart where-    toXML CompletedPart{..} = nodes "CompletedPart"-        [ "ETag"       =@ _cpETag-        , "PartNumber" =@ _cpPartNumber-        ]--newtype CreateBucketConfiguration = CreateBucketConfiguration-    { _cbcLocationConstraint :: Maybe Region-    } deriving (Eq, Read, Show)---- | 'CreateBucketConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'cbcLocationConstraint' @::@ 'Maybe' 'Region'----createBucketConfiguration :: CreateBucketConfiguration-createBucketConfiguration = CreateBucketConfiguration-    { _cbcLocationConstraint = Nothing-    }---- | Specifies the region where the bucket will be created. If you don't specify a--- region, the bucket will be created in US Standard.-cbcLocationConstraint :: Lens' CreateBucketConfiguration (Maybe Region)-cbcLocationConstraint =-    lens _cbcLocationConstraint (\s a -> s { _cbcLocationConstraint = a })--instance FromXML CreateBucketConfiguration where-    parseXML x = CreateBucketConfiguration-        <$> x .@? "LocationConstraint"--instance ToXML CreateBucketConfiguration where-    toXML CreateBucketConfiguration{..} = nodes "CreateBucketConfiguration"-        [ "LocationConstraint" =@ _cbcLocationConstraint-        ]--newtype Tagging = Tagging-    { _tTagSet :: List "Tag" Tag-    } deriving (Eq, Read, Show, Monoid, Semigroup)--instance GHC.Exts.IsList Tagging where-    type Item Tagging = Tag--    fromList = Tagging . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _tTagSet---- | 'Tagging' constructor.------ The fields accessible through corresponding lenses are:------ * 'tTagSet' @::@ ['Tag']----tagging :: Tagging-tagging = Tagging-    { _tTagSet = mempty-    }--tTagSet :: Lens' Tagging [Tag]-tTagSet = lens _tTagSet (\s a -> s { _tTagSet = a }) . _List--instance FromXML Tagging where-    parseXML x = Tagging-        <$> x .@? "TagSet" .!@ mempty--instance ToXML Tagging where-    toXML Tagging{..} = nodes "Tagging"-        [ "TagSet" =@ _tTagSet-        ]--data LifecycleExpiration = LifecycleExpiration-    { _leDate :: Maybe ISO8601-    , _leDays :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'LifecycleExpiration' constructor.------ The fields accessible through corresponding lenses are:------ * 'leDate' @::@ 'Maybe' 'UTCTime'------ * 'leDays' @::@ 'Maybe' 'Int'----lifecycleExpiration :: LifecycleExpiration-lifecycleExpiration = LifecycleExpiration-    { _leDate = Nothing-    , _leDays = Nothing-    }---- | Indicates at what date the object is to be moved or deleted. Should be in GMT--- ISO 8601 Format.-leDate :: Lens' LifecycleExpiration (Maybe UTCTime)-leDate = lens _leDate (\s a -> s { _leDate = a }) . mapping _Time---- | Indicates the lifetime, in days, of the objects that are subject to the rule.--- The value must be a non-zero positive integer.-leDays :: Lens' LifecycleExpiration (Maybe Int)-leDays = lens _leDays (\s a -> s { _leDays = a })--instance FromXML LifecycleExpiration where-    parseXML x = LifecycleExpiration-        <$> x .@? "Date"-        <*> x .@? "Days"--instance ToXML LifecycleExpiration where-    toXML LifecycleExpiration{..} = nodes "LifecycleExpiration"-        [ "Date" =@ _leDate-        , "Days" =@ _leDays-        ]--newtype CORSConfiguration = CORSConfiguration-    { _corscCORSRules :: List "CORSRule" CORSRule-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'CORSConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'corscCORSRules' @::@ ['CORSRule']----corsconfiguration :: CORSConfiguration-corsconfiguration = CORSConfiguration-    { _corscCORSRules = mempty-    }--corscCORSRules :: Lens' CORSConfiguration [CORSRule]-corscCORSRules = lens _corscCORSRules (\s a -> s { _corscCORSRules = a }) . _List--instance FromXML CORSConfiguration where-    parseXML x = CORSConfiguration-        <$> parseXML x--instance ToXML CORSConfiguration where-    toXML CORSConfiguration{..} = nodes "CORSConfiguration"-        [ unsafeToXML     _corscCORSRules-        ]--data Object = Object-    { _oETag         :: Text-    , _oKey          :: Text-    , _oLastModified :: RFC822-    , _oOwner        :: Owner-    , _oSize         :: Int-    , _oStorageClass :: ObjectStorageClass-    } deriving (Eq, Read, Show)---- | 'Object' constructor.------ The fields accessible through corresponding lenses are:------ * 'oETag' @::@ 'Text'------ * 'oKey' @::@ 'Text'------ * 'oLastModified' @::@ 'UTCTime'------ * 'oOwner' @::@ 'Owner'------ * 'oSize' @::@ 'Int'------ * 'oStorageClass' @::@ 'ObjectStorageClass'----object' :: Text -- ^ 'oKey'-        -> UTCTime -- ^ 'oLastModified'-        -> Text -- ^ 'oETag'-        -> Int -- ^ 'oSize'-        -> ObjectStorageClass -- ^ 'oStorageClass'-        -> Owner -- ^ 'oOwner'-        -> Object-object' p1 p2 p3 p4 p5 p6 = Object-    { _oKey          = p1-    , _oLastModified = withIso _Time (const id) p2-    , _oETag         = p3-    , _oSize         = p4-    , _oStorageClass = p5-    , _oOwner        = p6-    }--oETag :: Lens' Object Text-oETag = lens _oETag (\s a -> s { _oETag = a })--oKey :: Lens' Object Text-oKey = lens _oKey (\s a -> s { _oKey = a })--oLastModified :: Lens' Object UTCTime-oLastModified = lens _oLastModified (\s a -> s { _oLastModified = a }) . _Time--oOwner :: Lens' Object Owner-oOwner = lens _oOwner (\s a -> s { _oOwner = a })--oSize :: Lens' Object Int-oSize = lens _oSize (\s a -> s { _oSize = a })---- | The class of storage used to store the object.-oStorageClass :: Lens' Object ObjectStorageClass-oStorageClass = lens _oStorageClass (\s a -> s { _oStorageClass = a })--instance FromXML Object where-    parseXML x = Object-        <$> x .@  "ETag"-        <*> x .@  "Key"-        <*> x .@  "LastModified"-        <*> x .@  "Owner"-        <*> x .@  "Size"-        <*> x .@  "StorageClass"--instance ToXML Object where-    toXML Object{..} = nodes "Object"-        [ "Key"          =@ _oKey-        , "LastModified" =@ _oLastModified-        , "ETag"         =@ _oETag-        , "Size"         =@ _oSize-        , "StorageClass" =@ _oStorageClass-        , "Owner"        =@ _oOwner-        ]--newtype CommonPrefix = CommonPrefix-    { _cpPrefix :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'CommonPrefix' constructor.------ The fields accessible through corresponding lenses are:------ * 'cpPrefix' @::@ 'Maybe' 'Text'----commonPrefix :: CommonPrefix-commonPrefix = CommonPrefix-    { _cpPrefix = Nothing-    }--cpPrefix :: Lens' CommonPrefix (Maybe Text)-cpPrefix = lens _cpPrefix (\s a -> s { _cpPrefix = a })--instance FromXML CommonPrefix where-    parseXML x = CommonPrefix-        <$> x .@? "Prefix"--instance ToXMLRoot CommonPrefix where-    toXMLRoot CommonPrefix{..} = namespaced ns "CommonPrefix"-        [ "Prefix" =@ _cpPrefix-        ]--instance ToXML CommonPrefix--data MultipartUpload = MultipartUpload-    { _muInitiated    :: Maybe RFC822-    , _muInitiator    :: Maybe Initiator-    , _muKey          :: Maybe Text-    , _muOwner        :: Maybe Owner-    , _muStorageClass :: Maybe StorageClass-    , _muUploadId     :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'MultipartUpload' constructor.------ The fields accessible through corresponding lenses are:------ * 'muInitiated' @::@ 'Maybe' 'UTCTime'------ * 'muInitiator' @::@ 'Maybe' 'Initiator'------ * 'muKey' @::@ 'Maybe' 'Text'------ * 'muOwner' @::@ 'Maybe' 'Owner'------ * 'muStorageClass' @::@ 'Maybe' 'StorageClass'------ * 'muUploadId' @::@ 'Maybe' 'Text'----multipartUpload :: MultipartUpload-multipartUpload = MultipartUpload-    { _muUploadId     = Nothing-    , _muKey          = Nothing-    , _muInitiated    = Nothing-    , _muStorageClass = Nothing-    , _muOwner        = Nothing-    , _muInitiator    = Nothing-    }---- | Date and time at which the multipart upload was initiated.-muInitiated :: Lens' MultipartUpload (Maybe UTCTime)-muInitiated = lens _muInitiated (\s a -> s { _muInitiated = a }) . mapping _Time---- | Identifies who initiated the multipart upload.-muInitiator :: Lens' MultipartUpload (Maybe Initiator)-muInitiator = lens _muInitiator (\s a -> s { _muInitiator = a })---- | Key of the object for which the multipart upload was initiated.-muKey :: Lens' MultipartUpload (Maybe Text)-muKey = lens _muKey (\s a -> s { _muKey = a })--muOwner :: Lens' MultipartUpload (Maybe Owner)-muOwner = lens _muOwner (\s a -> s { _muOwner = a })---- | The class of storage used to store the object.-muStorageClass :: Lens' MultipartUpload (Maybe StorageClass)-muStorageClass = lens _muStorageClass (\s a -> s { _muStorageClass = a })---- | Upload ID that identifies the multipart upload.-muUploadId :: Lens' MultipartUpload (Maybe Text)-muUploadId = lens _muUploadId (\s a -> s { _muUploadId = a })--instance FromXML MultipartUpload where-    parseXML x = MultipartUpload-        <$> x .@? "Initiated"-        <*> x .@? "Initiator"-        <*> x .@? "Key"-        <*> x .@? "Owner"-        <*> x .@? "StorageClass"-        <*> x .@? "UploadId"--instance ToXML MultipartUpload where-    toXML MultipartUpload{..} = nodes "MultipartUpload"-        [ "UploadId"     =@ _muUploadId-        , "Key"          =@ _muKey-        , "Initiated"    =@ _muInitiated-        , "StorageClass" =@ _muStorageClass-        , "Owner"        =@ _muOwner-        , "Initiator"    =@ _muInitiator-        ]--data LambdaFunctionConfiguration = LambdaFunctionConfiguration-    { _lfcEvents            :: List "Event" Event-    , _lfcId                :: Maybe Text-    , _lfcLambdaFunctionArn :: Text-    } deriving (Eq, Read, Show)---- | 'LambdaFunctionConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'lfcEvents' @::@ ['Event']------ * 'lfcId' @::@ 'Maybe' 'Text'------ * 'lfcLambdaFunctionArn' @::@ 'Text'----lambdaFunctionConfiguration :: Text -- ^ 'lfcLambdaFunctionArn'-                            -> LambdaFunctionConfiguration-lambdaFunctionConfiguration p1 = LambdaFunctionConfiguration-    { _lfcLambdaFunctionArn = p1-    , _lfcId                = Nothing-    , _lfcEvents            = mempty-    }--lfcEvents :: Lens' LambdaFunctionConfiguration [Event]-lfcEvents = lens _lfcEvents (\s a -> s { _lfcEvents = a }) . _List--lfcId :: Lens' LambdaFunctionConfiguration (Maybe Text)-lfcId = lens _lfcId (\s a -> s { _lfcId = a })---- | Lambda cloud function ARN that Amazon S3 can invoke when it detects events of--- the specified type.-lfcLambdaFunctionArn :: Lens' LambdaFunctionConfiguration Text-lfcLambdaFunctionArn =-    lens _lfcLambdaFunctionArn (\s a -> s { _lfcLambdaFunctionArn = a })--instance FromXML LambdaFunctionConfiguration where-    parseXML x = LambdaFunctionConfiguration-        <$> parseXML x-        <*> x .@? "Id"-        <*> x .@  "CloudFunction"--instance ToXML LambdaFunctionConfiguration where-    toXML LambdaFunctionConfiguration{..} = nodes "LambdaFunctionConfiguration"-        [ "Id"            =@ _lfcId-        , "CloudFunction" =@ _lfcLambdaFunctionArn-        , unsafeToXML        _lfcEvents-        ]--data QueueConfigurationDeprecated = QueueConfigurationDeprecated-    { _qcdEvent  :: Maybe Event-    , _qcdEvents :: List "Event" Event-    , _qcdId     :: Maybe Text-    , _qcdQueue  :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'QueueConfigurationDeprecated' constructor.------ The fields accessible through corresponding lenses are:------ * 'qcdEvent' @::@ 'Maybe' 'Event'------ * 'qcdEvents' @::@ ['Event']------ * 'qcdId' @::@ 'Maybe' 'Text'------ * 'qcdQueue' @::@ 'Maybe' 'Text'----queueConfigurationDeprecated :: QueueConfigurationDeprecated-queueConfigurationDeprecated = QueueConfigurationDeprecated-    { _qcdId     = Nothing-    , _qcdEvent  = Nothing-    , _qcdEvents = mempty-    , _qcdQueue  = Nothing-    }--qcdEvent :: Lens' QueueConfigurationDeprecated (Maybe Event)-qcdEvent = lens _qcdEvent (\s a -> s { _qcdEvent = a })--qcdEvents :: Lens' QueueConfigurationDeprecated [Event]-qcdEvents = lens _qcdEvents (\s a -> s { _qcdEvents = a }) . _List--qcdId :: Lens' QueueConfigurationDeprecated (Maybe Text)-qcdId = lens _qcdId (\s a -> s { _qcdId = a })--qcdQueue :: Lens' QueueConfigurationDeprecated (Maybe Text)-qcdQueue = lens _qcdQueue (\s a -> s { _qcdQueue = a })--instance FromXML QueueConfigurationDeprecated where-    parseXML x = QueueConfigurationDeprecated-        <$> x .@? "Event"-        <*> parseXML x-        <*> x .@? "Id"-        <*> x .@? "Queue"--instance ToXML QueueConfigurationDeprecated where-    toXML QueueConfigurationDeprecated{..} = nodes "QueueConfigurationDeprecated"-        [ "Id"    =@ _qcdId-        , "Event" =@ _qcdEvent-        , unsafeToXML     _qcdEvents-        , "Queue" =@ _qcdQueue-        ]--data TopicConfigurationDeprecated = TopicConfigurationDeprecated-    { _tcdEvent  :: Maybe Event-    , _tcdEvents :: List "Event" Event-    , _tcdId     :: Maybe Text-    , _tcdTopic  :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'TopicConfigurationDeprecated' constructor.------ The fields accessible through corresponding lenses are:------ * 'tcdEvent' @::@ 'Maybe' 'Event'------ * 'tcdEvents' @::@ ['Event']------ * 'tcdId' @::@ 'Maybe' 'Text'------ * 'tcdTopic' @::@ 'Maybe' 'Text'----topicConfigurationDeprecated :: TopicConfigurationDeprecated-topicConfigurationDeprecated = TopicConfigurationDeprecated-    { _tcdId     = Nothing-    , _tcdEvents = mempty-    , _tcdEvent  = Nothing-    , _tcdTopic  = Nothing-    }---- | Bucket event for which to send notifications.-tcdEvent :: Lens' TopicConfigurationDeprecated (Maybe Event)-tcdEvent = lens _tcdEvent (\s a -> s { _tcdEvent = a })--tcdEvents :: Lens' TopicConfigurationDeprecated [Event]-tcdEvents = lens _tcdEvents (\s a -> s { _tcdEvents = a }) . _List--tcdId :: Lens' TopicConfigurationDeprecated (Maybe Text)-tcdId = lens _tcdId (\s a -> s { _tcdId = a })---- | Amazon SNS topic to which Amazon S3 will publish a message to report the--- specified events for the bucket.-tcdTopic :: Lens' TopicConfigurationDeprecated (Maybe Text)-tcdTopic = lens _tcdTopic (\s a -> s { _tcdTopic = a })--instance FromXML TopicConfigurationDeprecated where-    parseXML x = TopicConfigurationDeprecated-        <$> x .@? "Event"-        <*> parseXML x-        <*> x .@? "Id"-        <*> x .@? "Topic"--instance ToXML TopicConfigurationDeprecated where-    toXML TopicConfigurationDeprecated{..} = nodes "TopicConfigurationDeprecated"-        [ "Id"    =@ _tcdId-        , unsafeToXML     _tcdEvents-        , "Event" =@ _tcdEvent-        , "Topic" =@ _tcdTopic-        ]--data Type-    = AmazonCustomerByEmail -- ^ AmazonCustomerByEmail-    | CanonicalUser         -- ^ CanonicalUser-    | Group                 -- ^ Group-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable Type--instance FromText Type where-    parser = takeLowerText >>= \case-        "amazoncustomerbyemail" -> pure AmazonCustomerByEmail-        "canonicaluser"         -> pure CanonicalUser-        "group"                 -> pure Group-        e                       -> fail $-            "Failure parsing Type from " ++ show e--instance ToText Type where-    toText = \case-        AmazonCustomerByEmail -> "AmazonCustomerByEmail"-        CanonicalUser         -> "CanonicalUser"-        Group                 -> "Group"--instance ToByteString Type-instance ToHeader     Type-instance ToQuery      Type--instance FromXML Type where-    parseXML = parseXMLText "Type"--instance ToXML Type where-    toXML = toXMLText--data ReplicationStatus-    = Complete -- ^ COMPLETE-    | Failed   -- ^ FAILED-    | Pending  -- ^ PENDING-    | Replica  -- ^ REPLICA-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ReplicationStatus--instance FromText ReplicationStatus where-    parser = takeLowerText >>= \case-        "complete" -> pure Complete-        "failed"   -> pure Failed-        "pending"  -> pure Pending-        "replica"  -> pure Replica-        e          -> fail $-            "Failure parsing ReplicationStatus from " ++ show e--instance ToText ReplicationStatus where-    toText = \case-        Complete -> "COMPLETE"-        Failed   -> "FAILED"-        Pending  -> "PENDING"-        Replica  -> "REPLICA"--instance ToByteString ReplicationStatus-instance ToHeader     ReplicationStatus-instance ToQuery      ReplicationStatus--instance FromXML ReplicationStatus where-    parseXML = parseXMLText "ReplicationStatus"--instance ToXML ReplicationStatus where-    toXML = toXMLText--data TransitionStorageClass-    = TSCGlacier -- ^ GLACIER-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable TransitionStorageClass--instance FromText TransitionStorageClass where-    parser = takeLowerText >>= \case-        "glacier" -> pure TSCGlacier-        e         -> fail $-            "Failure parsing TransitionStorageClass from " ++ show e--instance ToText TransitionStorageClass where-    toText TSCGlacier = "GLACIER"--instance ToByteString TransitionStorageClass-instance ToHeader     TransitionStorageClass-instance ToQuery      TransitionStorageClass--instance FromXML TransitionStorageClass where-    parseXML = parseXMLText "TransitionStorageClass"--instance ToXML TransitionStorageClass where-    toXML = toXMLText--newtype CompletedMultipartUpload = CompletedMultipartUpload-    { _cmuParts :: List "Part" CompletedPart-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'CompletedMultipartUpload' constructor.------ The fields accessible through corresponding lenses are:------ * 'cmuParts' @::@ ['CompletedPart']----completedMultipartUpload :: CompletedMultipartUpload-completedMultipartUpload = CompletedMultipartUpload-    { _cmuParts = mempty-    }--cmuParts :: Lens' CompletedMultipartUpload [CompletedPart]-cmuParts = lens _cmuParts (\s a -> s { _cmuParts = a }) . _List--instance FromXML CompletedMultipartUpload where-    parseXML x = CompletedMultipartUpload-        <$> parseXML x--instance ToXML CompletedMultipartUpload where-    toXML CompletedMultipartUpload{..} = nodes "CompletedMultipartUpload"-        [ unsafeToXML     _cmuParts-        ]--data Condition = Condition-    { _cHttpErrorCodeReturnedEquals :: Maybe Text-    , _cKeyPrefixEquals             :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Condition' constructor.------ The fields accessible through corresponding lenses are:------ * 'cHttpErrorCodeReturnedEquals' @::@ 'Maybe' 'Text'------ * 'cKeyPrefixEquals' @::@ 'Maybe' 'Text'----condition :: Condition-condition = Condition-    { _cHttpErrorCodeReturnedEquals = Nothing-    , _cKeyPrefixEquals             = Nothing-    }---- | The HTTP error code when the redirect is applied. In the event of an error,--- if the error code equals this value, then the specified redirect is applied.--- Required when parent element Condition is specified and sibling--- KeyPrefixEquals is not specified. If both are specified, then both must be--- true for the redirect to be applied.-cHttpErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)-cHttpErrorCodeReturnedEquals =-    lens _cHttpErrorCodeReturnedEquals-        (\s a -> s { _cHttpErrorCodeReturnedEquals = a })---- | The object key name prefix when the redirect is applied. For example, to--- redirect requests for ExamplePage.html, the key prefix will be--- ExamplePage.html. To redirect request for all pages with the prefix docs/,--- the key prefix will be /docs, which identifies all objects in the docs/--- folder. Required when the parent element Condition is specified and sibling--- HttpErrorCodeReturnedEquals is not specified. If both conditions are--- specified, both must be true for the redirect to be applied.-cKeyPrefixEquals :: Lens' Condition (Maybe Text)-cKeyPrefixEquals = lens _cKeyPrefixEquals (\s a -> s { _cKeyPrefixEquals = a })--instance FromXML Condition where-    parseXML x = Condition-        <$> x .@? "HttpErrorCodeReturnedEquals"-        <*> x .@? "KeyPrefixEquals"--instance ToXML Condition where-    toXML Condition{..} = nodes "Condition"-        [ "HttpErrorCodeReturnedEquals" =@ _cHttpErrorCodeReturnedEquals-        , "KeyPrefixEquals"             =@ _cKeyPrefixEquals-        ]--data Permission-    = PFullControl -- ^ FULL_CONTROL-    | PRead        -- ^ READ-    | PReadAcp     -- ^ READ_ACP-    | PWrite       -- ^ WRITE-    | PWriteAcp    -- ^ WRITE_ACP-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable Permission--instance FromText Permission where-    parser = takeLowerText >>= \case-        "full_control" -> pure PFullControl-        "read"         -> pure PRead-        "read_acp"     -> pure PReadAcp-        "write"        -> pure PWrite-        "write_acp"    -> pure PWriteAcp-        e              -> fail $-            "Failure parsing Permission from " ++ show e--instance ToText Permission where-    toText = \case-        PFullControl -> "FULL_CONTROL"-        PRead        -> "READ"-        PReadAcp     -> "READ_ACP"-        PWrite       -> "WRITE"-        PWriteAcp    -> "WRITE_ACP"--instance ToByteString Permission-instance ToHeader     Permission-instance ToQuery      Permission--instance FromXML Permission where-    parseXML = parseXMLText "Permission"--instance ToXML Permission where-    toXML = toXMLText--data AccessControlPolicy = AccessControlPolicy-    { _acpGrants :: List "Grant" Grant-    , _acpOwner  :: Maybe Owner-    } deriving (Eq, Read, Show)---- | 'AccessControlPolicy' constructor.------ The fields accessible through corresponding lenses are:------ * 'acpGrants' @::@ ['Grant']------ * 'acpOwner' @::@ 'Maybe' 'Owner'----accessControlPolicy :: AccessControlPolicy-accessControlPolicy = AccessControlPolicy-    { _acpGrants = mempty-    , _acpOwner  = Nothing-    }---- | A list of grants.-acpGrants :: Lens' AccessControlPolicy [Grant]-acpGrants = lens _acpGrants (\s a -> s { _acpGrants = a }) . _List--acpOwner :: Lens' AccessControlPolicy (Maybe Owner)-acpOwner = lens _acpOwner (\s a -> s { _acpOwner = a })--instance FromXML AccessControlPolicy where-    parseXML x = AccessControlPolicy-        <$> x .@? "AccessControlList" .!@ mempty-        <*> x .@? "Owner"--instance ToXMLRoot AccessControlPolicy where-    toXMLRoot AccessControlPolicy{..} = namespaced ns "AccessControlPolicy"-        [ "AccessControlList" =@ _acpGrants-        , "Owner"             =@ _acpOwner-        ]--instance ToXML AccessControlPolicy--data BucketCannedACL-    = CannedAuthenticatedRead -- ^ authenticated-read-    | CannedPrivate           -- ^ private-    | CannedPublicRead        -- ^ public-read-    | CannedPublicReadWrite   -- ^ public-read-write-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable BucketCannedACL--instance FromText BucketCannedACL where-    parser = takeLowerText >>= \case-        "authenticated-read" -> pure CannedAuthenticatedRead-        "private"            -> pure CannedPrivate-        "public-read"        -> pure CannedPublicRead-        "public-read-write"  -> pure CannedPublicReadWrite-        e                    -> fail $-            "Failure parsing BucketCannedACL from " ++ show e--instance ToText BucketCannedACL where-    toText = \case-        CannedAuthenticatedRead -> "authenticated-read"-        CannedPrivate           -> "private"-        CannedPublicRead        -> "public-read"-        CannedPublicReadWrite   -> "public-read-write"--instance ToByteString BucketCannedACL-instance ToHeader     BucketCannedACL-instance ToQuery      BucketCannedACL--instance FromXML BucketCannedACL where-    parseXML = parseXMLText "BucketCannedACL"--instance ToXML BucketCannedACL where-    toXML = toXMLText--data MFADelete-    = MFADDisabled -- ^ Disabled-    | MFADEnabled  -- ^ Enabled-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable MFADelete--instance FromText MFADelete where-    parser = takeLowerText >>= \case-        "disabled" -> pure MFADDisabled-        "enabled"  -> pure MFADEnabled-        e          -> fail $-            "Failure parsing MFADelete from " ++ show e--instance ToText MFADelete where-    toText = \case-        MFADDisabled -> "Disabled"-        MFADEnabled  -> "Enabled"--instance ToByteString MFADelete-instance ToHeader     MFADelete-instance ToQuery      MFADelete--instance FromXML MFADelete where-    parseXML = parseXMLText "MFADelete"--instance ToXML MFADelete where-    toXML = toXMLText--data CloudFunctionConfiguration = CloudFunctionConfiguration-    { _cfcCloudFunction  :: Maybe Text-    , _cfcEvent          :: Maybe Event-    , _cfcEvents         :: List "Event" Event-    , _cfcId             :: Maybe Text-    , _cfcInvocationRole :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'CloudFunctionConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'cfcCloudFunction' @::@ 'Maybe' 'Text'------ * 'cfcEvent' @::@ 'Maybe' 'Event'------ * 'cfcEvents' @::@ ['Event']------ * 'cfcId' @::@ 'Maybe' 'Text'------ * 'cfcInvocationRole' @::@ 'Maybe' 'Text'----cloudFunctionConfiguration :: CloudFunctionConfiguration-cloudFunctionConfiguration = CloudFunctionConfiguration-    { _cfcId             = Nothing-    , _cfcEvent          = Nothing-    , _cfcEvents         = mempty-    , _cfcCloudFunction  = Nothing-    , _cfcInvocationRole = Nothing-    }--cfcCloudFunction :: Lens' CloudFunctionConfiguration (Maybe Text)-cfcCloudFunction = lens _cfcCloudFunction (\s a -> s { _cfcCloudFunction = a })--cfcEvent :: Lens' CloudFunctionConfiguration (Maybe Event)-cfcEvent = lens _cfcEvent (\s a -> s { _cfcEvent = a })--cfcEvents :: Lens' CloudFunctionConfiguration [Event]-cfcEvents = lens _cfcEvents (\s a -> s { _cfcEvents = a }) . _List--cfcId :: Lens' CloudFunctionConfiguration (Maybe Text)-cfcId = lens _cfcId (\s a -> s { _cfcId = a })--cfcInvocationRole :: Lens' CloudFunctionConfiguration (Maybe Text)-cfcInvocationRole =-    lens _cfcInvocationRole (\s a -> s { _cfcInvocationRole = a })--instance FromXML CloudFunctionConfiguration where-    parseXML x = CloudFunctionConfiguration-        <$> x .@? "CloudFunction"-        <*> x .@? "Event"-        <*> parseXML x-        <*> x .@? "Id"-        <*> x .@? "InvocationRole"--instance ToXML CloudFunctionConfiguration where-    toXML CloudFunctionConfiguration{..} = nodes "CloudFunctionConfiguration"-        [ "Id"             =@ _cfcId-        , "Event"          =@ _cfcEvent-        , unsafeToXML         _cfcEvents-        , "CloudFunction"  =@ _cfcCloudFunction-        , "InvocationRole" =@ _cfcInvocationRole-        ]--data Grantee = Grantee-    { _gDisplayName  :: Maybe Text-    , _gEmailAddress :: Maybe Text-    , _gID           :: Maybe Text-    , _gType         :: Type-    , _gURI          :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Grantee' constructor.------ The fields accessible through corresponding lenses are:------ * 'gDisplayName' @::@ 'Maybe' 'Text'------ * 'gEmailAddress' @::@ 'Maybe' 'Text'------ * 'gID' @::@ 'Maybe' 'Text'------ * 'gType' @::@ 'Type'------ * 'gURI' @::@ 'Maybe' 'Text'----grantee :: Type -- ^ 'gType'-        -> Grantee-grantee p1 = Grantee-    { _gType         = p1-    , _gDisplayName  = Nothing-    , _gEmailAddress = Nothing-    , _gID           = Nothing-    , _gURI          = Nothing-    }---- | Screen name of the grantee.-gDisplayName :: Lens' Grantee (Maybe Text)-gDisplayName = lens _gDisplayName (\s a -> s { _gDisplayName = a })---- | Email address of the grantee.-gEmailAddress :: Lens' Grantee (Maybe Text)-gEmailAddress = lens _gEmailAddress (\s a -> s { _gEmailAddress = a })---- | The canonical user ID of the grantee.-gID :: Lens' Grantee (Maybe Text)-gID = lens _gID (\s a -> s { _gID = a })---- | Type of grantee-gType :: Lens' Grantee Type-gType = lens _gType (\s a -> s { _gType = a })---- | URI of the grantee group.-gURI :: Lens' Grantee (Maybe Text)-gURI = lens _gURI (\s a -> s { _gURI = a })--instance FromXML Grantee where-    parseXML x = Grantee-        <$> x .@? "DisplayName"-        <*> x .@? "EmailAddress"-        <*> x .@? "ID"-        <*> x .@  "xsi:type"-        <*> x .@? "URI"--instance ToXML Grantee where-    toXML Grantee{..} = nodes "Grantee"-        [ "DisplayName"  =@ _gDisplayName-        , "EmailAddress" =@ _gEmailAddress-        , "ID"           =@ _gID-        , "xsi:type"     =@ _gType-        , "URI"          =@ _gURI-        ]--newtype LifecycleConfiguration = LifecycleConfiguration-    { _lcRules :: List "Rule" Rule-    } deriving (Eq, Read, Show, Monoid, Semigroup)---- | 'LifecycleConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'lcRules' @::@ ['Rule']----lifecycleConfiguration :: LifecycleConfiguration-lifecycleConfiguration = LifecycleConfiguration-    { _lcRules = mempty-    }--lcRules :: Lens' LifecycleConfiguration [Rule]-lcRules = lens _lcRules (\s a -> s { _lcRules = a }) . _List--instance FromXML LifecycleConfiguration where-    parseXML x = LifecycleConfiguration-        <$> parseXML x--instance ToXML LifecycleConfiguration where-    toXML LifecycleConfiguration{..} = nodes "LifecycleConfiguration"-        [ unsafeToXML     _lcRules-        ]--data LoggingEnabled = LoggingEnabled-    { _leTargetBucket :: Maybe Text-    , _leTargetGrants :: List "Grant" TargetGrant-    , _leTargetPrefix :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'LoggingEnabled' constructor.------ The fields accessible through corresponding lenses are:------ * 'leTargetBucket' @::@ 'Maybe' 'Text'------ * 'leTargetGrants' @::@ ['TargetGrant']------ * 'leTargetPrefix' @::@ 'Maybe' 'Text'----loggingEnabled :: LoggingEnabled-loggingEnabled = LoggingEnabled-    { _leTargetBucket = Nothing-    , _leTargetGrants = mempty-    , _leTargetPrefix = Nothing-    }---- | Specifies the bucket where you want Amazon S3 to store server access logs.--- You can have your logs delivered to any bucket that you own, including the--- same bucket that is being logged. You can also configure multiple buckets to--- deliver their logs to the same target bucket. In this case you should choose--- a different TargetPrefix for each source bucket so that the delivered log--- files can be distinguished by key.-leTargetBucket :: Lens' LoggingEnabled (Maybe Text)-leTargetBucket = lens _leTargetBucket (\s a -> s { _leTargetBucket = a })--leTargetGrants :: Lens' LoggingEnabled [TargetGrant]-leTargetGrants = lens _leTargetGrants (\s a -> s { _leTargetGrants = a }) . _List---- | This element lets you specify a prefix for the keys that the log files will--- be stored under.-leTargetPrefix :: Lens' LoggingEnabled (Maybe Text)-leTargetPrefix = lens _leTargetPrefix (\s a -> s { _leTargetPrefix = a })--instance FromXML LoggingEnabled where-    parseXML x = LoggingEnabled-        <$> x .@? "TargetBucket"-        <*> x .@? "TargetGrants" .!@ mempty-        <*> x .@? "TargetPrefix"--instance ToXML LoggingEnabled where-    toXML LoggingEnabled{..} = nodes "LoggingEnabled"-        [ "TargetBucket" =@ _leTargetBucket-        , "TargetGrants" =@ _leTargetGrants-        , "TargetPrefix" =@ _leTargetPrefix-        ]--data ReplicationRuleStatus-    = RRSDisabled -- ^ Disabled-    | RRSEnabled  -- ^ Enabled-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ReplicationRuleStatus--instance FromText ReplicationRuleStatus where-    parser = takeLowerText >>= \case-        "disabled" -> pure RRSDisabled-        "enabled"  -> pure RRSEnabled-        e          -> fail $-            "Failure parsing ReplicationRuleStatus from " ++ show e--instance ToText ReplicationRuleStatus where-    toText = \case-        RRSDisabled -> "Disabled"-        RRSEnabled  -> "Enabled"--instance ToByteString ReplicationRuleStatus-instance ToHeader     ReplicationRuleStatus-instance ToQuery      ReplicationRuleStatus--instance FromXML ReplicationRuleStatus where-    parseXML = parseXMLText "ReplicationRuleStatus"--instance ToXML ReplicationRuleStatus where-    toXML = toXMLText--data ServerSideEncryption-    = AES256 -- ^ AES256-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable ServerSideEncryption--instance FromText ServerSideEncryption where-    parser = takeLowerText >>= \case-        "aes256" -> pure AES256-        e        -> fail $-            "Failure parsing ServerSideEncryption from " ++ show e--instance ToText ServerSideEncryption where-    toText AES256 = "AES256"--instance ToByteString ServerSideEncryption-instance ToHeader     ServerSideEncryption-instance ToQuery      ServerSideEncryption--instance FromXML ServerSideEncryption where-    parseXML = parseXMLText "ServerSideEncryption"--instance ToXML ServerSideEncryption where-    toXML = toXMLText--newtype IndexDocument = IndexDocument-    { _idSuffix :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'IndexDocument' constructor.------ The fields accessible through corresponding lenses are:------ * 'idSuffix' @::@ 'Text'----indexDocument :: Text -- ^ 'idSuffix'-              -> IndexDocument-indexDocument p1 = IndexDocument-    { _idSuffix = p1-    }---- | A suffix that is appended to a request that is for a directory on the website--- endpoint (e.g. if the suffix is index.html and you make a request to--- samplebucket/images/ the data that is returned will be for the object with--- the key name images/index.html) The suffix must not be empty and must not--- include a slash character.-idSuffix :: Lens' IndexDocument Text-idSuffix = lens _idSuffix (\s a -> s { _idSuffix = a })--instance FromXML IndexDocument where-    parseXML x = IndexDocument-        <$> x .@  "Suffix"--instance ToXML IndexDocument where-    toXML IndexDocument{..} = nodes "IndexDocument"-        [ "Suffix" =@ _idSuffix-        ]--data CopyObjectResult = CopyObjectResult-    { _corETag         :: Maybe Text-    , _corLastModified :: Maybe RFC822-    } deriving (Eq, Ord, Read, Show)---- | 'CopyObjectResult' constructor.------ The fields accessible through corresponding lenses are:------ * 'corETag' @::@ 'Maybe' 'Text'------ * 'corLastModified' @::@ 'Maybe' 'UTCTime'----copyObjectResult :: CopyObjectResult-copyObjectResult = CopyObjectResult-    { _corETag         = Nothing-    , _corLastModified = Nothing-    }--corETag :: Lens' CopyObjectResult (Maybe Text)-corETag = lens _corETag (\s a -> s { _corETag = a })--corLastModified :: Lens' CopyObjectResult (Maybe UTCTime)-corLastModified = lens _corLastModified (\s a -> s { _corLastModified = a }) . mapping _Time--instance FromXML CopyObjectResult where-    parseXML x = CopyObjectResult-        <$> x .@? "ETag"-        <*> x .@? "LastModified"--instance ToXML CopyObjectResult where-    toXML CopyObjectResult{..} = nodes "CopyObjectResult"-        [ "ETag"         =@ _corETag-        , "LastModified" =@ _corLastModified-        ]--data Delete = Delete-    { _dObjects :: List "Object" ObjectIdentifier-    , _dQuiet   :: Maybe Bool-    } deriving (Eq, Read, Show)---- | 'Delete' constructor.------ The fields accessible through corresponding lenses are:------ * 'dObjects' @::@ ['ObjectIdentifier']------ * 'dQuiet' @::@ 'Maybe' 'Bool'----delete' :: Delete-delete' = Delete-    { _dObjects = mempty-    , _dQuiet   = Nothing-    }--dObjects :: Lens' Delete [ObjectIdentifier]-dObjects = lens _dObjects (\s a -> s { _dObjects = a }) . _List---- | Element to enable quiet mode for the request. When you add this element, you--- must set its value to true.-dQuiet :: Lens' Delete (Maybe Bool)-dQuiet = lens _dQuiet (\s a -> s { _dQuiet = a })--instance FromXML Delete where-    parseXML x = Delete-        <$> parseXML x-        <*> x .@? "Quiet"--instance ToXML Delete where-    toXML Delete{..} = nodes "Delete"-        [ unsafeToXML     _dObjects-        , "Quiet"  =@ _dQuiet-        ]--newtype RestoreRequest = RestoreRequest-    { _rDays :: Int-    } deriving (Eq, Ord, Read, Show, Enum, Num, Integral, Real)---- | 'RestoreRequest' constructor.------ The fields accessible through corresponding lenses are:------ * 'rDays' @::@ 'Int'----restoreRequest :: Int -- ^ 'rDays'-               -> RestoreRequest-restoreRequest p1 = RestoreRequest-    { _rDays = p1-    }---- | Lifetime of the active copy in days-rDays :: Lens' RestoreRequest Int-rDays = lens _rDays (\s a -> s { _rDays = a })--instance FromXML RestoreRequest where-    parseXML x = RestoreRequest-        <$> x .@  "Days"--instance ToXML RestoreRequest where-    toXML RestoreRequest{..} = nodes "RestoreRequest"-        [ "Days" =@ _rDays-        ]+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.Types+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.S3.Types+    (+    -- * Service+      S3++    -- * Errors+    , _ObjectAlreadyInActiveTierError+    , _BucketAlreadyExists+    , _ObjectNotInActiveTierError+    , _NoSuchUpload+    , _NoSuchBucket+    , _NoSuchKey++    -- * Re-exported Types+    , module Network.AWS.S3.Internal++    -- * BucketCannedACL+    , BucketCannedACL (..)++    -- * BucketLogsPermission+    , BucketLogsPermission (..)++    -- * BucketVersioningStatus+    , BucketVersioningStatus (..)++    -- * EncodingType+    , EncodingType (..)++    -- * Event+    , Event (..)++    -- * ExpirationStatus+    , ExpirationStatus (..)++    -- * MFADelete+    , MFADelete (..)++    -- * MFADeleteStatus+    , MFADeleteStatus (..)++    -- * MetadataDirective+    , MetadataDirective (..)++    -- * ObjectCannedACL+    , ObjectCannedACL (..)++    -- * ObjectStorageClass+    , ObjectStorageClass (..)++    -- * ObjectVersionStorageClass+    , ObjectVersionStorageClass (..)++    -- * Payer+    , Payer (..)++    -- * Permission+    , Permission (..)++    -- * Protocol+    , Protocol (..)++    -- * ReplicationRuleStatus+    , ReplicationRuleStatus (..)++    -- * ReplicationStatus+    , ReplicationStatus (..)++    -- * RequestCharged+    , RequestCharged (..)++    -- * RequestPayer+    , RequestPayer (..)++    -- * ServerSideEncryption+    , ServerSideEncryption (..)++    -- * StorageClass+    , StorageClass (..)++    -- * TransitionStorageClass+    , TransitionStorageClass (..)++    -- * Type+    , Type (..)++    -- * AccessControlPolicy+    , AccessControlPolicy+    , accessControlPolicy+    , acpGrants+    , acpOwner++    -- * Bucket+    , Bucket+    , bucket+    , bCreationDate+    , bName++    -- * BucketLoggingStatus+    , BucketLoggingStatus+    , bucketLoggingStatus+    , blsLoggingEnabled++    -- * CORSConfiguration+    , CORSConfiguration+    , corsConfiguration+    , ccCORSRules++    -- * CORSRule+    , CORSRule+    , corsRule+    , crAllowedMethods+    , crMaxAgeSeconds+    , crAllowedHeaders+    , crAllowedOrigins+    , crExposeHeaders++    -- * CommonPrefix+    , CommonPrefix+    , commonPrefix+    , cpPrefix++    -- * CompletedMultipartUpload+    , CompletedMultipartUpload+    , completedMultipartUpload+    , cmuParts++    -- * CompletedPart+    , CompletedPart+    , completedPart+    , cpPartNumber+    , cpETag++    -- * Condition+    , Condition+    , condition+    , cKeyPrefixEquals+    , cHTTPErrorCodeReturnedEquals++    -- * CopyObjectResult+    , CopyObjectResult+    , copyObjectResult+    , corETag+    , corLastModified++    -- * CopyPartResult+    , CopyPartResult+    , copyPartResult+    , cprETag+    , cprLastModified++    -- * CreateBucketConfiguration+    , CreateBucketConfiguration+    , createBucketConfiguration+    , cbcLocationConstraint++    -- * Delete+    , Delete+    , delete'+    , dQuiet+    , dObjects++    -- * DeleteMarkerEntry+    , DeleteMarkerEntry+    , deleteMarkerEntry+    , dmeVersionId+    , dmeIsLatest+    , dmeOwner+    , dmeKey+    , dmeLastModified++    -- * DeletedObject+    , DeletedObject+    , deletedObject+    , dVersionId+    , dDeleteMarker+    , dDeleteMarkerVersionId+    , dKey++    -- * Destination+    , Destination+    , destination+    , dBucket++    -- * ErrorDocument+    , ErrorDocument+    , errorDocument+    , edKey++    -- * Grant+    , Grant+    , grant+    , gPermission+    , gGrantee++    -- * Grantee+    , Grantee+    , grantee+    , gURI+    , gEmailAddress+    , gId+    , gDisplayName+    , gType++    -- * IndexDocument+    , IndexDocument+    , indexDocument+    , idSuffix++    -- * Initiator+    , Initiator+    , initiator+    , iId+    , iDisplayName++    -- * LambdaFunctionConfiguration+    , LambdaFunctionConfiguration+    , lambdaFunctionConfiguration+    , lfcId+    , lfcLambdaFunctionARN+    , lfcEvents++    -- * LifecycleConfiguration+    , LifecycleConfiguration+    , lifecycleConfiguration+    , lcRules++    -- * LifecycleExpiration+    , LifecycleExpiration+    , lifecycleExpiration+    , leDays+    , leDate++    -- * LoggingEnabled+    , LoggingEnabled+    , loggingEnabled+    , leTargetBucket+    , leTargetGrants+    , leTargetPrefix++    -- * MultipartUpload+    , MultipartUpload+    , multipartUpload+    , muInitiated+    , muInitiator+    , muOwner+    , muKey+    , muStorageClass+    , muUploadId++    -- * NoncurrentVersionExpiration+    , NoncurrentVersionExpiration+    , noncurrentVersionExpiration+    , nveNoncurrentDays++    -- * NoncurrentVersionTransition+    , NoncurrentVersionTransition+    , noncurrentVersionTransition+    , nvtNoncurrentDays+    , nvtStorageClass++    -- * NotificationConfiguration+    , NotificationConfiguration+    , notificationConfiguration+    , ncQueueConfigurations+    , ncTopicConfigurations+    , ncLambdaFunctionConfigurations++    -- * Object+    , Object+    , object'+    , oOwner+    , oETag+    , oSize+    , oKey+    , oStorageClass+    , oLastModified++    -- * ObjectIdentifier+    , ObjectIdentifier+    , objectIdentifier+    , oiVersionId+    , oiKey++    -- * ObjectVersion+    , ObjectVersion+    , objectVersion+    , ovVersionId+    , ovETag+    , ovSize+    , ovIsLatest+    , ovOwner+    , ovKey+    , ovStorageClass+    , ovLastModified++    -- * Owner+    , Owner+    , owner+    , oId+    , oDisplayName++    -- * Part+    , Part+    , part+    , pETag+    , pSize+    , pPartNumber+    , pLastModified++    -- * QueueConfiguration+    , QueueConfiguration+    , queueConfiguration+    , qcId+    , qcQueueARN+    , qcEvents++    -- * Redirect+    , Redirect+    , redirect+    , rHostName+    , rProtocol+    , rHTTPRedirectCode+    , rReplaceKeyWith+    , rReplaceKeyPrefixWith++    -- * RedirectAllRequestsTo+    , RedirectAllRequestsTo+    , redirectAllRequestsTo+    , rartProtocol+    , rartHostName++    -- * ReplicationConfiguration+    , ReplicationConfiguration+    , replicationConfiguration+    , rcRole+    , rcRules++    -- * ReplicationRule+    , ReplicationRule+    , replicationRule+    , rrId+    , rrPrefix+    , rrStatus+    , rrDestination++    -- * RequestPaymentConfiguration+    , RequestPaymentConfiguration+    , requestPaymentConfiguration+    , rpcPayer++    -- * RestoreRequest+    , RestoreRequest+    , restoreRequest+    , rrDays++    -- * RoutingRule+    , RoutingRule+    , routingRule+    , rrCondition+    , rrRedirect++    -- * Rule+    , Rule+    , rule+    , rNoncurrentVersionExpiration+    , rTransition+    , rExpiration+    , rNoncurrentVersionTransition+    , rId+    , rPrefix+    , rStatus++    -- * S3ServiceError+    , S3ServiceError+    , s3ServiceError+    , sseVersionId+    , sseKey+    , sseCode+    , sseMessage++    -- * Tag+    , Tag+    , tag+    , tagKey+    , tagValue++    -- * Tagging+    , Tagging+    , tagging+    , tTagSet++    -- * TargetGrant+    , TargetGrant+    , targetGrant+    , tgPermission+    , tgGrantee++    -- * TopicConfiguration+    , TopicConfiguration+    , topicConfiguration+    , tcId+    , tcTopicARN+    , tcEvents++    -- * Transition+    , Transition+    , transition+    , tDays+    , tDate+    , tStorageClass++    -- * VersioningConfiguration+    , VersioningConfiguration+    , versioningConfiguration+    , vcStatus+    , vcMFADelete++    -- * WebsiteConfiguration+    , WebsiteConfiguration+    , websiteConfiguration+    , wcRedirectAllRequestsTo+    , wcErrorDocument+    , wcRoutingRules+    , wcIndexDocument+    ) where++import           Network.AWS.Prelude+import           Network.AWS.S3.Internal+import           Network.AWS.S3.Types.Product+import           Network.AWS.S3.Types.Sum+import           Network.AWS.Sign.V4++-- | Version @2006-03-01@ of the Amazon Simple Storage Service SDK.+data S3++instance AWSService S3 where+    type Sg S3 = V4+    service = const svc+      where+        svc =+            Service+            { _svcAbbrev = "S3"+            , _svcPrefix = "s3"+            , _svcVersion = "2006-03-01"+            , _svcEndpoint = defaultEndpoint svc+            , _svcTimeout = Just 70+            , _svcStatus = statusSuccess+            , _svcError = parseXMLError+            , _svcRetry = retry+            }+        retry =+            Exponential+            { _retryBase = 5.0e-2+            , _retryGrowth = 2+            , _retryAttempts = 5+            , _retryCheck = check+            }+        check e+          | has (hasCode "ThrottlingException" . hasStatus 400) e =+              Just "throttling_exception"+          | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+          | has (hasCode "BadDigest" . hasStatus 400) e = Just "contentmd5"+          | has (hasStatus 503) e = Just "service_unavailable"+          | has (hasCode "RequestTimeout" . hasStatus 400) e = Just "timeouts"+          | has (hasStatus 500) e = Just "general_server_error"+          | has (hasStatus 509) e = Just "limit_exceeded"+          | otherwise = Nothing++-- | This operation is not allowed against this storage tier+_ObjectAlreadyInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError+_ObjectAlreadyInActiveTierError =+    _ServiceError . hasCode "ObjectAlreadyInActiveTierError"++-- | The requested bucket name is not available. The bucket namespace is+-- shared by all users of the system. Please select a different name and+-- try again.+_BucketAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError+_BucketAlreadyExists = _ServiceError . hasCode "BucketAlreadyExists"++-- | The source object of the COPY operation is not in the active tier and is+-- only stored in Amazon Glacier.+_ObjectNotInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError+_ObjectNotInActiveTierError =+    _ServiceError . hasCode "ObjectNotInActiveTierError"++-- | The specified multipart upload does not exist.+_NoSuchUpload :: AsError a => Getting (First ServiceError) a ServiceError+_NoSuchUpload = _ServiceError . hasCode "NoSuchUpload"++-- | The specified bucket does not exist.+_NoSuchBucket :: AsError a => Getting (First ServiceError) a ServiceError+_NoSuchBucket = _ServiceError . hasCode "NoSuchBucket"++-- | The specified key does not exist.+_NoSuchKey :: AsError a => Getting (First ServiceError) a ServiceError+_NoSuchKey = _ServiceError . hasCode "NoSuchKey"
+ gen/Network/AWS/S3/Types/Product.hs view
@@ -0,0 +1,2365 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.Types.Product+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.S3.Types.Product where++import           Network.AWS.Prelude+import           Network.AWS.S3.Internal+import           Network.AWS.S3.Types.Sum++-- | /See:/ 'accessControlPolicy' smart constructor.+data AccessControlPolicy = AccessControlPolicy'+    { _acpGrants :: !(Maybe [Grant])+    , _acpOwner  :: !(Maybe Owner)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccessControlPolicy' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'acpGrants'+--+-- * 'acpOwner'+accessControlPolicy+    :: AccessControlPolicy+accessControlPolicy =+    AccessControlPolicy'+    { _acpGrants = Nothing+    , _acpOwner = Nothing+    }++-- | A list of grants.+acpGrants :: Lens' AccessControlPolicy [Grant]+acpGrants = lens _acpGrants (\ s a -> s{_acpGrants = a}) . _Default . _Coerce;++-- | Undocumented member.+acpOwner :: Lens' AccessControlPolicy (Maybe Owner)+acpOwner = lens _acpOwner (\ s a -> s{_acpOwner = a});++instance ToXML AccessControlPolicy where+        toXML AccessControlPolicy'{..}+          = mconcat+              ["AccessControlList" @=+                 toXML (toXMLList "Grant" <$> _acpGrants),+               "Owner" @= _acpOwner]++-- | /See:/ 'bucket' smart constructor.+data Bucket = Bucket'+    { _bCreationDate :: !RFC822+    , _bName         :: !BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Bucket' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bCreationDate'+--+-- * 'bName'+bucket+    :: UTCTime -- ^ 'bCreationDate'+    -> BucketName -- ^ 'bName'+    -> Bucket+bucket pCreationDate_ pName_ =+    Bucket'+    { _bCreationDate = _Time # pCreationDate_+    , _bName = pName_+    }++-- | Date the bucket was created.+bCreationDate :: Lens' Bucket UTCTime+bCreationDate = lens _bCreationDate (\ s a -> s{_bCreationDate = a}) . _Time;++-- | The name of the bucket.+bName :: Lens' Bucket BucketName+bName = lens _bName (\ s a -> s{_bName = a});++instance FromXML Bucket where+        parseXML x+          = Bucket' <$> (x .@ "CreationDate") <*> (x .@ "Name")++-- | /See:/ 'bucketLoggingStatus' smart constructor.+newtype BucketLoggingStatus = BucketLoggingStatus'+    { _blsLoggingEnabled :: Maybe LoggingEnabled+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'BucketLoggingStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'blsLoggingEnabled'+bucketLoggingStatus+    :: BucketLoggingStatus+bucketLoggingStatus =+    BucketLoggingStatus'+    { _blsLoggingEnabled = Nothing+    }++-- | Undocumented member.+blsLoggingEnabled :: Lens' BucketLoggingStatus (Maybe LoggingEnabled)+blsLoggingEnabled = lens _blsLoggingEnabled (\ s a -> s{_blsLoggingEnabled = a});++instance ToXML BucketLoggingStatus where+        toXML BucketLoggingStatus'{..}+          = mconcat ["LoggingEnabled" @= _blsLoggingEnabled]++-- | /See:/ 'corsConfiguration' smart constructor.+newtype CORSConfiguration = CORSConfiguration'+    { _ccCORSRules :: Maybe [CORSRule]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CORSConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccCORSRules'+corsConfiguration+    :: CORSConfiguration+corsConfiguration =+    CORSConfiguration'+    { _ccCORSRules = Nothing+    }++-- | Undocumented member.+ccCORSRules :: Lens' CORSConfiguration [CORSRule]+ccCORSRules = lens _ccCORSRules (\ s a -> s{_ccCORSRules = a}) . _Default . _Coerce;++instance ToXML CORSConfiguration where+        toXML CORSConfiguration'{..}+          = mconcat+              [toXML (toXMLList "CORSRule" <$> _ccCORSRules)]++-- | /See:/ 'corsRule' smart constructor.+data CORSRule = CORSRule'+    { _crAllowedMethods :: !(Maybe [Text])+    , _crMaxAgeSeconds  :: !(Maybe Int)+    , _crAllowedHeaders :: !(Maybe [Text])+    , _crAllowedOrigins :: !(Maybe [Text])+    , _crExposeHeaders  :: !(Maybe [Text])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CORSRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crAllowedMethods'+--+-- * 'crMaxAgeSeconds'+--+-- * 'crAllowedHeaders'+--+-- * 'crAllowedOrigins'+--+-- * 'crExposeHeaders'+corsRule+    :: CORSRule+corsRule =+    CORSRule'+    { _crAllowedMethods = Nothing+    , _crMaxAgeSeconds = Nothing+    , _crAllowedHeaders = Nothing+    , _crAllowedOrigins = Nothing+    , _crExposeHeaders = Nothing+    }++-- | Identifies HTTP methods that the domain\/origin specified in the rule is+-- allowed to execute.+crAllowedMethods :: Lens' CORSRule [Text]+crAllowedMethods = lens _crAllowedMethods (\ s a -> s{_crAllowedMethods = a}) . _Default . _Coerce;++-- | The time in seconds that your browser is to cache the preflight response+-- for the specified resource.+crMaxAgeSeconds :: Lens' CORSRule (Maybe Int)+crMaxAgeSeconds = lens _crMaxAgeSeconds (\ s a -> s{_crMaxAgeSeconds = a});++-- | Specifies which headers are allowed in a pre-flight OPTIONS request.+crAllowedHeaders :: Lens' CORSRule [Text]+crAllowedHeaders = lens _crAllowedHeaders (\ s a -> s{_crAllowedHeaders = a}) . _Default . _Coerce;++-- | One or more origins you want customers to be able to access the bucket+-- from.+crAllowedOrigins :: Lens' CORSRule [Text]+crAllowedOrigins = lens _crAllowedOrigins (\ s a -> s{_crAllowedOrigins = a}) . _Default . _Coerce;++-- | One or more headers in the response that you want customers to be able+-- to access from their applications (for example, from a JavaScript+-- XMLHttpRequest object).+crExposeHeaders :: Lens' CORSRule [Text]+crExposeHeaders = lens _crExposeHeaders (\ s a -> s{_crExposeHeaders = a}) . _Default . _Coerce;++instance FromXML CORSRule where+        parseXML x+          = CORSRule' <$>+              (may (parseXMLList "AllowedMethod") x) <*>+                (x .@? "MaxAgeSeconds")+                <*> (may (parseXMLList "AllowedHeader") x)+                <*> (may (parseXMLList "AllowedOrigin") x)+                <*> (may (parseXMLList "ExposeHeader") x)++instance ToXML CORSRule where+        toXML CORSRule'{..}+          = mconcat+              [toXML+                 (toXMLList "AllowedMethod" <$> _crAllowedMethods),+               "MaxAgeSeconds" @= _crMaxAgeSeconds,+               toXML+                 (toXMLList "AllowedHeader" <$> _crAllowedHeaders),+               toXML+                 (toXMLList "AllowedOrigin" <$> _crAllowedOrigins),+               toXML+                 (toXMLList "ExposeHeader" <$> _crExposeHeaders)]++-- | /See:/ 'commonPrefix' smart constructor.+newtype CommonPrefix = CommonPrefix'+    { _cpPrefix :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CommonPrefix' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpPrefix'+commonPrefix+    :: CommonPrefix+commonPrefix =+    CommonPrefix'+    { _cpPrefix = Nothing+    }++-- | Undocumented member.+cpPrefix :: Lens' CommonPrefix (Maybe Text)+cpPrefix = lens _cpPrefix (\ s a -> s{_cpPrefix = a});++instance FromXML CommonPrefix where+        parseXML x = CommonPrefix' <$> (x .@? "Prefix")++-- | /See:/ 'completedMultipartUpload' smart constructor.+newtype CompletedMultipartUpload = CompletedMultipartUpload'+    { _cmuParts :: Maybe (List1 CompletedPart)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CompletedMultipartUpload' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cmuParts'+completedMultipartUpload+    :: CompletedMultipartUpload+completedMultipartUpload =+    CompletedMultipartUpload'+    { _cmuParts = Nothing+    }++-- | Undocumented member.+cmuParts :: Lens' CompletedMultipartUpload (Maybe (NonEmpty CompletedPart))+cmuParts = lens _cmuParts (\ s a -> s{_cmuParts = a}) . mapping _List1;++instance ToXML CompletedMultipartUpload where+        toXML CompletedMultipartUpload'{..}+          = mconcat [toXML (toXMLList "Part" <$> _cmuParts)]++-- | /See:/ 'completedPart' smart constructor.+data CompletedPart = CompletedPart'+    { _cpPartNumber :: !Int+    , _cpETag       :: !ETag+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CompletedPart' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpPartNumber'+--+-- * 'cpETag'+completedPart+    :: Int -- ^ 'cpPartNumber'+    -> ETag -- ^ 'cpETag'+    -> CompletedPart+completedPart pPartNumber_ pETag_ =+    CompletedPart'+    { _cpPartNumber = pPartNumber_+    , _cpETag = pETag_+    }++-- | Part number that identifies the part. This is a positive integer between+-- 1 and 10,000.+cpPartNumber :: Lens' CompletedPart Int+cpPartNumber = lens _cpPartNumber (\ s a -> s{_cpPartNumber = a});++-- | Entity tag returned when the part was uploaded.+cpETag :: Lens' CompletedPart ETag+cpETag = lens _cpETag (\ s a -> s{_cpETag = a});++instance ToXML CompletedPart where+        toXML CompletedPart'{..}+          = mconcat+              ["PartNumber" @= _cpPartNumber, "ETag" @= _cpETag]++-- | /See:/ 'condition' smart constructor.+data Condition = Condition'+    { _cKeyPrefixEquals             :: !(Maybe Text)+    , _cHTTPErrorCodeReturnedEquals :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Condition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cKeyPrefixEquals'+--+-- * 'cHTTPErrorCodeReturnedEquals'+condition+    :: Condition+condition =+    Condition'+    { _cKeyPrefixEquals = Nothing+    , _cHTTPErrorCodeReturnedEquals = Nothing+    }++-- | The object key name prefix when the redirect is applied. For example, to+-- redirect requests for ExamplePage.html, the key prefix will be+-- ExamplePage.html. To redirect request for all pages with the prefix+-- docs\/, the key prefix will be \/docs, which identifies all objects in+-- the docs\/ folder. Required when the parent element Condition is+-- specified and sibling HttpErrorCodeReturnedEquals is not specified. If+-- both conditions are specified, both must be true for the redirect to be+-- applied.+cKeyPrefixEquals :: Lens' Condition (Maybe Text)+cKeyPrefixEquals = lens _cKeyPrefixEquals (\ s a -> s{_cKeyPrefixEquals = a});++-- | The HTTP error code when the redirect is applied. In the event of an+-- error, if the error code equals this value, then the specified redirect+-- is applied. Required when parent element Condition is specified and+-- sibling KeyPrefixEquals is not specified. If both are specified, then+-- both must be true for the redirect to be applied.+cHTTPErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)+cHTTPErrorCodeReturnedEquals = lens _cHTTPErrorCodeReturnedEquals (\ s a -> s{_cHTTPErrorCodeReturnedEquals = a});++instance FromXML Condition where+        parseXML x+          = Condition' <$>+              (x .@? "KeyPrefixEquals") <*>+                (x .@? "HttpErrorCodeReturnedEquals")++instance ToXML Condition where+        toXML Condition'{..}+          = mconcat+              ["KeyPrefixEquals" @= _cKeyPrefixEquals,+               "HttpErrorCodeReturnedEquals" @=+                 _cHTTPErrorCodeReturnedEquals]++-- | /See:/ 'copyObjectResult' smart constructor.+data CopyObjectResult = CopyObjectResult'+    { _corETag         :: !(Maybe ETag)+    , _corLastModified :: !(Maybe RFC822)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CopyObjectResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'corETag'+--+-- * 'corLastModified'+copyObjectResult+    :: CopyObjectResult+copyObjectResult =+    CopyObjectResult'+    { _corETag = Nothing+    , _corLastModified = Nothing+    }++-- | Undocumented member.+corETag :: Lens' CopyObjectResult (Maybe ETag)+corETag = lens _corETag (\ s a -> s{_corETag = a});++-- | Undocumented member.+corLastModified :: Lens' CopyObjectResult (Maybe UTCTime)+corLastModified = lens _corLastModified (\ s a -> s{_corLastModified = a}) . mapping _Time;++instance FromXML CopyObjectResult where+        parseXML x+          = CopyObjectResult' <$>+              (x .@? "ETag") <*> (x .@? "LastModified")++-- | /See:/ 'copyPartResult' smart constructor.+data CopyPartResult = CopyPartResult'+    { _cprETag         :: !(Maybe ETag)+    , _cprLastModified :: !(Maybe RFC822)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CopyPartResult' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cprETag'+--+-- * 'cprLastModified'+copyPartResult+    :: CopyPartResult+copyPartResult =+    CopyPartResult'+    { _cprETag = Nothing+    , _cprLastModified = Nothing+    }++-- | Entity tag of the object.+cprETag :: Lens' CopyPartResult (Maybe ETag)+cprETag = lens _cprETag (\ s a -> s{_cprETag = a});++-- | Date and time at which the object was uploaded.+cprLastModified :: Lens' CopyPartResult (Maybe UTCTime)+cprLastModified = lens _cprLastModified (\ s a -> s{_cprLastModified = a}) . mapping _Time;++instance FromXML CopyPartResult where+        parseXML x+          = CopyPartResult' <$>+              (x .@? "ETag") <*> (x .@? "LastModified")++-- | /See:/ 'createBucketConfiguration' smart constructor.+newtype CreateBucketConfiguration = CreateBucketConfiguration'+    { _cbcLocationConstraint :: Maybe Region+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateBucketConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cbcLocationConstraint'+createBucketConfiguration+    :: CreateBucketConfiguration+createBucketConfiguration =+    CreateBucketConfiguration'+    { _cbcLocationConstraint = Nothing+    }++-- | Specifies the region where the bucket will be created. If you don\'t+-- specify a region, the bucket will be created in US Standard.+cbcLocationConstraint :: Lens' CreateBucketConfiguration (Maybe Region)+cbcLocationConstraint = lens _cbcLocationConstraint (\ s a -> s{_cbcLocationConstraint = a});++instance ToXML CreateBucketConfiguration where+        toXML CreateBucketConfiguration'{..}+          = mconcat+              ["LocationConstraint" @= _cbcLocationConstraint]++-- | /See:/ 'delete'' smart constructor.+data Delete = Delete'+    { _dQuiet   :: !(Maybe Bool)+    , _dObjects :: ![ObjectIdentifier]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Delete' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dQuiet'+--+-- * 'dObjects'+delete'+    :: Delete+delete' =+    Delete'+    { _dQuiet = Nothing+    , _dObjects = mempty+    }++-- | Element to enable quiet mode for the request. When you add this element,+-- you must set its value to true.+dQuiet :: Lens' Delete (Maybe Bool)+dQuiet = lens _dQuiet (\ s a -> s{_dQuiet = a});++-- | Undocumented member.+dObjects :: Lens' Delete [ObjectIdentifier]+dObjects = lens _dObjects (\ s a -> s{_dObjects = a}) . _Coerce;++instance ToXML Delete where+        toXML Delete'{..}+          = mconcat+              ["Quiet" @= _dQuiet, toXMLList "Object" _dObjects]++-- | /See:/ 'deleteMarkerEntry' smart constructor.+data DeleteMarkerEntry = DeleteMarkerEntry'+    { _dmeVersionId    :: !(Maybe ObjectVersionId)+    , _dmeIsLatest     :: !(Maybe Bool)+    , _dmeOwner        :: !(Maybe Owner)+    , _dmeKey          :: !(Maybe ObjectKey)+    , _dmeLastModified :: !(Maybe RFC822)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteMarkerEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dmeVersionId'+--+-- * 'dmeIsLatest'+--+-- * 'dmeOwner'+--+-- * 'dmeKey'+--+-- * 'dmeLastModified'+deleteMarkerEntry+    :: DeleteMarkerEntry+deleteMarkerEntry =+    DeleteMarkerEntry'+    { _dmeVersionId = Nothing+    , _dmeIsLatest = Nothing+    , _dmeOwner = Nothing+    , _dmeKey = Nothing+    , _dmeLastModified = Nothing+    }++-- | Version ID of an object.+dmeVersionId :: Lens' DeleteMarkerEntry (Maybe ObjectVersionId)+dmeVersionId = lens _dmeVersionId (\ s a -> s{_dmeVersionId = a});++-- | Specifies whether the object is (true) or is not (false) the latest+-- version of an object.+dmeIsLatest :: Lens' DeleteMarkerEntry (Maybe Bool)+dmeIsLatest = lens _dmeIsLatest (\ s a -> s{_dmeIsLatest = a});++-- | Undocumented member.+dmeOwner :: Lens' DeleteMarkerEntry (Maybe Owner)+dmeOwner = lens _dmeOwner (\ s a -> s{_dmeOwner = a});++-- | The object key.+dmeKey :: Lens' DeleteMarkerEntry (Maybe ObjectKey)+dmeKey = lens _dmeKey (\ s a -> s{_dmeKey = a});++-- | Date and time the object was last modified.+dmeLastModified :: Lens' DeleteMarkerEntry (Maybe UTCTime)+dmeLastModified = lens _dmeLastModified (\ s a -> s{_dmeLastModified = a}) . mapping _Time;++instance FromXML DeleteMarkerEntry where+        parseXML x+          = DeleteMarkerEntry' <$>+              (x .@? "VersionId") <*> (x .@? "IsLatest") <*>+                (x .@? "Owner")+                <*> (x .@? "Key")+                <*> (x .@? "LastModified")++-- | /See:/ 'deletedObject' smart constructor.+data DeletedObject = DeletedObject'+    { _dVersionId             :: !(Maybe ObjectVersionId)+    , _dDeleteMarker          :: !(Maybe Bool)+    , _dDeleteMarkerVersionId :: !(Maybe Text)+    , _dKey                   :: !(Maybe ObjectKey)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeletedObject' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dVersionId'+--+-- * 'dDeleteMarker'+--+-- * 'dDeleteMarkerVersionId'+--+-- * 'dKey'+deletedObject+    :: DeletedObject+deletedObject =+    DeletedObject'+    { _dVersionId = Nothing+    , _dDeleteMarker = Nothing+    , _dDeleteMarkerVersionId = Nothing+    , _dKey = Nothing+    }++-- | Undocumented member.+dVersionId :: Lens' DeletedObject (Maybe ObjectVersionId)+dVersionId = lens _dVersionId (\ s a -> s{_dVersionId = a});++-- | Undocumented member.+dDeleteMarker :: Lens' DeletedObject (Maybe Bool)+dDeleteMarker = lens _dDeleteMarker (\ s a -> s{_dDeleteMarker = a});++-- | Undocumented member.+dDeleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)+dDeleteMarkerVersionId = lens _dDeleteMarkerVersionId (\ s a -> s{_dDeleteMarkerVersionId = a});++-- | Undocumented member.+dKey :: Lens' DeletedObject (Maybe ObjectKey)+dKey = lens _dKey (\ s a -> s{_dKey = a});++instance FromXML DeletedObject where+        parseXML x+          = DeletedObject' <$>+              (x .@? "VersionId") <*> (x .@? "DeleteMarker") <*>+                (x .@? "DeleteMarkerVersionId")+                <*> (x .@? "Key")++-- | /See:/ 'destination' smart constructor.+newtype Destination = Destination'+    { _dBucket :: BucketName+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Destination' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dBucket'+destination+    :: BucketName -- ^ 'dBucket'+    -> Destination+destination pBucket_ =+    Destination'+    { _dBucket = pBucket_+    }++-- | Amazon resource name (ARN) of the bucket where you want Amazon S3 to+-- store replicas of the object identified by the rule.+dBucket :: Lens' Destination BucketName+dBucket = lens _dBucket (\ s a -> s{_dBucket = a});++instance FromXML Destination where+        parseXML x = Destination' <$> (x .@ "Bucket")++instance ToXML Destination where+        toXML Destination'{..}+          = mconcat ["Bucket" @= _dBucket]++-- | /See:/ 'errorDocument' smart constructor.+newtype ErrorDocument = ErrorDocument'+    { _edKey :: ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ErrorDocument' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'edKey'+errorDocument+    :: ObjectKey -- ^ 'edKey'+    -> ErrorDocument+errorDocument pKey_ =+    ErrorDocument'+    { _edKey = pKey_+    }++-- | The object key name to use when a 4XX class error occurs.+edKey :: Lens' ErrorDocument ObjectKey+edKey = lens _edKey (\ s a -> s{_edKey = a});++instance FromXML ErrorDocument where+        parseXML x = ErrorDocument' <$> (x .@ "Key")++instance ToXML ErrorDocument where+        toXML ErrorDocument'{..} = mconcat ["Key" @= _edKey]++-- | /See:/ 'grant' smart constructor.+data Grant = Grant'+    { _gPermission :: !(Maybe Permission)+    , _gGrantee    :: !(Maybe Grantee)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Grant' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gPermission'+--+-- * 'gGrantee'+grant+    :: Grant+grant =+    Grant'+    { _gPermission = Nothing+    , _gGrantee = Nothing+    }++-- | Specifies the permission given to the grantee.+gPermission :: Lens' Grant (Maybe Permission)+gPermission = lens _gPermission (\ s a -> s{_gPermission = a});++-- | Undocumented member.+gGrantee :: Lens' Grant (Maybe Grantee)+gGrantee = lens _gGrantee (\ s a -> s{_gGrantee = a});++instance FromXML Grant where+        parseXML x+          = Grant' <$>+              (x .@? "Permission") <*> (x .@? "Grantee")++instance ToXML Grant where+        toXML Grant'{..}+          = mconcat+              ["Permission" @= _gPermission,+               "Grantee" @= _gGrantee]++-- | /See:/ 'grantee' smart constructor.+data Grantee = Grantee'+    { _gURI          :: !(Maybe Text)+    , _gEmailAddress :: !(Maybe Text)+    , _gId           :: !(Maybe Text)+    , _gDisplayName  :: !(Maybe Text)+    , _gType         :: !Type+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Grantee' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gURI'+--+-- * 'gEmailAddress'+--+-- * 'gId'+--+-- * 'gDisplayName'+--+-- * 'gType'+grantee+    :: Type -- ^ 'gType'+    -> Grantee+grantee pType_ =+    Grantee'+    { _gURI = Nothing+    , _gEmailAddress = Nothing+    , _gId = Nothing+    , _gDisplayName = Nothing+    , _gType = pType_+    }++-- | URI of the grantee group.+gURI :: Lens' Grantee (Maybe Text)+gURI = lens _gURI (\ s a -> s{_gURI = a});++-- | Email address of the grantee.+gEmailAddress :: Lens' Grantee (Maybe Text)+gEmailAddress = lens _gEmailAddress (\ s a -> s{_gEmailAddress = a});++-- | The canonical user ID of the grantee.+gId :: Lens' Grantee (Maybe Text)+gId = lens _gId (\ s a -> s{_gId = a});++-- | Screen name of the grantee.+gDisplayName :: Lens' Grantee (Maybe Text)+gDisplayName = lens _gDisplayName (\ s a -> s{_gDisplayName = a});++-- | Type of grantee+gType :: Lens' Grantee Type+gType = lens _gType (\ s a -> s{_gType = a});++instance FromXML Grantee where+        parseXML x+          = Grantee' <$>+              (x .@? "URI") <*> (x .@? "EmailAddress") <*>+                (x .@? "ID")+                <*> (x .@? "DisplayName")+                <*> (x .@ "xsi:type")++instance ToXML Grantee where+        toXML Grantee'{..}+          = mconcat+              ["URI" @= _gURI, "EmailAddress" @= _gEmailAddress,+               "ID" @= _gId, "DisplayName" @= _gDisplayName,+               "xsi:type" @= _gType]++-- | /See:/ 'indexDocument' smart constructor.+newtype IndexDocument = IndexDocument'+    { _idSuffix :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IndexDocument' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'idSuffix'+indexDocument+    :: Text -- ^ 'idSuffix'+    -> IndexDocument+indexDocument pSuffix_ =+    IndexDocument'+    { _idSuffix = pSuffix_+    }++-- | A suffix that is appended to a request that is for a directory on the+-- website endpoint (e.g. if the suffix is index.html and you make a+-- request to samplebucket\/images\/ the data that is returned will be for+-- the object with the key name images\/index.html) The suffix must not be+-- empty and must not include a slash character.+idSuffix :: Lens' IndexDocument Text+idSuffix = lens _idSuffix (\ s a -> s{_idSuffix = a});++instance FromXML IndexDocument where+        parseXML x = IndexDocument' <$> (x .@ "Suffix")++instance ToXML IndexDocument where+        toXML IndexDocument'{..}+          = mconcat ["Suffix" @= _idSuffix]++-- | /See:/ 'initiator' smart constructor.+data Initiator = Initiator'+    { _iId          :: !(Maybe Text)+    , _iDisplayName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Initiator' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iId'+--+-- * 'iDisplayName'+initiator+    :: Initiator+initiator =+    Initiator'+    { _iId = Nothing+    , _iDisplayName = Nothing+    }++-- | If the principal is an AWS account, it provides the Canonical User ID.+-- If the principal is an IAM User, it provides a user ARN value.+iId :: Lens' Initiator (Maybe Text)+iId = lens _iId (\ s a -> s{_iId = a});++-- | Name of the Principal.+iDisplayName :: Lens' Initiator (Maybe Text)+iDisplayName = lens _iDisplayName (\ s a -> s{_iDisplayName = a});++instance FromXML Initiator where+        parseXML x+          = Initiator' <$>+              (x .@? "ID") <*> (x .@? "DisplayName")++-- | Container for specifying the AWS Lambda notification configuration.+--+-- /See:/ 'lambdaFunctionConfiguration' smart constructor.+data LambdaFunctionConfiguration = LambdaFunctionConfiguration'+    { _lfcId                :: !(Maybe Text)+    , _lfcLambdaFunctionARN :: !Text+    , _lfcEvents            :: ![Event]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LambdaFunctionConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lfcId'+--+-- * 'lfcLambdaFunctionARN'+--+-- * 'lfcEvents'+lambdaFunctionConfiguration+    :: Text -- ^ 'lfcLambdaFunctionARN'+    -> LambdaFunctionConfiguration+lambdaFunctionConfiguration pLambdaFunctionARN_ =+    LambdaFunctionConfiguration'+    { _lfcId = Nothing+    , _lfcLambdaFunctionARN = pLambdaFunctionARN_+    , _lfcEvents = mempty+    }++-- | Undocumented member.+lfcId :: Lens' LambdaFunctionConfiguration (Maybe Text)+lfcId = lens _lfcId (\ s a -> s{_lfcId = a});++-- | Lambda cloud function ARN that Amazon S3 can invoke when it detects+-- events of the specified type.+lfcLambdaFunctionARN :: Lens' LambdaFunctionConfiguration Text+lfcLambdaFunctionARN = lens _lfcLambdaFunctionARN (\ s a -> s{_lfcLambdaFunctionARN = a});++-- | Undocumented member.+lfcEvents :: Lens' LambdaFunctionConfiguration [Event]+lfcEvents = lens _lfcEvents (\ s a -> s{_lfcEvents = a}) . _Coerce;++instance FromXML LambdaFunctionConfiguration where+        parseXML x+          = LambdaFunctionConfiguration' <$>+              (x .@? "Id") <*> (x .@ "CloudFunction") <*>+                (parseXMLList "Event" x)++instance ToXML LambdaFunctionConfiguration where+        toXML LambdaFunctionConfiguration'{..}+          = mconcat+              ["Id" @= _lfcId,+               "CloudFunction" @= _lfcLambdaFunctionARN,+               toXMLList "Event" _lfcEvents]++-- | /See:/ 'lifecycleConfiguration' smart constructor.+newtype LifecycleConfiguration = LifecycleConfiguration'+    { _lcRules :: [Rule]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LifecycleConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lcRules'+lifecycleConfiguration+    :: LifecycleConfiguration+lifecycleConfiguration =+    LifecycleConfiguration'+    { _lcRules = mempty+    }++-- | Undocumented member.+lcRules :: Lens' LifecycleConfiguration [Rule]+lcRules = lens _lcRules (\ s a -> s{_lcRules = a}) . _Coerce;++instance ToXML LifecycleConfiguration where+        toXML LifecycleConfiguration'{..}+          = mconcat [toXMLList "Rule" _lcRules]++-- | /See:/ 'lifecycleExpiration' smart constructor.+data LifecycleExpiration = LifecycleExpiration'+    { _leDays :: !(Maybe Int)+    , _leDate :: !(Maybe RFC822)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LifecycleExpiration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'leDays'+--+-- * 'leDate'+lifecycleExpiration+    :: LifecycleExpiration+lifecycleExpiration =+    LifecycleExpiration'+    { _leDays = Nothing+    , _leDate = Nothing+    }++-- | Indicates the lifetime, in days, of the objects that are subject to the+-- rule. The value must be a non-zero positive integer.+leDays :: Lens' LifecycleExpiration (Maybe Int)+leDays = lens _leDays (\ s a -> s{_leDays = a});++-- | Indicates at what date the object is to be moved or deleted. Should be+-- in GMT ISO 8601 Format.+leDate :: Lens' LifecycleExpiration (Maybe UTCTime)+leDate = lens _leDate (\ s a -> s{_leDate = a}) . mapping _Time;++instance FromXML LifecycleExpiration where+        parseXML x+          = LifecycleExpiration' <$>+              (x .@? "Days") <*> (x .@? "Date")++instance ToXML LifecycleExpiration where+        toXML LifecycleExpiration'{..}+          = mconcat ["Days" @= _leDays, "Date" @= _leDate]++-- | /See:/ 'loggingEnabled' smart constructor.+data LoggingEnabled = LoggingEnabled'+    { _leTargetBucket :: !(Maybe Text)+    , _leTargetGrants :: !(Maybe [TargetGrant])+    , _leTargetPrefix :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LoggingEnabled' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'leTargetBucket'+--+-- * 'leTargetGrants'+--+-- * 'leTargetPrefix'+loggingEnabled+    :: LoggingEnabled+loggingEnabled =+    LoggingEnabled'+    { _leTargetBucket = Nothing+    , _leTargetGrants = Nothing+    , _leTargetPrefix = Nothing+    }++-- | Specifies the bucket where you want Amazon S3 to store server access+-- logs. You can have your logs delivered to any bucket that you own,+-- including the same bucket that is being logged. You can also configure+-- multiple buckets to deliver their logs to the same target bucket. In+-- this case you should choose a different TargetPrefix for each source+-- bucket so that the delivered log files can be distinguished by key.+leTargetBucket :: Lens' LoggingEnabled (Maybe Text)+leTargetBucket = lens _leTargetBucket (\ s a -> s{_leTargetBucket = a});++-- | Undocumented member.+leTargetGrants :: Lens' LoggingEnabled [TargetGrant]+leTargetGrants = lens _leTargetGrants (\ s a -> s{_leTargetGrants = a}) . _Default . _Coerce;++-- | This element lets you specify a prefix for the keys that the log files+-- will be stored under.+leTargetPrefix :: Lens' LoggingEnabled (Maybe Text)+leTargetPrefix = lens _leTargetPrefix (\ s a -> s{_leTargetPrefix = a});++instance FromXML LoggingEnabled where+        parseXML x+          = LoggingEnabled' <$>+              (x .@? "TargetBucket") <*>+                (x .@? "TargetGrants" .!@ mempty >>=+                   may (parseXMLList "Grant"))+                <*> (x .@? "TargetPrefix")++instance ToXML LoggingEnabled where+        toXML LoggingEnabled'{..}+          = mconcat+              ["TargetBucket" @= _leTargetBucket,+               "TargetGrants" @=+                 toXML (toXMLList "Grant" <$> _leTargetGrants),+               "TargetPrefix" @= _leTargetPrefix]++-- | /See:/ 'multipartUpload' smart constructor.+data MultipartUpload = MultipartUpload'+    { _muInitiated    :: !(Maybe RFC822)+    , _muInitiator    :: !(Maybe Initiator)+    , _muOwner        :: !(Maybe Owner)+    , _muKey          :: !(Maybe ObjectKey)+    , _muStorageClass :: !(Maybe StorageClass)+    , _muUploadId     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'MultipartUpload' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'muInitiated'+--+-- * 'muInitiator'+--+-- * 'muOwner'+--+-- * 'muKey'+--+-- * 'muStorageClass'+--+-- * 'muUploadId'+multipartUpload+    :: MultipartUpload+multipartUpload =+    MultipartUpload'+    { _muInitiated = Nothing+    , _muInitiator = Nothing+    , _muOwner = Nothing+    , _muKey = Nothing+    , _muStorageClass = Nothing+    , _muUploadId = Nothing+    }++-- | Date and time at which the multipart upload was initiated.+muInitiated :: Lens' MultipartUpload (Maybe UTCTime)+muInitiated = lens _muInitiated (\ s a -> s{_muInitiated = a}) . mapping _Time;++-- | Identifies who initiated the multipart upload.+muInitiator :: Lens' MultipartUpload (Maybe Initiator)+muInitiator = lens _muInitiator (\ s a -> s{_muInitiator = a});++-- | Undocumented member.+muOwner :: Lens' MultipartUpload (Maybe Owner)+muOwner = lens _muOwner (\ s a -> s{_muOwner = a});++-- | Key of the object for which the multipart upload was initiated.+muKey :: Lens' MultipartUpload (Maybe ObjectKey)+muKey = lens _muKey (\ s a -> s{_muKey = a});++-- | The class of storage used to store the object.+muStorageClass :: Lens' MultipartUpload (Maybe StorageClass)+muStorageClass = lens _muStorageClass (\ s a -> s{_muStorageClass = a});++-- | Upload ID that identifies the multipart upload.+muUploadId :: Lens' MultipartUpload (Maybe Text)+muUploadId = lens _muUploadId (\ s a -> s{_muUploadId = a});++instance FromXML MultipartUpload where+        parseXML x+          = MultipartUpload' <$>+              (x .@? "Initiated") <*> (x .@? "Initiator") <*>+                (x .@? "Owner")+                <*> (x .@? "Key")+                <*> (x .@? "StorageClass")+                <*> (x .@? "UploadId")++-- | Specifies when noncurrent object versions expire. Upon expiration,+-- Amazon S3 permanently deletes the noncurrent object versions. You set+-- this lifecycle configuration action on a bucket that has versioning+-- enabled (or suspended) to request that Amazon S3 delete noncurrent+-- object versions at a specific period in the object\'s lifetime.+--+-- /See:/ 'noncurrentVersionExpiration' smart constructor.+newtype NoncurrentVersionExpiration = NoncurrentVersionExpiration'+    { _nveNoncurrentDays :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NoncurrentVersionExpiration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nveNoncurrentDays'+noncurrentVersionExpiration+    :: Int -- ^ 'nveNoncurrentDays'+    -> NoncurrentVersionExpiration+noncurrentVersionExpiration pNoncurrentDays_ =+    NoncurrentVersionExpiration'+    { _nveNoncurrentDays = pNoncurrentDays_+    }++-- | Specifies the number of days an object is noncurrent before Amazon S3+-- can perform the associated action. For information about the noncurrent+-- days calculations, see+-- </AmazonS3/latest/dev/s3-access-control.html How Amazon S3 Calculates When an Object Became Noncurrent>+-- in the Amazon Simple Storage Service Developer Guide.+nveNoncurrentDays :: Lens' NoncurrentVersionExpiration Int+nveNoncurrentDays = lens _nveNoncurrentDays (\ s a -> s{_nveNoncurrentDays = a});++instance FromXML NoncurrentVersionExpiration where+        parseXML x+          = NoncurrentVersionExpiration' <$>+              (x .@ "NoncurrentDays")++instance ToXML NoncurrentVersionExpiration where+        toXML NoncurrentVersionExpiration'{..}+          = mconcat ["NoncurrentDays" @= _nveNoncurrentDays]++-- | Container for the transition rule that describes when noncurrent objects+-- transition to the GLACIER storage class. If your bucket is+-- versioning-enabled (or versioning is suspended), you can set this action+-- to request that Amazon S3 transition noncurrent object versions to the+-- GLACIER storage class at a specific period in the object\'s lifetime.+--+-- /See:/ 'noncurrentVersionTransition' smart constructor.+data NoncurrentVersionTransition = NoncurrentVersionTransition'+    { _nvtNoncurrentDays :: !Int+    , _nvtStorageClass   :: !TransitionStorageClass+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NoncurrentVersionTransition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'nvtNoncurrentDays'+--+-- * 'nvtStorageClass'+noncurrentVersionTransition+    :: Int -- ^ 'nvtNoncurrentDays'+    -> TransitionStorageClass -- ^ 'nvtStorageClass'+    -> NoncurrentVersionTransition+noncurrentVersionTransition pNoncurrentDays_ pStorageClass_ =+    NoncurrentVersionTransition'+    { _nvtNoncurrentDays = pNoncurrentDays_+    , _nvtStorageClass = pStorageClass_+    }++-- | Specifies the number of days an object is noncurrent before Amazon S3+-- can perform the associated action. For information about the noncurrent+-- days calculations, see+-- </AmazonS3/latest/dev/s3-access-control.html How Amazon S3 Calculates When an Object Became Noncurrent>+-- in the Amazon Simple Storage Service Developer Guide.+nvtNoncurrentDays :: Lens' NoncurrentVersionTransition Int+nvtNoncurrentDays = lens _nvtNoncurrentDays (\ s a -> s{_nvtNoncurrentDays = a});++-- | The class of storage used to store the object.+nvtStorageClass :: Lens' NoncurrentVersionTransition TransitionStorageClass+nvtStorageClass = lens _nvtStorageClass (\ s a -> s{_nvtStorageClass = a});++instance FromXML NoncurrentVersionTransition where+        parseXML x+          = NoncurrentVersionTransition' <$>+              (x .@ "NoncurrentDays") <*> (x .@ "StorageClass")++instance ToXML NoncurrentVersionTransition where+        toXML NoncurrentVersionTransition'{..}+          = mconcat+              ["NoncurrentDays" @= _nvtNoncurrentDays,+               "StorageClass" @= _nvtStorageClass]++-- | Container for specifying the notification configuration of the bucket.+-- If this element is empty, notifications are turned off on the bucket.+--+-- /See:/ 'notificationConfiguration' smart constructor.+data NotificationConfiguration = NotificationConfiguration'+    { _ncQueueConfigurations          :: !(Maybe [QueueConfiguration])+    , _ncTopicConfigurations          :: !(Maybe [TopicConfiguration])+    , _ncLambdaFunctionConfigurations :: !(Maybe [LambdaFunctionConfiguration])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'NotificationConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ncQueueConfigurations'+--+-- * 'ncTopicConfigurations'+--+-- * 'ncLambdaFunctionConfigurations'+notificationConfiguration+    :: NotificationConfiguration+notificationConfiguration =+    NotificationConfiguration'+    { _ncQueueConfigurations = Nothing+    , _ncTopicConfigurations = Nothing+    , _ncLambdaFunctionConfigurations = Nothing+    }++-- | Undocumented member.+ncQueueConfigurations :: Lens' NotificationConfiguration [QueueConfiguration]+ncQueueConfigurations = lens _ncQueueConfigurations (\ s a -> s{_ncQueueConfigurations = a}) . _Default . _Coerce;++-- | Undocumented member.+ncTopicConfigurations :: Lens' NotificationConfiguration [TopicConfiguration]+ncTopicConfigurations = lens _ncTopicConfigurations (\ s a -> s{_ncTopicConfigurations = a}) . _Default . _Coerce;++-- | Undocumented member.+ncLambdaFunctionConfigurations :: Lens' NotificationConfiguration [LambdaFunctionConfiguration]+ncLambdaFunctionConfigurations = lens _ncLambdaFunctionConfigurations (\ s a -> s{_ncLambdaFunctionConfigurations = a}) . _Default . _Coerce;++instance FromXML NotificationConfiguration where+        parseXML x+          = NotificationConfiguration' <$>+              (may (parseXMLList "QueueConfiguration") x) <*>+                (may (parseXMLList "TopicConfiguration") x)+                <*>+                (may (parseXMLList "CloudFunctionConfiguration") x)++instance ToXML NotificationConfiguration where+        toXML NotificationConfiguration'{..}+          = mconcat+              [toXML+                 (toXMLList "QueueConfiguration" <$>+                    _ncQueueConfigurations),+               toXML+                 (toXMLList "TopicConfiguration" <$>+                    _ncTopicConfigurations),+               toXML+                 (toXMLList "CloudFunctionConfiguration" <$>+                    _ncLambdaFunctionConfigurations)]++-- | /See:/ 'object'' smart constructor.+data Object = Object'+    { _oOwner        :: !(Maybe Owner)+    , _oETag         :: !ETag+    , _oSize         :: !Int+    , _oKey          :: !ObjectKey+    , _oStorageClass :: !ObjectStorageClass+    , _oLastModified :: !RFC822+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Object' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oOwner'+--+-- * 'oETag'+--+-- * 'oSize'+--+-- * 'oKey'+--+-- * 'oStorageClass'+--+-- * 'oLastModified'+object'+    :: ETag -- ^ 'oETag'+    -> Int -- ^ 'oSize'+    -> ObjectKey -- ^ 'oKey'+    -> ObjectStorageClass -- ^ 'oStorageClass'+    -> UTCTime -- ^ 'oLastModified'+    -> Object+object' pETag_ pSize_ pKey_ pStorageClass_ pLastModified_ =+    Object'+    { _oOwner = Nothing+    , _oETag = pETag_+    , _oSize = pSize_+    , _oKey = pKey_+    , _oStorageClass = pStorageClass_+    , _oLastModified = _Time # pLastModified_+    }++-- | Undocumented member.+oOwner :: Lens' Object (Maybe Owner)+oOwner = lens _oOwner (\ s a -> s{_oOwner = a});++-- | Undocumented member.+oETag :: Lens' Object ETag+oETag = lens _oETag (\ s a -> s{_oETag = a});++-- | Undocumented member.+oSize :: Lens' Object Int+oSize = lens _oSize (\ s a -> s{_oSize = a});++-- | Undocumented member.+oKey :: Lens' Object ObjectKey+oKey = lens _oKey (\ s a -> s{_oKey = a});++-- | The class of storage used to store the object.+oStorageClass :: Lens' Object ObjectStorageClass+oStorageClass = lens _oStorageClass (\ s a -> s{_oStorageClass = a});++-- | Undocumented member.+oLastModified :: Lens' Object UTCTime+oLastModified = lens _oLastModified (\ s a -> s{_oLastModified = a}) . _Time;++instance FromXML Object where+        parseXML x+          = Object' <$>+              (x .@? "Owner") <*> (x .@ "ETag") <*> (x .@ "Size")+                <*> (x .@ "Key")+                <*> (x .@ "StorageClass")+                <*> (x .@ "LastModified")++-- | /See:/ 'objectIdentifier' smart constructor.+data ObjectIdentifier = ObjectIdentifier'+    { _oiVersionId :: !(Maybe ObjectVersionId)+    , _oiKey       :: !ObjectKey+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ObjectIdentifier' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oiVersionId'+--+-- * 'oiKey'+objectIdentifier+    :: ObjectKey -- ^ 'oiKey'+    -> ObjectIdentifier+objectIdentifier pKey_ =+    ObjectIdentifier'+    { _oiVersionId = Nothing+    , _oiKey = pKey_+    }++-- | VersionId for the specific version of the object to delete.+oiVersionId :: Lens' ObjectIdentifier (Maybe ObjectVersionId)+oiVersionId = lens _oiVersionId (\ s a -> s{_oiVersionId = a});++-- | Key name of the object to delete.+oiKey :: Lens' ObjectIdentifier ObjectKey+oiKey = lens _oiKey (\ s a -> s{_oiKey = a});++instance ToXML ObjectIdentifier where+        toXML ObjectIdentifier'{..}+          = mconcat+              ["VersionId" @= _oiVersionId, "Key" @= _oiKey]++-- | /See:/ 'objectVersion' smart constructor.+data ObjectVersion = ObjectVersion'+    { _ovVersionId    :: !(Maybe ObjectVersionId)+    , _ovETag         :: !(Maybe ETag)+    , _ovSize         :: !(Maybe Int)+    , _ovIsLatest     :: !(Maybe Bool)+    , _ovOwner        :: !(Maybe Owner)+    , _ovKey          :: !(Maybe ObjectKey)+    , _ovStorageClass :: !(Maybe ObjectVersionStorageClass)+    , _ovLastModified :: !(Maybe RFC822)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ObjectVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ovVersionId'+--+-- * 'ovETag'+--+-- * 'ovSize'+--+-- * 'ovIsLatest'+--+-- * 'ovOwner'+--+-- * 'ovKey'+--+-- * 'ovStorageClass'+--+-- * 'ovLastModified'+objectVersion+    :: ObjectVersion+objectVersion =+    ObjectVersion'+    { _ovVersionId = Nothing+    , _ovETag = Nothing+    , _ovSize = Nothing+    , _ovIsLatest = Nothing+    , _ovOwner = Nothing+    , _ovKey = Nothing+    , _ovStorageClass = Nothing+    , _ovLastModified = Nothing+    }++-- | Version ID of an object.+ovVersionId :: Lens' ObjectVersion (Maybe ObjectVersionId)+ovVersionId = lens _ovVersionId (\ s a -> s{_ovVersionId = a});++-- | Undocumented member.+ovETag :: Lens' ObjectVersion (Maybe ETag)+ovETag = lens _ovETag (\ s a -> s{_ovETag = a});++-- | Size in bytes of the object.+ovSize :: Lens' ObjectVersion (Maybe Int)+ovSize = lens _ovSize (\ s a -> s{_ovSize = a});++-- | Specifies whether the object is (true) or is not (false) the latest+-- version of an object.+ovIsLatest :: Lens' ObjectVersion (Maybe Bool)+ovIsLatest = lens _ovIsLatest (\ s a -> s{_ovIsLatest = a});++-- | Undocumented member.+ovOwner :: Lens' ObjectVersion (Maybe Owner)+ovOwner = lens _ovOwner (\ s a -> s{_ovOwner = a});++-- | The object key.+ovKey :: Lens' ObjectVersion (Maybe ObjectKey)+ovKey = lens _ovKey (\ s a -> s{_ovKey = a});++-- | The class of storage used to store the object.+ovStorageClass :: Lens' ObjectVersion (Maybe ObjectVersionStorageClass)+ovStorageClass = lens _ovStorageClass (\ s a -> s{_ovStorageClass = a});++-- | Date and time the object was last modified.+ovLastModified :: Lens' ObjectVersion (Maybe UTCTime)+ovLastModified = lens _ovLastModified (\ s a -> s{_ovLastModified = a}) . mapping _Time;++instance FromXML ObjectVersion where+        parseXML x+          = ObjectVersion' <$>+              (x .@? "VersionId") <*> (x .@? "ETag") <*>+                (x .@? "Size")+                <*> (x .@? "IsLatest")+                <*> (x .@? "Owner")+                <*> (x .@? "Key")+                <*> (x .@? "StorageClass")+                <*> (x .@? "LastModified")++-- | /See:/ 'owner' smart constructor.+data Owner = Owner'+    { _oId          :: !(Maybe Text)+    , _oDisplayName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Owner' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oId'+--+-- * 'oDisplayName'+owner+    :: Owner+owner =+    Owner'+    { _oId = Nothing+    , _oDisplayName = Nothing+    }++-- | Undocumented member.+oId :: Lens' Owner (Maybe Text)+oId = lens _oId (\ s a -> s{_oId = a});++-- | Undocumented member.+oDisplayName :: Lens' Owner (Maybe Text)+oDisplayName = lens _oDisplayName (\ s a -> s{_oDisplayName = a});++instance FromXML Owner where+        parseXML x+          = Owner' <$> (x .@? "ID") <*> (x .@? "DisplayName")++instance ToXML Owner where+        toXML Owner'{..}+          = mconcat+              ["ID" @= _oId, "DisplayName" @= _oDisplayName]++-- | /See:/ 'part' smart constructor.+data Part = Part'+    { _pETag         :: !(Maybe ETag)+    , _pSize         :: !(Maybe Int)+    , _pPartNumber   :: !(Maybe Int)+    , _pLastModified :: !(Maybe RFC822)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Part' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pETag'+--+-- * 'pSize'+--+-- * 'pPartNumber'+--+-- * 'pLastModified'+part+    :: Part+part =+    Part'+    { _pETag = Nothing+    , _pSize = Nothing+    , _pPartNumber = Nothing+    , _pLastModified = Nothing+    }++-- | Entity tag returned when the part was uploaded.+pETag :: Lens' Part (Maybe ETag)+pETag = lens _pETag (\ s a -> s{_pETag = a});++-- | Size of the uploaded part data.+pSize :: Lens' Part (Maybe Int)+pSize = lens _pSize (\ s a -> s{_pSize = a});++-- | Part number identifying the part. This is a positive integer between 1+-- and 10,000.+pPartNumber :: Lens' Part (Maybe Int)+pPartNumber = lens _pPartNumber (\ s a -> s{_pPartNumber = a});++-- | Date and time at which the part was uploaded.+pLastModified :: Lens' Part (Maybe UTCTime)+pLastModified = lens _pLastModified (\ s a -> s{_pLastModified = a}) . mapping _Time;++instance FromXML Part where+        parseXML x+          = Part' <$>+              (x .@? "ETag") <*> (x .@? "Size") <*>+                (x .@? "PartNumber")+                <*> (x .@? "LastModified")++-- | Container for specifying an configuration when you want Amazon S3 to+-- publish events to an Amazon Simple Queue Service (Amazon SQS) queue.+--+-- /See:/ 'queueConfiguration' smart constructor.+data QueueConfiguration = QueueConfiguration'+    { _qcId       :: !(Maybe Text)+    , _qcQueueARN :: !Text+    , _qcEvents   :: ![Event]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'QueueConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'qcId'+--+-- * 'qcQueueARN'+--+-- * 'qcEvents'+queueConfiguration+    :: Text -- ^ 'qcQueueARN'+    -> QueueConfiguration+queueConfiguration pQueueARN_ =+    QueueConfiguration'+    { _qcId = Nothing+    , _qcQueueARN = pQueueARN_+    , _qcEvents = mempty+    }++-- | Undocumented member.+qcId :: Lens' QueueConfiguration (Maybe Text)+qcId = lens _qcId (\ s a -> s{_qcId = a});++-- | Amazon SQS queue ARN to which Amazon S3 will publish a message when it+-- detects events of specified type.+qcQueueARN :: Lens' QueueConfiguration Text+qcQueueARN = lens _qcQueueARN (\ s a -> s{_qcQueueARN = a});++-- | Undocumented member.+qcEvents :: Lens' QueueConfiguration [Event]+qcEvents = lens _qcEvents (\ s a -> s{_qcEvents = a}) . _Coerce;++instance FromXML QueueConfiguration where+        parseXML x+          = QueueConfiguration' <$>+              (x .@? "Id") <*> (x .@ "Queue") <*>+                (parseXMLList "Event" x)++instance ToXML QueueConfiguration where+        toXML QueueConfiguration'{..}+          = mconcat+              ["Id" @= _qcId, "Queue" @= _qcQueueARN,+               toXMLList "Event" _qcEvents]++-- | /See:/ 'redirect' smart constructor.+data Redirect = Redirect'+    { _rHostName             :: !(Maybe Text)+    , _rProtocol             :: !(Maybe Protocol)+    , _rHTTPRedirectCode     :: !(Maybe Text)+    , _rReplaceKeyWith       :: !(Maybe Text)+    , _rReplaceKeyPrefixWith :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Redirect' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rHostName'+--+-- * 'rProtocol'+--+-- * 'rHTTPRedirectCode'+--+-- * 'rReplaceKeyWith'+--+-- * 'rReplaceKeyPrefixWith'+redirect+    :: Redirect+redirect =+    Redirect'+    { _rHostName = Nothing+    , _rProtocol = Nothing+    , _rHTTPRedirectCode = Nothing+    , _rReplaceKeyWith = Nothing+    , _rReplaceKeyPrefixWith = Nothing+    }++-- | The host name to use in the redirect request.+rHostName :: Lens' Redirect (Maybe Text)+rHostName = lens _rHostName (\ s a -> s{_rHostName = a});++-- | Protocol to use (http, https) when redirecting requests. The default is+-- the protocol that is used in the original request.+rProtocol :: Lens' Redirect (Maybe Protocol)+rProtocol = lens _rProtocol (\ s a -> s{_rProtocol = a});++-- | The HTTP redirect code to use on the response. Not required if one of+-- the siblings is present.+rHTTPRedirectCode :: Lens' Redirect (Maybe Text)+rHTTPRedirectCode = lens _rHTTPRedirectCode (\ s a -> s{_rHTTPRedirectCode = a});++-- | The specific object key to use in the redirect request. For example,+-- redirect request to error.html. Not required if one of the sibling is+-- present. Can be present only if ReplaceKeyPrefixWith is not provided.+rReplaceKeyWith :: Lens' Redirect (Maybe Text)+rReplaceKeyWith = lens _rReplaceKeyWith (\ s a -> s{_rReplaceKeyWith = a});++-- | The object key prefix to use in the redirect request. For example, to+-- redirect requests for all pages with prefix docs\/ (objects in the+-- docs\/ folder) to documents\/, you can set a condition block with+-- KeyPrefixEquals set to docs\/ and in the Redirect set+-- ReplaceKeyPrefixWith to \/documents. Not required if one of the siblings+-- is present. Can be present only if ReplaceKeyWith is not provided.+rReplaceKeyPrefixWith :: Lens' Redirect (Maybe Text)+rReplaceKeyPrefixWith = lens _rReplaceKeyPrefixWith (\ s a -> s{_rReplaceKeyPrefixWith = a});++instance FromXML Redirect where+        parseXML x+          = Redirect' <$>+              (x .@? "HostName") <*> (x .@? "Protocol") <*>+                (x .@? "HttpRedirectCode")+                <*> (x .@? "ReplaceKeyWith")+                <*> (x .@? "ReplaceKeyPrefixWith")++instance ToXML Redirect where+        toXML Redirect'{..}+          = mconcat+              ["HostName" @= _rHostName, "Protocol" @= _rProtocol,+               "HttpRedirectCode" @= _rHTTPRedirectCode,+               "ReplaceKeyWith" @= _rReplaceKeyWith,+               "ReplaceKeyPrefixWith" @= _rReplaceKeyPrefixWith]++-- | /See:/ 'redirectAllRequestsTo' smart constructor.+data RedirectAllRequestsTo = RedirectAllRequestsTo'+    { _rartProtocol :: !(Maybe Protocol)+    , _rartHostName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RedirectAllRequestsTo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rartProtocol'+--+-- * 'rartHostName'+redirectAllRequestsTo+    :: Text -- ^ 'rartHostName'+    -> RedirectAllRequestsTo+redirectAllRequestsTo pHostName_ =+    RedirectAllRequestsTo'+    { _rartProtocol = Nothing+    , _rartHostName = pHostName_+    }++-- | Protocol to use (http, https) when redirecting requests. The default is+-- the protocol that is used in the original request.+rartProtocol :: Lens' RedirectAllRequestsTo (Maybe Protocol)+rartProtocol = lens _rartProtocol (\ s a -> s{_rartProtocol = a});++-- | Name of the host where requests will be redirected.+rartHostName :: Lens' RedirectAllRequestsTo Text+rartHostName = lens _rartHostName (\ s a -> s{_rartHostName = a});++instance FromXML RedirectAllRequestsTo where+        parseXML x+          = RedirectAllRequestsTo' <$>+              (x .@? "Protocol") <*> (x .@ "HostName")++instance ToXML RedirectAllRequestsTo where+        toXML RedirectAllRequestsTo'{..}+          = mconcat+              ["Protocol" @= _rartProtocol,+               "HostName" @= _rartHostName]++-- | Container for replication rules. You can add as many as 1,000 rules.+-- Total replication configuration size can be up to 2 MB.+--+-- /See:/ 'replicationConfiguration' smart constructor.+data ReplicationConfiguration = ReplicationConfiguration'+    { _rcRole  :: !Text+    , _rcRules :: ![ReplicationRule]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReplicationConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcRole'+--+-- * 'rcRules'+replicationConfiguration+    :: Text -- ^ 'rcRole'+    -> ReplicationConfiguration+replicationConfiguration pRole_ =+    ReplicationConfiguration'+    { _rcRole = pRole_+    , _rcRules = mempty+    }++-- | Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when+-- replicating the objects.+rcRole :: Lens' ReplicationConfiguration Text+rcRole = lens _rcRole (\ s a -> s{_rcRole = a});++-- | Container for information about a particular replication rule.+-- Replication configuration must have at least one rule and can contain up+-- to 1,000 rules.+rcRules :: Lens' ReplicationConfiguration [ReplicationRule]+rcRules = lens _rcRules (\ s a -> s{_rcRules = a}) . _Coerce;++instance FromXML ReplicationConfiguration where+        parseXML x+          = ReplicationConfiguration' <$>+              (x .@ "Role") <*> (parseXMLList "Rule" x)++instance ToXML ReplicationConfiguration where+        toXML ReplicationConfiguration'{..}+          = mconcat+              ["Role" @= _rcRole, toXMLList "Rule" _rcRules]++-- | /See:/ 'replicationRule' smart constructor.+data ReplicationRule = ReplicationRule'+    { _rrId          :: !(Maybe Text)+    , _rrPrefix      :: !Text+    , _rrStatus      :: !ReplicationRuleStatus+    , _rrDestination :: !Destination+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReplicationRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrId'+--+-- * 'rrPrefix'+--+-- * 'rrStatus'+--+-- * 'rrDestination'+replicationRule+    :: Text -- ^ 'rrPrefix'+    -> ReplicationRuleStatus -- ^ 'rrStatus'+    -> Destination -- ^ 'rrDestination'+    -> ReplicationRule+replicationRule pPrefix_ pStatus_ pDestination_ =+    ReplicationRule'+    { _rrId = Nothing+    , _rrPrefix = pPrefix_+    , _rrStatus = pStatus_+    , _rrDestination = pDestination_+    }++-- | Unique identifier for the rule. The value cannot be longer than 255+-- characters.+rrId :: Lens' ReplicationRule (Maybe Text)+rrId = lens _rrId (\ s a -> s{_rrId = a});++-- | Object keyname prefix identifying one or more objects to which the rule+-- applies. Maximum prefix length can be up to 1,024 characters.+-- Overlapping prefixes are not supported.+rrPrefix :: Lens' ReplicationRule Text+rrPrefix = lens _rrPrefix (\ s a -> s{_rrPrefix = a});++-- | The rule is ignored if status is not Enabled.+rrStatus :: Lens' ReplicationRule ReplicationRuleStatus+rrStatus = lens _rrStatus (\ s a -> s{_rrStatus = a});++-- | Undocumented member.+rrDestination :: Lens' ReplicationRule Destination+rrDestination = lens _rrDestination (\ s a -> s{_rrDestination = a});++instance FromXML ReplicationRule where+        parseXML x+          = ReplicationRule' <$>+              (x .@? "ID") <*> (x .@ "Prefix") <*> (x .@ "Status")+                <*> (x .@ "Destination")++instance ToXML ReplicationRule where+        toXML ReplicationRule'{..}+          = mconcat+              ["ID" @= _rrId, "Prefix" @= _rrPrefix,+               "Status" @= _rrStatus,+               "Destination" @= _rrDestination]++-- | /See:/ 'requestPaymentConfiguration' smart constructor.+newtype RequestPaymentConfiguration = RequestPaymentConfiguration'+    { _rpcPayer :: Payer+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RequestPaymentConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rpcPayer'+requestPaymentConfiguration+    :: Payer -- ^ 'rpcPayer'+    -> RequestPaymentConfiguration+requestPaymentConfiguration pPayer_ =+    RequestPaymentConfiguration'+    { _rpcPayer = pPayer_+    }++-- | Specifies who pays for the download and request fees.+rpcPayer :: Lens' RequestPaymentConfiguration Payer+rpcPayer = lens _rpcPayer (\ s a -> s{_rpcPayer = a});++instance ToXML RequestPaymentConfiguration where+        toXML RequestPaymentConfiguration'{..}+          = mconcat ["Payer" @= _rpcPayer]++-- | /See:/ 'restoreRequest' smart constructor.+newtype RestoreRequest = RestoreRequest'+    { _rrDays :: Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RestoreRequest' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrDays'+restoreRequest+    :: Int -- ^ 'rrDays'+    -> RestoreRequest+restoreRequest pDays_ =+    RestoreRequest'+    { _rrDays = pDays_+    }++-- | Lifetime of the active copy in days+rrDays :: Lens' RestoreRequest Int+rrDays = lens _rrDays (\ s a -> s{_rrDays = a});++instance ToXML RestoreRequest where+        toXML RestoreRequest'{..}+          = mconcat ["Days" @= _rrDays]++-- | /See:/ 'routingRule' smart constructor.+data RoutingRule = RoutingRule'+    { _rrCondition :: !(Maybe Condition)+    , _rrRedirect  :: !Redirect+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RoutingRule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rrCondition'+--+-- * 'rrRedirect'+routingRule+    :: Redirect -- ^ 'rrRedirect'+    -> RoutingRule+routingRule pRedirect_ =+    RoutingRule'+    { _rrCondition = Nothing+    , _rrRedirect = pRedirect_+    }++-- | A container for describing a condition that must be met for the+-- specified redirect to apply. For example, 1. If request is for pages in+-- the \/docs folder, redirect to the \/documents folder. 2. If request+-- results in HTTP error 4xx, redirect request to another host where you+-- might process the error.+rrCondition :: Lens' RoutingRule (Maybe Condition)+rrCondition = lens _rrCondition (\ s a -> s{_rrCondition = a});++-- | Container for redirect information. You can redirect requests to another+-- host, to another page, or with another protocol. In the event of an+-- error, you can can specify a different error code to return.+rrRedirect :: Lens' RoutingRule Redirect+rrRedirect = lens _rrRedirect (\ s a -> s{_rrRedirect = a});++instance FromXML RoutingRule where+        parseXML x+          = RoutingRule' <$>+              (x .@? "Condition") <*> (x .@ "Redirect")++instance ToXML RoutingRule where+        toXML RoutingRule'{..}+          = mconcat+              ["Condition" @= _rrCondition,+               "Redirect" @= _rrRedirect]++-- | /See:/ 'rule' smart constructor.+data Rule = Rule'+    { _rNoncurrentVersionExpiration :: !(Maybe NoncurrentVersionExpiration)+    , _rTransition                  :: !(Maybe Transition)+    , _rExpiration                  :: !(Maybe LifecycleExpiration)+    , _rNoncurrentVersionTransition :: !(Maybe NoncurrentVersionTransition)+    , _rId                          :: !(Maybe Text)+    , _rPrefix                      :: !Text+    , _rStatus                      :: !ExpirationStatus+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Rule' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rNoncurrentVersionExpiration'+--+-- * 'rTransition'+--+-- * 'rExpiration'+--+-- * 'rNoncurrentVersionTransition'+--+-- * 'rId'+--+-- * 'rPrefix'+--+-- * 'rStatus'+rule+    :: Text -- ^ 'rPrefix'+    -> ExpirationStatus -- ^ 'rStatus'+    -> Rule+rule pPrefix_ pStatus_ =+    Rule'+    { _rNoncurrentVersionExpiration = Nothing+    , _rTransition = Nothing+    , _rExpiration = Nothing+    , _rNoncurrentVersionTransition = Nothing+    , _rId = Nothing+    , _rPrefix = pPrefix_+    , _rStatus = pStatus_+    }++-- | Undocumented member.+rNoncurrentVersionExpiration :: Lens' Rule (Maybe NoncurrentVersionExpiration)+rNoncurrentVersionExpiration = lens _rNoncurrentVersionExpiration (\ s a -> s{_rNoncurrentVersionExpiration = a});++-- | Undocumented member.+rTransition :: Lens' Rule (Maybe Transition)+rTransition = lens _rTransition (\ s a -> s{_rTransition = a});++-- | Undocumented member.+rExpiration :: Lens' Rule (Maybe LifecycleExpiration)+rExpiration = lens _rExpiration (\ s a -> s{_rExpiration = a});++-- | Undocumented member.+rNoncurrentVersionTransition :: Lens' Rule (Maybe NoncurrentVersionTransition)+rNoncurrentVersionTransition = lens _rNoncurrentVersionTransition (\ s a -> s{_rNoncurrentVersionTransition = a});++-- | Unique identifier for the rule. The value cannot be longer than 255+-- characters.+rId :: Lens' Rule (Maybe Text)+rId = lens _rId (\ s a -> s{_rId = a});++-- | Prefix identifying one or more objects to which the rule applies.+rPrefix :: Lens' Rule Text+rPrefix = lens _rPrefix (\ s a -> s{_rPrefix = a});++-- | If \'Enabled\', the rule is currently being applied. If \'Disabled\',+-- the rule is not currently being applied.+rStatus :: Lens' Rule ExpirationStatus+rStatus = lens _rStatus (\ s a -> s{_rStatus = a});++instance FromXML Rule where+        parseXML x+          = Rule' <$>+              (x .@? "NoncurrentVersionExpiration") <*>+                (x .@? "Transition")+                <*> (x .@? "Expiration")+                <*> (x .@? "NoncurrentVersionTransition")+                <*> (x .@? "ID")+                <*> (x .@ "Prefix")+                <*> (x .@ "Status")++instance ToXML Rule where+        toXML Rule'{..}+          = mconcat+              ["NoncurrentVersionExpiration" @=+                 _rNoncurrentVersionExpiration,+               "Transition" @= _rTransition,+               "Expiration" @= _rExpiration,+               "NoncurrentVersionTransition" @=+                 _rNoncurrentVersionTransition,+               "ID" @= _rId, "Prefix" @= _rPrefix,+               "Status" @= _rStatus]++-- | /See:/ 's3ServiceError' smart constructor.+data S3ServiceError = S3ServiceError'+    { _sseVersionId :: !(Maybe ObjectVersionId)+    , _sseKey       :: !(Maybe ObjectKey)+    , _sseCode      :: !(Maybe Text)+    , _sseMessage   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'S3ServiceError' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sseVersionId'+--+-- * 'sseKey'+--+-- * 'sseCode'+--+-- * 'sseMessage'+s3ServiceError+    :: S3ServiceError+s3ServiceError =+    S3ServiceError'+    { _sseVersionId = Nothing+    , _sseKey = Nothing+    , _sseCode = Nothing+    , _sseMessage = Nothing+    }++-- | Undocumented member.+sseVersionId :: Lens' S3ServiceError (Maybe ObjectVersionId)+sseVersionId = lens _sseVersionId (\ s a -> s{_sseVersionId = a});++-- | Undocumented member.+sseKey :: Lens' S3ServiceError (Maybe ObjectKey)+sseKey = lens _sseKey (\ s a -> s{_sseKey = a});++-- | Undocumented member.+sseCode :: Lens' S3ServiceError (Maybe Text)+sseCode = lens _sseCode (\ s a -> s{_sseCode = a});++-- | Undocumented member.+sseMessage :: Lens' S3ServiceError (Maybe Text)+sseMessage = lens _sseMessage (\ s a -> s{_sseMessage = a});++instance FromXML S3ServiceError where+        parseXML x+          = S3ServiceError' <$>+              (x .@? "VersionId") <*> (x .@? "Key") <*>+                (x .@? "Code")+                <*> (x .@? "Message")++-- | /See:/ 'tag' smart constructor.+data Tag = Tag'+    { _tagKey   :: !ObjectKey+    , _tagValue :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Tag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tagKey'+--+-- * 'tagValue'+tag+    :: ObjectKey -- ^ 'tagKey'+    -> Text -- ^ 'tagValue'+    -> Tag+tag pKey_ pValue_ =+    Tag'+    { _tagKey = pKey_+    , _tagValue = pValue_+    }++-- | Name of the tag.+tagKey :: Lens' Tag ObjectKey+tagKey = lens _tagKey (\ s a -> s{_tagKey = a});++-- | Value of the tag.+tagValue :: Lens' Tag Text+tagValue = lens _tagValue (\ s a -> s{_tagValue = a});++instance FromXML Tag where+        parseXML x = Tag' <$> (x .@ "Key") <*> (x .@ "Value")++instance ToXML Tag where+        toXML Tag'{..}+          = mconcat ["Key" @= _tagKey, "Value" @= _tagValue]++-- | /See:/ 'tagging' smart constructor.+newtype Tagging = Tagging'+    { _tTagSet :: [Tag]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Tagging' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tTagSet'+tagging+    :: Tagging+tagging =+    Tagging'+    { _tTagSet = mempty+    }++-- | Undocumented member.+tTagSet :: Lens' Tagging [Tag]+tTagSet = lens _tTagSet (\ s a -> s{_tTagSet = a}) . _Coerce;++instance ToXML Tagging where+        toXML Tagging'{..}+          = mconcat ["TagSet" @= toXMLList "Tag" _tTagSet]++-- | /See:/ 'targetGrant' smart constructor.+data TargetGrant = TargetGrant'+    { _tgPermission :: !(Maybe BucketLogsPermission)+    , _tgGrantee    :: !(Maybe Grantee)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TargetGrant' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tgPermission'+--+-- * 'tgGrantee'+targetGrant+    :: TargetGrant+targetGrant =+    TargetGrant'+    { _tgPermission = Nothing+    , _tgGrantee = Nothing+    }++-- | Logging permissions assigned to the Grantee for the bucket.+tgPermission :: Lens' TargetGrant (Maybe BucketLogsPermission)+tgPermission = lens _tgPermission (\ s a -> s{_tgPermission = a});++-- | Undocumented member.+tgGrantee :: Lens' TargetGrant (Maybe Grantee)+tgGrantee = lens _tgGrantee (\ s a -> s{_tgGrantee = a});++instance FromXML TargetGrant where+        parseXML x+          = TargetGrant' <$>+              (x .@? "Permission") <*> (x .@? "Grantee")++instance ToXML TargetGrant where+        toXML TargetGrant'{..}+          = mconcat+              ["Permission" @= _tgPermission,+               "Grantee" @= _tgGrantee]++-- | Container for specifying the configuration when you want Amazon S3 to+-- publish events to an Amazon Simple Notification Service (Amazon SNS)+-- topic.+--+-- /See:/ 'topicConfiguration' smart constructor.+data TopicConfiguration = TopicConfiguration'+    { _tcId       :: !(Maybe Text)+    , _tcTopicARN :: !Text+    , _tcEvents   :: ![Event]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TopicConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tcId'+--+-- * 'tcTopicARN'+--+-- * 'tcEvents'+topicConfiguration+    :: Text -- ^ 'tcTopicARN'+    -> TopicConfiguration+topicConfiguration pTopicARN_ =+    TopicConfiguration'+    { _tcId = Nothing+    , _tcTopicARN = pTopicARN_+    , _tcEvents = mempty+    }++-- | Undocumented member.+tcId :: Lens' TopicConfiguration (Maybe Text)+tcId = lens _tcId (\ s a -> s{_tcId = a});++-- | Amazon SNS topic ARN to which Amazon S3 will publish a message when it+-- detects events of specified type.+tcTopicARN :: Lens' TopicConfiguration Text+tcTopicARN = lens _tcTopicARN (\ s a -> s{_tcTopicARN = a});++-- | Undocumented member.+tcEvents :: Lens' TopicConfiguration [Event]+tcEvents = lens _tcEvents (\ s a -> s{_tcEvents = a}) . _Coerce;++instance FromXML TopicConfiguration where+        parseXML x+          = TopicConfiguration' <$>+              (x .@? "Id") <*> (x .@ "Topic") <*>+                (parseXMLList "Event" x)++instance ToXML TopicConfiguration where+        toXML TopicConfiguration'{..}+          = mconcat+              ["Id" @= _tcId, "Topic" @= _tcTopicARN,+               toXMLList "Event" _tcEvents]++-- | /See:/ 'transition' smart constructor.+data Transition = Transition'+    { _tDays         :: !(Maybe Int)+    , _tDate         :: !(Maybe RFC822)+    , _tStorageClass :: !(Maybe TransitionStorageClass)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Transition' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tDays'+--+-- * 'tDate'+--+-- * 'tStorageClass'+transition+    :: Transition+transition =+    Transition'+    { _tDays = Nothing+    , _tDate = Nothing+    , _tStorageClass = Nothing+    }++-- | Indicates the lifetime, in days, of the objects that are subject to the+-- rule. The value must be a non-zero positive integer.+tDays :: Lens' Transition (Maybe Int)+tDays = lens _tDays (\ s a -> s{_tDays = a});++-- | Indicates at what date the object is to be moved or deleted. Should be+-- in GMT ISO 8601 Format.+tDate :: Lens' Transition (Maybe UTCTime)+tDate = lens _tDate (\ s a -> s{_tDate = a}) . mapping _Time;++-- | The class of storage used to store the object.+tStorageClass :: Lens' Transition (Maybe TransitionStorageClass)+tStorageClass = lens _tStorageClass (\ s a -> s{_tStorageClass = a});++instance FromXML Transition where+        parseXML x+          = Transition' <$>+              (x .@? "Days") <*> (x .@? "Date") <*>+                (x .@? "StorageClass")++instance ToXML Transition where+        toXML Transition'{..}+          = mconcat+              ["Days" @= _tDays, "Date" @= _tDate,+               "StorageClass" @= _tStorageClass]++-- | /See:/ 'versioningConfiguration' smart constructor.+data VersioningConfiguration = VersioningConfiguration'+    { _vcStatus    :: !(Maybe BucketVersioningStatus)+    , _vcMFADelete :: !(Maybe MFADelete)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VersioningConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vcStatus'+--+-- * 'vcMFADelete'+versioningConfiguration+    :: VersioningConfiguration+versioningConfiguration =+    VersioningConfiguration'+    { _vcStatus = Nothing+    , _vcMFADelete = Nothing+    }++-- | The versioning state of the bucket.+vcStatus :: Lens' VersioningConfiguration (Maybe BucketVersioningStatus)+vcStatus = lens _vcStatus (\ s a -> s{_vcStatus = a});++-- | Specifies whether MFA delete is enabled in the bucket versioning+-- configuration. This element is only returned if the bucket has been+-- configured with MFA delete. If the bucket has never been so configured,+-- this element is not returned.+vcMFADelete :: Lens' VersioningConfiguration (Maybe MFADelete)+vcMFADelete = lens _vcMFADelete (\ s a -> s{_vcMFADelete = a});++instance ToXML VersioningConfiguration where+        toXML VersioningConfiguration'{..}+          = mconcat+              ["Status" @= _vcStatus, "MfaDelete" @= _vcMFADelete]++-- | /See:/ 'websiteConfiguration' smart constructor.+data WebsiteConfiguration = WebsiteConfiguration'+    { _wcRedirectAllRequestsTo :: !(Maybe RedirectAllRequestsTo)+    , _wcErrorDocument         :: !(Maybe ErrorDocument)+    , _wcRoutingRules          :: !(Maybe [RoutingRule])+    , _wcIndexDocument         :: !(Maybe IndexDocument)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'WebsiteConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'wcRedirectAllRequestsTo'+--+-- * 'wcErrorDocument'+--+-- * 'wcRoutingRules'+--+-- * 'wcIndexDocument'+websiteConfiguration+    :: WebsiteConfiguration+websiteConfiguration =+    WebsiteConfiguration'+    { _wcRedirectAllRequestsTo = Nothing+    , _wcErrorDocument = Nothing+    , _wcRoutingRules = Nothing+    , _wcIndexDocument = Nothing+    }++-- | Undocumented member.+wcRedirectAllRequestsTo :: Lens' WebsiteConfiguration (Maybe RedirectAllRequestsTo)+wcRedirectAllRequestsTo = lens _wcRedirectAllRequestsTo (\ s a -> s{_wcRedirectAllRequestsTo = a});++-- | Undocumented member.+wcErrorDocument :: Lens' WebsiteConfiguration (Maybe ErrorDocument)+wcErrorDocument = lens _wcErrorDocument (\ s a -> s{_wcErrorDocument = a});++-- | Undocumented member.+wcRoutingRules :: Lens' WebsiteConfiguration [RoutingRule]+wcRoutingRules = lens _wcRoutingRules (\ s a -> s{_wcRoutingRules = a}) . _Default . _Coerce;++-- | Undocumented member.+wcIndexDocument :: Lens' WebsiteConfiguration (Maybe IndexDocument)+wcIndexDocument = lens _wcIndexDocument (\ s a -> s{_wcIndexDocument = a});++instance ToXML WebsiteConfiguration where+        toXML WebsiteConfiguration'{..}+          = mconcat+              ["RedirectAllRequestsTo" @= _wcRedirectAllRequestsTo,+               "ErrorDocument" @= _wcErrorDocument,+               "RoutingRules" @=+                 toXML (toXMLList "RoutingRule" <$> _wcRoutingRules),+               "IndexDocument" @= _wcIndexDocument]
+ gen/Network/AWS/S3/Types/Sum.hs view
@@ -0,0 +1,700 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.S3.Types.Sum+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.S3.Types.Sum where++import           Network.AWS.Prelude+import           Network.AWS.S3.Internal++data BucketCannedACL+    = BAuthenticatedRead+    | BPrivate+    | BPublicRead+    | BPublicReadWrite+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText BucketCannedACL where+    parser = takeLowerText >>= \case+        "authenticated-read" -> pure BAuthenticatedRead+        "private" -> pure BPrivate+        "public-read" -> pure BPublicRead+        "public-read-write" -> pure BPublicReadWrite+        e -> fromTextError $ "Failure parsing BucketCannedACL from value: '" <> e+           <> "'. Accepted values: authenticated-read, private, public-read, public-read-write"++instance ToText BucketCannedACL where+    toText = \case+        BAuthenticatedRead -> "authenticated-read"+        BPrivate -> "private"+        BPublicRead -> "public-read"+        BPublicReadWrite -> "public-read-write"++instance Hashable     BucketCannedACL+instance ToByteString BucketCannedACL+instance ToQuery      BucketCannedACL+instance ToHeader     BucketCannedACL++instance ToXML BucketCannedACL where+    toXML = toXMLText++data BucketLogsPermission+    = FullControl+    | Read+    | Write+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText BucketLogsPermission where+    parser = takeLowerText >>= \case+        "full_control" -> pure FullControl+        "read" -> pure Read+        "write" -> pure Write+        e -> fromTextError $ "Failure parsing BucketLogsPermission from value: '" <> e+           <> "'. Accepted values: full_control, read, write"++instance ToText BucketLogsPermission where+    toText = \case+        FullControl -> "full_control"+        Read -> "read"+        Write -> "write"++instance Hashable     BucketLogsPermission+instance ToByteString BucketLogsPermission+instance ToQuery      BucketLogsPermission+instance ToHeader     BucketLogsPermission++instance FromXML BucketLogsPermission where+    parseXML = parseXMLText "BucketLogsPermission"++instance ToXML BucketLogsPermission where+    toXML = toXMLText++data BucketVersioningStatus+    = BVSEnabled+    | BVSSuspended+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText BucketVersioningStatus where+    parser = takeLowerText >>= \case+        "enabled" -> pure BVSEnabled+        "suspended" -> pure BVSSuspended+        e -> fromTextError $ "Failure parsing BucketVersioningStatus from value: '" <> e+           <> "'. Accepted values: enabled, suspended"++instance ToText BucketVersioningStatus where+    toText = \case+        BVSEnabled -> "enabled"+        BVSSuspended -> "suspended"++instance Hashable     BucketVersioningStatus+instance ToByteString BucketVersioningStatus+instance ToQuery      BucketVersioningStatus+instance ToHeader     BucketVersioningStatus++instance FromXML BucketVersioningStatus where+    parseXML = parseXMLText "BucketVersioningStatus"++instance ToXML BucketVersioningStatus where+    toXML = toXMLText++-- | Requests Amazon S3 to encode the object keys in the response and+-- specifies the encoding method to use. An object key may contain any+-- Unicode character; however, XML 1.0 parser cannot parse some characters,+-- such as characters with an ASCII value from 0 to 10. For characters that+-- are not supported in XML 1.0, you can add this parameter to request that+-- Amazon S3 encode the keys in the response.+data EncodingType =+    URL+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText EncodingType where+    parser = takeLowerText >>= \case+        "url" -> pure URL+        e -> fromTextError $ "Failure parsing EncodingType from value: '" <> e+           <> "'. Accepted values: url"++instance ToText EncodingType where+    toText = \case+        URL -> "url"++instance Hashable     EncodingType+instance ToByteString EncodingType+instance ToQuery      EncodingType+instance ToHeader     EncodingType++instance FromXML EncodingType where+    parseXML = parseXMLText "EncodingType"++instance ToXML EncodingType where+    toXML = toXMLText++-- | Bucket event for which to send notifications.+data Event+    = S3ObjectCreated+    | S3ObjectCreatedCompleteMultipartUpload+    | S3ObjectCreatedCopy+    | S3ObjectCreatedPost+    | S3ObjectCreatedPut+    | S3ObjectRemoved+    | S3ObjectRemovedDelete+    | S3ObjectRemovedDeleteMarkerCreated+    | S3ReducedRedundancyLostObject+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText Event where+    parser = takeLowerText >>= \case+        "s3:objectcreated:*" -> pure S3ObjectCreated+        "s3:objectcreated:completemultipartupload" -> pure S3ObjectCreatedCompleteMultipartUpload+        "s3:objectcreated:copy" -> pure S3ObjectCreatedCopy+        "s3:objectcreated:post" -> pure S3ObjectCreatedPost+        "s3:objectcreated:put" -> pure S3ObjectCreatedPut+        "s3:objectremoved:*" -> pure S3ObjectRemoved+        "s3:objectremoved:delete" -> pure S3ObjectRemovedDelete+        "s3:objectremoved:deletemarkercreated" -> pure S3ObjectRemovedDeleteMarkerCreated+        "s3:reducedredundancylostobject" -> pure S3ReducedRedundancyLostObject+        e -> fromTextError $ "Failure parsing Event from value: '" <> e+           <> "'. Accepted values: s3:objectcreated:*, s3:objectcreated:completemultipartupload, s3:objectcreated:copy, s3:objectcreated:post, s3:objectcreated:put, s3:objectremoved:*, s3:objectremoved:delete, s3:objectremoved:deletemarkercreated, s3:reducedredundancylostobject"++instance ToText Event where+    toText = \case+        S3ObjectCreated -> "s3:objectcreated:*"+        S3ObjectCreatedCompleteMultipartUpload -> "s3:objectcreated:completemultipartupload"+        S3ObjectCreatedCopy -> "s3:objectcreated:copy"+        S3ObjectCreatedPost -> "s3:objectcreated:post"+        S3ObjectCreatedPut -> "s3:objectcreated:put"+        S3ObjectRemoved -> "s3:objectremoved:*"+        S3ObjectRemovedDelete -> "s3:objectremoved:delete"+        S3ObjectRemovedDeleteMarkerCreated -> "s3:objectremoved:deletemarkercreated"+        S3ReducedRedundancyLostObject -> "s3:reducedredundancylostobject"++instance Hashable     Event+instance ToByteString Event+instance ToQuery      Event+instance ToHeader     Event++instance FromXML Event where+    parseXML = parseXMLText "Event"++instance ToXML Event where+    toXML = toXMLText++data ExpirationStatus+    = ESDisabled+    | ESEnabled+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ExpirationStatus where+    parser = takeLowerText >>= \case+        "disabled" -> pure ESDisabled+        "enabled" -> pure ESEnabled+        e -> fromTextError $ "Failure parsing ExpirationStatus from value: '" <> e+           <> "'. Accepted values: disabled, enabled"++instance ToText ExpirationStatus where+    toText = \case+        ESDisabled -> "disabled"+        ESEnabled -> "enabled"++instance Hashable     ExpirationStatus+instance ToByteString ExpirationStatus+instance ToQuery      ExpirationStatus+instance ToHeader     ExpirationStatus++instance FromXML ExpirationStatus where+    parseXML = parseXMLText "ExpirationStatus"++instance ToXML ExpirationStatus where+    toXML = toXMLText++data MFADelete+    = MDDisabled+    | MDEnabled+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText MFADelete where+    parser = takeLowerText >>= \case+        "disabled" -> pure MDDisabled+        "enabled" -> pure MDEnabled+        e -> fromTextError $ "Failure parsing MFADelete from value: '" <> e+           <> "'. Accepted values: disabled, enabled"++instance ToText MFADelete where+    toText = \case+        MDDisabled -> "disabled"+        MDEnabled -> "enabled"++instance Hashable     MFADelete+instance ToByteString MFADelete+instance ToQuery      MFADelete+instance ToHeader     MFADelete++instance ToXML MFADelete where+    toXML = toXMLText++data MFADeleteStatus+    = MDSDisabled+    | MDSEnabled+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText MFADeleteStatus where+    parser = takeLowerText >>= \case+        "disabled" -> pure MDSDisabled+        "enabled" -> pure MDSEnabled+        e -> fromTextError $ "Failure parsing MFADeleteStatus from value: '" <> e+           <> "'. Accepted values: disabled, enabled"++instance ToText MFADeleteStatus where+    toText = \case+        MDSDisabled -> "disabled"+        MDSEnabled -> "enabled"++instance Hashable     MFADeleteStatus+instance ToByteString MFADeleteStatus+instance ToQuery      MFADeleteStatus+instance ToHeader     MFADeleteStatus++instance FromXML MFADeleteStatus where+    parseXML = parseXMLText "MFADeleteStatus"++data MetadataDirective+    = Copy+    | Replace+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText MetadataDirective where+    parser = takeLowerText >>= \case+        "copy" -> pure Copy+        "replace" -> pure Replace+        e -> fromTextError $ "Failure parsing MetadataDirective from value: '" <> e+           <> "'. Accepted values: copy, replace"++instance ToText MetadataDirective where+    toText = \case+        Copy -> "copy"+        Replace -> "replace"++instance Hashable     MetadataDirective+instance ToByteString MetadataDirective+instance ToQuery      MetadataDirective+instance ToHeader     MetadataDirective++instance ToXML MetadataDirective where+    toXML = toXMLText++data ObjectCannedACL+    = OAuthenticatedRead+    | OBucketOwnerFullControl+    | OBucketOwnerRead+    | OPrivate+    | OPublicRead+    | OPublicReadWrite+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ObjectCannedACL where+    parser = takeLowerText >>= \case+        "authenticated-read" -> pure OAuthenticatedRead+        "bucket-owner-full-control" -> pure OBucketOwnerFullControl+        "bucket-owner-read" -> pure OBucketOwnerRead+        "private" -> pure OPrivate+        "public-read" -> pure OPublicRead+        "public-read-write" -> pure OPublicReadWrite+        e -> fromTextError $ "Failure parsing ObjectCannedACL from value: '" <> e+           <> "'. Accepted values: authenticated-read, bucket-owner-full-control, bucket-owner-read, private, public-read, public-read-write"++instance ToText ObjectCannedACL where+    toText = \case+        OAuthenticatedRead -> "authenticated-read"+        OBucketOwnerFullControl -> "bucket-owner-full-control"+        OBucketOwnerRead -> "bucket-owner-read"+        OPrivate -> "private"+        OPublicRead -> "public-read"+        OPublicReadWrite -> "public-read-write"++instance Hashable     ObjectCannedACL+instance ToByteString ObjectCannedACL+instance ToQuery      ObjectCannedACL+instance ToHeader     ObjectCannedACL++instance ToXML ObjectCannedACL where+    toXML = toXMLText++data ObjectStorageClass+    = OSCGlacier+    | OSCReducedRedundancy+    | OSCStandard+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ObjectStorageClass where+    parser = takeLowerText >>= \case+        "glacier" -> pure OSCGlacier+        "reduced_redundancy" -> pure OSCReducedRedundancy+        "standard" -> pure OSCStandard+        e -> fromTextError $ "Failure parsing ObjectStorageClass from value: '" <> e+           <> "'. Accepted values: glacier, reduced_redundancy, standard"++instance ToText ObjectStorageClass where+    toText = \case+        OSCGlacier -> "glacier"+        OSCReducedRedundancy -> "reduced_redundancy"+        OSCStandard -> "standard"++instance Hashable     ObjectStorageClass+instance ToByteString ObjectStorageClass+instance ToQuery      ObjectStorageClass+instance ToHeader     ObjectStorageClass++instance FromXML ObjectStorageClass where+    parseXML = parseXMLText "ObjectStorageClass"++data ObjectVersionStorageClass =+    OVSCStandard+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ObjectVersionStorageClass where+    parser = takeLowerText >>= \case+        "standard" -> pure OVSCStandard+        e -> fromTextError $ "Failure parsing ObjectVersionStorageClass from value: '" <> e+           <> "'. Accepted values: standard"++instance ToText ObjectVersionStorageClass where+    toText = \case+        OVSCStandard -> "standard"++instance Hashable     ObjectVersionStorageClass+instance ToByteString ObjectVersionStorageClass+instance ToQuery      ObjectVersionStorageClass+instance ToHeader     ObjectVersionStorageClass++instance FromXML ObjectVersionStorageClass where+    parseXML = parseXMLText "ObjectVersionStorageClass"++data Payer+    = BucketOwner+    | Requester+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText Payer where+    parser = takeLowerText >>= \case+        "bucketowner" -> pure BucketOwner+        "requester" -> pure Requester+        e -> fromTextError $ "Failure parsing Payer from value: '" <> e+           <> "'. Accepted values: bucketowner, requester"++instance ToText Payer where+    toText = \case+        BucketOwner -> "bucketowner"+        Requester -> "requester"++instance Hashable     Payer+instance ToByteString Payer+instance ToQuery      Payer+instance ToHeader     Payer++instance FromXML Payer where+    parseXML = parseXMLText "Payer"++instance ToXML Payer where+    toXML = toXMLText++data Permission+    = PFullControl+    | PRead+    | PReadAcp+    | PWrite+    | PWriteAcp+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText Permission where+    parser = takeLowerText >>= \case+        "full_control" -> pure PFullControl+        "read" -> pure PRead+        "read_acp" -> pure PReadAcp+        "write" -> pure PWrite+        "write_acp" -> pure PWriteAcp+        e -> fromTextError $ "Failure parsing Permission from value: '" <> e+           <> "'. Accepted values: full_control, read, read_acp, write, write_acp"++instance ToText Permission where+    toText = \case+        PFullControl -> "full_control"+        PRead -> "read"+        PReadAcp -> "read_acp"+        PWrite -> "write"+        PWriteAcp -> "write_acp"++instance Hashable     Permission+instance ToByteString Permission+instance ToQuery      Permission+instance ToHeader     Permission++instance FromXML Permission where+    parseXML = parseXMLText "Permission"++instance ToXML Permission where+    toXML = toXMLText++data Protocol+    = HTTP+    | HTTPS+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText Protocol where+    parser = takeLowerText >>= \case+        "http" -> pure HTTP+        "https" -> pure HTTPS+        e -> fromTextError $ "Failure parsing Protocol from value: '" <> e+           <> "'. Accepted values: http, https"++instance ToText Protocol where+    toText = \case+        HTTP -> "http"+        HTTPS -> "https"++instance Hashable     Protocol+instance ToByteString Protocol+instance ToQuery      Protocol+instance ToHeader     Protocol++instance FromXML Protocol where+    parseXML = parseXMLText "Protocol"++instance ToXML Protocol where+    toXML = toXMLText++data ReplicationRuleStatus+    = Disabled+    | Enabled+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ReplicationRuleStatus where+    parser = takeLowerText >>= \case+        "disabled" -> pure Disabled+        "enabled" -> pure Enabled+        e -> fromTextError $ "Failure parsing ReplicationRuleStatus from value: '" <> e+           <> "'. Accepted values: disabled, enabled"++instance ToText ReplicationRuleStatus where+    toText = \case+        Disabled -> "disabled"+        Enabled -> "enabled"++instance Hashable     ReplicationRuleStatus+instance ToByteString ReplicationRuleStatus+instance ToQuery      ReplicationRuleStatus+instance ToHeader     ReplicationRuleStatus++instance FromXML ReplicationRuleStatus where+    parseXML = parseXMLText "ReplicationRuleStatus"++instance ToXML ReplicationRuleStatus where+    toXML = toXMLText++data ReplicationStatus+    = Complete+    | Failed+    | Pending+    | Replica+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ReplicationStatus where+    parser = takeLowerText >>= \case+        "complete" -> pure Complete+        "failed" -> pure Failed+        "pending" -> pure Pending+        "replica" -> pure Replica+        e -> fromTextError $ "Failure parsing ReplicationStatus from value: '" <> e+           <> "'. Accepted values: complete, failed, pending, replica"++instance ToText ReplicationStatus where+    toText = \case+        Complete -> "complete"+        Failed -> "failed"+        Pending -> "pending"+        Replica -> "replica"++instance Hashable     ReplicationStatus+instance ToByteString ReplicationStatus+instance ToQuery      ReplicationStatus+instance ToHeader     ReplicationStatus++instance FromXML ReplicationStatus where+    parseXML = parseXMLText "ReplicationStatus"++-- | If present, indicates that the requester was successfully charged for+-- the request.+data RequestCharged =+    RCRequester+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText RequestCharged where+    parser = takeLowerText >>= \case+        "requester" -> pure RCRequester+        e -> fromTextError $ "Failure parsing RequestCharged from value: '" <> e+           <> "'. Accepted values: requester"++instance ToText RequestCharged where+    toText = \case+        RCRequester -> "requester"++instance Hashable     RequestCharged+instance ToByteString RequestCharged+instance ToQuery      RequestCharged+instance ToHeader     RequestCharged++instance FromXML RequestCharged where+    parseXML = parseXMLText "RequestCharged"++-- | Confirms that the requester knows that she or he will be charged for the+-- request. Bucket owners need not specify this parameter in their+-- requests. Documentation on downloading objects from requester pays+-- buckets can be found at+-- http:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/dev\/ObjectsinRequesterPaysBuckets.html+data RequestPayer =+    RPRequester+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText RequestPayer where+    parser = takeLowerText >>= \case+        "requester" -> pure RPRequester+        e -> fromTextError $ "Failure parsing RequestPayer from value: '" <> e+           <> "'. Accepted values: requester"++instance ToText RequestPayer where+    toText = \case+        RPRequester -> "requester"++instance Hashable     RequestPayer+instance ToByteString RequestPayer+instance ToQuery      RequestPayer+instance ToHeader     RequestPayer++instance ToXML RequestPayer where+    toXML = toXMLText++data ServerSideEncryption+    = AES256+    | AWSKMS+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ServerSideEncryption where+    parser = takeLowerText >>= \case+        "aes256" -> pure AES256+        "aws:kms" -> pure AWSKMS+        e -> fromTextError $ "Failure parsing ServerSideEncryption from value: '" <> e+           <> "'. Accepted values: aes256, aws:kms"++instance ToText ServerSideEncryption where+    toText = \case+        AES256 -> "aes256"+        AWSKMS -> "aws:kms"++instance Hashable     ServerSideEncryption+instance ToByteString ServerSideEncryption+instance ToQuery      ServerSideEncryption+instance ToHeader     ServerSideEncryption++instance FromXML ServerSideEncryption where+    parseXML = parseXMLText "ServerSideEncryption"++instance ToXML ServerSideEncryption where+    toXML = toXMLText++data StorageClass+    = LT'+    | ReducedRedundancy+    | Standard+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText StorageClass where+    parser = takeLowerText >>= \case+        "lt" -> pure LT'+        "reduced_redundancy" -> pure ReducedRedundancy+        "standard" -> pure Standard+        e -> fromTextError $ "Failure parsing StorageClass from value: '" <> e+           <> "'. Accepted values: lt, reduced_redundancy, standard"++instance ToText StorageClass where+    toText = \case+        LT' -> "lt"+        ReducedRedundancy -> "reduced_redundancy"+        Standard -> "standard"++instance Hashable     StorageClass+instance ToByteString StorageClass+instance ToQuery      StorageClass+instance ToHeader     StorageClass++instance FromXML StorageClass where+    parseXML = parseXMLText "StorageClass"++instance ToXML StorageClass where+    toXML = toXMLText++data TransitionStorageClass =+    Glacier+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText TransitionStorageClass where+    parser = takeLowerText >>= \case+        "glacier" -> pure Glacier+        e -> fromTextError $ "Failure parsing TransitionStorageClass from value: '" <> e+           <> "'. Accepted values: glacier"++instance ToText TransitionStorageClass where+    toText = \case+        Glacier -> "glacier"++instance Hashable     TransitionStorageClass+instance ToByteString TransitionStorageClass+instance ToQuery      TransitionStorageClass+instance ToHeader     TransitionStorageClass++instance FromXML TransitionStorageClass where+    parseXML = parseXMLText "TransitionStorageClass"++instance ToXML TransitionStorageClass where+    toXML = toXMLText++data Type+    = AmazonCustomerByEmail+    | CanonicalUser+    | Group+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText Type where+    parser = takeLowerText >>= \case+        "amazoncustomerbyemail" -> pure AmazonCustomerByEmail+        "canonicaluser" -> pure CanonicalUser+        "group" -> pure Group+        e -> fromTextError $ "Failure parsing Type from value: '" <> e+           <> "'. Accepted values: amazoncustomerbyemail, canonicaluser, group"++instance ToText Type where+    toText = \case+        AmazonCustomerByEmail -> "amazoncustomerbyemail"+        CanonicalUser -> "canonicaluser"+        Group -> "group"++instance Hashable     Type+instance ToByteString Type+instance ToQuery      Type+instance ToHeader     Type++instance FromXML Type where+    parseXML = parseXMLText "Type"++instance ToXML Type where+    toXML = toXMLText
gen/Network/AWS/S3/UploadPart.hs view
@@ -1,287 +1,304 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.UploadPart--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Uploads a part in a multipart upload.+-- Uploads a part in a multipart upload. ----- Note: After you initiate multipart upload and upload one or more parts, you--- must either complete or abort multipart upload in order to stop getting--- charged for storage of the uploaded parts. Only after you either complete or--- abort multipart upload, Amazon S3 frees up the parts storage and stops--- charging you for the parts storage.+-- __Note:__ After you initiate multipart upload and upload one or more+-- parts, you must either complete or abort multipart upload in order to+-- stop getting charged for storage of the uploaded parts. Only after you+-- either complete or abort multipart upload, Amazon S3 frees up the parts+-- storage and stops charging you for the parts storage. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/UploadPart.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/UploadPart.html AWS API Reference> for UploadPart. module Network.AWS.S3.UploadPart     (-    -- * Request-      UploadPart-    -- ** Request constructor-    , uploadPart-    -- ** Request lenses-    , upBody-    , upBucket+    -- * Creating a Request+      uploadPart+    , UploadPart+    -- * Request Lenses     , upContentLength-    , upContentMD5-    , upKey-    , upPartNumber-    , upRequestPayer     , upSSECustomerAlgorithm     , upSSECustomerKey+    , upRequestPayer     , upSSECustomerKeyMD5+    , upContentMD5+    , upBucket+    , upKey+    , upPartNumber     , upUploadId+    , upBody -    -- * Response-    , UploadPartResponse-    -- ** Response constructor+    -- * Destructuring the Response     , uploadPartResponse-    -- ** Response lenses-    , uprETag-    , uprRequestCharged-    , uprSSECustomerAlgorithm-    , uprSSECustomerKeyMD5-    , uprSSEKMSKeyId-    , uprServerSideEncryption+    , UploadPartResponse+    -- * Response Lenses+    , uprsETag+    , uprsRequestCharged+    , uprsSSECustomerAlgorithm+    , uprsSSEKMSKeyId+    , uprsSSECustomerKeyMD5+    , uprsServerSideEncryption+    , uprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data UploadPart = UploadPart-    { _upBody                 :: RqBody-    , _upBucket               :: Text-    , _upContentLength        :: Maybe Int-    , _upContentMD5           :: Maybe Text-    , _upKey                  :: Text-    , _upPartNumber           :: Int-    , _upRequestPayer         :: Maybe RequestPayer-    , _upSSECustomerAlgorithm :: Maybe Text-    , _upSSECustomerKey       :: Maybe (Sensitive Text)-    , _upSSECustomerKeyMD5    :: Maybe Text-    , _upUploadId             :: Text-    } deriving (Show)+-- | /See:/ 'uploadPart' smart constructor.+data UploadPart = UploadPart'+    { _upContentLength        :: !(Maybe Int)+    , _upSSECustomerAlgorithm :: !(Maybe Text)+    , _upSSECustomerKey       :: !(Maybe (Sensitive Text))+    , _upRequestPayer         :: !(Maybe RequestPayer)+    , _upSSECustomerKeyMD5    :: !(Maybe Text)+    , _upContentMD5           :: !(Maybe Text)+    , _upBucket               :: !BucketName+    , _upKey                  :: !ObjectKey+    , _upPartNumber           :: !Int+    , _upUploadId             :: !Text+    , _upBody                 :: !RqBody+    } deriving (Show,Generic) --- | 'UploadPart' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'UploadPart' with the minimum fields required to make a request. ----- * 'upBody' @::@ 'RqBody'+-- Use one of the following lenses to modify other fields as desired: ----- * 'upBucket' @::@ 'Text'+-- * 'upContentLength' ----- * 'upContentLength' @::@ 'Maybe' 'Int'+-- * 'upSSECustomerAlgorithm' ----- * 'upContentMD5' @::@ 'Maybe' 'Text'+-- * 'upSSECustomerKey' ----- * 'upKey' @::@ 'Text'+-- * 'upRequestPayer' ----- * 'upPartNumber' @::@ 'Int'+-- * 'upSSECustomerKeyMD5' ----- * 'upRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'upContentMD5' ----- * 'upSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'upBucket' ----- * 'upSSECustomerKey' @::@ 'Maybe' 'Text'+-- * 'upKey' ----- * 'upSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'upPartNumber' ----- * 'upUploadId' @::@ 'Text'+-- * 'upUploadId' ---uploadPart :: RqBody -- ^ 'upBody'-           -> Text -- ^ 'upBucket'-           -> Text -- ^ 'upKey'-           -> Int -- ^ 'upPartNumber'-           -> Text -- ^ 'upUploadId'-           -> UploadPart-uploadPart p1 p2 p3 p4 p5 = UploadPart-    { _upBody                 = p1-    , _upBucket               = p2-    , _upKey                  = p3-    , _upPartNumber           = p4-    , _upUploadId             = p5-    , _upContentLength        = Nothing-    , _upContentMD5           = Nothing+-- * 'upBody'+uploadPart+    :: BucketName -- ^ 'upBucket'+    -> ObjectKey -- ^ 'upKey'+    -> Int -- ^ 'upPartNumber'+    -> Text -- ^ 'upUploadId'+    -> RqBody -- ^ 'upBody'+    -> UploadPart+uploadPart pBucket_ pKey_ pPartNumber_ pUploadId_ pBody_ =+    UploadPart'+    { _upContentLength = Nothing     , _upSSECustomerAlgorithm = Nothing-    , _upSSECustomerKey       = Nothing-    , _upSSECustomerKeyMD5    = Nothing-    , _upRequestPayer         = Nothing+    , _upSSECustomerKey = Nothing+    , _upRequestPayer = Nothing+    , _upSSECustomerKeyMD5 = Nothing+    , _upContentMD5 = Nothing+    , _upBucket = pBucket_+    , _upKey = pKey_+    , _upPartNumber = pPartNumber_+    , _upUploadId = pUploadId_+    , _upBody = pBody_     } -upBody :: Lens' UploadPart RqBody-upBody = lens _upBody (\s a -> s { _upBody = a })--upBucket :: Lens' UploadPart Text-upBucket = lens _upBucket (\s a -> s { _upBucket = a })---- | Size of the body in bytes. This parameter is useful when the size of the body--- cannot be determined automatically.+-- | Size of the body in bytes. This parameter is useful when the size of the+-- body cannot be determined automatically. upContentLength :: Lens' UploadPart (Maybe Int)-upContentLength = lens _upContentLength (\s a -> s { _upContentLength = a })--upContentMD5 :: Lens' UploadPart (Maybe Text)-upContentMD5 = lens _upContentMD5 (\s a -> s { _upContentMD5 = a })--upKey :: Lens' UploadPart Text-upKey = lens _upKey (\s a -> s { _upKey = a })---- | Part number of part being uploaded.-upPartNumber :: Lens' UploadPart Int-upPartNumber = lens _upPartNumber (\s a -> s { _upPartNumber = a })--upRequestPayer :: Lens' UploadPart (Maybe RequestPayer)-upRequestPayer = lens _upRequestPayer (\s a -> s { _upRequestPayer = a })+upContentLength = lens _upContentLength (\ s a -> s{_upContentLength = a}); --- | Specifies the algorithm to use to when encrypting the object (e.g., AES256,--- aws:kms).+-- | Specifies the algorithm to use to when encrypting the object (e.g.,+-- AES256). upSSECustomerAlgorithm :: Lens' UploadPart (Maybe Text)-upSSECustomerAlgorithm =-    lens _upSSECustomerAlgorithm (\s a -> s { _upSSECustomerAlgorithm = a })+upSSECustomerAlgorithm = lens _upSSECustomerAlgorithm (\ s a -> s{_upSSECustomerAlgorithm = a});  -- | Specifies the customer-provided encryption key for Amazon S3 to use in -- encrypting data. This value is used to store the object and then it is -- discarded; Amazon does not store the encryption key. The key must be -- appropriate for use with the algorithm specified in the--- x-amz-server-side​-encryption​-customer-algorithm header. This must be the--- same encryption key specified in the initiate multipart upload request.+-- x-amz-server-side​-encryption​-customer-algorithm header. This must be+-- the same encryption key specified in the initiate multipart upload+-- request. upSSECustomerKey :: Lens' UploadPart (Maybe Text)-upSSECustomerKey = lens _upSSECustomerKey (\s a -> s { _upSSECustomerKey = a }) . mapping _Sensitive+upSSECustomerKey = lens _upSSECustomerKey (\ s a -> s{_upSSECustomerKey = a}) . mapping _Sensitive; --- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.--- Amazon S3 uses this header for a message integrity check to ensure the--- encryption key was transmitted without error.+-- | Undocumented member.+upRequestPayer :: Lens' UploadPart (Maybe RequestPayer)+upRequestPayer = lens _upRequestPayer (\ s a -> s{_upRequestPayer = a});++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- the encryption key was transmitted without error. upSSECustomerKeyMD5 :: Lens' UploadPart (Maybe Text)-upSSECustomerKeyMD5 =-    lens _upSSECustomerKeyMD5 (\s a -> s { _upSSECustomerKeyMD5 = a })+upSSECustomerKeyMD5 = lens _upSSECustomerKeyMD5 (\ s a -> s{_upSSECustomerKeyMD5 = a}); +-- | Undocumented member.+upContentMD5 :: Lens' UploadPart (Maybe Text)+upContentMD5 = lens _upContentMD5 (\ s a -> s{_upContentMD5 = a});++-- | Undocumented member.+upBucket :: Lens' UploadPart BucketName+upBucket = lens _upBucket (\ s a -> s{_upBucket = a});++-- | Undocumented member.+upKey :: Lens' UploadPart ObjectKey+upKey = lens _upKey (\ s a -> s{_upKey = a});++-- | Part number of part being uploaded. This is a positive integer between 1+-- and 10,000.+upPartNumber :: Lens' UploadPart Int+upPartNumber = lens _upPartNumber (\ s a -> s{_upPartNumber = a});+ -- | Upload ID identifying the multipart upload whose part is being uploaded. upUploadId :: Lens' UploadPart Text-upUploadId = lens _upUploadId (\s a -> s { _upUploadId = a })+upUploadId = lens _upUploadId (\ s a -> s{_upUploadId = a}); -data UploadPartResponse = UploadPartResponse-    { _uprETag                 :: Maybe Text-    , _uprRequestCharged       :: Maybe RequestCharged-    , _uprSSECustomerAlgorithm :: Maybe Text-    , _uprSSECustomerKeyMD5    :: Maybe Text-    , _uprSSEKMSKeyId          :: Maybe (Sensitive Text)-    , _uprServerSideEncryption :: Maybe ServerSideEncryption-    } deriving (Eq, Read, Show)+-- | Undocumented member.+upBody :: Lens' UploadPart RqBody+upBody = lens _upBody (\ s a -> s{_upBody = a}); --- | 'UploadPartResponse' constructor.+instance AWSRequest UploadPart where+        type Sv UploadPart = S3+        type Rs UploadPart = UploadPartResponse+        request = putBody+        response+          = receiveEmpty+              (\ s h x ->+                 UploadPartResponse' <$>+                   (h .#? "ETag") <*> (h .#? "x-amz-request-charged")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-algorithm")+                     <*>+                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-key-MD5")+                     <*> (h .#? "x-amz-server-side-encryption")+                     <*> (pure (fromEnum s)))++instance ToBody UploadPart where+        toBody = _upBody++instance ToHeaders UploadPart where+        toHeaders UploadPart'{..}+          = mconcat+              ["Content-Length" =# _upContentLength,+               "x-amz-server-side-encryption-customer-algorithm" =#+                 _upSSECustomerAlgorithm,+               "x-amz-server-side-encryption-customer-key" =#+                 _upSSECustomerKey,+               "x-amz-request-payer" =# _upRequestPayer,+               "x-amz-server-side-encryption-customer-key-MD5" =#+                 _upSSECustomerKeyMD5,+               "Content-MD5" =# _upContentMD5]++instance ToPath UploadPart where+        toPath UploadPart'{..}+          = mconcat ["/", toBS _upBucket, "/", toBS _upKey]++instance ToQuery UploadPart where+        toQuery UploadPart'{..}+          = mconcat+              ["partNumber" =: _upPartNumber,+               "uploadId" =: _upUploadId]++-- | /See:/ 'uploadPartResponse' smart constructor.+data UploadPartResponse = UploadPartResponse'+    { _uprsETag                 :: !(Maybe ETag)+    , _uprsRequestCharged       :: !(Maybe RequestCharged)+    , _uprsSSECustomerAlgorithm :: !(Maybe Text)+    , _uprsSSEKMSKeyId          :: !(Maybe (Sensitive Text))+    , _uprsSSECustomerKeyMD5    :: !(Maybe Text)+    , _uprsServerSideEncryption :: !(Maybe ServerSideEncryption)+    , _uprsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UploadPartResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'uprETag' @::@ 'Maybe' 'Text'+-- * 'uprsETag' ----- * 'uprRequestCharged' @::@ 'Maybe' 'RequestCharged'+-- * 'uprsRequestCharged' ----- * 'uprSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'uprsSSECustomerAlgorithm' ----- * 'uprSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'uprsSSEKMSKeyId' ----- * 'uprSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'uprsSSECustomerKeyMD5' ----- * 'uprServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'uprsServerSideEncryption' ---uploadPartResponse :: UploadPartResponse-uploadPartResponse = UploadPartResponse-    { _uprServerSideEncryption = Nothing-    , _uprETag                 = Nothing-    , _uprSSECustomerAlgorithm = Nothing-    , _uprSSECustomerKeyMD5    = Nothing-    , _uprSSEKMSKeyId          = Nothing-    , _uprRequestCharged       = Nothing+-- * 'uprsStatus'+uploadPartResponse+    :: Int -- ^ 'uprsStatus'+    -> UploadPartResponse+uploadPartResponse pStatus_ =+    UploadPartResponse'+    { _uprsETag = Nothing+    , _uprsRequestCharged = Nothing+    , _uprsSSECustomerAlgorithm = Nothing+    , _uprsSSEKMSKeyId = Nothing+    , _uprsSSECustomerKeyMD5 = Nothing+    , _uprsServerSideEncryption = Nothing+    , _uprsStatus = pStatus_     }  -- | Entity tag for the uploaded object.-uprETag :: Lens' UploadPartResponse (Maybe Text)-uprETag = lens _uprETag (\s a -> s { _uprETag = a })+uprsETag :: Lens' UploadPartResponse (Maybe ETag)+uprsETag = lens _uprsETag (\ s a -> s{_uprsETag = a}); -uprRequestCharged :: Lens' UploadPartResponse (Maybe RequestCharged)-uprRequestCharged =-    lens _uprRequestCharged (\s a -> s { _uprRequestCharged = a })+-- | Undocumented member.+uprsRequestCharged :: Lens' UploadPartResponse (Maybe RequestCharged)+uprsRequestCharged = lens _uprsRequestCharged (\ s a -> s{_uprsRequestCharged = a});  -- | If server-side encryption with a customer-provided encryption key was--- requested, the response will include this header confirming the encryption--- algorithm used.-uprSSECustomerAlgorithm :: Lens' UploadPartResponse (Maybe Text)-uprSSECustomerAlgorithm =-    lens _uprSSECustomerAlgorithm (\s a -> s { _uprSSECustomerAlgorithm = a })+-- requested, the response will include this header confirming the+-- encryption algorithm used.+uprsSSECustomerAlgorithm :: Lens' UploadPartResponse (Maybe Text)+uprsSSECustomerAlgorithm = lens _uprsSSECustomerAlgorithm (\ s a -> s{_uprsSSECustomerAlgorithm = a}); +-- | If present, specifies the ID of the AWS Key Management Service (KMS)+-- master encryption key that was used for the object.+uprsSSEKMSKeyId :: Lens' UploadPartResponse (Maybe Text)+uprsSSEKMSKeyId = lens _uprsSSEKMSKeyId (\ s a -> s{_uprsSSEKMSKeyId = a}) . mapping _Sensitive;+ -- | If server-side encryption with a customer-provided encryption key was -- requested, the response will include this header to provide round trip -- message integrity verification of the customer-provided encryption key.-uprSSECustomerKeyMD5 :: Lens' UploadPartResponse (Maybe Text)-uprSSECustomerKeyMD5 =-    lens _uprSSECustomerKeyMD5 (\s a -> s { _uprSSECustomerKeyMD5 = a })---- | If present, specifies the ID of the AWS Key Management Service (KMS) master--- encryption key that was used for the object.-uprSSEKMSKeyId :: Lens' UploadPartResponse (Maybe Text)-uprSSEKMSKeyId = lens _uprSSEKMSKeyId (\s a -> s { _uprSSEKMSKeyId = a }) . mapping _Sensitive+uprsSSECustomerKeyMD5 :: Lens' UploadPartResponse (Maybe Text)+uprsSSECustomerKeyMD5 = lens _uprsSSECustomerKeyMD5 (\ s a -> s{_uprsSSECustomerKeyMD5 = a});  -- | The Server-side encryption algorithm used when storing this object in S3 -- (e.g., AES256, aws:kms).-uprServerSideEncryption :: Lens' UploadPartResponse (Maybe ServerSideEncryption)-uprServerSideEncryption =-    lens _uprServerSideEncryption (\s a -> s { _uprServerSideEncryption = a })--instance ToPath UploadPart where-    toPath UploadPart{..} = mconcat-        [ "/"-        , toText _upBucket-        , "/"-        , toText _upKey-        ]--instance ToQuery UploadPart where-    toQuery UploadPart{..} = mconcat-        [ "partNumber" =? _upPartNumber-        , "uploadId"   =? _upUploadId-        ]--instance ToHeaders UploadPart where-    toHeaders UploadPart{..} = mconcat-        [ "Content-Length"                                  =: _upContentLength-        , "Content-MD5"                                     =: _upContentMD5-        , "x-amz-server-side-encryption-customer-algorithm" =: _upSSECustomerAlgorithm-        , "x-amz-server-side-encryption-customer-key"       =: _upSSECustomerKey-        , "x-amz-server-side-encryption-customer-key-MD5"   =: _upSSECustomerKeyMD5-        , "x-amz-request-payer"                             =: _upRequestPayer-        ]--instance ToBody UploadPart where-    toBody = toBody . _upBody--instance AWSRequest UploadPart where-    type Sv UploadPart = S3-    type Rs UploadPart = UploadPartResponse+uprsServerSideEncryption :: Lens' UploadPartResponse (Maybe ServerSideEncryption)+uprsServerSideEncryption = lens _uprsServerSideEncryption (\ s a -> s{_uprsServerSideEncryption = a}); -    request  = stream PUT-    response = headerResponse $ \h -> UploadPartResponse-        <$> h ~:? "ETag"-        <*> h ~:? "x-amz-request-charged"-        <*> h ~:? "x-amz-server-side-encryption-customer-algorithm"-        <*> h ~:? "x-amz-server-side-encryption-customer-key-MD5"-        <*> h ~:? "x-amz-server-side-encryption-aws-kms-key-id"-        <*> h ~:? "x-amz-server-side-encryption"+-- | The response status code.+uprsStatus :: Lens' UploadPartResponse Int+uprsStatus = lens _uprsStatus (\ s a -> s{_uprsStatus = a});
gen/Network/AWS/S3/UploadPartCopy.hs view
@@ -1,389 +1,383 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.UploadPartCopy--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Uploads a part by copying data from an existing object as data source.+-- Uploads a part by copying data from an existing object as data source. ----- <http://docs.aws.amazon.com/AmazonS3/latest/API/UploadPartCopy.html>+-- /See:/ <http://docs.aws.amazon.com/AmazonS3/latest/API/UploadPartCopy.html AWS API Reference> for UploadPartCopy. module Network.AWS.S3.UploadPartCopy     (-    -- * Request-      UploadPartCopy-    -- ** Request constructor-    , uploadPartCopy-    -- ** Request lenses-    , upcBucket-    , upcCopySource-    , upcCopySourceIfMatch+    -- * Creating a Request+      uploadPartCopy+    , UploadPartCopy+    -- * Request Lenses     , upcCopySourceIfModifiedSince-    , upcCopySourceIfNoneMatch     , upcCopySourceIfUnmodifiedSince     , upcCopySourceRange-    , upcCopySourceSSECustomerAlgorithm-    , upcCopySourceSSECustomerKey     , upcCopySourceSSECustomerKeyMD5-    , upcKey-    , upcPartNumber-    , upcRequestPayer     , upcSSECustomerAlgorithm+    , upcCopySourceIfNoneMatch     , upcSSECustomerKey+    , upcRequestPayer+    , upcCopySourceIfMatch     , upcSSECustomerKeyMD5+    , upcCopySourceSSECustomerKey+    , upcCopySourceSSECustomerAlgorithm+    , upcBucket+    , upcCopySource+    , upcKey+    , upcPartNumber     , upcUploadId -    -- * Response-    , UploadPartCopyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , uploadPartCopyResponse-    -- ** Response lenses-    , upcrCopyPartResult-    , upcrCopySourceVersionId-    , upcrRequestCharged-    , upcrSSECustomerAlgorithm-    , upcrSSECustomerKeyMD5-    , upcrSSEKMSKeyId-    , upcrServerSideEncryption+    , UploadPartCopyResponse+    -- * Response Lenses+    , upcrsRequestCharged+    , upcrsCopyPartResult+    , upcrsSSECustomerAlgorithm+    , upcrsCopySourceVersionId+    , upcrsSSEKMSKeyId+    , upcrsSSECustomerKeyMD5+    , upcrsServerSideEncryption+    , upcrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.S3-import Network.AWS.S3.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Request+import           Network.AWS.Response+import           Network.AWS.S3.Types+import           Network.AWS.S3.Types.Product -data UploadPartCopy = UploadPartCopy-    { _upcBucket                         :: Text-    , _upcCopySource                     :: Text-    , _upcCopySourceIfMatch              :: Maybe Text-    , _upcCopySourceIfModifiedSince      :: Maybe RFC822-    , _upcCopySourceIfNoneMatch          :: Maybe Text-    , _upcCopySourceIfUnmodifiedSince    :: Maybe RFC822-    , _upcCopySourceRange                :: Maybe Text-    , _upcCopySourceSSECustomerAlgorithm :: Maybe Text-    , _upcCopySourceSSECustomerKey       :: Maybe (Sensitive Text)-    , _upcCopySourceSSECustomerKeyMD5    :: Maybe Text-    , _upcKey                            :: Text-    , _upcPartNumber                     :: Int-    , _upcRequestPayer                   :: Maybe RequestPayer-    , _upcSSECustomerAlgorithm           :: Maybe Text-    , _upcSSECustomerKey                 :: Maybe (Sensitive Text)-    , _upcSSECustomerKeyMD5              :: Maybe Text-    , _upcUploadId                       :: Text-    } deriving (Eq, Read, Show)+-- | /See:/ 'uploadPartCopy' smart constructor.+data UploadPartCopy = UploadPartCopy'+    { _upcCopySourceIfModifiedSince      :: !(Maybe RFC822)+    , _upcCopySourceIfUnmodifiedSince    :: !(Maybe RFC822)+    , _upcCopySourceRange                :: !(Maybe Text)+    , _upcCopySourceSSECustomerKeyMD5    :: !(Maybe Text)+    , _upcSSECustomerAlgorithm           :: !(Maybe Text)+    , _upcCopySourceIfNoneMatch          :: !(Maybe Text)+    , _upcSSECustomerKey                 :: !(Maybe (Sensitive Text))+    , _upcRequestPayer                   :: !(Maybe RequestPayer)+    , _upcCopySourceIfMatch              :: !(Maybe Text)+    , _upcSSECustomerKeyMD5              :: !(Maybe Text)+    , _upcCopySourceSSECustomerKey       :: !(Maybe (Sensitive Text))+    , _upcCopySourceSSECustomerAlgorithm :: !(Maybe Text)+    , _upcBucket                         :: !BucketName+    , _upcCopySource                     :: !Text+    , _upcKey                            :: !ObjectKey+    , _upcPartNumber                     :: !Int+    , _upcUploadId                       :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'UploadPartCopy' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'UploadPartCopy' with the minimum fields required to make a request. ----- * 'upcBucket' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'upcCopySource' @::@ 'Text'+-- * 'upcCopySourceIfModifiedSince' ----- * 'upcCopySourceIfMatch' @::@ 'Maybe' 'Text'+-- * 'upcCopySourceIfUnmodifiedSince' ----- * 'upcCopySourceIfModifiedSince' @::@ 'Maybe' 'UTCTime'+-- * 'upcCopySourceRange' ----- * 'upcCopySourceIfNoneMatch' @::@ 'Maybe' 'Text'+-- * 'upcCopySourceSSECustomerKeyMD5' ----- * 'upcCopySourceIfUnmodifiedSince' @::@ 'Maybe' 'UTCTime'+-- * 'upcSSECustomerAlgorithm' ----- * 'upcCopySourceRange' @::@ 'Maybe' 'Text'+-- * 'upcCopySourceIfNoneMatch' ----- * 'upcCopySourceSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'upcSSECustomerKey' ----- * 'upcCopySourceSSECustomerKey' @::@ 'Maybe' 'Text'+-- * 'upcRequestPayer' ----- * 'upcCopySourceSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'upcCopySourceIfMatch' ----- * 'upcKey' @::@ 'Text'+-- * 'upcSSECustomerKeyMD5' ----- * 'upcPartNumber' @::@ 'Int'+-- * 'upcCopySourceSSECustomerKey' ----- * 'upcRequestPayer' @::@ 'Maybe' 'RequestPayer'+-- * 'upcCopySourceSSECustomerAlgorithm' ----- * 'upcSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'upcBucket' ----- * 'upcSSECustomerKey' @::@ 'Maybe' 'Text'+-- * 'upcCopySource' ----- * 'upcSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'upcKey' ----- * 'upcUploadId' @::@ 'Text'+-- * 'upcPartNumber' ---uploadPartCopy :: Text -- ^ 'upcBucket'-               -> Text -- ^ 'upcCopySource'-               -> Text -- ^ 'upcKey'-               -> Int -- ^ 'upcPartNumber'-               -> Text -- ^ 'upcUploadId'-               -> UploadPartCopy-uploadPartCopy p1 p2 p3 p4 p5 = UploadPartCopy-    { _upcBucket                         = p1-    , _upcCopySource                     = p2-    , _upcKey                            = p3-    , _upcPartNumber                     = p4-    , _upcUploadId                       = p5-    , _upcCopySourceIfMatch              = Nothing-    , _upcCopySourceIfModifiedSince      = Nothing-    , _upcCopySourceIfNoneMatch          = Nothing-    , _upcCopySourceIfUnmodifiedSince    = Nothing-    , _upcCopySourceRange                = Nothing-    , _upcSSECustomerAlgorithm           = Nothing-    , _upcSSECustomerKey                 = Nothing-    , _upcSSECustomerKeyMD5              = Nothing+-- * 'upcUploadId'+uploadPartCopy+    :: BucketName -- ^ 'upcBucket'+    -> Text -- ^ 'upcCopySource'+    -> ObjectKey -- ^ 'upcKey'+    -> Int -- ^ 'upcPartNumber'+    -> Text -- ^ 'upcUploadId'+    -> UploadPartCopy+uploadPartCopy pBucket_ pCopySource_ pKey_ pPartNumber_ pUploadId_ =+    UploadPartCopy'+    { _upcCopySourceIfModifiedSince = Nothing+    , _upcCopySourceIfUnmodifiedSince = Nothing+    , _upcCopySourceRange = Nothing+    , _upcCopySourceSSECustomerKeyMD5 = Nothing+    , _upcSSECustomerAlgorithm = Nothing+    , _upcCopySourceIfNoneMatch = Nothing+    , _upcSSECustomerKey = Nothing+    , _upcRequestPayer = Nothing+    , _upcCopySourceIfMatch = Nothing+    , _upcSSECustomerKeyMD5 = Nothing+    , _upcCopySourceSSECustomerKey = Nothing     , _upcCopySourceSSECustomerAlgorithm = Nothing-    , _upcCopySourceSSECustomerKey       = Nothing-    , _upcCopySourceSSECustomerKeyMD5    = Nothing-    , _upcRequestPayer                   = Nothing+    , _upcBucket = pBucket_+    , _upcCopySource = pCopySource_+    , _upcKey = pKey_+    , _upcPartNumber = pPartNumber_+    , _upcUploadId = pUploadId_     } -upcBucket :: Lens' UploadPartCopy Text-upcBucket = lens _upcBucket (\s a -> s { _upcBucket = a })---- | The name of the source bucket and key name of the source object, separated by--- a slash (/). Must be URL-encoded.-upcCopySource :: Lens' UploadPartCopy Text-upcCopySource = lens _upcCopySource (\s a -> s { _upcCopySource = a })---- | Copies the object if its entity tag (ETag) matches the specified tag.-upcCopySourceIfMatch :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceIfMatch =-    lens _upcCopySourceIfMatch (\s a -> s { _upcCopySourceIfMatch = a })- -- | Copies the object if it has been modified since the specified time. upcCopySourceIfModifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)-upcCopySourceIfModifiedSince =-    lens _upcCopySourceIfModifiedSince-        (\s a -> s { _upcCopySourceIfModifiedSince = a })-            . mapping _Time---- | Copies the object if its entity tag (ETag) is different than the specified--- ETag.-upcCopySourceIfNoneMatch :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceIfNoneMatch =-    lens _upcCopySourceIfNoneMatch-        (\s a -> s { _upcCopySourceIfNoneMatch = a })+upcCopySourceIfModifiedSince = lens _upcCopySourceIfModifiedSince (\ s a -> s{_upcCopySourceIfModifiedSince = a}) . mapping _Time; --- | Copies the object if it hasn't been modified since the specified time.+-- | Copies the object if it hasn\'t been modified since the specified time. upcCopySourceIfUnmodifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)-upcCopySourceIfUnmodifiedSince =-    lens _upcCopySourceIfUnmodifiedSince-        (\s a -> s { _upcCopySourceIfUnmodifiedSince = a })-            . mapping _Time+upcCopySourceIfUnmodifiedSince = lens _upcCopySourceIfUnmodifiedSince (\ s a -> s{_upcCopySourceIfUnmodifiedSince = a}) . mapping _Time; --- | The range of bytes to copy from the source object. The range value must use--- the form bytes=first-last, where the first and last are the zero-based byte--- offsets to copy. For example, bytes=0-9 indicates that you want to copy the--- first ten bytes of the source. You can copy a range only if the source object--- is greater than 5 GB.+-- | The range of bytes to copy from the source object. The range value must+-- use the form bytes=first-last, where the first and last are the+-- zero-based byte offsets to copy. For example, bytes=0-9 indicates that+-- you want to copy the first ten bytes of the source. You can copy a range+-- only if the source object is greater than 5 GB. upcCopySourceRange :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceRange =-    lens _upcCopySourceRange (\s a -> s { _upcCopySourceRange = a })---- | Specifies the algorithm to use when decrypting the source object (e.g.,--- AES256).-upcCopySourceSSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceSSECustomerAlgorithm =-    lens _upcCopySourceSSECustomerAlgorithm-        (\s a -> s { _upcCopySourceSSECustomerAlgorithm = a })---- | Specifies the customer-provided encryption key for Amazon S3 to use to--- decrypt the source object. The encryption key provided in this header must be--- one that was used when the source object was created.-upcCopySourceSSECustomerKey :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceSSECustomerKey =-    lens _upcCopySourceSSECustomerKey-        (\s a -> s { _upcCopySourceSSECustomerKey = a })-            . mapping _Sensitive+upcCopySourceRange = lens _upcCopySourceRange (\ s a -> s{_upcCopySourceRange = a}); --- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.--- Amazon S3 uses this header for a message integrity check to ensure the--- encryption key was transmitted without error.+-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- the encryption key was transmitted without error. upcCopySourceSSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceSSECustomerKeyMD5 =-    lens _upcCopySourceSSECustomerKeyMD5-        (\s a -> s { _upcCopySourceSSECustomerKeyMD5 = a })--upcKey :: Lens' UploadPartCopy Text-upcKey = lens _upcKey (\s a -> s { _upcKey = a })---- | Part number of part being copied.-upcPartNumber :: Lens' UploadPartCopy Int-upcPartNumber = lens _upcPartNumber (\s a -> s { _upcPartNumber = a })--upcRequestPayer :: Lens' UploadPartCopy (Maybe RequestPayer)-upcRequestPayer = lens _upcRequestPayer (\s a -> s { _upcRequestPayer = a })+upcCopySourceSSECustomerKeyMD5 = lens _upcCopySourceSSECustomerKeyMD5 (\ s a -> s{_upcCopySourceSSECustomerKeyMD5 = a}); --- | Specifies the algorithm to use to when encrypting the object (e.g., AES256,--- aws:kms).+-- | Specifies the algorithm to use to when encrypting the object (e.g.,+-- AES256). upcSSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)-upcSSECustomerAlgorithm =-    lens _upcSSECustomerAlgorithm (\s a -> s { _upcSSECustomerAlgorithm = a })+upcSSECustomerAlgorithm = lens _upcSSECustomerAlgorithm (\ s a -> s{_upcSSECustomerAlgorithm = a}); +-- | Copies the object if its entity tag (ETag) is different than the+-- specified ETag.+upcCopySourceIfNoneMatch :: Lens' UploadPartCopy (Maybe Text)+upcCopySourceIfNoneMatch = lens _upcCopySourceIfNoneMatch (\ s a -> s{_upcCopySourceIfNoneMatch = a});+ -- | Specifies the customer-provided encryption key for Amazon S3 to use in -- encrypting data. This value is used to store the object and then it is -- discarded; Amazon does not store the encryption key. The key must be -- appropriate for use with the algorithm specified in the--- x-amz-server-side​-encryption​-customer-algorithm header. This must be the--- same encryption key specified in the initiate multipart upload request.+-- x-amz-server-side​-encryption​-customer-algorithm header. This must be+-- the same encryption key specified in the initiate multipart upload+-- request. upcSSECustomerKey :: Lens' UploadPartCopy (Maybe Text)-upcSSECustomerKey =-    lens _upcSSECustomerKey (\s a -> s { _upcSSECustomerKey = a })-        . mapping _Sensitive+upcSSECustomerKey = lens _upcSSECustomerKey (\ s a -> s{_upcSSECustomerKey = a}) . mapping _Sensitive; --- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.--- Amazon S3 uses this header for a message integrity check to ensure the--- encryption key was transmitted without error.+-- | Undocumented member.+upcRequestPayer :: Lens' UploadPartCopy (Maybe RequestPayer)+upcRequestPayer = lens _upcRequestPayer (\ s a -> s{_upcRequestPayer = a});++-- | Copies the object if its entity tag (ETag) matches the specified tag.+upcCopySourceIfMatch :: Lens' UploadPartCopy (Maybe Text)+upcCopySourceIfMatch = lens _upcCopySourceIfMatch (\ s a -> s{_upcCopySourceIfMatch = a});++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- the encryption key was transmitted without error. upcSSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)-upcSSECustomerKeyMD5 =-    lens _upcSSECustomerKeyMD5 (\s a -> s { _upcSSECustomerKeyMD5 = a })+upcSSECustomerKeyMD5 = lens _upcSSECustomerKeyMD5 (\ s a -> s{_upcSSECustomerKeyMD5 = a}); +-- | Specifies the customer-provided encryption key for Amazon S3 to use to+-- decrypt the source object. The encryption key provided in this header+-- must be one that was used when the source object was created.+upcCopySourceSSECustomerKey :: Lens' UploadPartCopy (Maybe Text)+upcCopySourceSSECustomerKey = lens _upcCopySourceSSECustomerKey (\ s a -> s{_upcCopySourceSSECustomerKey = a}) . mapping _Sensitive;++-- | Specifies the algorithm to use when decrypting the source object (e.g.,+-- AES256).+upcCopySourceSSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)+upcCopySourceSSECustomerAlgorithm = lens _upcCopySourceSSECustomerAlgorithm (\ s a -> s{_upcCopySourceSSECustomerAlgorithm = a});++-- | Undocumented member.+upcBucket :: Lens' UploadPartCopy BucketName+upcBucket = lens _upcBucket (\ s a -> s{_upcBucket = a});++-- | The name of the source bucket and key name of the source object,+-- separated by a slash (\/). Must be URL-encoded.+upcCopySource :: Lens' UploadPartCopy Text+upcCopySource = lens _upcCopySource (\ s a -> s{_upcCopySource = a});++-- | Undocumented member.+upcKey :: Lens' UploadPartCopy ObjectKey+upcKey = lens _upcKey (\ s a -> s{_upcKey = a});++-- | Part number of part being copied. This is a positive integer between 1+-- and 10,000.+upcPartNumber :: Lens' UploadPartCopy Int+upcPartNumber = lens _upcPartNumber (\ s a -> s{_upcPartNumber = a});+ -- | Upload ID identifying the multipart upload whose part is being copied. upcUploadId :: Lens' UploadPartCopy Text-upcUploadId = lens _upcUploadId (\s a -> s { _upcUploadId = a })+upcUploadId = lens _upcUploadId (\ s a -> s{_upcUploadId = a}); -data UploadPartCopyResponse = UploadPartCopyResponse-    { _upcrCopyPartResult       :: Maybe CopyPartResult-    , _upcrCopySourceVersionId  :: Maybe Text-    , _upcrRequestCharged       :: Maybe RequestCharged-    , _upcrSSECustomerAlgorithm :: Maybe Text-    , _upcrSSECustomerKeyMD5    :: Maybe Text-    , _upcrSSEKMSKeyId          :: Maybe (Sensitive Text)-    , _upcrServerSideEncryption :: Maybe ServerSideEncryption-    } deriving (Eq, Read, Show)+instance AWSRequest UploadPartCopy where+        type Sv UploadPartCopy = S3+        type Rs UploadPartCopy = UploadPartCopyResponse+        request = put+        response+          = receiveXML+              (\ s h x ->+                 UploadPartCopyResponse' <$>+                   (h .#? "x-amz-request-charged") <*> (parseXML x) <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-algorithm")+                     <*> (h .#? "x-amz-copy-source-version-id")+                     <*>+                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")+                     <*>+                     (h .#?+                        "x-amz-server-side-encryption-customer-key-MD5")+                     <*> (h .#? "x-amz-server-side-encryption")+                     <*> (pure (fromEnum s))) --- | 'UploadPartCopyResponse' constructor.+instance ToHeaders UploadPartCopy where+        toHeaders UploadPartCopy'{..}+          = mconcat+              ["x-amz-copy-source-if-modified-since" =#+                 _upcCopySourceIfModifiedSince,+               "x-amz-copy-source-if-unmodified-since" =#+                 _upcCopySourceIfUnmodifiedSince,+               "x-amz-copy-source-range" =# _upcCopySourceRange,+               "x-amz-copy-source-server-side-encryption-customer-key-MD5"+                 =# _upcCopySourceSSECustomerKeyMD5,+               "x-amz-server-side-encryption-customer-algorithm" =#+                 _upcSSECustomerAlgorithm,+               "x-amz-copy-source-if-none-match" =#+                 _upcCopySourceIfNoneMatch,+               "x-amz-server-side-encryption-customer-key" =#+                 _upcSSECustomerKey,+               "x-amz-request-payer" =# _upcRequestPayer,+               "x-amz-copy-source-if-match" =#+                 _upcCopySourceIfMatch,+               "x-amz-server-side-encryption-customer-key-MD5" =#+                 _upcSSECustomerKeyMD5,+               "x-amz-copy-source-server-side-encryption-customer-key"+                 =# _upcCopySourceSSECustomerKey,+               "x-amz-copy-source-server-side-encryption-customer-algorithm"+                 =# _upcCopySourceSSECustomerAlgorithm,+               "x-amz-copy-source" =# _upcCopySource]++instance ToPath UploadPartCopy where+        toPath UploadPartCopy'{..}+          = mconcat ["/", toBS _upcBucket, "/", toBS _upcKey]++instance ToQuery UploadPartCopy where+        toQuery UploadPartCopy'{..}+          = mconcat+              ["partNumber" =: _upcPartNumber,+               "uploadId" =: _upcUploadId]++-- | /See:/ 'uploadPartCopyResponse' smart constructor.+data UploadPartCopyResponse = UploadPartCopyResponse'+    { _upcrsRequestCharged       :: !(Maybe RequestCharged)+    , _upcrsCopyPartResult       :: !(Maybe CopyPartResult)+    , _upcrsSSECustomerAlgorithm :: !(Maybe Text)+    , _upcrsCopySourceVersionId  :: !(Maybe Text)+    , _upcrsSSEKMSKeyId          :: !(Maybe (Sensitive Text))+    , _upcrsSSECustomerKeyMD5    :: !(Maybe Text)+    , _upcrsServerSideEncryption :: !(Maybe ServerSideEncryption)+    , _upcrsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UploadPartCopyResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'upcrCopyPartResult' @::@ 'Maybe' 'CopyPartResult'+-- * 'upcrsRequestCharged' ----- * 'upcrCopySourceVersionId' @::@ 'Maybe' 'Text'+-- * 'upcrsCopyPartResult' ----- * 'upcrRequestCharged' @::@ 'Maybe' 'RequestCharged'+-- * 'upcrsSSECustomerAlgorithm' ----- * 'upcrSSECustomerAlgorithm' @::@ 'Maybe' 'Text'+-- * 'upcrsCopySourceVersionId' ----- * 'upcrSSECustomerKeyMD5' @::@ 'Maybe' 'Text'+-- * 'upcrsSSEKMSKeyId' ----- * 'upcrSSEKMSKeyId' @::@ 'Maybe' 'Text'+-- * 'upcrsSSECustomerKeyMD5' ----- * 'upcrServerSideEncryption' @::@ 'Maybe' 'ServerSideEncryption'+-- * 'upcrsServerSideEncryption' ---uploadPartCopyResponse :: UploadPartCopyResponse-uploadPartCopyResponse = UploadPartCopyResponse-    { _upcrCopySourceVersionId  = Nothing-    , _upcrCopyPartResult       = Nothing-    , _upcrServerSideEncryption = Nothing-    , _upcrSSECustomerAlgorithm = Nothing-    , _upcrSSECustomerKeyMD5    = Nothing-    , _upcrSSEKMSKeyId          = Nothing-    , _upcrRequestCharged       = Nothing+-- * 'upcrsStatus'+uploadPartCopyResponse+    :: Int -- ^ 'upcrsStatus'+    -> UploadPartCopyResponse+uploadPartCopyResponse pStatus_ =+    UploadPartCopyResponse'+    { _upcrsRequestCharged = Nothing+    , _upcrsCopyPartResult = Nothing+    , _upcrsSSECustomerAlgorithm = Nothing+    , _upcrsCopySourceVersionId = Nothing+    , _upcrsSSEKMSKeyId = Nothing+    , _upcrsSSECustomerKeyMD5 = Nothing+    , _upcrsServerSideEncryption = Nothing+    , _upcrsStatus = pStatus_     } -upcrCopyPartResult :: Lens' UploadPartCopyResponse (Maybe CopyPartResult)-upcrCopyPartResult =-    lens _upcrCopyPartResult (\s a -> s { _upcrCopyPartResult = a })+-- | Undocumented member.+upcrsRequestCharged :: Lens' UploadPartCopyResponse (Maybe RequestCharged)+upcrsRequestCharged = lens _upcrsRequestCharged (\ s a -> s{_upcrsRequestCharged = a}); +-- | Undocumented member.+upcrsCopyPartResult :: Lens' UploadPartCopyResponse (Maybe CopyPartResult)+upcrsCopyPartResult = lens _upcrsCopyPartResult (\ s a -> s{_upcrsCopyPartResult = a});++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+upcrsSSECustomerAlgorithm :: Lens' UploadPartCopyResponse (Maybe Text)+upcrsSSECustomerAlgorithm = lens _upcrsSSECustomerAlgorithm (\ s a -> s{_upcrsSSECustomerAlgorithm = a});+ -- | The version of the source object that was copied, if you have enabled -- versioning on the source bucket.-upcrCopySourceVersionId :: Lens' UploadPartCopyResponse (Maybe Text)-upcrCopySourceVersionId =-    lens _upcrCopySourceVersionId (\s a -> s { _upcrCopySourceVersionId = a })--upcrRequestCharged :: Lens' UploadPartCopyResponse (Maybe RequestCharged)-upcrRequestCharged =-    lens _upcrRequestCharged (\s a -> s { _upcrRequestCharged = a })+upcrsCopySourceVersionId :: Lens' UploadPartCopyResponse (Maybe Text)+upcrsCopySourceVersionId = lens _upcrsCopySourceVersionId (\ s a -> s{_upcrsCopySourceVersionId = a}); --- | If server-side encryption with a customer-provided encryption key was--- requested, the response will include this header confirming the encryption--- algorithm used.-upcrSSECustomerAlgorithm :: Lens' UploadPartCopyResponse (Maybe Text)-upcrSSECustomerAlgorithm =-    lens _upcrSSECustomerAlgorithm-        (\s a -> s { _upcrSSECustomerAlgorithm = a })+-- | If present, specifies the ID of the AWS Key Management Service (KMS)+-- master encryption key that was used for the object.+upcrsSSEKMSKeyId :: Lens' UploadPartCopyResponse (Maybe Text)+upcrsSSEKMSKeyId = lens _upcrsSSEKMSKeyId (\ s a -> s{_upcrsSSEKMSKeyId = a}) . mapping _Sensitive;  -- | If server-side encryption with a customer-provided encryption key was -- requested, the response will include this header to provide round trip -- message integrity verification of the customer-provided encryption key.-upcrSSECustomerKeyMD5 :: Lens' UploadPartCopyResponse (Maybe Text)-upcrSSECustomerKeyMD5 =-    lens _upcrSSECustomerKeyMD5 (\s a -> s { _upcrSSECustomerKeyMD5 = a })---- | If present, specifies the ID of the AWS Key Management Service (KMS) master--- encryption key that was used for the object.-upcrSSEKMSKeyId :: Lens' UploadPartCopyResponse (Maybe Text)-upcrSSEKMSKeyId = lens _upcrSSEKMSKeyId (\s a -> s { _upcrSSEKMSKeyId = a }) . mapping _Sensitive+upcrsSSECustomerKeyMD5 :: Lens' UploadPartCopyResponse (Maybe Text)+upcrsSSECustomerKeyMD5 = lens _upcrsSSECustomerKeyMD5 (\ s a -> s{_upcrsSSECustomerKeyMD5 = a});  -- | The Server-side encryption algorithm used when storing this object in S3 -- (e.g., AES256, aws:kms).-upcrServerSideEncryption :: Lens' UploadPartCopyResponse (Maybe ServerSideEncryption)-upcrServerSideEncryption =-    lens _upcrServerSideEncryption-        (\s a -> s { _upcrServerSideEncryption = a })--instance ToPath UploadPartCopy where-    toPath UploadPartCopy{..} = mconcat-        [ "/"-        , toText _upcBucket-        , "/"-        , toText _upcKey-        ]--instance ToQuery UploadPartCopy where-    toQuery UploadPartCopy{..} = mconcat-        [ "partNumber" =? _upcPartNumber-        , "uploadId"   =? _upcUploadId-        ]--instance ToHeaders UploadPartCopy where-    toHeaders UploadPartCopy{..} = mconcat-        [ "x-amz-copy-source"                                           =: _upcCopySource-        , "x-amz-copy-source-if-match"                                  =: _upcCopySourceIfMatch-        , "x-amz-copy-source-if-modified-since"                         =: _upcCopySourceIfModifiedSince-        , "x-amz-copy-source-if-none-match"                             =: _upcCopySourceIfNoneMatch-        , "x-amz-copy-source-if-unmodified-since"                       =: _upcCopySourceIfUnmodifiedSince-        , "x-amz-copy-source-range"                                     =: _upcCopySourceRange-        , "x-amz-server-side-encryption-customer-algorithm"             =: _upcSSECustomerAlgorithm-        , "x-amz-server-side-encryption-customer-key"                   =: _upcSSECustomerKey-        , "x-amz-server-side-encryption-customer-key-MD5"               =: _upcSSECustomerKeyMD5-        , "x-amz-copy-source-server-side-encryption-customer-algorithm" =: _upcCopySourceSSECustomerAlgorithm-        , "x-amz-copy-source-server-side-encryption-customer-key"       =: _upcCopySourceSSECustomerKey-        , "x-amz-copy-source-server-side-encryption-customer-key-MD5"   =: _upcCopySourceSSECustomerKeyMD5-        , "x-amz-request-payer"                                         =: _upcRequestPayer-        ]--instance ToXMLRoot UploadPartCopy where-    toXMLRoot = const (namespaced ns "UploadPartCopy" [])--instance ToXML UploadPartCopy--instance AWSRequest UploadPartCopy where-    type Sv UploadPartCopy = S3-    type Rs UploadPartCopy = UploadPartCopyResponse+upcrsServerSideEncryption :: Lens' UploadPartCopyResponse (Maybe ServerSideEncryption)+upcrsServerSideEncryption = lens _upcrsServerSideEncryption (\ s a -> s{_upcrsServerSideEncryption = a}); -    request  = put-    response = xmlHeaderResponse $ \h x -> UploadPartCopyResponse-        <$> x .@? "CopyPartResult"-        <*> h ~:? "x-amz-copy-source-version-id"-        <*> h ~:? "x-amz-request-charged"-        <*> h ~:? "x-amz-server-side-encryption-customer-algorithm"-        <*> h ~:? "x-amz-server-side-encryption-customer-key-MD5"-        <*> h ~:? "x-amz-server-side-encryption-aws-kms-key-id"-        <*> h ~:? "x-amz-server-side-encryption"+-- | The response status code.+upcrsStatus :: Lens' UploadPartCopyResponse Int+upcrsStatus = lens _upcrsStatus (\ s a -> s{_upcrsStatus = a});
gen/Network/AWS/S3/Waiters.hs view
@@ -1,63 +1,70 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeFamilies      #-} +{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.S3.Waiters--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.- module Network.AWS.S3.Waiters where -import Network.AWS.S3.HeadBucket-import Network.AWS.S3.HeadObject-import Network.AWS.S3.Types-import Network.AWS.Waiters+import           Network.AWS.Prelude+import           Network.AWS.S3.HeadBucket+import           Network.AWS.S3.HeadBucket+import           Network.AWS.S3.HeadObject+import           Network.AWS.S3.HeadObject+import           Network.AWS.S3.Types+import           Network.AWS.Waiter -bucketExists :: Wait HeadBucket-bucketExists = Wait-    { _waitName      = "BucketExists"-    , _waitAttempts  = 20-    , _waitDelay     = 5-    , _waitAcceptors =-        [ matchStatus 200 AcceptSuccess-        , matchStatus 404 AcceptRetry-        ]+-- | Polls 'Network.AWS.S3.HeadObject' every 5 seconds until a+-- successful state is reached. An error is returned after 20 failed checks.+objectNotExists :: Wait HeadObject+objectNotExists =+    Wait+    { _waitName = "ObjectNotExists"+    , _waitAttempts = 20+    , _waitDelay = 5+    , _waitAcceptors = [matchStatus 404 AcceptSuccess]     } -bucketNotExists :: Wait HeadBucket-bucketNotExists = Wait-    { _waitName      = "BucketNotExists"-    , _waitAttempts  = 20-    , _waitDelay     = 5-    , _waitAcceptors =-        [ matchStatus 404 AcceptSuccess-        ]+-- | Polls 'Network.AWS.S3.HeadBucket' every 5 seconds until a+-- successful state is reached. An error is returned after 20 failed checks.+bucketExists :: Wait HeadBucket+bucketExists =+    Wait+    { _waitName = "BucketExists"+    , _waitAttempts = 20+    , _waitDelay = 5+    , _waitAcceptors = [ matchStatus 200 AcceptSuccess+                       , matchStatus 404 AcceptRetry]     } +-- | Polls 'Network.AWS.S3.HeadObject' every 5 seconds until a+-- successful state is reached. An error is returned after 20 failed checks. objectExists :: Wait HeadObject-objectExists = Wait-    { _waitName      = "ObjectExists"-    , _waitAttempts  = 20-    , _waitDelay     = 5-    , _waitAcceptors =-        [ matchStatus 200 AcceptSuccess-        , matchStatus 404 AcceptRetry-        ]+objectExists =+    Wait+    { _waitName = "ObjectExists"+    , _waitAttempts = 20+    , _waitDelay = 5+    , _waitAcceptors = [ matchStatus 200 AcceptSuccess+                       , matchStatus 404 AcceptRetry]     } -objectNotExists :: Wait HeadObject-objectNotExists = Wait-    { _waitName      = "ObjectNotExists"-    , _waitAttempts  = 20-    , _waitDelay     = 5-    , _waitAcceptors =-        [ matchStatus 404 AcceptSuccess-        ]+-- | Polls 'Network.AWS.S3.HeadBucket' every 5 seconds until a+-- successful state is reached. An error is returned after 20 failed checks.+bucketNotExists :: Wait HeadBucket+bucketNotExists =+    Wait+    { _waitName = "BucketNotExists"+    , _waitAttempts = 20+    , _waitDelay = 5+    , _waitAcceptors = [matchStatus 404 AcceptSuccess]     }
src/Network/AWS/S3/Internal.hs view
@@ -1,31 +1,46 @@+{-# LANGUAGE BangPatterns               #-}+{-# LANGUAGE DeriveDataTypeable         #-} {-# LANGUAGE DeriveGeneric              #-}+{-# LANGUAGE FlexibleContexts           #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiWayIf                 #-}+{-# LANGUAGE RankNTypes                 #-} +-- | -- Module      : Network.AWS.S3.Internal--- Copyright   : (c) 2013-2015 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com> -- Stability   : experimental -- Portability : non-portable (GHC extensions)-+-- module Network.AWS.S3.Internal-    ( module Network.AWS.S3.Internal-    , Region+    ( Region          (..)+    , BucketName      (..)+    , ETag            (..)+    , ObjectVersionId (..)+    , Delimiter+    , ObjectKey       (..)+    , _ObjectKey+    , keyPrefix+    , keyName+    , keyComponents     ) where -import Data.String-import GHC.Generics-import Network.AWS.Prelude-import Network.AWS.Types (Region)+import           Control.Lens+import           Data.String+import qualified Data.Text            as Text+import           Network.AWS.Data.XML+import           Network.AWS.Prelude  newtype BucketName = BucketName Text     deriving         ( Eq         , Ord+        , Read         , Show+        , Data+        , Typeable         , Generic         , IsString         , FromText@@ -36,11 +51,16 @@         , ToQuery         ) -newtype ObjectKey = ObjectKey Text+-- FIXME: Add the difference between weak + strong ETags and their respective+-- equalities if necessary, see: https://github.com/brendanhay/amazonka/issues/76+newtype ETag = ETag ByteString     deriving         ( Eq         , Ord+        , Read         , Show+        , Data+        , Typeable         , Generic         , IsString         , FromText@@ -55,7 +75,10 @@     deriving         ( Eq         , Ord+        , Read         , Show+        , Data+        , Typeable         , Generic         , IsString         , FromText@@ -66,11 +89,14 @@         , ToQuery         ) -newtype ETag = ETag Text+newtype ObjectKey = ObjectKey Text     deriving         ( Eq         , Ord+        , Read         , Show+        , Data+        , Typeable         , Generic         , IsString         , FromText@@ -79,4 +105,82 @@         , FromXML         , ToXML         , ToQuery+        , ToPath         )++type Delimiter = Char++_ObjectKey :: Iso' ObjectKey Text+_ObjectKey = iso (\(ObjectKey k) -> k) ObjectKey+{-# INLINE _ObjectKey #-}++-- FIXME: Note about laws for combining keyPrefix/keyName.++-- | Traverse the prefix of an object key.+--+-- The prefix is classified as the entirety of the object key minus the name.+-- A leading prefix in the presence of a name, and no other delimiters is+-- interpreted as a blank prefix.+--+-- >>> "/home/jsmith/base.wiki" ^? keyPrefix '/'+-- Just "/home/jsmith"+--+-- >>> "/home/jsmith/" ^? keyPrefix '/'+-- Just "/home/jsmith"+--+-- >>> "/home" ^? keyPrefix '/'+-- Nothing+--+-- >>> "/" ^? keyPrefix '/'+-- Nothing+--+keyPrefix :: Delimiter -> Traversal' ObjectKey Text+keyPrefix c = _ObjectKeySnoc True c . _1+{-# INLINE keyPrefix #-}++-- | Traverse the name of an object key.+---+-- The name is classified as last path component based on the given delimiter.+-- A trailing delimiter is interpreted as a blank name.+--+-- >>> "/home/jsmith/base.wiki" ^? keyName '/'+-- Just "base.wiki"+--+-- >>> "/home/jsmith/" ^? keyName '/'+-- Just ""+--+-- >>> "/home" ^? keyName '/'+-- Just "home"+--+-- >>> "/" ^? keyName '/'+-- Just ""+--+keyName :: Delimiter -> Traversal' ObjectKey Text+keyName c = _ObjectKeySnoc False c . _2+{-# INLINE keyName #-}++-- | Traverse the path components of an object key using the specified delimiter.+keyComponents :: Delimiter -> IndexedTraversal' Int ObjectKey Text+keyComponents !c f (ObjectKey k) = cat <$> traversed f split+  where+    split = Text.split (== c) k+    cat   = ObjectKey . Text.intercalate (Text.singleton c)+{-# INLINE keyComponents #-}++-- | Modelled on the '_Snoc' type class from "Control.Lens.Cons".+_ObjectKeySnoc :: Bool -> Delimiter -> Prism' ObjectKey (Text, Text)+_ObjectKeySnoc dir !c = prism (ObjectKey . uncurry cat) split+  where+    split x@(ObjectKey k) =+        let (h, t) = Text.breakOnEnd suf k+         in if | Text.length h <= 1, dir -> Left x+               | otherwise               -> Right (Text.dropEnd 1 h, t)++    cat h t+        | Text.null h             = t+        | Text.null t             = h+        | suf `Text.isSuffixOf` h = h <> t+        | suf `Text.isPrefixOf` t = h <> t+        | otherwise               = h <> suf <> t++    suf = Text.singleton c
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.S3+import Test.AWS.S3.Internal++main :: IO ()+main = defaultMain $ testGroup "S3"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/Gen/S3.hs view
@@ -0,0 +1,901 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.S3+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.S3 where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.S3+import Test.AWS.S3.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ testPutBucketRequestPayment $+--             putBucketRequestPayment+--+--         , testPutObject $+--             putObject+--+--         , testPutBucketLogging $+--             putBucketLogging+--+--         , testDeleteObject $+--             deleteObject+--+--         , testDeleteBucket $+--             deleteBucket+--+--         , testListBuckets $+--             listBuckets+--+--         , testCreateBucket $+--             createBucket+--+--         , testPutBucketTagging $+--             putBucketTagging+--+--         , testDeleteBucketTagging $+--             deleteBucketTagging+--+--         , testPutObjectACL $+--             putObjectACL+--+--         , testGetBucketNotificationConfiguration $+--             getBucketNotificationConfiguration+--+--         , testGetBucketLocation $+--             getBucketLocation+--+--         , testPutBucketReplication $+--             putBucketReplication+--+--         , testGetBucketWebsite $+--             getBucketWebsite+--+--         , testGetObject $+--             getObject+--+--         , testDeleteBucketReplication $+--             deleteBucketReplication+--+--         , testGetBucketRequestPayment $+--             getBucketRequestPayment+--+--         , testListObjectVersions $+--             listObjectVersions+--+--         , testGetBucketLifecycle $+--             getBucketLifecycle+--+--         , testHeadBucket $+--             headBucket+--+--         , testPutBucketLifecycle $+--             putBucketLifecycle+--+--         , testCreateMultipartUpload $+--             createMultipartUpload+--+--         , testDeleteBucketLifecycle $+--             deleteBucketLifecycle+--+--         , testGetBucketReplication $+--             getBucketReplication+--+--         , testPutBucketWebsite $+--             putBucketWebsite+--+--         , testCompleteMultipartUpload $+--             completeMultipartUpload+--+--         , testUploadPart $+--             uploadPart+--+--         , testListMultipartUploads $+--             listMultipartUploads+--+--         , testDeleteBucketWebsite $+--             deleteBucketWebsite+--+--         , testListObjects $+--             listObjects+--+--         , testDeleteObjects $+--             deleteObjects+--+--         , testPutBucketPolicy $+--             putBucketPolicy+--+--         , testDeleteBucketPolicy $+--             deleteBucketPolicy+--+--         , testAbortMultipartUpload $+--             abortMultipartUpload+--+--         , testGetObjectTorrent $+--             getObjectTorrent+--+--         , testPutBucketCORS $+--             putBucketCORS+--+--         , testDeleteBucketCORS $+--             deleteBucketCORS+--+--         , testGetBucketVersioning $+--             getBucketVersioning+--+--         , testPutBucketNotificationConfiguration $+--             putBucketNotificationConfiguration+--+--         , testGetBucketTagging $+--             getBucketTagging+--+--         , testHeadObject $+--             headObject+--+--         , testPutBucketVersioning $+--             putBucketVersioning+--+--         , testGetObjectACL $+--             getObjectACL+--+--         , testRestoreObject $+--             restoreObject+--+--         , testGetBucketCORS $+--             getBucketCORS+--+--         , testCopyObject $+--             copyObject+--+--         , testGetBucketPolicy $+--             getBucketPolicy+--+--         , testGetBucketLogging $+--             getBucketLogging+--+--         , testListParts $+--             listParts+--+--         , testGetBucketACL $+--             getBucketACL+--+--         , testPutBucketACL $+--             putBucketACL+--+--         , testUploadPartCopy $+--             uploadPartCopy+--+--           ]++--     , testGroup "response"+--         [ testPutBucketRequestPaymentResponse $+--             putBucketRequestPaymentResponse+--+--         , testPutObjectResponse $+--             putObjectResponse+--+--         , testPutBucketLoggingResponse $+--             putBucketLoggingResponse+--+--         , testDeleteObjectResponse $+--             deleteObjectResponse+--+--         , testDeleteBucketResponse $+--             deleteBucketResponse+--+--         , testListBucketsResponse $+--             listBucketsResponse+--+--         , testCreateBucketResponse $+--             createBucketResponse+--+--         , testPutBucketTaggingResponse $+--             putBucketTaggingResponse+--+--         , testDeleteBucketTaggingResponse $+--             deleteBucketTaggingResponse+--+--         , testPutObjectACLResponse $+--             putObjectACLResponse+--+--         , testGetBucketNotificationConfigurationResponse $+--             notificationConfiguration+--+--         , testGetBucketLocationResponse $+--             getBucketLocationResponse+--+--         , testPutBucketReplicationResponse $+--             putBucketReplicationResponse+--+--         , testGetBucketWebsiteResponse $+--             getBucketWebsiteResponse+--+--         , testGetObjectResponse $+--             getObjectResponse+--+--         , testDeleteBucketReplicationResponse $+--             deleteBucketReplicationResponse+--+--         , testGetBucketRequestPaymentResponse $+--             getBucketRequestPaymentResponse+--+--         , testListObjectVersionsResponse $+--             listObjectVersionsResponse+--+--         , testGetBucketLifecycleResponse $+--             getBucketLifecycleResponse+--+--         , testHeadBucketResponse $+--             headBucketResponse+--+--         , testPutBucketLifecycleResponse $+--             putBucketLifecycleResponse+--+--         , testCreateMultipartUploadResponse $+--             createMultipartUploadResponse+--+--         , testDeleteBucketLifecycleResponse $+--             deleteBucketLifecycleResponse+--+--         , testGetBucketReplicationResponse $+--             getBucketReplicationResponse+--+--         , testPutBucketWebsiteResponse $+--             putBucketWebsiteResponse+--+--         , testCompleteMultipartUploadResponse $+--             completeMultipartUploadResponse+--+--         , testUploadPartResponse $+--             uploadPartResponse+--+--         , testListMultipartUploadsResponse $+--             listMultipartUploadsResponse+--+--         , testDeleteBucketWebsiteResponse $+--             deleteBucketWebsiteResponse+--+--         , testListObjectsResponse $+--             listObjectsResponse+--+--         , testDeleteObjectsResponse $+--             deleteObjectsResponse+--+--         , testPutBucketPolicyResponse $+--             putBucketPolicyResponse+--+--         , testDeleteBucketPolicyResponse $+--             deleteBucketPolicyResponse+--+--         , testAbortMultipartUploadResponse $+--             abortMultipartUploadResponse+--+--         , testGetObjectTorrentResponse $+--             getObjectTorrentResponse+--+--         , testPutBucketCORSResponse $+--             putBucketCORSResponse+--+--         , testDeleteBucketCORSResponse $+--             deleteBucketCORSResponse+--+--         , testGetBucketVersioningResponse $+--             getBucketVersioningResponse+--+--         , testPutBucketNotificationConfigurationResponse $+--             putBucketNotificationConfigurationResponse+--+--         , testGetBucketTaggingResponse $+--             getBucketTaggingResponse+--+--         , testHeadObjectResponse $+--             headObjectResponse+--+--         , testPutBucketVersioningResponse $+--             putBucketVersioningResponse+--+--         , testGetObjectACLResponse $+--             getObjectACLResponse+--+--         , testRestoreObjectResponse $+--             restoreObjectResponse+--+--         , testGetBucketCORSResponse $+--             getBucketCORSResponse+--+--         , testCopyObjectResponse $+--             copyObjectResponse+--+--         , testGetBucketPolicyResponse $+--             getBucketPolicyResponse+--+--         , testGetBucketLoggingResponse $+--             getBucketLoggingResponse+--+--         , testListPartsResponse $+--             listPartsResponse+--+--         , testGetBucketACLResponse $+--             getBucketACLResponse+--+--         , testPutBucketACLResponse $+--             putBucketACLResponse+--+--         , testUploadPartCopyResponse $+--             uploadPartCopyResponse+--+--           ]+--     ]++-- Requests++testPutBucketRequestPayment :: PutBucketRequestPayment -> TestTree+testPutBucketRequestPayment = req+    "PutBucketRequestPayment"+    "fixture/PutBucketRequestPayment"++testPutBucketLogging :: PutBucketLogging -> TestTree+testPutBucketLogging = req+    "PutBucketLogging"+    "fixture/PutBucketLogging"++testDeleteObject :: DeleteObject -> TestTree+testDeleteObject = req+    "DeleteObject"+    "fixture/DeleteObject"++testDeleteBucket :: DeleteBucket -> TestTree+testDeleteBucket = req+    "DeleteBucket"+    "fixture/DeleteBucket"++testListBuckets :: ListBuckets -> TestTree+testListBuckets = req+    "ListBuckets"+    "fixture/ListBuckets"++testCreateBucket :: CreateBucket -> TestTree+testCreateBucket = req+    "CreateBucket"+    "fixture/CreateBucket"++testPutBucketTagging :: PutBucketTagging -> TestTree+testPutBucketTagging = req+    "PutBucketTagging"+    "fixture/PutBucketTagging"++testDeleteBucketTagging :: DeleteBucketTagging -> TestTree+testDeleteBucketTagging = req+    "DeleteBucketTagging"+    "fixture/DeleteBucketTagging"++testPutObjectACL :: PutObjectACL -> TestTree+testPutObjectACL = req+    "PutObjectACL"+    "fixture/PutObjectACL"++testGetBucketNotificationConfiguration :: GetBucketNotificationConfiguration -> TestTree+testGetBucketNotificationConfiguration = req+    "GetBucketNotificationConfiguration"+    "fixture/GetBucketNotificationConfiguration"++testGetBucketLocation :: GetBucketLocation -> TestTree+testGetBucketLocation = req+    "GetBucketLocation"+    "fixture/GetBucketLocation"++testPutBucketReplication :: PutBucketReplication -> TestTree+testPutBucketReplication = req+    "PutBucketReplication"+    "fixture/PutBucketReplication"++testGetBucketWebsite :: GetBucketWebsite -> TestTree+testGetBucketWebsite = req+    "GetBucketWebsite"+    "fixture/GetBucketWebsite"++testGetObject :: GetObject -> TestTree+testGetObject = req+    "GetObject"+    "fixture/GetObject"++testDeleteBucketReplication :: DeleteBucketReplication -> TestTree+testDeleteBucketReplication = req+    "DeleteBucketReplication"+    "fixture/DeleteBucketReplication"++testGetBucketRequestPayment :: GetBucketRequestPayment -> TestTree+testGetBucketRequestPayment = req+    "GetBucketRequestPayment"+    "fixture/GetBucketRequestPayment"++testListObjectVersions :: ListObjectVersions -> TestTree+testListObjectVersions = req+    "ListObjectVersions"+    "fixture/ListObjectVersions"++testGetBucketLifecycle :: GetBucketLifecycle -> TestTree+testGetBucketLifecycle = req+    "GetBucketLifecycle"+    "fixture/GetBucketLifecycle"++testHeadBucket :: HeadBucket -> TestTree+testHeadBucket = req+    "HeadBucket"+    "fixture/HeadBucket"++testPutBucketLifecycle :: PutBucketLifecycle -> TestTree+testPutBucketLifecycle = req+    "PutBucketLifecycle"+    "fixture/PutBucketLifecycle"++testCreateMultipartUpload :: CreateMultipartUpload -> TestTree+testCreateMultipartUpload = req+    "CreateMultipartUpload"+    "fixture/CreateMultipartUpload"++testDeleteBucketLifecycle :: DeleteBucketLifecycle -> TestTree+testDeleteBucketLifecycle = req+    "DeleteBucketLifecycle"+    "fixture/DeleteBucketLifecycle"++testGetBucketReplication :: GetBucketReplication -> TestTree+testGetBucketReplication = req+    "GetBucketReplication"+    "fixture/GetBucketReplication"++testPutBucketWebsite :: PutBucketWebsite -> TestTree+testPutBucketWebsite = req+    "PutBucketWebsite"+    "fixture/PutBucketWebsite"++testCompleteMultipartUpload :: CompleteMultipartUpload -> TestTree+testCompleteMultipartUpload = req+    "CompleteMultipartUpload"+    "fixture/CompleteMultipartUpload"++testListMultipartUploads :: ListMultipartUploads -> TestTree+testListMultipartUploads = req+    "ListMultipartUploads"+    "fixture/ListMultipartUploads"++testDeleteBucketWebsite :: DeleteBucketWebsite -> TestTree+testDeleteBucketWebsite = req+    "DeleteBucketWebsite"+    "fixture/DeleteBucketWebsite"++testListObjects :: ListObjects -> TestTree+testListObjects = req+    "ListObjects"+    "fixture/ListObjects"++testDeleteObjects :: DeleteObjects -> TestTree+testDeleteObjects = req+    "DeleteObjects"+    "fixture/DeleteObjects"++testPutBucketPolicy :: PutBucketPolicy -> TestTree+testPutBucketPolicy = req+    "PutBucketPolicy"+    "fixture/PutBucketPolicy"++testDeleteBucketPolicy :: DeleteBucketPolicy -> TestTree+testDeleteBucketPolicy = req+    "DeleteBucketPolicy"+    "fixture/DeleteBucketPolicy"++testAbortMultipartUpload :: AbortMultipartUpload -> TestTree+testAbortMultipartUpload = req+    "AbortMultipartUpload"+    "fixture/AbortMultipartUpload"++testGetObjectTorrent :: GetObjectTorrent -> TestTree+testGetObjectTorrent = req+    "GetObjectTorrent"+    "fixture/GetObjectTorrent"++testPutBucketCORS :: PutBucketCORS -> TestTree+testPutBucketCORS = req+    "PutBucketCORS"+    "fixture/PutBucketCORS"++testDeleteBucketCORS :: DeleteBucketCORS -> TestTree+testDeleteBucketCORS = req+    "DeleteBucketCORS"+    "fixture/DeleteBucketCORS"++testGetBucketVersioning :: GetBucketVersioning -> TestTree+testGetBucketVersioning = req+    "GetBucketVersioning"+    "fixture/GetBucketVersioning"++testPutBucketNotificationConfiguration :: PutBucketNotificationConfiguration -> TestTree+testPutBucketNotificationConfiguration = req+    "PutBucketNotificationConfiguration"+    "fixture/PutBucketNotificationConfiguration"++testGetBucketTagging :: GetBucketTagging -> TestTree+testGetBucketTagging = req+    "GetBucketTagging"+    "fixture/GetBucketTagging"++testHeadObject :: HeadObject -> TestTree+testHeadObject = req+    "HeadObject"+    "fixture/HeadObject"++testPutBucketVersioning :: PutBucketVersioning -> TestTree+testPutBucketVersioning = req+    "PutBucketVersioning"+    "fixture/PutBucketVersioning"++testGetObjectACL :: GetObjectACL -> TestTree+testGetObjectACL = req+    "GetObjectACL"+    "fixture/GetObjectACL"++testRestoreObject :: RestoreObject -> TestTree+testRestoreObject = req+    "RestoreObject"+    "fixture/RestoreObject"++testGetBucketCORS :: GetBucketCORS -> TestTree+testGetBucketCORS = req+    "GetBucketCORS"+    "fixture/GetBucketCORS"++testCopyObject :: CopyObject -> TestTree+testCopyObject = req+    "CopyObject"+    "fixture/CopyObject"++testGetBucketPolicy :: GetBucketPolicy -> TestTree+testGetBucketPolicy = req+    "GetBucketPolicy"+    "fixture/GetBucketPolicy"++testGetBucketLogging :: GetBucketLogging -> TestTree+testGetBucketLogging = req+    "GetBucketLogging"+    "fixture/GetBucketLogging"++testListParts :: ListParts -> TestTree+testListParts = req+    "ListParts"+    "fixture/ListParts"++testGetBucketACL :: GetBucketACL -> TestTree+testGetBucketACL = req+    "GetBucketACL"+    "fixture/GetBucketACL"++testPutBucketACL :: PutBucketACL -> TestTree+testPutBucketACL = req+    "PutBucketACL"+    "fixture/PutBucketACL"++testUploadPartCopy :: UploadPartCopy -> TestTree+testUploadPartCopy = req+    "UploadPartCopy"+    "fixture/UploadPartCopy"++-- Responses++testPutBucketRequestPaymentResponse :: PutBucketRequestPaymentResponse -> TestTree+testPutBucketRequestPaymentResponse = res+    "PutBucketRequestPaymentResponse"+    "fixture/PutBucketRequestPaymentResponse"+    (Proxy :: Proxy PutBucketRequestPayment)++testPutObjectResponse :: PutObjectResponse -> TestTree+testPutObjectResponse = res+    "PutObjectResponse"+    "fixture/PutObjectResponse"+    (Proxy :: Proxy PutObject)++testPutBucketLoggingResponse :: PutBucketLoggingResponse -> TestTree+testPutBucketLoggingResponse = res+    "PutBucketLoggingResponse"+    "fixture/PutBucketLoggingResponse"+    (Proxy :: Proxy PutBucketLogging)++testDeleteObjectResponse :: DeleteObjectResponse -> TestTree+testDeleteObjectResponse = res+    "DeleteObjectResponse"+    "fixture/DeleteObjectResponse"+    (Proxy :: Proxy DeleteObject)++testDeleteBucketResponse :: DeleteBucketResponse -> TestTree+testDeleteBucketResponse = res+    "DeleteBucketResponse"+    "fixture/DeleteBucketResponse"+    (Proxy :: Proxy DeleteBucket)++testListBucketsResponse :: ListBucketsResponse -> TestTree+testListBucketsResponse = res+    "ListBucketsResponse"+    "fixture/ListBucketsResponse"+    (Proxy :: Proxy ListBuckets)++testCreateBucketResponse :: CreateBucketResponse -> TestTree+testCreateBucketResponse = res+    "CreateBucketResponse"+    "fixture/CreateBucketResponse"+    (Proxy :: Proxy CreateBucket)++testPutBucketTaggingResponse :: PutBucketTaggingResponse -> TestTree+testPutBucketTaggingResponse = res+    "PutBucketTaggingResponse"+    "fixture/PutBucketTaggingResponse"+    (Proxy :: Proxy PutBucketTagging)++testDeleteBucketTaggingResponse :: DeleteBucketTaggingResponse -> TestTree+testDeleteBucketTaggingResponse = res+    "DeleteBucketTaggingResponse"+    "fixture/DeleteBucketTaggingResponse"+    (Proxy :: Proxy DeleteBucketTagging)++testPutObjectACLResponse :: PutObjectACLResponse -> TestTree+testPutObjectACLResponse = res+    "PutObjectACLResponse"+    "fixture/PutObjectACLResponse"+    (Proxy :: Proxy PutObjectACL)++testGetBucketNotificationConfigurationResponse :: NotificationConfiguration -> TestTree+testGetBucketNotificationConfigurationResponse = res+    "GetBucketNotificationConfigurationResponse"+    "fixture/GetBucketNotificationConfigurationResponse"+    (Proxy :: Proxy GetBucketNotificationConfiguration)++testGetBucketLocationResponse :: GetBucketLocationResponse -> TestTree+testGetBucketLocationResponse = res+    "GetBucketLocationResponse"+    "fixture/GetBucketLocationResponse"+    (Proxy :: Proxy GetBucketLocation)++testPutBucketReplicationResponse :: PutBucketReplicationResponse -> TestTree+testPutBucketReplicationResponse = res+    "PutBucketReplicationResponse"+    "fixture/PutBucketReplicationResponse"+    (Proxy :: Proxy PutBucketReplication)++testGetBucketWebsiteResponse :: GetBucketWebsiteResponse -> TestTree+testGetBucketWebsiteResponse = res+    "GetBucketWebsiteResponse"+    "fixture/GetBucketWebsiteResponse"+    (Proxy :: Proxy GetBucketWebsite)++testDeleteBucketReplicationResponse :: DeleteBucketReplicationResponse -> TestTree+testDeleteBucketReplicationResponse = res+    "DeleteBucketReplicationResponse"+    "fixture/DeleteBucketReplicationResponse"+    (Proxy :: Proxy DeleteBucketReplication)++testGetBucketRequestPaymentResponse :: GetBucketRequestPaymentResponse -> TestTree+testGetBucketRequestPaymentResponse = res+    "GetBucketRequestPaymentResponse"+    "fixture/GetBucketRequestPaymentResponse"+    (Proxy :: Proxy GetBucketRequestPayment)++testListObjectVersionsResponse :: ListObjectVersionsResponse -> TestTree+testListObjectVersionsResponse = res+    "ListObjectVersionsResponse"+    "fixture/ListObjectVersionsResponse"+    (Proxy :: Proxy ListObjectVersions)++testGetBucketLifecycleResponse :: GetBucketLifecycleResponse -> TestTree+testGetBucketLifecycleResponse = res+    "GetBucketLifecycleResponse"+    "fixture/GetBucketLifecycleResponse"+    (Proxy :: Proxy GetBucketLifecycle)++testHeadBucketResponse :: HeadBucketResponse -> TestTree+testHeadBucketResponse = res+    "HeadBucketResponse"+    "fixture/HeadBucketResponse"+    (Proxy :: Proxy HeadBucket)++testPutBucketLifecycleResponse :: PutBucketLifecycleResponse -> TestTree+testPutBucketLifecycleResponse = res+    "PutBucketLifecycleResponse"+    "fixture/PutBucketLifecycleResponse"+    (Proxy :: Proxy PutBucketLifecycle)++testCreateMultipartUploadResponse :: CreateMultipartUploadResponse -> TestTree+testCreateMultipartUploadResponse = res+    "CreateMultipartUploadResponse"+    "fixture/CreateMultipartUploadResponse"+    (Proxy :: Proxy CreateMultipartUpload)++testDeleteBucketLifecycleResponse :: DeleteBucketLifecycleResponse -> TestTree+testDeleteBucketLifecycleResponse = res+    "DeleteBucketLifecycleResponse"+    "fixture/DeleteBucketLifecycleResponse"+    (Proxy :: Proxy DeleteBucketLifecycle)++testGetBucketReplicationResponse :: GetBucketReplicationResponse -> TestTree+testGetBucketReplicationResponse = res+    "GetBucketReplicationResponse"+    "fixture/GetBucketReplicationResponse"+    (Proxy :: Proxy GetBucketReplication)++testPutBucketWebsiteResponse :: PutBucketWebsiteResponse -> TestTree+testPutBucketWebsiteResponse = res+    "PutBucketWebsiteResponse"+    "fixture/PutBucketWebsiteResponse"+    (Proxy :: Proxy PutBucketWebsite)++testCompleteMultipartUploadResponse :: CompleteMultipartUploadResponse -> TestTree+testCompleteMultipartUploadResponse = res+    "CompleteMultipartUploadResponse"+    "fixture/CompleteMultipartUploadResponse"+    (Proxy :: Proxy CompleteMultipartUpload)++testUploadPartResponse :: UploadPartResponse -> TestTree+testUploadPartResponse = res+    "UploadPartResponse"+    "fixture/UploadPartResponse"+    (Proxy :: Proxy UploadPart)++testListMultipartUploadsResponse :: ListMultipartUploadsResponse -> TestTree+testListMultipartUploadsResponse = res+    "ListMultipartUploadsResponse"+    "fixture/ListMultipartUploadsResponse"+    (Proxy :: Proxy ListMultipartUploads)++testDeleteBucketWebsiteResponse :: DeleteBucketWebsiteResponse -> TestTree+testDeleteBucketWebsiteResponse = res+    "DeleteBucketWebsiteResponse"+    "fixture/DeleteBucketWebsiteResponse"+    (Proxy :: Proxy DeleteBucketWebsite)++testListObjectsResponse :: ListObjectsResponse -> TestTree+testListObjectsResponse = res+    "ListObjectsResponse"+    "fixture/ListObjectsResponse"+    (Proxy :: Proxy ListObjects)++testDeleteObjectsResponse :: DeleteObjectsResponse -> TestTree+testDeleteObjectsResponse = res+    "DeleteObjectsResponse"+    "fixture/DeleteObjectsResponse"+    (Proxy :: Proxy DeleteObjects)++testPutBucketPolicyResponse :: PutBucketPolicyResponse -> TestTree+testPutBucketPolicyResponse = res+    "PutBucketPolicyResponse"+    "fixture/PutBucketPolicyResponse"+    (Proxy :: Proxy PutBucketPolicy)++testDeleteBucketPolicyResponse :: DeleteBucketPolicyResponse -> TestTree+testDeleteBucketPolicyResponse = res+    "DeleteBucketPolicyResponse"+    "fixture/DeleteBucketPolicyResponse"+    (Proxy :: Proxy DeleteBucketPolicy)++testAbortMultipartUploadResponse :: AbortMultipartUploadResponse -> TestTree+testAbortMultipartUploadResponse = res+    "AbortMultipartUploadResponse"+    "fixture/AbortMultipartUploadResponse"+    (Proxy :: Proxy AbortMultipartUpload)++testPutBucketCORSResponse :: PutBucketCORSResponse -> TestTree+testPutBucketCORSResponse = res+    "PutBucketCORSResponse"+    "fixture/PutBucketCORSResponse"+    (Proxy :: Proxy PutBucketCORS)++testDeleteBucketCORSResponse :: DeleteBucketCORSResponse -> TestTree+testDeleteBucketCORSResponse = res+    "DeleteBucketCORSResponse"+    "fixture/DeleteBucketCORSResponse"+    (Proxy :: Proxy DeleteBucketCORS)++testGetBucketVersioningResponse :: GetBucketVersioningResponse -> TestTree+testGetBucketVersioningResponse = res+    "GetBucketVersioningResponse"+    "fixture/GetBucketVersioningResponse"+    (Proxy :: Proxy GetBucketVersioning)++testPutBucketNotificationConfigurationResponse :: PutBucketNotificationConfigurationResponse -> TestTree+testPutBucketNotificationConfigurationResponse = res+    "PutBucketNotificationConfigurationResponse"+    "fixture/PutBucketNotificationConfigurationResponse"+    (Proxy :: Proxy PutBucketNotificationConfiguration)++testGetBucketTaggingResponse :: GetBucketTaggingResponse -> TestTree+testGetBucketTaggingResponse = res+    "GetBucketTaggingResponse"+    "fixture/GetBucketTaggingResponse"+    (Proxy :: Proxy GetBucketTagging)++testHeadObjectResponse :: HeadObjectResponse -> TestTree+testHeadObjectResponse = res+    "HeadObjectResponse"+    "fixture/HeadObjectResponse"+    (Proxy :: Proxy HeadObject)++testPutBucketVersioningResponse :: PutBucketVersioningResponse -> TestTree+testPutBucketVersioningResponse = res+    "PutBucketVersioningResponse"+    "fixture/PutBucketVersioningResponse"+    (Proxy :: Proxy PutBucketVersioning)++testGetObjectACLResponse :: GetObjectACLResponse -> TestTree+testGetObjectACLResponse = res+    "GetObjectACLResponse"+    "fixture/GetObjectACLResponse"+    (Proxy :: Proxy GetObjectACL)++testRestoreObjectResponse :: RestoreObjectResponse -> TestTree+testRestoreObjectResponse = res+    "RestoreObjectResponse"+    "fixture/RestoreObjectResponse"+    (Proxy :: Proxy RestoreObject)++testGetBucketCORSResponse :: GetBucketCORSResponse -> TestTree+testGetBucketCORSResponse = res+    "GetBucketCORSResponse"+    "fixture/GetBucketCORSResponse"+    (Proxy :: Proxy GetBucketCORS)++testCopyObjectResponse :: CopyObjectResponse -> TestTree+testCopyObjectResponse = res+    "CopyObjectResponse"+    "fixture/CopyObjectResponse"+    (Proxy :: Proxy CopyObject)++testGetBucketPolicyResponse :: GetBucketPolicyResponse -> TestTree+testGetBucketPolicyResponse = res+    "GetBucketPolicyResponse"+    "fixture/GetBucketPolicyResponse"+    (Proxy :: Proxy GetBucketPolicy)++testGetBucketLoggingResponse :: GetBucketLoggingResponse -> TestTree+testGetBucketLoggingResponse = res+    "GetBucketLoggingResponse"+    "fixture/GetBucketLoggingResponse"+    (Proxy :: Proxy GetBucketLogging)++testListPartsResponse :: ListPartsResponse -> TestTree+testListPartsResponse = res+    "ListPartsResponse"+    "fixture/ListPartsResponse"+    (Proxy :: Proxy ListParts)++testGetBucketACLResponse :: GetBucketACLResponse -> TestTree+testGetBucketACLResponse = res+    "GetBucketACLResponse"+    "fixture/GetBucketACLResponse"+    (Proxy :: Proxy GetBucketACL)++testPutBucketACLResponse :: PutBucketACLResponse -> TestTree+testPutBucketACLResponse = res+    "PutBucketACLResponse"+    "fixture/PutBucketACLResponse"+    (Proxy :: Proxy PutBucketACL)++testUploadPartCopyResponse :: UploadPartCopyResponse -> TestTree+testUploadPartCopyResponse = res+    "UploadPartCopyResponse"+    "fixture/UploadPartCopyResponse"+    (Proxy :: Proxy UploadPartCopy)
+ test/Test/AWS/S3.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell   #-}++-- |+-- Module      : Test.AWS.S3+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.S3+    ( tests+    , fixtures+    ) where++import           Data.Time+import           Network.AWS.Prelude+import           Network.AWS.S3+import           Test.AWS.Gen.S3+import           Test.AWS.Prelude+import qualified Test.AWS.S3.ObjectKey as ObjectKey+import           Test.Tasty++tests :: [TestTree]+tests =+    [ ObjectKey.tests+    ]++fixtures :: [TestTree]+fixtures =+    [ testGroup "request"+        [ testDeleteObjects $+            deleteObjects "bucketname" $+                delete' & dObjects .~+                    [ objectIdentifier "sample1.text"+                    , objectIdentifier "sample2.text"+                    ]++        , testListMultipartUploads $+            listMultipartUploads "foo-bucket" & lmuMaxUploads ?~ 3+        ]++    , testGroup "response"+        [ testGetBucketReplicationResponse $+            getBucketReplicationResponse 200+                & gbrrsReplicationConfiguration ?~+                   (replicationConfiguration "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3"+                       & rcRules .~+                           [ replicationRule "" Enabled (destination "arn:aws:s3:::exampletargetbucket")+                               & rrId ?~ "rule1"+                           ])++        , testCopyObjectResponse $+            copyObjectResponse 200+                & corsCopyObjectResult ?~+                    (copyObjectResult+                        & corETag         ?~ ETag "\"9b2cf535f27731c974343645a3985328\""+                        & corLastModified ?~ $(mkTime "2009-10-28T22:32:00Z"))++        , testListPartsResponse $+            listPartsResponse 200+                & lprsBucket               ?~ "example-bucket"+                & lprsKey                  ?~ "example-object"+                & lprsUploadId             ?~ "XXBsb2FkIElEIGZvciBlbHZpbmcncyVcdS1tb3ZpZS5tMnRzEEEwbG9hZA"+                & lprsStorageClass         ?~ Standard+                & lprsPartNumberMarker     ?~ 1+                & lprsNextPartNumberMarker ?~ 3+                & lprsMaxParts             ?~ 2+                & lprsIsTruncated          ?~ True+                & lprsInitiator            ?~+                    (initiator+                        & iId              ?~ "arn:aws:iam::111122223333:user/some-user-11116a31-17b5-4fb7-9df5-b288870f11xx"+                        & iDisplayName     ?~ "umat-user-11116a31-17b5-4fb7-9df5-b288870f11xx")+                & lprsOwner                ?~+                    (owner+                        & oId              ?~ "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"+                        & oDisplayName     ?~ "someName")+                & lprsParts                .~+                    [ part & pPartNumber   ?~ 2+                           & pLastModified ?~ $(mkTime "2010-11-10T20:48:34.000Z")+                           & pETag         ?~ "\"7778aef83f66abc1fa1e8477f296d394\""+                           & pSize         ?~ 10485760+                    , part & pPartNumber   ?~ 3+                           & pLastModified ?~ $(mkTime "2010-11-10T20:48:33.000Z")+                           & pETag         ?~ "\"aaaa18db4cc2f85cedef654fccc4a4x8\""+                           & pSize         ?~ 10485760+                    ]++        -- FIXME: Has a JSON body, not XML, hence, serialiser error.+        -- , testGetBucketPolicyResponse $+        --     getBucketPolicyResponse 200+        --         & gbprPolicy ?~ "foo"+        ]+    ]
+ test/Test/AWS/S3/Internal.hs view
@@ -0,0 +1,17 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Test.AWS.S3.Internal+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.S3.Internal where++import           Network.AWS.S3+import           Test.AWS.Prelude