{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.S3.PutBucketCors
(
PutBucketCors (..),
newPutBucketCors,
putBucketCors_checksumAlgorithm,
putBucketCors_contentMD5,
putBucketCors_expectedBucketOwner,
putBucketCors_bucket,
putBucketCors_cORSConfiguration,
PutBucketCorsResponse (..),
newPutBucketCorsResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.S3.Types
data PutBucketCors = PutBucketCors'
{
PutBucketCors -> Maybe ChecksumAlgorithm
checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,
PutBucketCors -> Maybe Text
contentMD5 :: Prelude.Maybe Prelude.Text,
PutBucketCors -> Maybe Text
expectedBucketOwner :: Prelude.Maybe Prelude.Text,
PutBucketCors -> BucketName
bucket :: BucketName,
PutBucketCors -> CORSConfiguration
cORSConfiguration :: CORSConfiguration
}
deriving (PutBucketCors -> PutBucketCors -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketCors -> PutBucketCors -> Bool
$c/= :: PutBucketCors -> PutBucketCors -> Bool
== :: PutBucketCors -> PutBucketCors -> Bool
$c== :: PutBucketCors -> PutBucketCors -> Bool
Prelude.Eq, ReadPrec [PutBucketCors]
ReadPrec PutBucketCors
Int -> ReadS PutBucketCors
ReadS [PutBucketCors]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketCors]
$creadListPrec :: ReadPrec [PutBucketCors]
readPrec :: ReadPrec PutBucketCors
$creadPrec :: ReadPrec PutBucketCors
readList :: ReadS [PutBucketCors]
$creadList :: ReadS [PutBucketCors]
readsPrec :: Int -> ReadS PutBucketCors
$creadsPrec :: Int -> ReadS PutBucketCors
Prelude.Read, Int -> PutBucketCors -> ShowS
[PutBucketCors] -> ShowS
PutBucketCors -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketCors] -> ShowS
$cshowList :: [PutBucketCors] -> ShowS
show :: PutBucketCors -> String
$cshow :: PutBucketCors -> String
showsPrec :: Int -> PutBucketCors -> ShowS
$cshowsPrec :: Int -> PutBucketCors -> ShowS
Prelude.Show, forall x. Rep PutBucketCors x -> PutBucketCors
forall x. PutBucketCors -> Rep PutBucketCors x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutBucketCors x -> PutBucketCors
$cfrom :: forall x. PutBucketCors -> Rep PutBucketCors x
Prelude.Generic)
newPutBucketCors ::
BucketName ->
CORSConfiguration ->
PutBucketCors
newPutBucketCors :: BucketName -> CORSConfiguration -> PutBucketCors
newPutBucketCors BucketName
pBucket_ CORSConfiguration
pCORSConfiguration_ =
PutBucketCors'
{ $sel:checksumAlgorithm:PutBucketCors' :: Maybe ChecksumAlgorithm
checksumAlgorithm = forall a. Maybe a
Prelude.Nothing,
$sel:contentMD5:PutBucketCors' :: Maybe Text
contentMD5 = forall a. Maybe a
Prelude.Nothing,
$sel:expectedBucketOwner:PutBucketCors' :: Maybe Text
expectedBucketOwner = forall a. Maybe a
Prelude.Nothing,
$sel:bucket:PutBucketCors' :: BucketName
bucket = BucketName
pBucket_,
$sel:cORSConfiguration:PutBucketCors' :: CORSConfiguration
cORSConfiguration = CORSConfiguration
pCORSConfiguration_
}
putBucketCors_checksumAlgorithm :: Lens.Lens' PutBucketCors (Prelude.Maybe ChecksumAlgorithm)
putBucketCors_checksumAlgorithm :: Lens' PutBucketCors (Maybe ChecksumAlgorithm)
putBucketCors_checksumAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketCors' {Maybe ChecksumAlgorithm
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:checksumAlgorithm:PutBucketCors' :: PutBucketCors -> Maybe ChecksumAlgorithm
checksumAlgorithm} -> Maybe ChecksumAlgorithm
checksumAlgorithm) (\s :: PutBucketCors
s@PutBucketCors' {} Maybe ChecksumAlgorithm
a -> PutBucketCors
s {$sel:checksumAlgorithm:PutBucketCors' :: Maybe ChecksumAlgorithm
checksumAlgorithm = Maybe ChecksumAlgorithm
a} :: PutBucketCors)
putBucketCors_contentMD5 :: Lens.Lens' PutBucketCors (Prelude.Maybe Prelude.Text)
putBucketCors_contentMD5 :: Lens' PutBucketCors (Maybe Text)
putBucketCors_contentMD5 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketCors' {Maybe Text
contentMD5 :: Maybe Text
$sel:contentMD5:PutBucketCors' :: PutBucketCors -> Maybe Text
contentMD5} -> Maybe Text
contentMD5) (\s :: PutBucketCors
s@PutBucketCors' {} Maybe Text
a -> PutBucketCors
s {$sel:contentMD5:PutBucketCors' :: Maybe Text
contentMD5 = Maybe Text
a} :: PutBucketCors)
putBucketCors_expectedBucketOwner :: Lens.Lens' PutBucketCors (Prelude.Maybe Prelude.Text)
putBucketCors_expectedBucketOwner :: Lens' PutBucketCors (Maybe Text)
putBucketCors_expectedBucketOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketCors' {Maybe Text
expectedBucketOwner :: Maybe Text
$sel:expectedBucketOwner:PutBucketCors' :: PutBucketCors -> Maybe Text
expectedBucketOwner} -> Maybe Text
expectedBucketOwner) (\s :: PutBucketCors
s@PutBucketCors' {} Maybe Text
a -> PutBucketCors
s {$sel:expectedBucketOwner:PutBucketCors' :: Maybe Text
expectedBucketOwner = Maybe Text
a} :: PutBucketCors)
putBucketCors_bucket :: Lens.Lens' PutBucketCors BucketName
putBucketCors_bucket :: Lens' PutBucketCors BucketName
putBucketCors_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketCors' {BucketName
bucket :: BucketName
$sel:bucket:PutBucketCors' :: PutBucketCors -> BucketName
bucket} -> BucketName
bucket) (\s :: PutBucketCors
s@PutBucketCors' {} BucketName
a -> PutBucketCors
s {$sel:bucket:PutBucketCors' :: BucketName
bucket = BucketName
a} :: PutBucketCors)
putBucketCors_cORSConfiguration :: Lens.Lens' PutBucketCors CORSConfiguration
putBucketCors_cORSConfiguration :: Lens' PutBucketCors CORSConfiguration
putBucketCors_cORSConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketCors' {CORSConfiguration
cORSConfiguration :: CORSConfiguration
$sel:cORSConfiguration:PutBucketCors' :: PutBucketCors -> CORSConfiguration
cORSConfiguration} -> CORSConfiguration
cORSConfiguration) (\s :: PutBucketCors
s@PutBucketCors' {} CORSConfiguration
a -> PutBucketCors
s {$sel:cORSConfiguration:PutBucketCors' :: CORSConfiguration
cORSConfiguration = CORSConfiguration
a} :: PutBucketCors)
instance Core.AWSRequest PutBucketCors where
type
AWSResponse PutBucketCors =
PutBucketCorsResponse
request :: (Service -> Service) -> PutBucketCors -> Request PutBucketCors
request Service -> Service
overrides =
forall a. Request a -> Request a
Request.contentMD5Header
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. Request a -> Request a
Request.s3vhost
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.putXML (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy PutBucketCors
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutBucketCors)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull PutBucketCorsResponse
PutBucketCorsResponse'
instance Prelude.Hashable PutBucketCors where
hashWithSalt :: Int -> PutBucketCors -> Int
hashWithSalt Int
_salt PutBucketCors' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
CORSConfiguration
cORSConfiguration :: CORSConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:cORSConfiguration:PutBucketCors' :: PutBucketCors -> CORSConfiguration
$sel:bucket:PutBucketCors' :: PutBucketCors -> BucketName
$sel:expectedBucketOwner:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:contentMD5:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:checksumAlgorithm:PutBucketCors' :: PutBucketCors -> Maybe ChecksumAlgorithm
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ChecksumAlgorithm
checksumAlgorithm
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
contentMD5
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
expectedBucketOwner
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` BucketName
bucket
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` CORSConfiguration
cORSConfiguration
instance Prelude.NFData PutBucketCors where
rnf :: PutBucketCors -> ()
rnf PutBucketCors' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
CORSConfiguration
cORSConfiguration :: CORSConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:cORSConfiguration:PutBucketCors' :: PutBucketCors -> CORSConfiguration
$sel:bucket:PutBucketCors' :: PutBucketCors -> BucketName
$sel:expectedBucketOwner:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:contentMD5:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:checksumAlgorithm:PutBucketCors' :: PutBucketCors -> Maybe ChecksumAlgorithm
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ChecksumAlgorithm
checksumAlgorithm
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
contentMD5
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
expectedBucketOwner
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf BucketName
bucket
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf CORSConfiguration
cORSConfiguration
instance Data.ToElement PutBucketCors where
toElement :: PutBucketCors -> Element
toElement PutBucketCors' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
CORSConfiguration
cORSConfiguration :: CORSConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:cORSConfiguration:PutBucketCors' :: PutBucketCors -> CORSConfiguration
$sel:bucket:PutBucketCors' :: PutBucketCors -> BucketName
$sel:expectedBucketOwner:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:contentMD5:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:checksumAlgorithm:PutBucketCors' :: PutBucketCors -> Maybe ChecksumAlgorithm
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://s3.amazonaws.com/doc/2006-03-01/}CORSConfiguration"
CORSConfiguration
cORSConfiguration
instance Data.ToHeaders PutBucketCors where
toHeaders :: PutBucketCors -> [Header]
toHeaders PutBucketCors' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
CORSConfiguration
cORSConfiguration :: CORSConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:cORSConfiguration:PutBucketCors' :: PutBucketCors -> CORSConfiguration
$sel:bucket:PutBucketCors' :: PutBucketCors -> BucketName
$sel:expectedBucketOwner:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:contentMD5:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:checksumAlgorithm:PutBucketCors' :: PutBucketCors -> Maybe ChecksumAlgorithm
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"x-amz-sdk-checksum-algorithm"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe ChecksumAlgorithm
checksumAlgorithm,
HeaderName
"Content-MD5" forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe Text
contentMD5,
HeaderName
"x-amz-expected-bucket-owner"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe Text
expectedBucketOwner
]
instance Data.ToPath PutBucketCors where
toPath :: PutBucketCors -> ByteString
toPath PutBucketCors' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
CORSConfiguration
cORSConfiguration :: CORSConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:cORSConfiguration:PutBucketCors' :: PutBucketCors -> CORSConfiguration
$sel:bucket:PutBucketCors' :: PutBucketCors -> BucketName
$sel:expectedBucketOwner:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:contentMD5:PutBucketCors' :: PutBucketCors -> Maybe Text
$sel:checksumAlgorithm:PutBucketCors' :: PutBucketCors -> Maybe ChecksumAlgorithm
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket]
instance Data.ToQuery PutBucketCors where
toQuery :: PutBucketCors -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const (forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"cors"])
data PutBucketCorsResponse = PutBucketCorsResponse'
{
}
deriving (PutBucketCorsResponse -> PutBucketCorsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketCorsResponse -> PutBucketCorsResponse -> Bool
$c/= :: PutBucketCorsResponse -> PutBucketCorsResponse -> Bool
== :: PutBucketCorsResponse -> PutBucketCorsResponse -> Bool
$c== :: PutBucketCorsResponse -> PutBucketCorsResponse -> Bool
Prelude.Eq, ReadPrec [PutBucketCorsResponse]
ReadPrec PutBucketCorsResponse
Int -> ReadS PutBucketCorsResponse
ReadS [PutBucketCorsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketCorsResponse]
$creadListPrec :: ReadPrec [PutBucketCorsResponse]
readPrec :: ReadPrec PutBucketCorsResponse
$creadPrec :: ReadPrec PutBucketCorsResponse
readList :: ReadS [PutBucketCorsResponse]
$creadList :: ReadS [PutBucketCorsResponse]
readsPrec :: Int -> ReadS PutBucketCorsResponse
$creadsPrec :: Int -> ReadS PutBucketCorsResponse
Prelude.Read, Int -> PutBucketCorsResponse -> ShowS
[PutBucketCorsResponse] -> ShowS
PutBucketCorsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketCorsResponse] -> ShowS
$cshowList :: [PutBucketCorsResponse] -> ShowS
show :: PutBucketCorsResponse -> String
$cshow :: PutBucketCorsResponse -> String
showsPrec :: Int -> PutBucketCorsResponse -> ShowS
$cshowsPrec :: Int -> PutBucketCorsResponse -> ShowS
Prelude.Show, forall x. Rep PutBucketCorsResponse x -> PutBucketCorsResponse
forall x. PutBucketCorsResponse -> Rep PutBucketCorsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutBucketCorsResponse x -> PutBucketCorsResponse
$cfrom :: forall x. PutBucketCorsResponse -> Rep PutBucketCorsResponse x
Prelude.Generic)
newPutBucketCorsResponse ::
PutBucketCorsResponse
newPutBucketCorsResponse :: PutBucketCorsResponse
newPutBucketCorsResponse = PutBucketCorsResponse
PutBucketCorsResponse'
instance Prelude.NFData PutBucketCorsResponse where
rnf :: PutBucketCorsResponse -> ()
rnf PutBucketCorsResponse
_ = ()