{-# 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.GetPublicAccessBlock
(
GetPublicAccessBlock (..),
newGetPublicAccessBlock,
getPublicAccessBlock_expectedBucketOwner,
getPublicAccessBlock_bucket,
GetPublicAccessBlockResponse (..),
newGetPublicAccessBlockResponse,
getPublicAccessBlockResponse_publicAccessBlockConfiguration,
getPublicAccessBlockResponse_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 GetPublicAccessBlock = GetPublicAccessBlock'
{
GetPublicAccessBlock -> Maybe Text
expectedBucketOwner :: Prelude.Maybe Prelude.Text,
GetPublicAccessBlock -> BucketName
bucket :: BucketName
}
deriving (GetPublicAccessBlock -> GetPublicAccessBlock -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetPublicAccessBlock -> GetPublicAccessBlock -> Bool
$c/= :: GetPublicAccessBlock -> GetPublicAccessBlock -> Bool
== :: GetPublicAccessBlock -> GetPublicAccessBlock -> Bool
$c== :: GetPublicAccessBlock -> GetPublicAccessBlock -> Bool
Prelude.Eq, ReadPrec [GetPublicAccessBlock]
ReadPrec GetPublicAccessBlock
Int -> ReadS GetPublicAccessBlock
ReadS [GetPublicAccessBlock]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetPublicAccessBlock]
$creadListPrec :: ReadPrec [GetPublicAccessBlock]
readPrec :: ReadPrec GetPublicAccessBlock
$creadPrec :: ReadPrec GetPublicAccessBlock
readList :: ReadS [GetPublicAccessBlock]
$creadList :: ReadS [GetPublicAccessBlock]
readsPrec :: Int -> ReadS GetPublicAccessBlock
$creadsPrec :: Int -> ReadS GetPublicAccessBlock
Prelude.Read, Int -> GetPublicAccessBlock -> ShowS
[GetPublicAccessBlock] -> ShowS
GetPublicAccessBlock -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetPublicAccessBlock] -> ShowS
$cshowList :: [GetPublicAccessBlock] -> ShowS
show :: GetPublicAccessBlock -> String
$cshow :: GetPublicAccessBlock -> String
showsPrec :: Int -> GetPublicAccessBlock -> ShowS
$cshowsPrec :: Int -> GetPublicAccessBlock -> ShowS
Prelude.Show, forall x. Rep GetPublicAccessBlock x -> GetPublicAccessBlock
forall x. GetPublicAccessBlock -> Rep GetPublicAccessBlock x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetPublicAccessBlock x -> GetPublicAccessBlock
$cfrom :: forall x. GetPublicAccessBlock -> Rep GetPublicAccessBlock x
Prelude.Generic)
newGetPublicAccessBlock ::
BucketName ->
GetPublicAccessBlock
newGetPublicAccessBlock :: BucketName -> GetPublicAccessBlock
newGetPublicAccessBlock BucketName
pBucket_ =
GetPublicAccessBlock'
{ $sel:expectedBucketOwner:GetPublicAccessBlock' :: Maybe Text
expectedBucketOwner =
forall a. Maybe a
Prelude.Nothing,
$sel:bucket:GetPublicAccessBlock' :: BucketName
bucket = BucketName
pBucket_
}
getPublicAccessBlock_expectedBucketOwner :: Lens.Lens' GetPublicAccessBlock (Prelude.Maybe Prelude.Text)
getPublicAccessBlock_expectedBucketOwner :: Lens' GetPublicAccessBlock (Maybe Text)
getPublicAccessBlock_expectedBucketOwner = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetPublicAccessBlock' {Maybe Text
expectedBucketOwner :: Maybe Text
$sel:expectedBucketOwner:GetPublicAccessBlock' :: GetPublicAccessBlock -> Maybe Text
expectedBucketOwner} -> Maybe Text
expectedBucketOwner) (\s :: GetPublicAccessBlock
s@GetPublicAccessBlock' {} Maybe Text
a -> GetPublicAccessBlock
s {$sel:expectedBucketOwner:GetPublicAccessBlock' :: Maybe Text
expectedBucketOwner = Maybe Text
a} :: GetPublicAccessBlock)
getPublicAccessBlock_bucket :: Lens.Lens' GetPublicAccessBlock BucketName
getPublicAccessBlock_bucket :: Lens' GetPublicAccessBlock BucketName
getPublicAccessBlock_bucket = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetPublicAccessBlock' {BucketName
bucket :: BucketName
$sel:bucket:GetPublicAccessBlock' :: GetPublicAccessBlock -> BucketName
bucket} -> BucketName
bucket) (\s :: GetPublicAccessBlock
s@GetPublicAccessBlock' {} BucketName
a -> GetPublicAccessBlock
s {$sel:bucket:GetPublicAccessBlock' :: BucketName
bucket = BucketName
a} :: GetPublicAccessBlock)
instance Core.AWSRequest GetPublicAccessBlock where
type
AWSResponse GetPublicAccessBlock =
GetPublicAccessBlockResponse
request :: (Service -> Service)
-> GetPublicAccessBlock -> Request GetPublicAccessBlock
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 GetPublicAccessBlock
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetPublicAccessBlock)))
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 PublicAccessBlockConfiguration
-> Int -> GetPublicAccessBlockResponse
GetPublicAccessBlockResponse'
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 GetPublicAccessBlock where
hashWithSalt :: Int -> GetPublicAccessBlock -> Int
hashWithSalt Int
_salt GetPublicAccessBlock' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetPublicAccessBlock' :: GetPublicAccessBlock -> BucketName
$sel:expectedBucketOwner:GetPublicAccessBlock' :: GetPublicAccessBlock -> 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 GetPublicAccessBlock where
rnf :: GetPublicAccessBlock -> ()
rnf GetPublicAccessBlock' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetPublicAccessBlock' :: GetPublicAccessBlock -> BucketName
$sel:expectedBucketOwner:GetPublicAccessBlock' :: GetPublicAccessBlock -> 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 GetPublicAccessBlock where
toHeaders :: GetPublicAccessBlock -> ResponseHeaders
toHeaders GetPublicAccessBlock' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetPublicAccessBlock' :: GetPublicAccessBlock -> BucketName
$sel:expectedBucketOwner:GetPublicAccessBlock' :: GetPublicAccessBlock -> 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 GetPublicAccessBlock where
toPath :: GetPublicAccessBlock -> ByteString
toPath GetPublicAccessBlock' {Maybe Text
BucketName
bucket :: BucketName
expectedBucketOwner :: Maybe Text
$sel:bucket:GetPublicAccessBlock' :: GetPublicAccessBlock -> BucketName
$sel:expectedBucketOwner:GetPublicAccessBlock' :: GetPublicAccessBlock -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/", forall a. ToByteString a => a -> ByteString
Data.toBS BucketName
bucket]
instance Data.ToQuery GetPublicAccessBlock where
toQuery :: GetPublicAccessBlock -> QueryString
toQuery =
forall a b. a -> b -> a
Prelude.const
(forall a. Monoid a => [a] -> a
Prelude.mconcat [QueryString
"publicAccessBlock"])
data GetPublicAccessBlockResponse = GetPublicAccessBlockResponse'
{
GetPublicAccessBlockResponse
-> Maybe PublicAccessBlockConfiguration
publicAccessBlockConfiguration :: Prelude.Maybe PublicAccessBlockConfiguration,
GetPublicAccessBlockResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetPublicAccessBlockResponse
-> GetPublicAccessBlockResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetPublicAccessBlockResponse
-> GetPublicAccessBlockResponse -> Bool
$c/= :: GetPublicAccessBlockResponse
-> GetPublicAccessBlockResponse -> Bool
== :: GetPublicAccessBlockResponse
-> GetPublicAccessBlockResponse -> Bool
$c== :: GetPublicAccessBlockResponse
-> GetPublicAccessBlockResponse -> Bool
Prelude.Eq, ReadPrec [GetPublicAccessBlockResponse]
ReadPrec GetPublicAccessBlockResponse
Int -> ReadS GetPublicAccessBlockResponse
ReadS [GetPublicAccessBlockResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetPublicAccessBlockResponse]
$creadListPrec :: ReadPrec [GetPublicAccessBlockResponse]
readPrec :: ReadPrec GetPublicAccessBlockResponse
$creadPrec :: ReadPrec GetPublicAccessBlockResponse
readList :: ReadS [GetPublicAccessBlockResponse]
$creadList :: ReadS [GetPublicAccessBlockResponse]
readsPrec :: Int -> ReadS GetPublicAccessBlockResponse
$creadsPrec :: Int -> ReadS GetPublicAccessBlockResponse
Prelude.Read, Int -> GetPublicAccessBlockResponse -> ShowS
[GetPublicAccessBlockResponse] -> ShowS
GetPublicAccessBlockResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetPublicAccessBlockResponse] -> ShowS
$cshowList :: [GetPublicAccessBlockResponse] -> ShowS
show :: GetPublicAccessBlockResponse -> String
$cshow :: GetPublicAccessBlockResponse -> String
showsPrec :: Int -> GetPublicAccessBlockResponse -> ShowS
$cshowsPrec :: Int -> GetPublicAccessBlockResponse -> ShowS
Prelude.Show, forall x.
Rep GetPublicAccessBlockResponse x -> GetPublicAccessBlockResponse
forall x.
GetPublicAccessBlockResponse -> Rep GetPublicAccessBlockResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetPublicAccessBlockResponse x -> GetPublicAccessBlockResponse
$cfrom :: forall x.
GetPublicAccessBlockResponse -> Rep GetPublicAccessBlockResponse x
Prelude.Generic)
newGetPublicAccessBlockResponse ::
Prelude.Int ->
GetPublicAccessBlockResponse
newGetPublicAccessBlockResponse :: Int -> GetPublicAccessBlockResponse
newGetPublicAccessBlockResponse Int
pHttpStatus_ =
GetPublicAccessBlockResponse'
{ $sel:publicAccessBlockConfiguration:GetPublicAccessBlockResponse' :: Maybe PublicAccessBlockConfiguration
publicAccessBlockConfiguration =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetPublicAccessBlockResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getPublicAccessBlockResponse_publicAccessBlockConfiguration :: Lens.Lens' GetPublicAccessBlockResponse (Prelude.Maybe PublicAccessBlockConfiguration)
getPublicAccessBlockResponse_publicAccessBlockConfiguration :: Lens'
GetPublicAccessBlockResponse (Maybe PublicAccessBlockConfiguration)
getPublicAccessBlockResponse_publicAccessBlockConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetPublicAccessBlockResponse' {Maybe PublicAccessBlockConfiguration
publicAccessBlockConfiguration :: Maybe PublicAccessBlockConfiguration
$sel:publicAccessBlockConfiguration:GetPublicAccessBlockResponse' :: GetPublicAccessBlockResponse
-> Maybe PublicAccessBlockConfiguration
publicAccessBlockConfiguration} -> Maybe PublicAccessBlockConfiguration
publicAccessBlockConfiguration) (\s :: GetPublicAccessBlockResponse
s@GetPublicAccessBlockResponse' {} Maybe PublicAccessBlockConfiguration
a -> GetPublicAccessBlockResponse
s {$sel:publicAccessBlockConfiguration:GetPublicAccessBlockResponse' :: Maybe PublicAccessBlockConfiguration
publicAccessBlockConfiguration = Maybe PublicAccessBlockConfiguration
a} :: GetPublicAccessBlockResponse)
getPublicAccessBlockResponse_httpStatus :: Lens.Lens' GetPublicAccessBlockResponse Prelude.Int
getPublicAccessBlockResponse_httpStatus :: Lens' GetPublicAccessBlockResponse Int
getPublicAccessBlockResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetPublicAccessBlockResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetPublicAccessBlockResponse' :: GetPublicAccessBlockResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetPublicAccessBlockResponse
s@GetPublicAccessBlockResponse' {} Int
a -> GetPublicAccessBlockResponse
s {$sel:httpStatus:GetPublicAccessBlockResponse' :: Int
httpStatus = Int
a} :: GetPublicAccessBlockResponse)
instance Prelude.NFData GetPublicAccessBlockResponse where
rnf :: GetPublicAccessBlockResponse -> ()
rnf GetPublicAccessBlockResponse' {Int
Maybe PublicAccessBlockConfiguration
httpStatus :: Int
publicAccessBlockConfiguration :: Maybe PublicAccessBlockConfiguration
$sel:httpStatus:GetPublicAccessBlockResponse' :: GetPublicAccessBlockResponse -> Int
$sel:publicAccessBlockConfiguration:GetPublicAccessBlockResponse' :: GetPublicAccessBlockResponse
-> Maybe PublicAccessBlockConfiguration
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe PublicAccessBlockConfiguration
publicAccessBlockConfiguration
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus