{-# 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.MediaConnect.DescribeOffering
(
DescribeOffering (..),
newDescribeOffering,
describeOffering_offeringArn,
DescribeOfferingResponse (..),
newDescribeOfferingResponse,
describeOfferingResponse_offering,
describeOfferingResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MediaConnect.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeOffering = DescribeOffering'
{
DescribeOffering -> Text
offeringArn :: Prelude.Text
}
deriving (DescribeOffering -> DescribeOffering -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeOffering -> DescribeOffering -> Bool
$c/= :: DescribeOffering -> DescribeOffering -> Bool
== :: DescribeOffering -> DescribeOffering -> Bool
$c== :: DescribeOffering -> DescribeOffering -> Bool
Prelude.Eq, ReadPrec [DescribeOffering]
ReadPrec DescribeOffering
Int -> ReadS DescribeOffering
ReadS [DescribeOffering]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeOffering]
$creadListPrec :: ReadPrec [DescribeOffering]
readPrec :: ReadPrec DescribeOffering
$creadPrec :: ReadPrec DescribeOffering
readList :: ReadS [DescribeOffering]
$creadList :: ReadS [DescribeOffering]
readsPrec :: Int -> ReadS DescribeOffering
$creadsPrec :: Int -> ReadS DescribeOffering
Prelude.Read, Int -> DescribeOffering -> ShowS
[DescribeOffering] -> ShowS
DescribeOffering -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeOffering] -> ShowS
$cshowList :: [DescribeOffering] -> ShowS
show :: DescribeOffering -> String
$cshow :: DescribeOffering -> String
showsPrec :: Int -> DescribeOffering -> ShowS
$cshowsPrec :: Int -> DescribeOffering -> ShowS
Prelude.Show, forall x. Rep DescribeOffering x -> DescribeOffering
forall x. DescribeOffering -> Rep DescribeOffering x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeOffering x -> DescribeOffering
$cfrom :: forall x. DescribeOffering -> Rep DescribeOffering x
Prelude.Generic)
newDescribeOffering ::
Prelude.Text ->
DescribeOffering
newDescribeOffering :: Text -> DescribeOffering
newDescribeOffering Text
pOfferingArn_ =
DescribeOffering' {$sel:offeringArn:DescribeOffering' :: Text
offeringArn = Text
pOfferingArn_}
describeOffering_offeringArn :: Lens.Lens' DescribeOffering Prelude.Text
describeOffering_offeringArn :: Lens' DescribeOffering Text
describeOffering_offeringArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeOffering' {Text
offeringArn :: Text
$sel:offeringArn:DescribeOffering' :: DescribeOffering -> Text
offeringArn} -> Text
offeringArn) (\s :: DescribeOffering
s@DescribeOffering' {} Text
a -> DescribeOffering
s {$sel:offeringArn:DescribeOffering' :: Text
offeringArn = Text
a} :: DescribeOffering)
instance Core.AWSRequest DescribeOffering where
type
AWSResponse DescribeOffering =
DescribeOfferingResponse
request :: (Service -> Service)
-> DescribeOffering -> Request DescribeOffering
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 DescribeOffering
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeOffering)))
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 Offering -> Int -> DescribeOfferingResponse
DescribeOfferingResponse'
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
"offering")
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 DescribeOffering where
hashWithSalt :: Int -> DescribeOffering -> Int
hashWithSalt Int
_salt DescribeOffering' {Text
offeringArn :: Text
$sel:offeringArn:DescribeOffering' :: DescribeOffering -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
offeringArn
instance Prelude.NFData DescribeOffering where
rnf :: DescribeOffering -> ()
rnf DescribeOffering' {Text
offeringArn :: Text
$sel:offeringArn:DescribeOffering' :: DescribeOffering -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
offeringArn
instance Data.ToHeaders DescribeOffering where
toHeaders :: DescribeOffering -> 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 DescribeOffering where
toPath :: DescribeOffering -> ByteString
toPath DescribeOffering' {Text
offeringArn :: Text
$sel:offeringArn:DescribeOffering' :: DescribeOffering -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/v1/offerings/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
offeringArn]
instance Data.ToQuery DescribeOffering where
toQuery :: DescribeOffering -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeOfferingResponse = DescribeOfferingResponse'
{ DescribeOfferingResponse -> Maybe Offering
offering :: Prelude.Maybe Offering,
DescribeOfferingResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeOfferingResponse -> DescribeOfferingResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeOfferingResponse -> DescribeOfferingResponse -> Bool
$c/= :: DescribeOfferingResponse -> DescribeOfferingResponse -> Bool
== :: DescribeOfferingResponse -> DescribeOfferingResponse -> Bool
$c== :: DescribeOfferingResponse -> DescribeOfferingResponse -> Bool
Prelude.Eq, ReadPrec [DescribeOfferingResponse]
ReadPrec DescribeOfferingResponse
Int -> ReadS DescribeOfferingResponse
ReadS [DescribeOfferingResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeOfferingResponse]
$creadListPrec :: ReadPrec [DescribeOfferingResponse]
readPrec :: ReadPrec DescribeOfferingResponse
$creadPrec :: ReadPrec DescribeOfferingResponse
readList :: ReadS [DescribeOfferingResponse]
$creadList :: ReadS [DescribeOfferingResponse]
readsPrec :: Int -> ReadS DescribeOfferingResponse
$creadsPrec :: Int -> ReadS DescribeOfferingResponse
Prelude.Read, Int -> DescribeOfferingResponse -> ShowS
[DescribeOfferingResponse] -> ShowS
DescribeOfferingResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeOfferingResponse] -> ShowS
$cshowList :: [DescribeOfferingResponse] -> ShowS
show :: DescribeOfferingResponse -> String
$cshow :: DescribeOfferingResponse -> String
showsPrec :: Int -> DescribeOfferingResponse -> ShowS
$cshowsPrec :: Int -> DescribeOfferingResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeOfferingResponse x -> DescribeOfferingResponse
forall x.
DescribeOfferingResponse -> Rep DescribeOfferingResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeOfferingResponse x -> DescribeOfferingResponse
$cfrom :: forall x.
DescribeOfferingResponse -> Rep DescribeOfferingResponse x
Prelude.Generic)
newDescribeOfferingResponse ::
Prelude.Int ->
DescribeOfferingResponse
newDescribeOfferingResponse :: Int -> DescribeOfferingResponse
newDescribeOfferingResponse Int
pHttpStatus_ =
DescribeOfferingResponse'
{ $sel:offering:DescribeOfferingResponse' :: Maybe Offering
offering =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeOfferingResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeOfferingResponse_offering :: Lens.Lens' DescribeOfferingResponse (Prelude.Maybe Offering)
describeOfferingResponse_offering :: Lens' DescribeOfferingResponse (Maybe Offering)
describeOfferingResponse_offering = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeOfferingResponse' {Maybe Offering
offering :: Maybe Offering
$sel:offering:DescribeOfferingResponse' :: DescribeOfferingResponse -> Maybe Offering
offering} -> Maybe Offering
offering) (\s :: DescribeOfferingResponse
s@DescribeOfferingResponse' {} Maybe Offering
a -> DescribeOfferingResponse
s {$sel:offering:DescribeOfferingResponse' :: Maybe Offering
offering = Maybe Offering
a} :: DescribeOfferingResponse)
describeOfferingResponse_httpStatus :: Lens.Lens' DescribeOfferingResponse Prelude.Int
describeOfferingResponse_httpStatus :: Lens' DescribeOfferingResponse Int
describeOfferingResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeOfferingResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeOfferingResponse' :: DescribeOfferingResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeOfferingResponse
s@DescribeOfferingResponse' {} Int
a -> DescribeOfferingResponse
s {$sel:httpStatus:DescribeOfferingResponse' :: Int
httpStatus = Int
a} :: DescribeOfferingResponse)
instance Prelude.NFData DescribeOfferingResponse where
rnf :: DescribeOfferingResponse -> ()
rnf DescribeOfferingResponse' {Int
Maybe Offering
httpStatus :: Int
offering :: Maybe Offering
$sel:httpStatus:DescribeOfferingResponse' :: DescribeOfferingResponse -> Int
$sel:offering:DescribeOfferingResponse' :: DescribeOfferingResponse -> Maybe Offering
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Offering
offering
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus