{-# 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.Connect.DescribeSecurityProfile
(
DescribeSecurityProfile (..),
newDescribeSecurityProfile,
describeSecurityProfile_securityProfileId,
describeSecurityProfile_instanceId,
DescribeSecurityProfileResponse (..),
newDescribeSecurityProfileResponse,
describeSecurityProfileResponse_securityProfile,
describeSecurityProfileResponse_httpStatus,
)
where
import Amazonka.Connect.Types
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
data DescribeSecurityProfile = DescribeSecurityProfile'
{
DescribeSecurityProfile -> Text
securityProfileId :: Prelude.Text,
DescribeSecurityProfile -> Text
instanceId :: Prelude.Text
}
deriving (DescribeSecurityProfile -> DescribeSecurityProfile -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSecurityProfile -> DescribeSecurityProfile -> Bool
$c/= :: DescribeSecurityProfile -> DescribeSecurityProfile -> Bool
== :: DescribeSecurityProfile -> DescribeSecurityProfile -> Bool
$c== :: DescribeSecurityProfile -> DescribeSecurityProfile -> Bool
Prelude.Eq, ReadPrec [DescribeSecurityProfile]
ReadPrec DescribeSecurityProfile
Int -> ReadS DescribeSecurityProfile
ReadS [DescribeSecurityProfile]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSecurityProfile]
$creadListPrec :: ReadPrec [DescribeSecurityProfile]
readPrec :: ReadPrec DescribeSecurityProfile
$creadPrec :: ReadPrec DescribeSecurityProfile
readList :: ReadS [DescribeSecurityProfile]
$creadList :: ReadS [DescribeSecurityProfile]
readsPrec :: Int -> ReadS DescribeSecurityProfile
$creadsPrec :: Int -> ReadS DescribeSecurityProfile
Prelude.Read, Int -> DescribeSecurityProfile -> ShowS
[DescribeSecurityProfile] -> ShowS
DescribeSecurityProfile -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSecurityProfile] -> ShowS
$cshowList :: [DescribeSecurityProfile] -> ShowS
show :: DescribeSecurityProfile -> String
$cshow :: DescribeSecurityProfile -> String
showsPrec :: Int -> DescribeSecurityProfile -> ShowS
$cshowsPrec :: Int -> DescribeSecurityProfile -> ShowS
Prelude.Show, forall x. Rep DescribeSecurityProfile x -> DescribeSecurityProfile
forall x. DescribeSecurityProfile -> Rep DescribeSecurityProfile x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeSecurityProfile x -> DescribeSecurityProfile
$cfrom :: forall x. DescribeSecurityProfile -> Rep DescribeSecurityProfile x
Prelude.Generic)
newDescribeSecurityProfile ::
Prelude.Text ->
Prelude.Text ->
DescribeSecurityProfile
newDescribeSecurityProfile :: Text -> Text -> DescribeSecurityProfile
newDescribeSecurityProfile
Text
pSecurityProfileId_
Text
pInstanceId_ =
DescribeSecurityProfile'
{ $sel:securityProfileId:DescribeSecurityProfile' :: Text
securityProfileId =
Text
pSecurityProfileId_,
$sel:instanceId:DescribeSecurityProfile' :: Text
instanceId = Text
pInstanceId_
}
describeSecurityProfile_securityProfileId :: Lens.Lens' DescribeSecurityProfile Prelude.Text
describeSecurityProfile_securityProfileId :: Lens' DescribeSecurityProfile Text
describeSecurityProfile_securityProfileId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSecurityProfile' {Text
securityProfileId :: Text
$sel:securityProfileId:DescribeSecurityProfile' :: DescribeSecurityProfile -> Text
securityProfileId} -> Text
securityProfileId) (\s :: DescribeSecurityProfile
s@DescribeSecurityProfile' {} Text
a -> DescribeSecurityProfile
s {$sel:securityProfileId:DescribeSecurityProfile' :: Text
securityProfileId = Text
a} :: DescribeSecurityProfile)
describeSecurityProfile_instanceId :: Lens.Lens' DescribeSecurityProfile Prelude.Text
describeSecurityProfile_instanceId :: Lens' DescribeSecurityProfile Text
describeSecurityProfile_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSecurityProfile' {Text
instanceId :: Text
$sel:instanceId:DescribeSecurityProfile' :: DescribeSecurityProfile -> Text
instanceId} -> Text
instanceId) (\s :: DescribeSecurityProfile
s@DescribeSecurityProfile' {} Text
a -> DescribeSecurityProfile
s {$sel:instanceId:DescribeSecurityProfile' :: Text
instanceId = Text
a} :: DescribeSecurityProfile)
instance Core.AWSRequest DescribeSecurityProfile where
type
AWSResponse DescribeSecurityProfile =
DescribeSecurityProfileResponse
request :: (Service -> Service)
-> DescribeSecurityProfile -> Request DescribeSecurityProfile
request Service -> Service
overrides =
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 DescribeSecurityProfile
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeSecurityProfile)))
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 ->
Maybe SecurityProfile -> Int -> DescribeSecurityProfileResponse
DescribeSecurityProfileResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SecurityProfile")
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 DescribeSecurityProfile where
hashWithSalt :: Int -> DescribeSecurityProfile -> Int
hashWithSalt Int
_salt DescribeSecurityProfile' {Text
instanceId :: Text
securityProfileId :: Text
$sel:instanceId:DescribeSecurityProfile' :: DescribeSecurityProfile -> Text
$sel:securityProfileId:DescribeSecurityProfile' :: DescribeSecurityProfile -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
securityProfileId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
instance Prelude.NFData DescribeSecurityProfile where
rnf :: DescribeSecurityProfile -> ()
rnf DescribeSecurityProfile' {Text
instanceId :: Text
securityProfileId :: Text
$sel:instanceId:DescribeSecurityProfile' :: DescribeSecurityProfile -> Text
$sel:securityProfileId:DescribeSecurityProfile' :: DescribeSecurityProfile -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
securityProfileId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
instanceId
instance Data.ToHeaders DescribeSecurityProfile where
toHeaders :: DescribeSecurityProfile -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath DescribeSecurityProfile where
toPath :: DescribeSecurityProfile -> ByteString
toPath DescribeSecurityProfile' {Text
instanceId :: Text
securityProfileId :: Text
$sel:instanceId:DescribeSecurityProfile' :: DescribeSecurityProfile -> Text
$sel:securityProfileId:DescribeSecurityProfile' :: DescribeSecurityProfile -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/security-profiles/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
instanceId,
ByteString
"/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
securityProfileId
]
instance Data.ToQuery DescribeSecurityProfile where
toQuery :: DescribeSecurityProfile -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeSecurityProfileResponse = DescribeSecurityProfileResponse'
{
DescribeSecurityProfileResponse -> Maybe SecurityProfile
securityProfile :: Prelude.Maybe SecurityProfile,
DescribeSecurityProfileResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeSecurityProfileResponse
-> DescribeSecurityProfileResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeSecurityProfileResponse
-> DescribeSecurityProfileResponse -> Bool
$c/= :: DescribeSecurityProfileResponse
-> DescribeSecurityProfileResponse -> Bool
== :: DescribeSecurityProfileResponse
-> DescribeSecurityProfileResponse -> Bool
$c== :: DescribeSecurityProfileResponse
-> DescribeSecurityProfileResponse -> Bool
Prelude.Eq, ReadPrec [DescribeSecurityProfileResponse]
ReadPrec DescribeSecurityProfileResponse
Int -> ReadS DescribeSecurityProfileResponse
ReadS [DescribeSecurityProfileResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeSecurityProfileResponse]
$creadListPrec :: ReadPrec [DescribeSecurityProfileResponse]
readPrec :: ReadPrec DescribeSecurityProfileResponse
$creadPrec :: ReadPrec DescribeSecurityProfileResponse
readList :: ReadS [DescribeSecurityProfileResponse]
$creadList :: ReadS [DescribeSecurityProfileResponse]
readsPrec :: Int -> ReadS DescribeSecurityProfileResponse
$creadsPrec :: Int -> ReadS DescribeSecurityProfileResponse
Prelude.Read, Int -> DescribeSecurityProfileResponse -> ShowS
[DescribeSecurityProfileResponse] -> ShowS
DescribeSecurityProfileResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeSecurityProfileResponse] -> ShowS
$cshowList :: [DescribeSecurityProfileResponse] -> ShowS
show :: DescribeSecurityProfileResponse -> String
$cshow :: DescribeSecurityProfileResponse -> String
showsPrec :: Int -> DescribeSecurityProfileResponse -> ShowS
$cshowsPrec :: Int -> DescribeSecurityProfileResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeSecurityProfileResponse x
-> DescribeSecurityProfileResponse
forall x.
DescribeSecurityProfileResponse
-> Rep DescribeSecurityProfileResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeSecurityProfileResponse x
-> DescribeSecurityProfileResponse
$cfrom :: forall x.
DescribeSecurityProfileResponse
-> Rep DescribeSecurityProfileResponse x
Prelude.Generic)
newDescribeSecurityProfileResponse ::
Prelude.Int ->
DescribeSecurityProfileResponse
newDescribeSecurityProfileResponse :: Int -> DescribeSecurityProfileResponse
newDescribeSecurityProfileResponse Int
pHttpStatus_ =
DescribeSecurityProfileResponse'
{ $sel:securityProfile:DescribeSecurityProfileResponse' :: Maybe SecurityProfile
securityProfile =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeSecurityProfileResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeSecurityProfileResponse_securityProfile :: Lens.Lens' DescribeSecurityProfileResponse (Prelude.Maybe SecurityProfile)
describeSecurityProfileResponse_securityProfile :: Lens' DescribeSecurityProfileResponse (Maybe SecurityProfile)
describeSecurityProfileResponse_securityProfile = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSecurityProfileResponse' {Maybe SecurityProfile
securityProfile :: Maybe SecurityProfile
$sel:securityProfile:DescribeSecurityProfileResponse' :: DescribeSecurityProfileResponse -> Maybe SecurityProfile
securityProfile} -> Maybe SecurityProfile
securityProfile) (\s :: DescribeSecurityProfileResponse
s@DescribeSecurityProfileResponse' {} Maybe SecurityProfile
a -> DescribeSecurityProfileResponse
s {$sel:securityProfile:DescribeSecurityProfileResponse' :: Maybe SecurityProfile
securityProfile = Maybe SecurityProfile
a} :: DescribeSecurityProfileResponse)
describeSecurityProfileResponse_httpStatus :: Lens.Lens' DescribeSecurityProfileResponse Prelude.Int
describeSecurityProfileResponse_httpStatus :: Lens' DescribeSecurityProfileResponse Int
describeSecurityProfileResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeSecurityProfileResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeSecurityProfileResponse' :: DescribeSecurityProfileResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeSecurityProfileResponse
s@DescribeSecurityProfileResponse' {} Int
a -> DescribeSecurityProfileResponse
s {$sel:httpStatus:DescribeSecurityProfileResponse' :: Int
httpStatus = Int
a} :: DescribeSecurityProfileResponse)
instance
Prelude.NFData
DescribeSecurityProfileResponse
where
rnf :: DescribeSecurityProfileResponse -> ()
rnf DescribeSecurityProfileResponse' {Int
Maybe SecurityProfile
httpStatus :: Int
securityProfile :: Maybe SecurityProfile
$sel:httpStatus:DescribeSecurityProfileResponse' :: DescribeSecurityProfileResponse -> Int
$sel:securityProfile:DescribeSecurityProfileResponse' :: DescribeSecurityProfileResponse -> Maybe SecurityProfile
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe SecurityProfile
securityProfile
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus