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