{-# 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.PutBucketAnalyticsConfiguration
(
PutBucketAnalyticsConfiguration (..),
newPutBucketAnalyticsConfiguration,
putBucketAnalyticsConfiguration_expectedBucketOwner,
putBucketAnalyticsConfiguration_bucket,
putBucketAnalyticsConfiguration_id,
putBucketAnalyticsConfiguration_analyticsConfiguration,
PutBucketAnalyticsConfigurationResponse (..),
newPutBucketAnalyticsConfigurationResponse,
)
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 PutBucketAnalyticsConfiguration = PutBucketAnalyticsConfiguration'
{
PutBucketAnalyticsConfiguration -> Maybe Text
expectedBucketOwner :: Prelude.Maybe Prelude.Text,
PutBucketAnalyticsConfiguration -> BucketName
bucket :: BucketName,
PutBucketAnalyticsConfiguration -> Text
id :: Prelude.Text,
PutBucketAnalyticsConfiguration -> AnalyticsConfiguration
analyticsConfiguration :: AnalyticsConfiguration
}
deriving (PutBucketAnalyticsConfiguration
-> PutBucketAnalyticsConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketAnalyticsConfiguration
-> PutBucketAnalyticsConfiguration -> Bool
$c/= :: PutBucketAnalyticsConfiguration
-> PutBucketAnalyticsConfiguration -> Bool
== :: PutBucketAnalyticsConfiguration
-> PutBucketAnalyticsConfiguration -> Bool
$c== :: PutBucketAnalyticsConfiguration
-> PutBucketAnalyticsConfiguration -> Bool
Prelude.Eq, ReadPrec [PutBucketAnalyticsConfiguration]
ReadPrec PutBucketAnalyticsConfiguration
Int -> ReadS PutBucketAnalyticsConfiguration
ReadS [PutBucketAnalyticsConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketAnalyticsConfiguration]
$creadListPrec :: ReadPrec [PutBucketAnalyticsConfiguration]
readPrec :: ReadPrec PutBucketAnalyticsConfiguration
$creadPrec :: ReadPrec PutBucketAnalyticsConfiguration
readList :: ReadS [PutBucketAnalyticsConfiguration]
$creadList :: ReadS [PutBucketAnalyticsConfiguration]
readsPrec :: Int -> ReadS PutBucketAnalyticsConfiguration
$creadsPrec :: Int -> ReadS PutBucketAnalyticsConfiguration
Prelude.Read, Int -> PutBucketAnalyticsConfiguration -> ShowS
[PutBucketAnalyticsConfiguration] -> ShowS
PutBucketAnalyticsConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketAnalyticsConfiguration] -> ShowS
$cshowList :: [PutBucketAnalyticsConfiguration] -> ShowS
show :: PutBucketAnalyticsConfiguration -> String
$cshow :: PutBucketAnalyticsConfiguration -> String
showsPrec :: Int -> PutBucketAnalyticsConfiguration -> ShowS
$cshowsPrec :: Int -> PutBucketAnalyticsConfiguration -> ShowS
Prelude.Show, forall x.
Rep PutBucketAnalyticsConfiguration x
-> PutBucketAnalyticsConfiguration
forall x.
PutBucketAnalyticsConfiguration
-> Rep PutBucketAnalyticsConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutBucketAnalyticsConfiguration x
-> PutBucketAnalyticsConfiguration
$cfrom :: forall x.
PutBucketAnalyticsConfiguration
-> Rep PutBucketAnalyticsConfiguration x
Prelude.Generic)
newPutBucketAnalyticsConfiguration ::
BucketName ->
Prelude.Text ->
AnalyticsConfiguration ->
PutBucketAnalyticsConfiguration
newPutBucketAnalyticsConfiguration :: BucketName
-> Text
-> AnalyticsConfiguration
-> PutBucketAnalyticsConfiguration
newPutBucketAnalyticsConfiguration
BucketName
pBucket_
Text
pId_
AnalyticsConfiguration
pAnalyticsConfiguration_ =
PutBucketAnalyticsConfiguration'
{ $sel:expectedBucketOwner:PutBucketAnalyticsConfiguration' :: Maybe Text
expectedBucketOwner =
forall a. Maybe a
Prelude.Nothing,
$sel:bucket:PutBucketAnalyticsConfiguration' :: BucketName
bucket = BucketName
pBucket_,
$sel:id:PutBucketAnalyticsConfiguration' :: Text
id = Text
pId_,
$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration' :: AnalyticsConfiguration
analyticsConfiguration =
AnalyticsConfiguration
pAnalyticsConfiguration_
}
putBucketAnalyticsConfiguration_expectedBucketOwner :: Lens.Lens' PutBucketAnalyticsConfiguration (Prelude.Maybe Prelude.Text)
putBucketAnalyticsConfiguration_expectedBucketOwner :: Lens' PutBucketAnalyticsConfiguration (Maybe Text)
putBucketAnalyticsConfiguration_expectedBucketOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketAnalyticsConfiguration' {Maybe Text
expectedBucketOwner :: Maybe Text
$sel:expectedBucketOwner:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Maybe Text
expectedBucketOwner} -> Maybe Text
expectedBucketOwner) (\s :: PutBucketAnalyticsConfiguration
s@PutBucketAnalyticsConfiguration' {} Maybe Text
a -> PutBucketAnalyticsConfiguration
s {$sel:expectedBucketOwner:PutBucketAnalyticsConfiguration' :: Maybe Text
expectedBucketOwner = Maybe Text
a} :: PutBucketAnalyticsConfiguration)
putBucketAnalyticsConfiguration_bucket :: Lens.Lens' PutBucketAnalyticsConfiguration BucketName
putBucketAnalyticsConfiguration_bucket :: Lens' PutBucketAnalyticsConfiguration BucketName
putBucketAnalyticsConfiguration_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketAnalyticsConfiguration' {BucketName
bucket :: BucketName
$sel:bucket:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> BucketName
bucket} -> BucketName
bucket) (\s :: PutBucketAnalyticsConfiguration
s@PutBucketAnalyticsConfiguration' {} BucketName
a -> PutBucketAnalyticsConfiguration
s {$sel:bucket:PutBucketAnalyticsConfiguration' :: BucketName
bucket = BucketName
a} :: PutBucketAnalyticsConfiguration)
putBucketAnalyticsConfiguration_id :: Lens.Lens' PutBucketAnalyticsConfiguration Prelude.Text
putBucketAnalyticsConfiguration_id :: Lens' PutBucketAnalyticsConfiguration Text
putBucketAnalyticsConfiguration_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketAnalyticsConfiguration' {Text
id :: Text
$sel:id:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Text
id} -> Text
id) (\s :: PutBucketAnalyticsConfiguration
s@PutBucketAnalyticsConfiguration' {} Text
a -> PutBucketAnalyticsConfiguration
s {$sel:id:PutBucketAnalyticsConfiguration' :: Text
id = Text
a} :: PutBucketAnalyticsConfiguration)
putBucketAnalyticsConfiguration_analyticsConfiguration :: Lens.Lens' PutBucketAnalyticsConfiguration AnalyticsConfiguration
putBucketAnalyticsConfiguration_analyticsConfiguration :: Lens' PutBucketAnalyticsConfiguration AnalyticsConfiguration
putBucketAnalyticsConfiguration_analyticsConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutBucketAnalyticsConfiguration' {AnalyticsConfiguration
analyticsConfiguration :: AnalyticsConfiguration
$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> AnalyticsConfiguration
analyticsConfiguration} -> AnalyticsConfiguration
analyticsConfiguration) (\s :: PutBucketAnalyticsConfiguration
s@PutBucketAnalyticsConfiguration' {} AnalyticsConfiguration
a -> PutBucketAnalyticsConfiguration
s {$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration' :: AnalyticsConfiguration
analyticsConfiguration = AnalyticsConfiguration
a} :: PutBucketAnalyticsConfiguration)
instance
Core.AWSRequest
PutBucketAnalyticsConfiguration
where
type
AWSResponse PutBucketAnalyticsConfiguration =
PutBucketAnalyticsConfigurationResponse
request :: (Service -> Service)
-> PutBucketAnalyticsConfiguration
-> Request PutBucketAnalyticsConfiguration
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 PutBucketAnalyticsConfiguration
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse PutBucketAnalyticsConfiguration)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull
PutBucketAnalyticsConfigurationResponse
PutBucketAnalyticsConfigurationResponse'
instance
Prelude.Hashable
PutBucketAnalyticsConfiguration
where
hashWithSalt :: Int -> PutBucketAnalyticsConfiguration -> Int
hashWithSalt
Int
_salt
PutBucketAnalyticsConfiguration' {Maybe Text
Text
BucketName
AnalyticsConfiguration
analyticsConfiguration :: AnalyticsConfiguration
id :: Text
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> AnalyticsConfiguration
$sel:id:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Text
$sel:bucket:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> BucketName
$sel:expectedBucketOwner:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Maybe Text
..} =
Int
_salt
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` Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AnalyticsConfiguration
analyticsConfiguration
instance
Prelude.NFData
PutBucketAnalyticsConfiguration
where
rnf :: PutBucketAnalyticsConfiguration -> ()
rnf PutBucketAnalyticsConfiguration' {Maybe Text
Text
BucketName
AnalyticsConfiguration
analyticsConfiguration :: AnalyticsConfiguration
id :: Text
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> AnalyticsConfiguration
$sel:id:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Text
$sel:bucket:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> BucketName
$sel:expectedBucketOwner:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Maybe Text
..} =
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 Text
id
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AnalyticsConfiguration
analyticsConfiguration
instance
Data.ToElement
PutBucketAnalyticsConfiguration
where
toElement :: PutBucketAnalyticsConfiguration -> Element
toElement PutBucketAnalyticsConfiguration' {Maybe Text
Text
BucketName
AnalyticsConfiguration
analyticsConfiguration :: AnalyticsConfiguration
id :: Text
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> AnalyticsConfiguration
$sel:id:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Text
$sel:bucket:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> BucketName
$sel:expectedBucketOwner:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Maybe Text
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://s3.amazonaws.com/doc/2006-03-01/}AnalyticsConfiguration"
AnalyticsConfiguration
analyticsConfiguration
instance
Data.ToHeaders
PutBucketAnalyticsConfiguration
where
toHeaders :: PutBucketAnalyticsConfiguration -> [Header]
toHeaders PutBucketAnalyticsConfiguration' {Maybe Text
Text
BucketName
AnalyticsConfiguration
analyticsConfiguration :: AnalyticsConfiguration
id :: Text
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> AnalyticsConfiguration
$sel:id:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Text
$sel:bucket:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> BucketName
$sel:expectedBucketOwner:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"x-amz-expected-bucket-owner"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# Maybe Text
expectedBucketOwner
]
instance Data.ToPath PutBucketAnalyticsConfiguration where
toPath :: PutBucketAnalyticsConfiguration -> ByteString
toPath PutBucketAnalyticsConfiguration' {Maybe Text
Text
BucketName
AnalyticsConfiguration
analyticsConfiguration :: AnalyticsConfiguration
id :: Text
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> AnalyticsConfiguration
$sel:id:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Text
$sel:bucket:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> BucketName
$sel:expectedBucketOwner:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket]
instance Data.ToQuery PutBucketAnalyticsConfiguration where
toQuery :: PutBucketAnalyticsConfiguration -> QueryString
toQuery PutBucketAnalyticsConfiguration' {Maybe Text
Text
BucketName
AnalyticsConfiguration
analyticsConfiguration :: AnalyticsConfiguration
id :: Text
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> AnalyticsConfiguration
$sel:id:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Text
$sel:bucket:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> BucketName
$sel:expectedBucketOwner:PutBucketAnalyticsConfiguration' :: PutBucketAnalyticsConfiguration -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"id" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
id, QueryString
"analytics"]
data PutBucketAnalyticsConfigurationResponse = PutBucketAnalyticsConfigurationResponse'
{
}
deriving (PutBucketAnalyticsConfigurationResponse
-> PutBucketAnalyticsConfigurationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutBucketAnalyticsConfigurationResponse
-> PutBucketAnalyticsConfigurationResponse -> Bool
$c/= :: PutBucketAnalyticsConfigurationResponse
-> PutBucketAnalyticsConfigurationResponse -> Bool
== :: PutBucketAnalyticsConfigurationResponse
-> PutBucketAnalyticsConfigurationResponse -> Bool
$c== :: PutBucketAnalyticsConfigurationResponse
-> PutBucketAnalyticsConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [PutBucketAnalyticsConfigurationResponse]
ReadPrec PutBucketAnalyticsConfigurationResponse
Int -> ReadS PutBucketAnalyticsConfigurationResponse
ReadS [PutBucketAnalyticsConfigurationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutBucketAnalyticsConfigurationResponse]
$creadListPrec :: ReadPrec [PutBucketAnalyticsConfigurationResponse]
readPrec :: ReadPrec PutBucketAnalyticsConfigurationResponse
$creadPrec :: ReadPrec PutBucketAnalyticsConfigurationResponse
readList :: ReadS [PutBucketAnalyticsConfigurationResponse]
$creadList :: ReadS [PutBucketAnalyticsConfigurationResponse]
readsPrec :: Int -> ReadS PutBucketAnalyticsConfigurationResponse
$creadsPrec :: Int -> ReadS PutBucketAnalyticsConfigurationResponse
Prelude.Read, Int -> PutBucketAnalyticsConfigurationResponse -> ShowS
[PutBucketAnalyticsConfigurationResponse] -> ShowS
PutBucketAnalyticsConfigurationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutBucketAnalyticsConfigurationResponse] -> ShowS
$cshowList :: [PutBucketAnalyticsConfigurationResponse] -> ShowS
show :: PutBucketAnalyticsConfigurationResponse -> String
$cshow :: PutBucketAnalyticsConfigurationResponse -> String
showsPrec :: Int -> PutBucketAnalyticsConfigurationResponse -> ShowS
$cshowsPrec :: Int -> PutBucketAnalyticsConfigurationResponse -> ShowS
Prelude.Show, forall x.
Rep PutBucketAnalyticsConfigurationResponse x
-> PutBucketAnalyticsConfigurationResponse
forall x.
PutBucketAnalyticsConfigurationResponse
-> Rep PutBucketAnalyticsConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutBucketAnalyticsConfigurationResponse x
-> PutBucketAnalyticsConfigurationResponse
$cfrom :: forall x.
PutBucketAnalyticsConfigurationResponse
-> Rep PutBucketAnalyticsConfigurationResponse x
Prelude.Generic)
newPutBucketAnalyticsConfigurationResponse ::
PutBucketAnalyticsConfigurationResponse
newPutBucketAnalyticsConfigurationResponse :: PutBucketAnalyticsConfigurationResponse
newPutBucketAnalyticsConfigurationResponse =
PutBucketAnalyticsConfigurationResponse
PutBucketAnalyticsConfigurationResponse'
instance
Prelude.NFData
PutBucketAnalyticsConfigurationResponse
where
rnf :: PutBucketAnalyticsConfigurationResponse -> ()
rnf PutBucketAnalyticsConfigurationResponse
_ = ()