{-# 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.GetBucketPolicyStatus
(
GetBucketPolicyStatus (..),
newGetBucketPolicyStatus,
getBucketPolicyStatus_expectedBucketOwner,
getBucketPolicyStatus_bucket,
GetBucketPolicyStatusResponse (..),
newGetBucketPolicyStatusResponse,
getBucketPolicyStatusResponse_policyStatus,
getBucketPolicyStatusResponse_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 GetBucketPolicyStatus = GetBucketPolicyStatus'
{
GetBucketPolicyStatus -> Maybe Text
expectedBucketOwner :: Prelude.Maybe Prelude.Text,
GetBucketPolicyStatus -> BucketName
bucket :: BucketName
}
deriving (GetBucketPolicyStatus -> GetBucketPolicyStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetBucketPolicyStatus -> GetBucketPolicyStatus -> Bool
$c/= :: GetBucketPolicyStatus -> GetBucketPolicyStatus -> Bool
== :: GetBucketPolicyStatus -> GetBucketPolicyStatus -> Bool
$c== :: GetBucketPolicyStatus -> GetBucketPolicyStatus -> Bool
Prelude.Eq, ReadPrec [GetBucketPolicyStatus]
ReadPrec GetBucketPolicyStatus
Int -> ReadS GetBucketPolicyStatus
ReadS [GetBucketPolicyStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetBucketPolicyStatus]
$creadListPrec :: ReadPrec [GetBucketPolicyStatus]
readPrec :: ReadPrec GetBucketPolicyStatus
$creadPrec :: ReadPrec GetBucketPolicyStatus
readList :: ReadS [GetBucketPolicyStatus]
$creadList :: ReadS [GetBucketPolicyStatus]
readsPrec :: Int -> ReadS GetBucketPolicyStatus
$creadsPrec :: Int -> ReadS GetBucketPolicyStatus
Prelude.Read, Int -> GetBucketPolicyStatus -> ShowS
[GetBucketPolicyStatus] -> ShowS
GetBucketPolicyStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetBucketPolicyStatus] -> ShowS
$cshowList :: [GetBucketPolicyStatus] -> ShowS
show :: GetBucketPolicyStatus -> String
$cshow :: GetBucketPolicyStatus -> String
showsPrec :: Int -> GetBucketPolicyStatus -> ShowS
$cshowsPrec :: Int -> GetBucketPolicyStatus -> ShowS
Prelude.Show, forall x. Rep GetBucketPolicyStatus x -> GetBucketPolicyStatus
forall x. GetBucketPolicyStatus -> Rep GetBucketPolicyStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetBucketPolicyStatus x -> GetBucketPolicyStatus
$cfrom :: forall x. GetBucketPolicyStatus -> Rep GetBucketPolicyStatus x
Prelude.Generic)
newGetBucketPolicyStatus ::
BucketName ->
GetBucketPolicyStatus
newGetBucketPolicyStatus :: BucketName -> GetBucketPolicyStatus
newGetBucketPolicyStatus BucketName
pBucket_ =
GetBucketPolicyStatus'
{ $sel:expectedBucketOwner:GetBucketPolicyStatus' :: Maybe Text
expectedBucketOwner =
forall a. Maybe a
Prelude.Nothing,
$sel:bucket:GetBucketPolicyStatus' :: BucketName
bucket = BucketName
pBucket_
}
getBucketPolicyStatus_expectedBucketOwner :: Lens.Lens' GetBucketPolicyStatus (Prelude.Maybe Prelude.Text)
getBucketPolicyStatus_expectedBucketOwner :: Lens' GetBucketPolicyStatus (Maybe Text)
getBucketPolicyStatus_expectedBucketOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBucketPolicyStatus' {Maybe Text
expectedBucketOwner :: Maybe Text
$sel:expectedBucketOwner:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> Maybe Text
expectedBucketOwner} -> Maybe Text
expectedBucketOwner) (\s :: GetBucketPolicyStatus
s@GetBucketPolicyStatus' {} Maybe Text
a -> GetBucketPolicyStatus
s {$sel:expectedBucketOwner:GetBucketPolicyStatus' :: Maybe Text
expectedBucketOwner = Maybe Text
a} :: GetBucketPolicyStatus)
getBucketPolicyStatus_bucket :: Lens.Lens' GetBucketPolicyStatus BucketName
getBucketPolicyStatus_bucket :: Lens' GetBucketPolicyStatus BucketName
getBucketPolicyStatus_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBucketPolicyStatus' {BucketName
bucket :: BucketName
$sel:bucket:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> BucketName
bucket} -> BucketName
bucket) (\s :: GetBucketPolicyStatus
s@GetBucketPolicyStatus' {} BucketName
a -> GetBucketPolicyStatus
s {$sel:bucket:GetBucketPolicyStatus' :: BucketName
bucket = BucketName
a} :: GetBucketPolicyStatus)
instance Core.AWSRequest GetBucketPolicyStatus where
type
AWSResponse GetBucketPolicyStatus =
GetBucketPolicyStatusResponse
request :: (Service -> Service)
-> GetBucketPolicyStatus -> Request GetBucketPolicyStatus
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 GetBucketPolicyStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetBucketPolicyStatus)))
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 PolicyStatus -> Int -> GetBucketPolicyStatusResponse
GetBucketPolicyStatusResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall a. FromXML a => [Node] -> Either String a
Data.parseXML [Node]
x)
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 GetBucketPolicyStatus where
hashWithSalt :: Int -> GetBucketPolicyStatus -> Int
hashWithSalt Int
_salt GetBucketPolicyStatus' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> BucketName
$sel:expectedBucketOwner:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> 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 GetBucketPolicyStatus where
rnf :: GetBucketPolicyStatus -> ()
rnf GetBucketPolicyStatus' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> BucketName
$sel:expectedBucketOwner:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> 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 GetBucketPolicyStatus where
toHeaders :: GetBucketPolicyStatus -> ResponseHeaders
toHeaders GetBucketPolicyStatus' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> BucketName
$sel:expectedBucketOwner:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> 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 GetBucketPolicyStatus where
toPath :: GetBucketPolicyStatus -> ByteString
toPath GetBucketPolicyStatus' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> BucketName
$sel:expectedBucketOwner:GetBucketPolicyStatus' :: GetBucketPolicyStatus -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket]
instance Data.ToQuery GetBucketPolicyStatus where
toQuery :: GetBucketPolicyStatus -> QueryString
toQuery =
forall a b. a -> b -> a
Prelude.const (forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"policyStatus"])
data GetBucketPolicyStatusResponse = GetBucketPolicyStatusResponse'
{
GetBucketPolicyStatusResponse -> Maybe PolicyStatus
policyStatus :: Prelude.Maybe PolicyStatus,
GetBucketPolicyStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetBucketPolicyStatusResponse
-> GetBucketPolicyStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetBucketPolicyStatusResponse
-> GetBucketPolicyStatusResponse -> Bool
$c/= :: GetBucketPolicyStatusResponse
-> GetBucketPolicyStatusResponse -> Bool
== :: GetBucketPolicyStatusResponse
-> GetBucketPolicyStatusResponse -> Bool
$c== :: GetBucketPolicyStatusResponse
-> GetBucketPolicyStatusResponse -> Bool
Prelude.Eq, ReadPrec [GetBucketPolicyStatusResponse]
ReadPrec GetBucketPolicyStatusResponse
Int -> ReadS GetBucketPolicyStatusResponse
ReadS [GetBucketPolicyStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetBucketPolicyStatusResponse]
$creadListPrec :: ReadPrec [GetBucketPolicyStatusResponse]
readPrec :: ReadPrec GetBucketPolicyStatusResponse
$creadPrec :: ReadPrec GetBucketPolicyStatusResponse
readList :: ReadS [GetBucketPolicyStatusResponse]
$creadList :: ReadS [GetBucketPolicyStatusResponse]
readsPrec :: Int -> ReadS GetBucketPolicyStatusResponse
$creadsPrec :: Int -> ReadS GetBucketPolicyStatusResponse
Prelude.Read, Int -> GetBucketPolicyStatusResponse -> ShowS
[GetBucketPolicyStatusResponse] -> ShowS
GetBucketPolicyStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetBucketPolicyStatusResponse] -> ShowS
$cshowList :: [GetBucketPolicyStatusResponse] -> ShowS
show :: GetBucketPolicyStatusResponse -> String
$cshow :: GetBucketPolicyStatusResponse -> String
showsPrec :: Int -> GetBucketPolicyStatusResponse -> ShowS
$cshowsPrec :: Int -> GetBucketPolicyStatusResponse -> ShowS
Prelude.Show, forall x.
Rep GetBucketPolicyStatusResponse x
-> GetBucketPolicyStatusResponse
forall x.
GetBucketPolicyStatusResponse
-> Rep GetBucketPolicyStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetBucketPolicyStatusResponse x
-> GetBucketPolicyStatusResponse
$cfrom :: forall x.
GetBucketPolicyStatusResponse
-> Rep GetBucketPolicyStatusResponse x
Prelude.Generic)
newGetBucketPolicyStatusResponse ::
Prelude.Int ->
GetBucketPolicyStatusResponse
newGetBucketPolicyStatusResponse :: Int -> GetBucketPolicyStatusResponse
newGetBucketPolicyStatusResponse Int
pHttpStatus_ =
GetBucketPolicyStatusResponse'
{ $sel:policyStatus:GetBucketPolicyStatusResponse' :: Maybe PolicyStatus
policyStatus =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetBucketPolicyStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getBucketPolicyStatusResponse_policyStatus :: Lens.Lens' GetBucketPolicyStatusResponse (Prelude.Maybe PolicyStatus)
getBucketPolicyStatusResponse_policyStatus :: Lens' GetBucketPolicyStatusResponse (Maybe PolicyStatus)
getBucketPolicyStatusResponse_policyStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBucketPolicyStatusResponse' {Maybe PolicyStatus
policyStatus :: Maybe PolicyStatus
$sel:policyStatus:GetBucketPolicyStatusResponse' :: GetBucketPolicyStatusResponse -> Maybe PolicyStatus
policyStatus} -> Maybe PolicyStatus
policyStatus) (\s :: GetBucketPolicyStatusResponse
s@GetBucketPolicyStatusResponse' {} Maybe PolicyStatus
a -> GetBucketPolicyStatusResponse
s {$sel:policyStatus:GetBucketPolicyStatusResponse' :: Maybe PolicyStatus
policyStatus = Maybe PolicyStatus
a} :: GetBucketPolicyStatusResponse)
getBucketPolicyStatusResponse_httpStatus :: Lens.Lens' GetBucketPolicyStatusResponse Prelude.Int
getBucketPolicyStatusResponse_httpStatus :: Lens' GetBucketPolicyStatusResponse Int
getBucketPolicyStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetBucketPolicyStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetBucketPolicyStatusResponse' :: GetBucketPolicyStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetBucketPolicyStatusResponse
s@GetBucketPolicyStatusResponse' {} Int
a -> GetBucketPolicyStatusResponse
s {$sel:httpStatus:GetBucketPolicyStatusResponse' :: Int
httpStatus = Int
a} :: GetBucketPolicyStatusResponse)
instance Prelude.NFData GetBucketPolicyStatusResponse where
rnf :: GetBucketPolicyStatusResponse -> ()
rnf GetBucketPolicyStatusResponse' {Int
Maybe PolicyStatus
httpStatus :: Int
policyStatus :: Maybe PolicyStatus
$sel:httpStatus:GetBucketPolicyStatusResponse' :: GetBucketPolicyStatusResponse -> Int
$sel:policyStatus:GetBucketPolicyStatusResponse' :: GetBucketPolicyStatusResponse -> Maybe PolicyStatus
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe PolicyStatus
policyStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus