{-# 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.DescribeInstanceAttribute
(
DescribeInstanceAttribute (..),
newDescribeInstanceAttribute,
describeInstanceAttribute_instanceId,
describeInstanceAttribute_attributeType,
DescribeInstanceAttributeResponse (..),
newDescribeInstanceAttributeResponse,
describeInstanceAttributeResponse_attribute,
describeInstanceAttributeResponse_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 DescribeInstanceAttribute = DescribeInstanceAttribute'
{
DescribeInstanceAttribute -> Text
instanceId :: Prelude.Text,
DescribeInstanceAttribute -> InstanceAttributeType
attributeType :: InstanceAttributeType
}
deriving (DescribeInstanceAttribute -> DescribeInstanceAttribute -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeInstanceAttribute -> DescribeInstanceAttribute -> Bool
$c/= :: DescribeInstanceAttribute -> DescribeInstanceAttribute -> Bool
== :: DescribeInstanceAttribute -> DescribeInstanceAttribute -> Bool
$c== :: DescribeInstanceAttribute -> DescribeInstanceAttribute -> Bool
Prelude.Eq, ReadPrec [DescribeInstanceAttribute]
ReadPrec DescribeInstanceAttribute
Int -> ReadS DescribeInstanceAttribute
ReadS [DescribeInstanceAttribute]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeInstanceAttribute]
$creadListPrec :: ReadPrec [DescribeInstanceAttribute]
readPrec :: ReadPrec DescribeInstanceAttribute
$creadPrec :: ReadPrec DescribeInstanceAttribute
readList :: ReadS [DescribeInstanceAttribute]
$creadList :: ReadS [DescribeInstanceAttribute]
readsPrec :: Int -> ReadS DescribeInstanceAttribute
$creadsPrec :: Int -> ReadS DescribeInstanceAttribute
Prelude.Read, Int -> DescribeInstanceAttribute -> ShowS
[DescribeInstanceAttribute] -> ShowS
DescribeInstanceAttribute -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeInstanceAttribute] -> ShowS
$cshowList :: [DescribeInstanceAttribute] -> ShowS
show :: DescribeInstanceAttribute -> String
$cshow :: DescribeInstanceAttribute -> String
showsPrec :: Int -> DescribeInstanceAttribute -> ShowS
$cshowsPrec :: Int -> DescribeInstanceAttribute -> ShowS
Prelude.Show, forall x.
Rep DescribeInstanceAttribute x -> DescribeInstanceAttribute
forall x.
DescribeInstanceAttribute -> Rep DescribeInstanceAttribute x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeInstanceAttribute x -> DescribeInstanceAttribute
$cfrom :: forall x.
DescribeInstanceAttribute -> Rep DescribeInstanceAttribute x
Prelude.Generic)
newDescribeInstanceAttribute ::
Prelude.Text ->
InstanceAttributeType ->
DescribeInstanceAttribute
newDescribeInstanceAttribute :: Text -> InstanceAttributeType -> DescribeInstanceAttribute
newDescribeInstanceAttribute
Text
pInstanceId_
InstanceAttributeType
pAttributeType_ =
DescribeInstanceAttribute'
{ $sel:instanceId:DescribeInstanceAttribute' :: Text
instanceId =
Text
pInstanceId_,
$sel:attributeType:DescribeInstanceAttribute' :: InstanceAttributeType
attributeType = InstanceAttributeType
pAttributeType_
}
describeInstanceAttribute_instanceId :: Lens.Lens' DescribeInstanceAttribute Prelude.Text
describeInstanceAttribute_instanceId :: Lens' DescribeInstanceAttribute Text
describeInstanceAttribute_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInstanceAttribute' {Text
instanceId :: Text
$sel:instanceId:DescribeInstanceAttribute' :: DescribeInstanceAttribute -> Text
instanceId} -> Text
instanceId) (\s :: DescribeInstanceAttribute
s@DescribeInstanceAttribute' {} Text
a -> DescribeInstanceAttribute
s {$sel:instanceId:DescribeInstanceAttribute' :: Text
instanceId = Text
a} :: DescribeInstanceAttribute)
describeInstanceAttribute_attributeType :: Lens.Lens' DescribeInstanceAttribute InstanceAttributeType
describeInstanceAttribute_attributeType :: Lens' DescribeInstanceAttribute InstanceAttributeType
describeInstanceAttribute_attributeType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInstanceAttribute' {InstanceAttributeType
attributeType :: InstanceAttributeType
$sel:attributeType:DescribeInstanceAttribute' :: DescribeInstanceAttribute -> InstanceAttributeType
attributeType} -> InstanceAttributeType
attributeType) (\s :: DescribeInstanceAttribute
s@DescribeInstanceAttribute' {} InstanceAttributeType
a -> DescribeInstanceAttribute
s {$sel:attributeType:DescribeInstanceAttribute' :: InstanceAttributeType
attributeType = InstanceAttributeType
a} :: DescribeInstanceAttribute)
instance Core.AWSRequest DescribeInstanceAttribute where
type
AWSResponse DescribeInstanceAttribute =
DescribeInstanceAttributeResponse
request :: (Service -> Service)
-> DescribeInstanceAttribute -> Request DescribeInstanceAttribute
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 DescribeInstanceAttribute
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeInstanceAttribute)))
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 Attribute -> Int -> DescribeInstanceAttributeResponse
DescribeInstanceAttributeResponse'
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
"Attribute")
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 DescribeInstanceAttribute where
hashWithSalt :: Int -> DescribeInstanceAttribute -> Int
hashWithSalt Int
_salt DescribeInstanceAttribute' {Text
InstanceAttributeType
attributeType :: InstanceAttributeType
instanceId :: Text
$sel:attributeType:DescribeInstanceAttribute' :: DescribeInstanceAttribute -> InstanceAttributeType
$sel:instanceId:DescribeInstanceAttribute' :: DescribeInstanceAttribute -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` InstanceAttributeType
attributeType
instance Prelude.NFData DescribeInstanceAttribute where
rnf :: DescribeInstanceAttribute -> ()
rnf DescribeInstanceAttribute' {Text
InstanceAttributeType
attributeType :: InstanceAttributeType
instanceId :: Text
$sel:attributeType:DescribeInstanceAttribute' :: DescribeInstanceAttribute -> InstanceAttributeType
$sel:instanceId:DescribeInstanceAttribute' :: DescribeInstanceAttribute -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
instanceId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf InstanceAttributeType
attributeType
instance Data.ToHeaders DescribeInstanceAttribute where
toHeaders :: DescribeInstanceAttribute -> 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 DescribeInstanceAttribute where
toPath :: DescribeInstanceAttribute -> ByteString
toPath DescribeInstanceAttribute' {Text
InstanceAttributeType
attributeType :: InstanceAttributeType
instanceId :: Text
$sel:attributeType:DescribeInstanceAttribute' :: DescribeInstanceAttribute -> InstanceAttributeType
$sel:instanceId:DescribeInstanceAttribute' :: DescribeInstanceAttribute -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/instance/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
instanceId,
ByteString
"/attribute/",
forall a. ToByteString a => a -> ByteString
Data.toBS InstanceAttributeType
attributeType
]
instance Data.ToQuery DescribeInstanceAttribute where
toQuery :: DescribeInstanceAttribute -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeInstanceAttributeResponse = DescribeInstanceAttributeResponse'
{
DescribeInstanceAttributeResponse -> Maybe Attribute
attribute :: Prelude.Maybe Attribute,
DescribeInstanceAttributeResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeInstanceAttributeResponse
-> DescribeInstanceAttributeResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeInstanceAttributeResponse
-> DescribeInstanceAttributeResponse -> Bool
$c/= :: DescribeInstanceAttributeResponse
-> DescribeInstanceAttributeResponse -> Bool
== :: DescribeInstanceAttributeResponse
-> DescribeInstanceAttributeResponse -> Bool
$c== :: DescribeInstanceAttributeResponse
-> DescribeInstanceAttributeResponse -> Bool
Prelude.Eq, ReadPrec [DescribeInstanceAttributeResponse]
ReadPrec DescribeInstanceAttributeResponse
Int -> ReadS DescribeInstanceAttributeResponse
ReadS [DescribeInstanceAttributeResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeInstanceAttributeResponse]
$creadListPrec :: ReadPrec [DescribeInstanceAttributeResponse]
readPrec :: ReadPrec DescribeInstanceAttributeResponse
$creadPrec :: ReadPrec DescribeInstanceAttributeResponse
readList :: ReadS [DescribeInstanceAttributeResponse]
$creadList :: ReadS [DescribeInstanceAttributeResponse]
readsPrec :: Int -> ReadS DescribeInstanceAttributeResponse
$creadsPrec :: Int -> ReadS DescribeInstanceAttributeResponse
Prelude.Read, Int -> DescribeInstanceAttributeResponse -> ShowS
[DescribeInstanceAttributeResponse] -> ShowS
DescribeInstanceAttributeResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeInstanceAttributeResponse] -> ShowS
$cshowList :: [DescribeInstanceAttributeResponse] -> ShowS
show :: DescribeInstanceAttributeResponse -> String
$cshow :: DescribeInstanceAttributeResponse -> String
showsPrec :: Int -> DescribeInstanceAttributeResponse -> ShowS
$cshowsPrec :: Int -> DescribeInstanceAttributeResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeInstanceAttributeResponse x
-> DescribeInstanceAttributeResponse
forall x.
DescribeInstanceAttributeResponse
-> Rep DescribeInstanceAttributeResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeInstanceAttributeResponse x
-> DescribeInstanceAttributeResponse
$cfrom :: forall x.
DescribeInstanceAttributeResponse
-> Rep DescribeInstanceAttributeResponse x
Prelude.Generic)
newDescribeInstanceAttributeResponse ::
Prelude.Int ->
DescribeInstanceAttributeResponse
newDescribeInstanceAttributeResponse :: Int -> DescribeInstanceAttributeResponse
newDescribeInstanceAttributeResponse Int
pHttpStatus_ =
DescribeInstanceAttributeResponse'
{ $sel:attribute:DescribeInstanceAttributeResponse' :: Maybe Attribute
attribute =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeInstanceAttributeResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeInstanceAttributeResponse_attribute :: Lens.Lens' DescribeInstanceAttributeResponse (Prelude.Maybe Attribute)
describeInstanceAttributeResponse_attribute :: Lens' DescribeInstanceAttributeResponse (Maybe Attribute)
describeInstanceAttributeResponse_attribute = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInstanceAttributeResponse' {Maybe Attribute
attribute :: Maybe Attribute
$sel:attribute:DescribeInstanceAttributeResponse' :: DescribeInstanceAttributeResponse -> Maybe Attribute
attribute} -> Maybe Attribute
attribute) (\s :: DescribeInstanceAttributeResponse
s@DescribeInstanceAttributeResponse' {} Maybe Attribute
a -> DescribeInstanceAttributeResponse
s {$sel:attribute:DescribeInstanceAttributeResponse' :: Maybe Attribute
attribute = Maybe Attribute
a} :: DescribeInstanceAttributeResponse)
describeInstanceAttributeResponse_httpStatus :: Lens.Lens' DescribeInstanceAttributeResponse Prelude.Int
describeInstanceAttributeResponse_httpStatus :: Lens' DescribeInstanceAttributeResponse Int
describeInstanceAttributeResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInstanceAttributeResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeInstanceAttributeResponse' :: DescribeInstanceAttributeResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeInstanceAttributeResponse
s@DescribeInstanceAttributeResponse' {} Int
a -> DescribeInstanceAttributeResponse
s {$sel:httpStatus:DescribeInstanceAttributeResponse' :: Int
httpStatus = Int
a} :: DescribeInstanceAttributeResponse)
instance
Prelude.NFData
DescribeInstanceAttributeResponse
where
rnf :: DescribeInstanceAttributeResponse -> ()
rnf DescribeInstanceAttributeResponse' {Int
Maybe Attribute
httpStatus :: Int
attribute :: Maybe Attribute
$sel:httpStatus:DescribeInstanceAttributeResponse' :: DescribeInstanceAttributeResponse -> Int
$sel:attribute:DescribeInstanceAttributeResponse' :: DescribeInstanceAttributeResponse -> Maybe Attribute
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Attribute
attribute
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus