{-# 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.Transfer.DescribeSecurityPolicy
(
DescribeSecurityPolicy (..),
newDescribeSecurityPolicy,
describeSecurityPolicy_securityPolicyName,
DescribeSecurityPolicyResponse (..),
newDescribeSecurityPolicyResponse,
describeSecurityPolicyResponse_httpStatus,
describeSecurityPolicyResponse_securityPolicy,
)
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.Transfer.Types
data DescribeSecurityPolicy = DescribeSecurityPolicy'
{
DescribeSecurityPolicy -> Text
securityPolicyName :: Prelude.Text
}
deriving (DescribeSecurityPolicy -> DescribeSecurityPolicy -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSecurityPolicy -> DescribeSecurityPolicy -> Bool
$c/= :: DescribeSecurityPolicy -> DescribeSecurityPolicy -> Bool
== :: DescribeSecurityPolicy -> DescribeSecurityPolicy -> Bool
$c== :: DescribeSecurityPolicy -> DescribeSecurityPolicy -> Bool
Prelude.Eq, ReadPrec [DescribeSecurityPolicy]
ReadPrec DescribeSecurityPolicy
Int -> ReadS DescribeSecurityPolicy
ReadS [DescribeSecurityPolicy]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSecurityPolicy]
$creadListPrec :: ReadPrec [DescribeSecurityPolicy]
readPrec :: ReadPrec DescribeSecurityPolicy
$creadPrec :: ReadPrec DescribeSecurityPolicy
readList :: ReadS [DescribeSecurityPolicy]
$creadList :: ReadS [DescribeSecurityPolicy]
readsPrec :: Int -> ReadS DescribeSecurityPolicy
$creadsPrec :: Int -> ReadS DescribeSecurityPolicy
Prelude.Read, Int -> DescribeSecurityPolicy -> ShowS
[DescribeSecurityPolicy] -> ShowS
DescribeSecurityPolicy -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSecurityPolicy] -> ShowS
$cshowList :: [DescribeSecurityPolicy] -> ShowS
show :: DescribeSecurityPolicy -> String
$cshow :: DescribeSecurityPolicy -> String
showsPrec :: Int -> DescribeSecurityPolicy -> ShowS
$cshowsPrec :: Int -> DescribeSecurityPolicy -> ShowS
Prelude.Show, forall x. Rep DescribeSecurityPolicy x -> DescribeSecurityPolicy
forall x. DescribeSecurityPolicy -> Rep DescribeSecurityPolicy x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeSecurityPolicy x -> DescribeSecurityPolicy
$cfrom :: forall x. DescribeSecurityPolicy -> Rep DescribeSecurityPolicy x
Prelude.Generic)
newDescribeSecurityPolicy ::
Prelude.Text ->
DescribeSecurityPolicy
newDescribeSecurityPolicy :: Text -> DescribeSecurityPolicy
newDescribeSecurityPolicy Text
pSecurityPolicyName_ =
DescribeSecurityPolicy'
{ $sel:securityPolicyName:DescribeSecurityPolicy' :: Text
securityPolicyName =
Text
pSecurityPolicyName_
}
describeSecurityPolicy_securityPolicyName :: Lens.Lens' DescribeSecurityPolicy Prelude.Text
describeSecurityPolicy_securityPolicyName :: Lens' DescribeSecurityPolicy Text
describeSecurityPolicy_securityPolicyName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSecurityPolicy' {Text
securityPolicyName :: Text
$sel:securityPolicyName:DescribeSecurityPolicy' :: DescribeSecurityPolicy -> Text
securityPolicyName} -> Text
securityPolicyName) (\s :: DescribeSecurityPolicy
s@DescribeSecurityPolicy' {} Text
a -> DescribeSecurityPolicy
s {$sel:securityPolicyName:DescribeSecurityPolicy' :: Text
securityPolicyName = Text
a} :: DescribeSecurityPolicy)
instance Core.AWSRequest DescribeSecurityPolicy where
type
AWSResponse DescribeSecurityPolicy =
DescribeSecurityPolicyResponse
request :: (Service -> Service)
-> DescribeSecurityPolicy -> Request DescribeSecurityPolicy
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeSecurityPolicy
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeSecurityPolicy)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Int -> DescribedSecurityPolicy -> DescribeSecurityPolicyResponse
DescribeSecurityPolicyResponse'
forall (f :: * -> *) a b. Functor 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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"SecurityPolicy")
)
instance Prelude.Hashable DescribeSecurityPolicy where
hashWithSalt :: Int -> DescribeSecurityPolicy -> Int
hashWithSalt Int
_salt DescribeSecurityPolicy' {Text
securityPolicyName :: Text
$sel:securityPolicyName:DescribeSecurityPolicy' :: DescribeSecurityPolicy -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
securityPolicyName
instance Prelude.NFData DescribeSecurityPolicy where
rnf :: DescribeSecurityPolicy -> ()
rnf DescribeSecurityPolicy' {Text
securityPolicyName :: Text
$sel:securityPolicyName:DescribeSecurityPolicy' :: DescribeSecurityPolicy -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
securityPolicyName
instance Data.ToHeaders DescribeSecurityPolicy where
toHeaders :: DescribeSecurityPolicy -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"TransferService.DescribeSecurityPolicy" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeSecurityPolicy where
toJSON :: DescribeSecurityPolicy -> Value
toJSON DescribeSecurityPolicy' {Text
securityPolicyName :: Text
$sel:securityPolicyName:DescribeSecurityPolicy' :: DescribeSecurityPolicy -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"SecurityPolicyName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
securityPolicyName)
]
)
instance Data.ToPath DescribeSecurityPolicy where
toPath :: DescribeSecurityPolicy -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeSecurityPolicy where
toQuery :: DescribeSecurityPolicy -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeSecurityPolicyResponse = DescribeSecurityPolicyResponse'
{
DescribeSecurityPolicyResponse -> Int
httpStatus :: Prelude.Int,
DescribeSecurityPolicyResponse -> DescribedSecurityPolicy
securityPolicy :: DescribedSecurityPolicy
}
deriving (DescribeSecurityPolicyResponse
-> DescribeSecurityPolicyResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSecurityPolicyResponse
-> DescribeSecurityPolicyResponse -> Bool
$c/= :: DescribeSecurityPolicyResponse
-> DescribeSecurityPolicyResponse -> Bool
== :: DescribeSecurityPolicyResponse
-> DescribeSecurityPolicyResponse -> Bool
$c== :: DescribeSecurityPolicyResponse
-> DescribeSecurityPolicyResponse -> Bool
Prelude.Eq, ReadPrec [DescribeSecurityPolicyResponse]
ReadPrec DescribeSecurityPolicyResponse
Int -> ReadS DescribeSecurityPolicyResponse
ReadS [DescribeSecurityPolicyResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSecurityPolicyResponse]
$creadListPrec :: ReadPrec [DescribeSecurityPolicyResponse]
readPrec :: ReadPrec DescribeSecurityPolicyResponse
$creadPrec :: ReadPrec DescribeSecurityPolicyResponse
readList :: ReadS [DescribeSecurityPolicyResponse]
$creadList :: ReadS [DescribeSecurityPolicyResponse]
readsPrec :: Int -> ReadS DescribeSecurityPolicyResponse
$creadsPrec :: Int -> ReadS DescribeSecurityPolicyResponse
Prelude.Read, Int -> DescribeSecurityPolicyResponse -> ShowS
[DescribeSecurityPolicyResponse] -> ShowS
DescribeSecurityPolicyResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSecurityPolicyResponse] -> ShowS
$cshowList :: [DescribeSecurityPolicyResponse] -> ShowS
show :: DescribeSecurityPolicyResponse -> String
$cshow :: DescribeSecurityPolicyResponse -> String
showsPrec :: Int -> DescribeSecurityPolicyResponse -> ShowS
$cshowsPrec :: Int -> DescribeSecurityPolicyResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeSecurityPolicyResponse x
-> DescribeSecurityPolicyResponse
forall x.
DescribeSecurityPolicyResponse
-> Rep DescribeSecurityPolicyResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeSecurityPolicyResponse x
-> DescribeSecurityPolicyResponse
$cfrom :: forall x.
DescribeSecurityPolicyResponse
-> Rep DescribeSecurityPolicyResponse x
Prelude.Generic)
newDescribeSecurityPolicyResponse ::
Prelude.Int ->
DescribedSecurityPolicy ->
DescribeSecurityPolicyResponse
newDescribeSecurityPolicyResponse :: Int -> DescribedSecurityPolicy -> DescribeSecurityPolicyResponse
newDescribeSecurityPolicyResponse
Int
pHttpStatus_
DescribedSecurityPolicy
pSecurityPolicy_ =
DescribeSecurityPolicyResponse'
{ $sel:httpStatus:DescribeSecurityPolicyResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:securityPolicy:DescribeSecurityPolicyResponse' :: DescribedSecurityPolicy
securityPolicy = DescribedSecurityPolicy
pSecurityPolicy_
}
describeSecurityPolicyResponse_httpStatus :: Lens.Lens' DescribeSecurityPolicyResponse Prelude.Int
describeSecurityPolicyResponse_httpStatus :: Lens' DescribeSecurityPolicyResponse Int
describeSecurityPolicyResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSecurityPolicyResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeSecurityPolicyResponse' :: DescribeSecurityPolicyResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeSecurityPolicyResponse
s@DescribeSecurityPolicyResponse' {} Int
a -> DescribeSecurityPolicyResponse
s {$sel:httpStatus:DescribeSecurityPolicyResponse' :: Int
httpStatus = Int
a} :: DescribeSecurityPolicyResponse)
describeSecurityPolicyResponse_securityPolicy :: Lens.Lens' DescribeSecurityPolicyResponse DescribedSecurityPolicy
describeSecurityPolicyResponse_securityPolicy :: Lens' DescribeSecurityPolicyResponse DescribedSecurityPolicy
describeSecurityPolicyResponse_securityPolicy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSecurityPolicyResponse' {DescribedSecurityPolicy
securityPolicy :: DescribedSecurityPolicy
$sel:securityPolicy:DescribeSecurityPolicyResponse' :: DescribeSecurityPolicyResponse -> DescribedSecurityPolicy
securityPolicy} -> DescribedSecurityPolicy
securityPolicy) (\s :: DescribeSecurityPolicyResponse
s@DescribeSecurityPolicyResponse' {} DescribedSecurityPolicy
a -> DescribeSecurityPolicyResponse
s {$sel:securityPolicy:DescribeSecurityPolicyResponse' :: DescribedSecurityPolicy
securityPolicy = DescribedSecurityPolicy
a} :: DescribeSecurityPolicyResponse)
instance
Prelude.NFData
DescribeSecurityPolicyResponse
where
rnf :: DescribeSecurityPolicyResponse -> ()
rnf DescribeSecurityPolicyResponse' {Int
DescribedSecurityPolicy
securityPolicy :: DescribedSecurityPolicy
httpStatus :: Int
$sel:securityPolicy:DescribeSecurityPolicyResponse' :: DescribeSecurityPolicyResponse -> DescribedSecurityPolicy
$sel:httpStatus:DescribeSecurityPolicyResponse' :: DescribeSecurityPolicyResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DescribedSecurityPolicy
securityPolicy