{-# 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.MediaStore.DescribeContainer
(
DescribeContainer (..),
newDescribeContainer,
describeContainer_containerName,
DescribeContainerResponse (..),
newDescribeContainerResponse,
describeContainerResponse_container,
describeContainerResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MediaStore.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeContainer = DescribeContainer'
{
DescribeContainer -> Maybe Text
containerName :: Prelude.Maybe Prelude.Text
}
deriving (DescribeContainer -> DescribeContainer -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeContainer -> DescribeContainer -> Bool
$c/= :: DescribeContainer -> DescribeContainer -> Bool
== :: DescribeContainer -> DescribeContainer -> Bool
$c== :: DescribeContainer -> DescribeContainer -> Bool
Prelude.Eq, ReadPrec [DescribeContainer]
ReadPrec DescribeContainer
Int -> ReadS DescribeContainer
ReadS [DescribeContainer]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeContainer]
$creadListPrec :: ReadPrec [DescribeContainer]
readPrec :: ReadPrec DescribeContainer
$creadPrec :: ReadPrec DescribeContainer
readList :: ReadS [DescribeContainer]
$creadList :: ReadS [DescribeContainer]
readsPrec :: Int -> ReadS DescribeContainer
$creadsPrec :: Int -> ReadS DescribeContainer
Prelude.Read, Int -> DescribeContainer -> ShowS
[DescribeContainer] -> ShowS
DescribeContainer -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeContainer] -> ShowS
$cshowList :: [DescribeContainer] -> ShowS
show :: DescribeContainer -> String
$cshow :: DescribeContainer -> String
showsPrec :: Int -> DescribeContainer -> ShowS
$cshowsPrec :: Int -> DescribeContainer -> ShowS
Prelude.Show, forall x. Rep DescribeContainer x -> DescribeContainer
forall x. DescribeContainer -> Rep DescribeContainer x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeContainer x -> DescribeContainer
$cfrom :: forall x. DescribeContainer -> Rep DescribeContainer x
Prelude.Generic)
newDescribeContainer ::
DescribeContainer
newDescribeContainer :: DescribeContainer
newDescribeContainer =
DescribeContainer' {$sel:containerName:DescribeContainer' :: Maybe Text
containerName = forall a. Maybe a
Prelude.Nothing}
describeContainer_containerName :: Lens.Lens' DescribeContainer (Prelude.Maybe Prelude.Text)
describeContainer_containerName :: Lens' DescribeContainer (Maybe Text)
describeContainer_containerName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeContainer' {Maybe Text
containerName :: Maybe Text
$sel:containerName:DescribeContainer' :: DescribeContainer -> Maybe Text
containerName} -> Maybe Text
containerName) (\s :: DescribeContainer
s@DescribeContainer' {} Maybe Text
a -> DescribeContainer
s {$sel:containerName:DescribeContainer' :: Maybe Text
containerName = Maybe Text
a} :: DescribeContainer)
instance Core.AWSRequest DescribeContainer where
type
AWSResponse DescribeContainer =
DescribeContainerResponse
request :: (Service -> Service)
-> DescribeContainer -> Request DescribeContainer
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 DescribeContainer
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeContainer)))
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 Container -> Int -> DescribeContainerResponse
DescribeContainerResponse'
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
"Container")
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 DescribeContainer where
hashWithSalt :: Int -> DescribeContainer -> Int
hashWithSalt Int
_salt DescribeContainer' {Maybe Text
containerName :: Maybe Text
$sel:containerName:DescribeContainer' :: DescribeContainer -> Maybe Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
containerName
instance Prelude.NFData DescribeContainer where
rnf :: DescribeContainer -> ()
rnf DescribeContainer' {Maybe Text
containerName :: Maybe Text
$sel:containerName:DescribeContainer' :: DescribeContainer -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
containerName
instance Data.ToHeaders DescribeContainer where
toHeaders :: DescribeContainer -> 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
"MediaStore_20170901.DescribeContainer" ::
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 DescribeContainer where
toJSON :: DescribeContainer -> Value
toJSON DescribeContainer' {Maybe Text
containerName :: Maybe Text
$sel:containerName:DescribeContainer' :: DescribeContainer -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ContainerName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
containerName
]
)
instance Data.ToPath DescribeContainer where
toPath :: DescribeContainer -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeContainer where
toQuery :: DescribeContainer -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeContainerResponse = DescribeContainerResponse'
{
DescribeContainerResponse -> Maybe Container
container :: Prelude.Maybe Container,
DescribeContainerResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeContainerResponse -> DescribeContainerResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeContainerResponse -> DescribeContainerResponse -> Bool
$c/= :: DescribeContainerResponse -> DescribeContainerResponse -> Bool
== :: DescribeContainerResponse -> DescribeContainerResponse -> Bool
$c== :: DescribeContainerResponse -> DescribeContainerResponse -> Bool
Prelude.Eq, ReadPrec [DescribeContainerResponse]
ReadPrec DescribeContainerResponse
Int -> ReadS DescribeContainerResponse
ReadS [DescribeContainerResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeContainerResponse]
$creadListPrec :: ReadPrec [DescribeContainerResponse]
readPrec :: ReadPrec DescribeContainerResponse
$creadPrec :: ReadPrec DescribeContainerResponse
readList :: ReadS [DescribeContainerResponse]
$creadList :: ReadS [DescribeContainerResponse]
readsPrec :: Int -> ReadS DescribeContainerResponse
$creadsPrec :: Int -> ReadS DescribeContainerResponse
Prelude.Read, Int -> DescribeContainerResponse -> ShowS
[DescribeContainerResponse] -> ShowS
DescribeContainerResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeContainerResponse] -> ShowS
$cshowList :: [DescribeContainerResponse] -> ShowS
show :: DescribeContainerResponse -> String
$cshow :: DescribeContainerResponse -> String
showsPrec :: Int -> DescribeContainerResponse -> ShowS
$cshowsPrec :: Int -> DescribeContainerResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeContainerResponse x -> DescribeContainerResponse
forall x.
DescribeContainerResponse -> Rep DescribeContainerResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeContainerResponse x -> DescribeContainerResponse
$cfrom :: forall x.
DescribeContainerResponse -> Rep DescribeContainerResponse x
Prelude.Generic)
newDescribeContainerResponse ::
Prelude.Int ->
DescribeContainerResponse
newDescribeContainerResponse :: Int -> DescribeContainerResponse
newDescribeContainerResponse Int
pHttpStatus_ =
DescribeContainerResponse'
{ $sel:container:DescribeContainerResponse' :: Maybe Container
container =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeContainerResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeContainerResponse_container :: Lens.Lens' DescribeContainerResponse (Prelude.Maybe Container)
describeContainerResponse_container :: Lens' DescribeContainerResponse (Maybe Container)
describeContainerResponse_container = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeContainerResponse' {Maybe Container
container :: Maybe Container
$sel:container:DescribeContainerResponse' :: DescribeContainerResponse -> Maybe Container
container} -> Maybe Container
container) (\s :: DescribeContainerResponse
s@DescribeContainerResponse' {} Maybe Container
a -> DescribeContainerResponse
s {$sel:container:DescribeContainerResponse' :: Maybe Container
container = Maybe Container
a} :: DescribeContainerResponse)
describeContainerResponse_httpStatus :: Lens.Lens' DescribeContainerResponse Prelude.Int
describeContainerResponse_httpStatus :: Lens' DescribeContainerResponse Int
describeContainerResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeContainerResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeContainerResponse' :: DescribeContainerResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeContainerResponse
s@DescribeContainerResponse' {} Int
a -> DescribeContainerResponse
s {$sel:httpStatus:DescribeContainerResponse' :: Int
httpStatus = Int
a} :: DescribeContainerResponse)
instance Prelude.NFData DescribeContainerResponse where
rnf :: DescribeContainerResponse -> ()
rnf DescribeContainerResponse' {Int
Maybe Container
httpStatus :: Int
container :: Maybe Container
$sel:httpStatus:DescribeContainerResponse' :: DescribeContainerResponse -> Int
$sel:container:DescribeContainerResponse' :: DescribeContainerResponse -> Maybe Container
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Container
container
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus