{-# 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.DescribeInstanceStorageConfig
(
DescribeInstanceStorageConfig (..),
newDescribeInstanceStorageConfig,
describeInstanceStorageConfig_instanceId,
describeInstanceStorageConfig_associationId,
describeInstanceStorageConfig_resourceType,
DescribeInstanceStorageConfigResponse (..),
newDescribeInstanceStorageConfigResponse,
describeInstanceStorageConfigResponse_storageConfig,
describeInstanceStorageConfigResponse_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 DescribeInstanceStorageConfig = DescribeInstanceStorageConfig'
{
DescribeInstanceStorageConfig -> Text
instanceId :: Prelude.Text,
DescribeInstanceStorageConfig -> Text
associationId :: Prelude.Text,
DescribeInstanceStorageConfig -> InstanceStorageResourceType
resourceType :: InstanceStorageResourceType
}
deriving (DescribeInstanceStorageConfig
-> DescribeInstanceStorageConfig -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeInstanceStorageConfig
-> DescribeInstanceStorageConfig -> Bool
$c/= :: DescribeInstanceStorageConfig
-> DescribeInstanceStorageConfig -> Bool
== :: DescribeInstanceStorageConfig
-> DescribeInstanceStorageConfig -> Bool
$c== :: DescribeInstanceStorageConfig
-> DescribeInstanceStorageConfig -> Bool
Prelude.Eq, ReadPrec [DescribeInstanceStorageConfig]
ReadPrec DescribeInstanceStorageConfig
Int -> ReadS DescribeInstanceStorageConfig
ReadS [DescribeInstanceStorageConfig]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeInstanceStorageConfig]
$creadListPrec :: ReadPrec [DescribeInstanceStorageConfig]
readPrec :: ReadPrec DescribeInstanceStorageConfig
$creadPrec :: ReadPrec DescribeInstanceStorageConfig
readList :: ReadS [DescribeInstanceStorageConfig]
$creadList :: ReadS [DescribeInstanceStorageConfig]
readsPrec :: Int -> ReadS DescribeInstanceStorageConfig
$creadsPrec :: Int -> ReadS DescribeInstanceStorageConfig
Prelude.Read, Int -> DescribeInstanceStorageConfig -> ShowS
[DescribeInstanceStorageConfig] -> ShowS
DescribeInstanceStorageConfig -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeInstanceStorageConfig] -> ShowS
$cshowList :: [DescribeInstanceStorageConfig] -> ShowS
show :: DescribeInstanceStorageConfig -> String
$cshow :: DescribeInstanceStorageConfig -> String
showsPrec :: Int -> DescribeInstanceStorageConfig -> ShowS
$cshowsPrec :: Int -> DescribeInstanceStorageConfig -> ShowS
Prelude.Show, forall x.
Rep DescribeInstanceStorageConfig x
-> DescribeInstanceStorageConfig
forall x.
DescribeInstanceStorageConfig
-> Rep DescribeInstanceStorageConfig x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeInstanceStorageConfig x
-> DescribeInstanceStorageConfig
$cfrom :: forall x.
DescribeInstanceStorageConfig
-> Rep DescribeInstanceStorageConfig x
Prelude.Generic)
newDescribeInstanceStorageConfig ::
Prelude.Text ->
Prelude.Text ->
InstanceStorageResourceType ->
DescribeInstanceStorageConfig
newDescribeInstanceStorageConfig :: Text
-> Text
-> InstanceStorageResourceType
-> DescribeInstanceStorageConfig
newDescribeInstanceStorageConfig
Text
pInstanceId_
Text
pAssociationId_
InstanceStorageResourceType
pResourceType_ =
DescribeInstanceStorageConfig'
{ $sel:instanceId:DescribeInstanceStorageConfig' :: Text
instanceId =
Text
pInstanceId_,
$sel:associationId:DescribeInstanceStorageConfig' :: Text
associationId = Text
pAssociationId_,
$sel:resourceType:DescribeInstanceStorageConfig' :: InstanceStorageResourceType
resourceType = InstanceStorageResourceType
pResourceType_
}
describeInstanceStorageConfig_instanceId :: Lens.Lens' DescribeInstanceStorageConfig Prelude.Text
describeInstanceStorageConfig_instanceId :: Lens' DescribeInstanceStorageConfig Text
describeInstanceStorageConfig_instanceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInstanceStorageConfig' {Text
instanceId :: Text
$sel:instanceId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> Text
instanceId} -> Text
instanceId) (\s :: DescribeInstanceStorageConfig
s@DescribeInstanceStorageConfig' {} Text
a -> DescribeInstanceStorageConfig
s {$sel:instanceId:DescribeInstanceStorageConfig' :: Text
instanceId = Text
a} :: DescribeInstanceStorageConfig)
describeInstanceStorageConfig_associationId :: Lens.Lens' DescribeInstanceStorageConfig Prelude.Text
describeInstanceStorageConfig_associationId :: Lens' DescribeInstanceStorageConfig Text
describeInstanceStorageConfig_associationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInstanceStorageConfig' {Text
associationId :: Text
$sel:associationId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> Text
associationId} -> Text
associationId) (\s :: DescribeInstanceStorageConfig
s@DescribeInstanceStorageConfig' {} Text
a -> DescribeInstanceStorageConfig
s {$sel:associationId:DescribeInstanceStorageConfig' :: Text
associationId = Text
a} :: DescribeInstanceStorageConfig)
describeInstanceStorageConfig_resourceType :: Lens.Lens' DescribeInstanceStorageConfig InstanceStorageResourceType
describeInstanceStorageConfig_resourceType :: Lens' DescribeInstanceStorageConfig InstanceStorageResourceType
describeInstanceStorageConfig_resourceType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInstanceStorageConfig' {InstanceStorageResourceType
resourceType :: InstanceStorageResourceType
$sel:resourceType:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> InstanceStorageResourceType
resourceType} -> InstanceStorageResourceType
resourceType) (\s :: DescribeInstanceStorageConfig
s@DescribeInstanceStorageConfig' {} InstanceStorageResourceType
a -> DescribeInstanceStorageConfig
s {$sel:resourceType:DescribeInstanceStorageConfig' :: InstanceStorageResourceType
resourceType = InstanceStorageResourceType
a} :: DescribeInstanceStorageConfig)
instance
Core.AWSRequest
DescribeInstanceStorageConfig
where
type
AWSResponse DescribeInstanceStorageConfig =
DescribeInstanceStorageConfigResponse
request :: (Service -> Service)
-> DescribeInstanceStorageConfig
-> Request DescribeInstanceStorageConfig
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 DescribeInstanceStorageConfig
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeInstanceStorageConfig)))
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 InstanceStorageConfig
-> Int -> DescribeInstanceStorageConfigResponse
DescribeInstanceStorageConfigResponse'
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
"StorageConfig")
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
DescribeInstanceStorageConfig
where
hashWithSalt :: Int -> DescribeInstanceStorageConfig -> Int
hashWithSalt Int
_salt DescribeInstanceStorageConfig' {Text
InstanceStorageResourceType
resourceType :: InstanceStorageResourceType
associationId :: Text
instanceId :: Text
$sel:resourceType:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> InstanceStorageResourceType
$sel:associationId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> Text
$sel:instanceId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
associationId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` InstanceStorageResourceType
resourceType
instance Prelude.NFData DescribeInstanceStorageConfig where
rnf :: DescribeInstanceStorageConfig -> ()
rnf DescribeInstanceStorageConfig' {Text
InstanceStorageResourceType
resourceType :: InstanceStorageResourceType
associationId :: Text
instanceId :: Text
$sel:resourceType:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> InstanceStorageResourceType
$sel:associationId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> Text
$sel:instanceId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> 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 Text
associationId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf InstanceStorageResourceType
resourceType
instance Data.ToHeaders DescribeInstanceStorageConfig where
toHeaders :: DescribeInstanceStorageConfig -> 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 DescribeInstanceStorageConfig where
toPath :: DescribeInstanceStorageConfig -> ByteString
toPath DescribeInstanceStorageConfig' {Text
InstanceStorageResourceType
resourceType :: InstanceStorageResourceType
associationId :: Text
instanceId :: Text
$sel:resourceType:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> InstanceStorageResourceType
$sel:associationId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> Text
$sel:instanceId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/instance/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
instanceId,
ByteString
"/storage-config/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
associationId
]
instance Data.ToQuery DescribeInstanceStorageConfig where
toQuery :: DescribeInstanceStorageConfig -> QueryString
toQuery DescribeInstanceStorageConfig' {Text
InstanceStorageResourceType
resourceType :: InstanceStorageResourceType
associationId :: Text
instanceId :: Text
$sel:resourceType:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> InstanceStorageResourceType
$sel:associationId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> Text
$sel:instanceId:DescribeInstanceStorageConfig' :: DescribeInstanceStorageConfig -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"resourceType" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: InstanceStorageResourceType
resourceType]
data DescribeInstanceStorageConfigResponse = DescribeInstanceStorageConfigResponse'
{
DescribeInstanceStorageConfigResponse
-> Maybe InstanceStorageConfig
storageConfig :: Prelude.Maybe InstanceStorageConfig,
DescribeInstanceStorageConfigResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeInstanceStorageConfigResponse
-> DescribeInstanceStorageConfigResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeInstanceStorageConfigResponse
-> DescribeInstanceStorageConfigResponse -> Bool
$c/= :: DescribeInstanceStorageConfigResponse
-> DescribeInstanceStorageConfigResponse -> Bool
== :: DescribeInstanceStorageConfigResponse
-> DescribeInstanceStorageConfigResponse -> Bool
$c== :: DescribeInstanceStorageConfigResponse
-> DescribeInstanceStorageConfigResponse -> Bool
Prelude.Eq, ReadPrec [DescribeInstanceStorageConfigResponse]
ReadPrec DescribeInstanceStorageConfigResponse
Int -> ReadS DescribeInstanceStorageConfigResponse
ReadS [DescribeInstanceStorageConfigResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeInstanceStorageConfigResponse]
$creadListPrec :: ReadPrec [DescribeInstanceStorageConfigResponse]
readPrec :: ReadPrec DescribeInstanceStorageConfigResponse
$creadPrec :: ReadPrec DescribeInstanceStorageConfigResponse
readList :: ReadS [DescribeInstanceStorageConfigResponse]
$creadList :: ReadS [DescribeInstanceStorageConfigResponse]
readsPrec :: Int -> ReadS DescribeInstanceStorageConfigResponse
$creadsPrec :: Int -> ReadS DescribeInstanceStorageConfigResponse
Prelude.Read, Int -> DescribeInstanceStorageConfigResponse -> ShowS
[DescribeInstanceStorageConfigResponse] -> ShowS
DescribeInstanceStorageConfigResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeInstanceStorageConfigResponse] -> ShowS
$cshowList :: [DescribeInstanceStorageConfigResponse] -> ShowS
show :: DescribeInstanceStorageConfigResponse -> String
$cshow :: DescribeInstanceStorageConfigResponse -> String
showsPrec :: Int -> DescribeInstanceStorageConfigResponse -> ShowS
$cshowsPrec :: Int -> DescribeInstanceStorageConfigResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeInstanceStorageConfigResponse x
-> DescribeInstanceStorageConfigResponse
forall x.
DescribeInstanceStorageConfigResponse
-> Rep DescribeInstanceStorageConfigResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeInstanceStorageConfigResponse x
-> DescribeInstanceStorageConfigResponse
$cfrom :: forall x.
DescribeInstanceStorageConfigResponse
-> Rep DescribeInstanceStorageConfigResponse x
Prelude.Generic)
newDescribeInstanceStorageConfigResponse ::
Prelude.Int ->
DescribeInstanceStorageConfigResponse
newDescribeInstanceStorageConfigResponse :: Int -> DescribeInstanceStorageConfigResponse
newDescribeInstanceStorageConfigResponse Int
pHttpStatus_ =
DescribeInstanceStorageConfigResponse'
{ $sel:storageConfig:DescribeInstanceStorageConfigResponse' :: Maybe InstanceStorageConfig
storageConfig =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeInstanceStorageConfigResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeInstanceStorageConfigResponse_storageConfig :: Lens.Lens' DescribeInstanceStorageConfigResponse (Prelude.Maybe InstanceStorageConfig)
describeInstanceStorageConfigResponse_storageConfig :: Lens'
DescribeInstanceStorageConfigResponse (Maybe InstanceStorageConfig)
describeInstanceStorageConfigResponse_storageConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInstanceStorageConfigResponse' {Maybe InstanceStorageConfig
storageConfig :: Maybe InstanceStorageConfig
$sel:storageConfig:DescribeInstanceStorageConfigResponse' :: DescribeInstanceStorageConfigResponse
-> Maybe InstanceStorageConfig
storageConfig} -> Maybe InstanceStorageConfig
storageConfig) (\s :: DescribeInstanceStorageConfigResponse
s@DescribeInstanceStorageConfigResponse' {} Maybe InstanceStorageConfig
a -> DescribeInstanceStorageConfigResponse
s {$sel:storageConfig:DescribeInstanceStorageConfigResponse' :: Maybe InstanceStorageConfig
storageConfig = Maybe InstanceStorageConfig
a} :: DescribeInstanceStorageConfigResponse)
describeInstanceStorageConfigResponse_httpStatus :: Lens.Lens' DescribeInstanceStorageConfigResponse Prelude.Int
describeInstanceStorageConfigResponse_httpStatus :: Lens' DescribeInstanceStorageConfigResponse Int
describeInstanceStorageConfigResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInstanceStorageConfigResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeInstanceStorageConfigResponse' :: DescribeInstanceStorageConfigResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeInstanceStorageConfigResponse
s@DescribeInstanceStorageConfigResponse' {} Int
a -> DescribeInstanceStorageConfigResponse
s {$sel:httpStatus:DescribeInstanceStorageConfigResponse' :: Int
httpStatus = Int
a} :: DescribeInstanceStorageConfigResponse)
instance
Prelude.NFData
DescribeInstanceStorageConfigResponse
where
rnf :: DescribeInstanceStorageConfigResponse -> ()
rnf DescribeInstanceStorageConfigResponse' {Int
Maybe InstanceStorageConfig
httpStatus :: Int
storageConfig :: Maybe InstanceStorageConfig
$sel:httpStatus:DescribeInstanceStorageConfigResponse' :: DescribeInstanceStorageConfigResponse -> Int
$sel:storageConfig:DescribeInstanceStorageConfigResponse' :: DescribeInstanceStorageConfigResponse
-> Maybe InstanceStorageConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe InstanceStorageConfig
storageConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus