{-# 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.PutBucketWebsite
(
PutBucketWebsite (..),
newPutBucketWebsite,
putBucketWebsite_checksumAlgorithm,
putBucketWebsite_contentMD5,
putBucketWebsite_expectedBucketOwner,
putBucketWebsite_bucket,
putBucketWebsite_websiteConfiguration,
PutBucketWebsiteResponse (..),
newPutBucketWebsiteResponse,
)
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 PutBucketWebsite = PutBucketWebsite'
{
PutBucketWebsite -> Maybe ChecksumAlgorithm
checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,
PutBucketWebsite -> Maybe Text
contentMD5 :: Prelude.Maybe Prelude.Text,
PutBucketWebsite -> Maybe Text
expectedBucketOwner :: Prelude.Maybe Prelude.Text,
PutBucketWebsite -> BucketName
bucket :: BucketName,
PutBucketWebsite -> WebsiteConfiguration
websiteConfiguration :: WebsiteConfiguration
}
deriving (PutBucketWebsite -> PutBucketWebsite -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketWebsite -> PutBucketWebsite -> Bool
$c/= :: PutBucketWebsite -> PutBucketWebsite -> Bool
== :: PutBucketWebsite -> PutBucketWebsite -> Bool
$c== :: PutBucketWebsite -> PutBucketWebsite -> Bool
Prelude.Eq, ReadPrec [PutBucketWebsite]
ReadPrec PutBucketWebsite
Int -> ReadS PutBucketWebsite
ReadS [PutBucketWebsite]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketWebsite]
$creadListPrec :: ReadPrec [PutBucketWebsite]
readPrec :: ReadPrec PutBucketWebsite
$creadPrec :: ReadPrec PutBucketWebsite
readList :: ReadS [PutBucketWebsite]
$creadList :: ReadS [PutBucketWebsite]
readsPrec :: Int -> ReadS PutBucketWebsite
$creadsPrec :: Int -> ReadS PutBucketWebsite
Prelude.Read, Int -> PutBucketWebsite -> ShowS
[PutBucketWebsite] -> ShowS
PutBucketWebsite -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketWebsite] -> ShowS
$cshowList :: [PutBucketWebsite] -> ShowS
show :: PutBucketWebsite -> String
$cshow :: PutBucketWebsite -> String
showsPrec :: Int -> PutBucketWebsite -> ShowS
$cshowsPrec :: Int -> PutBucketWebsite -> ShowS
Prelude.Show, forall x. Rep PutBucketWebsite x -> PutBucketWebsite
forall x. PutBucketWebsite -> Rep PutBucketWebsite x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutBucketWebsite x -> PutBucketWebsite
$cfrom :: forall x. PutBucketWebsite -> Rep PutBucketWebsite x
Prelude.Generic)
newPutBucketWebsite ::
BucketName ->
WebsiteConfiguration ->
PutBucketWebsite
newPutBucketWebsite :: BucketName -> WebsiteConfiguration -> PutBucketWebsite
newPutBucketWebsite BucketName
pBucket_ WebsiteConfiguration
pWebsiteConfiguration_ =
PutBucketWebsite'
{ $sel:checksumAlgorithm:PutBucketWebsite' :: Maybe ChecksumAlgorithm
checksumAlgorithm =
forall a. Maybe a
Prelude.Nothing,
$sel:contentMD5:PutBucketWebsite' :: Maybe Text
contentMD5 = forall a. Maybe a
Prelude.Nothing,
$sel:expectedBucketOwner:PutBucketWebsite' :: Maybe Text
expectedBucketOwner = forall a. Maybe a
Prelude.Nothing,
$sel:bucket:PutBucketWebsite' :: BucketName
bucket = BucketName
pBucket_,
$sel:websiteConfiguration:PutBucketWebsite' :: WebsiteConfiguration
websiteConfiguration = WebsiteConfiguration
pWebsiteConfiguration_
}
putBucketWebsite_checksumAlgorithm :: Lens.Lens' PutBucketWebsite (Prelude.Maybe ChecksumAlgorithm)
putBucketWebsite_checksumAlgorithm :: Lens' PutBucketWebsite (Maybe ChecksumAlgorithm)
putBucketWebsite_checksumAlgorithm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketWebsite' {Maybe ChecksumAlgorithm
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:checksumAlgorithm:PutBucketWebsite' :: PutBucketWebsite -> Maybe ChecksumAlgorithm
checksumAlgorithm} -> Maybe ChecksumAlgorithm
checksumAlgorithm) (\s :: PutBucketWebsite
s@PutBucketWebsite' {} Maybe ChecksumAlgorithm
a -> PutBucketWebsite
s {$sel:checksumAlgorithm:PutBucketWebsite' :: Maybe ChecksumAlgorithm
checksumAlgorithm = Maybe ChecksumAlgorithm
a} :: PutBucketWebsite)
putBucketWebsite_contentMD5 :: Lens.Lens' PutBucketWebsite (Prelude.Maybe Prelude.Text)
putBucketWebsite_contentMD5 :: Lens' PutBucketWebsite (Maybe Text)
putBucketWebsite_contentMD5 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketWebsite' {Maybe Text
contentMD5 :: Maybe Text
$sel:contentMD5:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
contentMD5} -> Maybe Text
contentMD5) (\s :: PutBucketWebsite
s@PutBucketWebsite' {} Maybe Text
a -> PutBucketWebsite
s {$sel:contentMD5:PutBucketWebsite' :: Maybe Text
contentMD5 = Maybe Text
a} :: PutBucketWebsite)
putBucketWebsite_expectedBucketOwner :: Lens.Lens' PutBucketWebsite (Prelude.Maybe Prelude.Text)
putBucketWebsite_expectedBucketOwner :: Lens' PutBucketWebsite (Maybe Text)
putBucketWebsite_expectedBucketOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketWebsite' {Maybe Text
expectedBucketOwner :: Maybe Text
$sel:expectedBucketOwner:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
expectedBucketOwner} -> Maybe Text
expectedBucketOwner) (\s :: PutBucketWebsite
s@PutBucketWebsite' {} Maybe Text
a -> PutBucketWebsite
s {$sel:expectedBucketOwner:PutBucketWebsite' :: Maybe Text
expectedBucketOwner = Maybe Text
a} :: PutBucketWebsite)
putBucketWebsite_bucket :: Lens.Lens' PutBucketWebsite BucketName
putBucketWebsite_bucket :: Lens' PutBucketWebsite BucketName
putBucketWebsite_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketWebsite' {BucketName
bucket :: BucketName
$sel:bucket:PutBucketWebsite' :: PutBucketWebsite -> BucketName
bucket} -> BucketName
bucket) (\s :: PutBucketWebsite
s@PutBucketWebsite' {} BucketName
a -> PutBucketWebsite
s {$sel:bucket:PutBucketWebsite' :: BucketName
bucket = BucketName
a} :: PutBucketWebsite)
putBucketWebsite_websiteConfiguration :: Lens.Lens' PutBucketWebsite WebsiteConfiguration
putBucketWebsite_websiteConfiguration :: Lens' PutBucketWebsite WebsiteConfiguration
putBucketWebsite_websiteConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketWebsite' {WebsiteConfiguration
websiteConfiguration :: WebsiteConfiguration
$sel:websiteConfiguration:PutBucketWebsite' :: PutBucketWebsite -> WebsiteConfiguration
websiteConfiguration} -> WebsiteConfiguration
websiteConfiguration) (\s :: PutBucketWebsite
s@PutBucketWebsite' {} WebsiteConfiguration
a -> PutBucketWebsite
s {$sel:websiteConfiguration:PutBucketWebsite' :: WebsiteConfiguration
websiteConfiguration = WebsiteConfiguration
a} :: PutBucketWebsite)
instance Core.AWSRequest PutBucketWebsite where
type
AWSResponse PutBucketWebsite =
PutBucketWebsiteResponse
request :: (Service -> Service)
-> PutBucketWebsite -> Request PutBucketWebsite
request Service -> Service
overrides =
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 PutBucketWebsite
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutBucketWebsite)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull PutBucketWebsiteResponse
PutBucketWebsiteResponse'
instance Prelude.Hashable PutBucketWebsite where
hashWithSalt :: Int -> PutBucketWebsite -> Int
hashWithSalt Int
_salt PutBucketWebsite' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
WebsiteConfiguration
websiteConfiguration :: WebsiteConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:websiteConfiguration:PutBucketWebsite' :: PutBucketWebsite -> WebsiteConfiguration
$sel:bucket:PutBucketWebsite' :: PutBucketWebsite -> BucketName
$sel:expectedBucketOwner:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:contentMD5:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:checksumAlgorithm:PutBucketWebsite' :: PutBucketWebsite -> 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` WebsiteConfiguration
websiteConfiguration
instance Prelude.NFData PutBucketWebsite where
rnf :: PutBucketWebsite -> ()
rnf PutBucketWebsite' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
WebsiteConfiguration
websiteConfiguration :: WebsiteConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:websiteConfiguration:PutBucketWebsite' :: PutBucketWebsite -> WebsiteConfiguration
$sel:bucket:PutBucketWebsite' :: PutBucketWebsite -> BucketName
$sel:expectedBucketOwner:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:contentMD5:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:checksumAlgorithm:PutBucketWebsite' :: PutBucketWebsite -> 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 WebsiteConfiguration
websiteConfiguration
instance Data.ToElement PutBucketWebsite where
toElement :: PutBucketWebsite -> Element
toElement PutBucketWebsite' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
WebsiteConfiguration
websiteConfiguration :: WebsiteConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:websiteConfiguration:PutBucketWebsite' :: PutBucketWebsite -> WebsiteConfiguration
$sel:bucket:PutBucketWebsite' :: PutBucketWebsite -> BucketName
$sel:expectedBucketOwner:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:contentMD5:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:checksumAlgorithm:PutBucketWebsite' :: PutBucketWebsite -> Maybe ChecksumAlgorithm
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://s3.amazonaws.com/doc/2006-03-01/}WebsiteConfiguration"
WebsiteConfiguration
websiteConfiguration
instance Data.ToHeaders PutBucketWebsite where
toHeaders :: PutBucketWebsite -> [Header]
toHeaders PutBucketWebsite' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
WebsiteConfiguration
websiteConfiguration :: WebsiteConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:websiteConfiguration:PutBucketWebsite' :: PutBucketWebsite -> WebsiteConfiguration
$sel:bucket:PutBucketWebsite' :: PutBucketWebsite -> BucketName
$sel:expectedBucketOwner:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:contentMD5:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:checksumAlgorithm:PutBucketWebsite' :: PutBucketWebsite -> 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 PutBucketWebsite where
toPath :: PutBucketWebsite -> ByteString
toPath PutBucketWebsite' {Maybe Text
Maybe ChecksumAlgorithm
BucketName
WebsiteConfiguration
websiteConfiguration :: WebsiteConfiguration
bucket :: BucketName
expectedBucketOwner :: Maybe Text
contentMD5 :: Maybe Text
checksumAlgorithm :: Maybe ChecksumAlgorithm
$sel:websiteConfiguration:PutBucketWebsite' :: PutBucketWebsite -> WebsiteConfiguration
$sel:bucket:PutBucketWebsite' :: PutBucketWebsite -> BucketName
$sel:expectedBucketOwner:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:contentMD5:PutBucketWebsite' :: PutBucketWebsite -> Maybe Text
$sel:checksumAlgorithm:PutBucketWebsite' :: PutBucketWebsite -> Maybe ChecksumAlgorithm
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket]
instance Data.ToQuery PutBucketWebsite where
toQuery :: PutBucketWebsite -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const (forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"website"])
data PutBucketWebsiteResponse = PutBucketWebsiteResponse'
{
}
deriving (PutBucketWebsiteResponse -> PutBucketWebsiteResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketWebsiteResponse -> PutBucketWebsiteResponse -> Bool
$c/= :: PutBucketWebsiteResponse -> PutBucketWebsiteResponse -> Bool
== :: PutBucketWebsiteResponse -> PutBucketWebsiteResponse -> Bool
$c== :: PutBucketWebsiteResponse -> PutBucketWebsiteResponse -> Bool
Prelude.Eq, ReadPrec [PutBucketWebsiteResponse]
ReadPrec PutBucketWebsiteResponse
Int -> ReadS PutBucketWebsiteResponse
ReadS [PutBucketWebsiteResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketWebsiteResponse]
$creadListPrec :: ReadPrec [PutBucketWebsiteResponse]
readPrec :: ReadPrec PutBucketWebsiteResponse
$creadPrec :: ReadPrec PutBucketWebsiteResponse
readList :: ReadS [PutBucketWebsiteResponse]
$creadList :: ReadS [PutBucketWebsiteResponse]
readsPrec :: Int -> ReadS PutBucketWebsiteResponse
$creadsPrec :: Int -> ReadS PutBucketWebsiteResponse
Prelude.Read, Int -> PutBucketWebsiteResponse -> ShowS
[PutBucketWebsiteResponse] -> ShowS
PutBucketWebsiteResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketWebsiteResponse] -> ShowS
$cshowList :: [PutBucketWebsiteResponse] -> ShowS
show :: PutBucketWebsiteResponse -> String
$cshow :: PutBucketWebsiteResponse -> String
showsPrec :: Int -> PutBucketWebsiteResponse -> ShowS
$cshowsPrec :: Int -> PutBucketWebsiteResponse -> ShowS
Prelude.Show, forall x.
Rep PutBucketWebsiteResponse x -> PutBucketWebsiteResponse
forall x.
PutBucketWebsiteResponse -> Rep PutBucketWebsiteResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutBucketWebsiteResponse x -> PutBucketWebsiteResponse
$cfrom :: forall x.
PutBucketWebsiteResponse -> Rep PutBucketWebsiteResponse x
Prelude.Generic)
newPutBucketWebsiteResponse ::
PutBucketWebsiteResponse
newPutBucketWebsiteResponse :: PutBucketWebsiteResponse
newPutBucketWebsiteResponse =
PutBucketWebsiteResponse
PutBucketWebsiteResponse'
instance Prelude.NFData PutBucketWebsiteResponse where
rnf :: PutBucketWebsiteResponse -> ()
rnf PutBucketWebsiteResponse
_ = ()