{-# 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.GetBucketRequestPayment
(
GetBucketRequestPayment (..),
newGetBucketRequestPayment,
getBucketRequestPayment_expectedBucketOwner,
getBucketRequestPayment_bucket,
GetBucketRequestPaymentResponse (..),
newGetBucketRequestPaymentResponse,
getBucketRequestPaymentResponse_payer,
getBucketRequestPaymentResponse_httpStatus,
)
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 GetBucketRequestPayment = GetBucketRequestPayment'
{
GetBucketRequestPayment -> Maybe Text
expectedBucketOwner :: Prelude.Maybe Prelude.Text,
GetBucketRequestPayment -> BucketName
bucket :: BucketName
}
deriving (GetBucketRequestPayment -> GetBucketRequestPayment -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetBucketRequestPayment -> GetBucketRequestPayment -> Bool
$c/= :: GetBucketRequestPayment -> GetBucketRequestPayment -> Bool
== :: GetBucketRequestPayment -> GetBucketRequestPayment -> Bool
$c== :: GetBucketRequestPayment -> GetBucketRequestPayment -> Bool
Prelude.Eq, ReadPrec [GetBucketRequestPayment]
ReadPrec GetBucketRequestPayment
Int -> ReadS GetBucketRequestPayment
ReadS [GetBucketRequestPayment]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetBucketRequestPayment]
$creadListPrec :: ReadPrec [GetBucketRequestPayment]
readPrec :: ReadPrec GetBucketRequestPayment
$creadPrec :: ReadPrec GetBucketRequestPayment
readList :: ReadS [GetBucketRequestPayment]
$creadList :: ReadS [GetBucketRequestPayment]
readsPrec :: Int -> ReadS GetBucketRequestPayment
$creadsPrec :: Int -> ReadS GetBucketRequestPayment
Prelude.Read, Int -> GetBucketRequestPayment -> ShowS
[GetBucketRequestPayment] -> ShowS
GetBucketRequestPayment -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetBucketRequestPayment] -> ShowS
$cshowList :: [GetBucketRequestPayment] -> ShowS
show :: GetBucketRequestPayment -> String
$cshow :: GetBucketRequestPayment -> String
showsPrec :: Int -> GetBucketRequestPayment -> ShowS
$cshowsPrec :: Int -> GetBucketRequestPayment -> ShowS
Prelude.Show, forall x. Rep GetBucketRequestPayment x -> GetBucketRequestPayment
forall x. GetBucketRequestPayment -> Rep GetBucketRequestPayment x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetBucketRequestPayment x -> GetBucketRequestPayment
$cfrom :: forall x. GetBucketRequestPayment -> Rep GetBucketRequestPayment x
Prelude.Generic)
newGetBucketRequestPayment ::
BucketName ->
GetBucketRequestPayment
newGetBucketRequestPayment :: BucketName -> GetBucketRequestPayment
newGetBucketRequestPayment BucketName
pBucket_ =
GetBucketRequestPayment'
{ $sel:expectedBucketOwner:GetBucketRequestPayment' :: Maybe Text
expectedBucketOwner =
forall a. Maybe a
Prelude.Nothing,
$sel:bucket:GetBucketRequestPayment' :: BucketName
bucket = BucketName
pBucket_
}
getBucketRequestPayment_expectedBucketOwner :: Lens.Lens' GetBucketRequestPayment (Prelude.Maybe Prelude.Text)
getBucketRequestPayment_expectedBucketOwner :: Lens' GetBucketRequestPayment (Maybe Text)
getBucketRequestPayment_expectedBucketOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBucketRequestPayment' {Maybe Text
expectedBucketOwner :: Maybe Text
$sel:expectedBucketOwner:GetBucketRequestPayment' :: GetBucketRequestPayment -> Maybe Text
expectedBucketOwner} -> Maybe Text
expectedBucketOwner) (\s :: GetBucketRequestPayment
s@GetBucketRequestPayment' {} Maybe Text
a -> GetBucketRequestPayment
s {$sel:expectedBucketOwner:GetBucketRequestPayment' :: Maybe Text
expectedBucketOwner = Maybe Text
a} :: GetBucketRequestPayment)
getBucketRequestPayment_bucket :: Lens.Lens' GetBucketRequestPayment BucketName
getBucketRequestPayment_bucket :: Lens' GetBucketRequestPayment BucketName
getBucketRequestPayment_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBucketRequestPayment' {BucketName
bucket :: BucketName
$sel:bucket:GetBucketRequestPayment' :: GetBucketRequestPayment -> BucketName
bucket} -> BucketName
bucket) (\s :: GetBucketRequestPayment
s@GetBucketRequestPayment' {} BucketName
a -> GetBucketRequestPayment
s {$sel:bucket:GetBucketRequestPayment' :: BucketName
bucket = BucketName
a} :: GetBucketRequestPayment)
instance Core.AWSRequest GetBucketRequestPayment where
type
AWSResponse GetBucketRequestPayment =
GetBucketRequestPaymentResponse
request :: (Service -> Service)
-> GetBucketRequestPayment -> Request GetBucketRequestPayment
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 => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetBucketRequestPayment
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetBucketRequestPayment)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Payer -> Int -> GetBucketRequestPaymentResponse
GetBucketRequestPaymentResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"Payer")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable GetBucketRequestPayment where
hashWithSalt :: Int -> GetBucketRequestPayment -> Int
hashWithSalt Int
_salt GetBucketRequestPayment' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetBucketRequestPayment' :: GetBucketRequestPayment -> BucketName
$sel:expectedBucketOwner:GetBucketRequestPayment' :: GetBucketRequestPayment -> 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
instance Prelude.NFData GetBucketRequestPayment where
rnf :: GetBucketRequestPayment -> ()
rnf GetBucketRequestPayment' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetBucketRequestPayment' :: GetBucketRequestPayment -> BucketName
$sel:expectedBucketOwner:GetBucketRequestPayment' :: GetBucketRequestPayment -> 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
instance Data.ToHeaders GetBucketRequestPayment where
toHeaders :: GetBucketRequestPayment -> ResponseHeaders
toHeaders GetBucketRequestPayment' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetBucketRequestPayment' :: GetBucketRequestPayment -> BucketName
$sel:expectedBucketOwner:GetBucketRequestPayment' :: GetBucketRequestPayment -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"x-amz-expected-bucket-owner"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# Maybe Text
expectedBucketOwner
]
instance Data.ToPath GetBucketRequestPayment where
toPath :: GetBucketRequestPayment -> ByteString
toPath GetBucketRequestPayment' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetBucketRequestPayment' :: GetBucketRequestPayment -> BucketName
$sel:expectedBucketOwner:GetBucketRequestPayment' :: GetBucketRequestPayment -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket]
instance Data.ToQuery GetBucketRequestPayment where
toQuery :: GetBucketRequestPayment -> QueryString
toQuery =
forall a b. a -> b -> a
Prelude.const (forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"requestPayment"])
data GetBucketRequestPaymentResponse = GetBucketRequestPaymentResponse'
{
GetBucketRequestPaymentResponse -> Maybe Payer
payer :: Prelude.Maybe Payer,
GetBucketRequestPaymentResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetBucketRequestPaymentResponse
-> GetBucketRequestPaymentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetBucketRequestPaymentResponse
-> GetBucketRequestPaymentResponse -> Bool
$c/= :: GetBucketRequestPaymentResponse
-> GetBucketRequestPaymentResponse -> Bool
== :: GetBucketRequestPaymentResponse
-> GetBucketRequestPaymentResponse -> Bool
$c== :: GetBucketRequestPaymentResponse
-> GetBucketRequestPaymentResponse -> Bool
Prelude.Eq, ReadPrec [GetBucketRequestPaymentResponse]
ReadPrec GetBucketRequestPaymentResponse
Int -> ReadS GetBucketRequestPaymentResponse
ReadS [GetBucketRequestPaymentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetBucketRequestPaymentResponse]
$creadListPrec :: ReadPrec [GetBucketRequestPaymentResponse]
readPrec :: ReadPrec GetBucketRequestPaymentResponse
$creadPrec :: ReadPrec GetBucketRequestPaymentResponse
readList :: ReadS [GetBucketRequestPaymentResponse]
$creadList :: ReadS [GetBucketRequestPaymentResponse]
readsPrec :: Int -> ReadS GetBucketRequestPaymentResponse
$creadsPrec :: Int -> ReadS GetBucketRequestPaymentResponse
Prelude.Read, Int -> GetBucketRequestPaymentResponse -> ShowS
[GetBucketRequestPaymentResponse] -> ShowS
GetBucketRequestPaymentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetBucketRequestPaymentResponse] -> ShowS
$cshowList :: [GetBucketRequestPaymentResponse] -> ShowS
show :: GetBucketRequestPaymentResponse -> String
$cshow :: GetBucketRequestPaymentResponse -> String
showsPrec :: Int -> GetBucketRequestPaymentResponse -> ShowS
$cshowsPrec :: Int -> GetBucketRequestPaymentResponse -> ShowS
Prelude.Show, forall x.
Rep GetBucketRequestPaymentResponse x
-> GetBucketRequestPaymentResponse
forall x.
GetBucketRequestPaymentResponse
-> Rep GetBucketRequestPaymentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetBucketRequestPaymentResponse x
-> GetBucketRequestPaymentResponse
$cfrom :: forall x.
GetBucketRequestPaymentResponse
-> Rep GetBucketRequestPaymentResponse x
Prelude.Generic)
newGetBucketRequestPaymentResponse ::
Prelude.Int ->
GetBucketRequestPaymentResponse
newGetBucketRequestPaymentResponse :: Int -> GetBucketRequestPaymentResponse
newGetBucketRequestPaymentResponse Int
pHttpStatus_ =
GetBucketRequestPaymentResponse'
{ $sel:payer:GetBucketRequestPaymentResponse' :: Maybe Payer
payer =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetBucketRequestPaymentResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getBucketRequestPaymentResponse_payer :: Lens.Lens' GetBucketRequestPaymentResponse (Prelude.Maybe Payer)
getBucketRequestPaymentResponse_payer :: Lens' GetBucketRequestPaymentResponse (Maybe Payer)
getBucketRequestPaymentResponse_payer = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBucketRequestPaymentResponse' {Maybe Payer
payer :: Maybe Payer
$sel:payer:GetBucketRequestPaymentResponse' :: GetBucketRequestPaymentResponse -> Maybe Payer
payer} -> Maybe Payer
payer) (\s :: GetBucketRequestPaymentResponse
s@GetBucketRequestPaymentResponse' {} Maybe Payer
a -> GetBucketRequestPaymentResponse
s {$sel:payer:GetBucketRequestPaymentResponse' :: Maybe Payer
payer = Maybe Payer
a} :: GetBucketRequestPaymentResponse)
getBucketRequestPaymentResponse_httpStatus :: Lens.Lens' GetBucketRequestPaymentResponse Prelude.Int
getBucketRequestPaymentResponse_httpStatus :: Lens' GetBucketRequestPaymentResponse Int
getBucketRequestPaymentResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBucketRequestPaymentResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetBucketRequestPaymentResponse' :: GetBucketRequestPaymentResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetBucketRequestPaymentResponse
s@GetBucketRequestPaymentResponse' {} Int
a -> GetBucketRequestPaymentResponse
s {$sel:httpStatus:GetBucketRequestPaymentResponse' :: Int
httpStatus = Int
a} :: GetBucketRequestPaymentResponse)
instance
Prelude.NFData
GetBucketRequestPaymentResponse
where
rnf :: GetBucketRequestPaymentResponse -> ()
rnf GetBucketRequestPaymentResponse' {Int
Maybe Payer
httpStatus :: Int
payer :: Maybe Payer
$sel:httpStatus:GetBucketRequestPaymentResponse' :: GetBucketRequestPaymentResponse -> Int
$sel:payer:GetBucketRequestPaymentResponse' :: GetBucketRequestPaymentResponse -> Maybe Payer
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Payer
payer
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus