{-# 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.CloudFront.DescribeFunction
(
DescribeFunction (..),
newDescribeFunction,
describeFunction_stage,
describeFunction_name,
DescribeFunctionResponse (..),
newDescribeFunctionResponse,
describeFunctionResponse_eTag,
describeFunctionResponse_functionSummary,
describeFunctionResponse_httpStatus,
)
where
import Amazonka.CloudFront.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 DescribeFunction = DescribeFunction'
{
DescribeFunction -> Maybe FunctionStage
stage :: Prelude.Maybe FunctionStage,
DescribeFunction -> Text
name :: Prelude.Text
}
deriving (DescribeFunction -> DescribeFunction -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeFunction -> DescribeFunction -> Bool
$c/= :: DescribeFunction -> DescribeFunction -> Bool
== :: DescribeFunction -> DescribeFunction -> Bool
$c== :: DescribeFunction -> DescribeFunction -> Bool
Prelude.Eq, ReadPrec [DescribeFunction]
ReadPrec DescribeFunction
Int -> ReadS DescribeFunction
ReadS [DescribeFunction]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeFunction]
$creadListPrec :: ReadPrec [DescribeFunction]
readPrec :: ReadPrec DescribeFunction
$creadPrec :: ReadPrec DescribeFunction
readList :: ReadS [DescribeFunction]
$creadList :: ReadS [DescribeFunction]
readsPrec :: Int -> ReadS DescribeFunction
$creadsPrec :: Int -> ReadS DescribeFunction
Prelude.Read, Int -> DescribeFunction -> ShowS
[DescribeFunction] -> ShowS
DescribeFunction -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeFunction] -> ShowS
$cshowList :: [DescribeFunction] -> ShowS
show :: DescribeFunction -> String
$cshow :: DescribeFunction -> String
showsPrec :: Int -> DescribeFunction -> ShowS
$cshowsPrec :: Int -> DescribeFunction -> ShowS
Prelude.Show, forall x. Rep DescribeFunction x -> DescribeFunction
forall x. DescribeFunction -> Rep DescribeFunction x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeFunction x -> DescribeFunction
$cfrom :: forall x. DescribeFunction -> Rep DescribeFunction x
Prelude.Generic)
newDescribeFunction ::
Prelude.Text ->
DescribeFunction
newDescribeFunction :: Text -> DescribeFunction
newDescribeFunction Text
pName_ =
DescribeFunction'
{ $sel:stage:DescribeFunction' :: Maybe FunctionStage
stage = forall a. Maybe a
Prelude.Nothing,
$sel:name:DescribeFunction' :: Text
name = Text
pName_
}
describeFunction_stage :: Lens.Lens' DescribeFunction (Prelude.Maybe FunctionStage)
describeFunction_stage :: Lens' DescribeFunction (Maybe FunctionStage)
describeFunction_stage = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFunction' {Maybe FunctionStage
stage :: Maybe FunctionStage
$sel:stage:DescribeFunction' :: DescribeFunction -> Maybe FunctionStage
stage} -> Maybe FunctionStage
stage) (\s :: DescribeFunction
s@DescribeFunction' {} Maybe FunctionStage
a -> DescribeFunction
s {$sel:stage:DescribeFunction' :: Maybe FunctionStage
stage = Maybe FunctionStage
a} :: DescribeFunction)
describeFunction_name :: Lens.Lens' DescribeFunction Prelude.Text
describeFunction_name :: Lens' DescribeFunction Text
describeFunction_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFunction' {Text
name :: Text
$sel:name:DescribeFunction' :: DescribeFunction -> Text
name} -> Text
name) (\s :: DescribeFunction
s@DescribeFunction' {} Text
a -> DescribeFunction
s {$sel:name:DescribeFunction' :: Text
name = Text
a} :: DescribeFunction)
instance Core.AWSRequest DescribeFunction where
type
AWSResponse DescribeFunction =
DescribeFunctionResponse
request :: (Service -> Service)
-> DescribeFunction -> Request DescribeFunction
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 DescribeFunction
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeFunction)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe Text
-> Maybe FunctionSummary -> Int -> DescribeFunctionResponse
DescribeFunctionResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (ResponseHeaders
h forall a.
FromText a =>
ResponseHeaders -> HeaderName -> Either String (Maybe a)
Data..#? HeaderName
"ETag")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall a. FromXML a => [Node] -> Either String a
Data.parseXML [Node]
x)
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 DescribeFunction where
hashWithSalt :: Int -> DescribeFunction -> Int
hashWithSalt Int
_salt DescribeFunction' {Maybe FunctionStage
Text
name :: Text
stage :: Maybe FunctionStage
$sel:name:DescribeFunction' :: DescribeFunction -> Text
$sel:stage:DescribeFunction' :: DescribeFunction -> Maybe FunctionStage
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FunctionStage
stage
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
instance Prelude.NFData DescribeFunction where
rnf :: DescribeFunction -> ()
rnf DescribeFunction' {Maybe FunctionStage
Text
name :: Text
stage :: Maybe FunctionStage
$sel:name:DescribeFunction' :: DescribeFunction -> Text
$sel:stage:DescribeFunction' :: DescribeFunction -> Maybe FunctionStage
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe FunctionStage
stage seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
instance Data.ToHeaders DescribeFunction where
toHeaders :: DescribeFunction -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath DescribeFunction where
toPath :: DescribeFunction -> ByteString
toPath DescribeFunction' {Maybe FunctionStage
Text
name :: Text
stage :: Maybe FunctionStage
$sel:name:DescribeFunction' :: DescribeFunction -> Text
$sel:stage:DescribeFunction' :: DescribeFunction -> Maybe FunctionStage
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2020-05-31/function/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
name,
ByteString
"/describe"
]
instance Data.ToQuery DescribeFunction where
toQuery :: DescribeFunction -> QueryString
toQuery DescribeFunction' {Maybe FunctionStage
Text
name :: Text
stage :: Maybe FunctionStage
$sel:name:DescribeFunction' :: DescribeFunction -> Text
$sel:stage:DescribeFunction' :: DescribeFunction -> Maybe FunctionStage
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"Stage" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe FunctionStage
stage]
data DescribeFunctionResponse = DescribeFunctionResponse'
{
DescribeFunctionResponse -> Maybe Text
eTag :: Prelude.Maybe Prelude.Text,
DescribeFunctionResponse -> Maybe FunctionSummary
functionSummary :: Prelude.Maybe FunctionSummary,
DescribeFunctionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeFunctionResponse -> DescribeFunctionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeFunctionResponse -> DescribeFunctionResponse -> Bool
$c/= :: DescribeFunctionResponse -> DescribeFunctionResponse -> Bool
== :: DescribeFunctionResponse -> DescribeFunctionResponse -> Bool
$c== :: DescribeFunctionResponse -> DescribeFunctionResponse -> Bool
Prelude.Eq, ReadPrec [DescribeFunctionResponse]
ReadPrec DescribeFunctionResponse
Int -> ReadS DescribeFunctionResponse
ReadS [DescribeFunctionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeFunctionResponse]
$creadListPrec :: ReadPrec [DescribeFunctionResponse]
readPrec :: ReadPrec DescribeFunctionResponse
$creadPrec :: ReadPrec DescribeFunctionResponse
readList :: ReadS [DescribeFunctionResponse]
$creadList :: ReadS [DescribeFunctionResponse]
readsPrec :: Int -> ReadS DescribeFunctionResponse
$creadsPrec :: Int -> ReadS DescribeFunctionResponse
Prelude.Read, Int -> DescribeFunctionResponse -> ShowS
[DescribeFunctionResponse] -> ShowS
DescribeFunctionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeFunctionResponse] -> ShowS
$cshowList :: [DescribeFunctionResponse] -> ShowS
show :: DescribeFunctionResponse -> String
$cshow :: DescribeFunctionResponse -> String
showsPrec :: Int -> DescribeFunctionResponse -> ShowS
$cshowsPrec :: Int -> DescribeFunctionResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeFunctionResponse x -> DescribeFunctionResponse
forall x.
DescribeFunctionResponse -> Rep DescribeFunctionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeFunctionResponse x -> DescribeFunctionResponse
$cfrom :: forall x.
DescribeFunctionResponse -> Rep DescribeFunctionResponse x
Prelude.Generic)
newDescribeFunctionResponse ::
Prelude.Int ->
DescribeFunctionResponse
newDescribeFunctionResponse :: Int -> DescribeFunctionResponse
newDescribeFunctionResponse Int
pHttpStatus_ =
DescribeFunctionResponse'
{ $sel:eTag:DescribeFunctionResponse' :: Maybe Text
eTag = forall a. Maybe a
Prelude.Nothing,
$sel:functionSummary:DescribeFunctionResponse' :: Maybe FunctionSummary
functionSummary = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeFunctionResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeFunctionResponse_eTag :: Lens.Lens' DescribeFunctionResponse (Prelude.Maybe Prelude.Text)
describeFunctionResponse_eTag :: Lens' DescribeFunctionResponse (Maybe Text)
describeFunctionResponse_eTag = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFunctionResponse' {Maybe Text
eTag :: Maybe Text
$sel:eTag:DescribeFunctionResponse' :: DescribeFunctionResponse -> Maybe Text
eTag} -> Maybe Text
eTag) (\s :: DescribeFunctionResponse
s@DescribeFunctionResponse' {} Maybe Text
a -> DescribeFunctionResponse
s {$sel:eTag:DescribeFunctionResponse' :: Maybe Text
eTag = Maybe Text
a} :: DescribeFunctionResponse)
describeFunctionResponse_functionSummary :: Lens.Lens' DescribeFunctionResponse (Prelude.Maybe FunctionSummary)
describeFunctionResponse_functionSummary :: Lens' DescribeFunctionResponse (Maybe FunctionSummary)
describeFunctionResponse_functionSummary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFunctionResponse' {Maybe FunctionSummary
functionSummary :: Maybe FunctionSummary
$sel:functionSummary:DescribeFunctionResponse' :: DescribeFunctionResponse -> Maybe FunctionSummary
functionSummary} -> Maybe FunctionSummary
functionSummary) (\s :: DescribeFunctionResponse
s@DescribeFunctionResponse' {} Maybe FunctionSummary
a -> DescribeFunctionResponse
s {$sel:functionSummary:DescribeFunctionResponse' :: Maybe FunctionSummary
functionSummary = Maybe FunctionSummary
a} :: DescribeFunctionResponse)
describeFunctionResponse_httpStatus :: Lens.Lens' DescribeFunctionResponse Prelude.Int
describeFunctionResponse_httpStatus :: Lens' DescribeFunctionResponse Int
describeFunctionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeFunctionResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeFunctionResponse' :: DescribeFunctionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeFunctionResponse
s@DescribeFunctionResponse' {} Int
a -> DescribeFunctionResponse
s {$sel:httpStatus:DescribeFunctionResponse' :: Int
httpStatus = Int
a} :: DescribeFunctionResponse)
instance Prelude.NFData DescribeFunctionResponse where
rnf :: DescribeFunctionResponse -> ()
rnf DescribeFunctionResponse' {Int
Maybe Text
Maybe FunctionSummary
httpStatus :: Int
functionSummary :: Maybe FunctionSummary
eTag :: Maybe Text
$sel:httpStatus:DescribeFunctionResponse' :: DescribeFunctionResponse -> Int
$sel:functionSummary:DescribeFunctionResponse' :: DescribeFunctionResponse -> Maybe FunctionSummary
$sel:eTag:DescribeFunctionResponse' :: DescribeFunctionResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
eTag
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FunctionSummary
functionSummary
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus