{-# 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.WAF.GetChangeTokenStatus
(
GetChangeTokenStatus (..),
newGetChangeTokenStatus,
getChangeTokenStatus_changeToken,
GetChangeTokenStatusResponse (..),
newGetChangeTokenStatusResponse,
getChangeTokenStatusResponse_changeTokenStatus,
getChangeTokenStatusResponse_httpStatus,
)
where
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
import Amazonka.WAF.Types
data GetChangeTokenStatus = GetChangeTokenStatus'
{
GetChangeTokenStatus -> Text
changeToken :: Prelude.Text
}
deriving (GetChangeTokenStatus -> GetChangeTokenStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetChangeTokenStatus -> GetChangeTokenStatus -> Bool
$c/= :: GetChangeTokenStatus -> GetChangeTokenStatus -> Bool
== :: GetChangeTokenStatus -> GetChangeTokenStatus -> Bool
$c== :: GetChangeTokenStatus -> GetChangeTokenStatus -> Bool
Prelude.Eq, ReadPrec [GetChangeTokenStatus]
ReadPrec GetChangeTokenStatus
Int -> ReadS GetChangeTokenStatus
ReadS [GetChangeTokenStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetChangeTokenStatus]
$creadListPrec :: ReadPrec [GetChangeTokenStatus]
readPrec :: ReadPrec GetChangeTokenStatus
$creadPrec :: ReadPrec GetChangeTokenStatus
readList :: ReadS [GetChangeTokenStatus]
$creadList :: ReadS [GetChangeTokenStatus]
readsPrec :: Int -> ReadS GetChangeTokenStatus
$creadsPrec :: Int -> ReadS GetChangeTokenStatus
Prelude.Read, Int -> GetChangeTokenStatus -> ShowS
[GetChangeTokenStatus] -> ShowS
GetChangeTokenStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetChangeTokenStatus] -> ShowS
$cshowList :: [GetChangeTokenStatus] -> ShowS
show :: GetChangeTokenStatus -> String
$cshow :: GetChangeTokenStatus -> String
showsPrec :: Int -> GetChangeTokenStatus -> ShowS
$cshowsPrec :: Int -> GetChangeTokenStatus -> ShowS
Prelude.Show, forall x. Rep GetChangeTokenStatus x -> GetChangeTokenStatus
forall x. GetChangeTokenStatus -> Rep GetChangeTokenStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetChangeTokenStatus x -> GetChangeTokenStatus
$cfrom :: forall x. GetChangeTokenStatus -> Rep GetChangeTokenStatus x
Prelude.Generic)
newGetChangeTokenStatus ::
Prelude.Text ->
GetChangeTokenStatus
newGetChangeTokenStatus :: Text -> GetChangeTokenStatus
newGetChangeTokenStatus Text
pChangeToken_ =
GetChangeTokenStatus' {$sel:changeToken:GetChangeTokenStatus' :: Text
changeToken = Text
pChangeToken_}
getChangeTokenStatus_changeToken :: Lens.Lens' GetChangeTokenStatus Prelude.Text
getChangeTokenStatus_changeToken :: Lens' GetChangeTokenStatus Text
getChangeTokenStatus_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetChangeTokenStatus' {Text
changeToken :: Text
$sel:changeToken:GetChangeTokenStatus' :: GetChangeTokenStatus -> Text
changeToken} -> Text
changeToken) (\s :: GetChangeTokenStatus
s@GetChangeTokenStatus' {} Text
a -> GetChangeTokenStatus
s {$sel:changeToken:GetChangeTokenStatus' :: Text
changeToken = Text
a} :: GetChangeTokenStatus)
instance Core.AWSRequest GetChangeTokenStatus where
type
AWSResponse GetChangeTokenStatus =
GetChangeTokenStatusResponse
request :: (Service -> Service)
-> GetChangeTokenStatus -> Request GetChangeTokenStatus
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 GetChangeTokenStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetChangeTokenStatus)))
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 ChangeTokenStatus -> Int -> GetChangeTokenStatusResponse
GetChangeTokenStatusResponse'
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
"ChangeTokenStatus")
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 GetChangeTokenStatus where
hashWithSalt :: Int -> GetChangeTokenStatus -> Int
hashWithSalt Int
_salt GetChangeTokenStatus' {Text
changeToken :: Text
$sel:changeToken:GetChangeTokenStatus' :: GetChangeTokenStatus -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
changeToken
instance Prelude.NFData GetChangeTokenStatus where
rnf :: GetChangeTokenStatus -> ()
rnf GetChangeTokenStatus' {Text
changeToken :: Text
$sel:changeToken:GetChangeTokenStatus' :: GetChangeTokenStatus -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
changeToken
instance Data.ToHeaders GetChangeTokenStatus where
toHeaders :: GetChangeTokenStatus -> 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
"AWSWAF_20150824.GetChangeTokenStatus" ::
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 GetChangeTokenStatus where
toJSON :: GetChangeTokenStatus -> Value
toJSON GetChangeTokenStatus' {Text
changeToken :: Text
$sel:changeToken:GetChangeTokenStatus' :: GetChangeTokenStatus -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"ChangeToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
changeToken)]
)
instance Data.ToPath GetChangeTokenStatus where
toPath :: GetChangeTokenStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetChangeTokenStatus where
toQuery :: GetChangeTokenStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetChangeTokenStatusResponse = GetChangeTokenStatusResponse'
{
GetChangeTokenStatusResponse -> Maybe ChangeTokenStatus
changeTokenStatus :: Prelude.Maybe ChangeTokenStatus,
GetChangeTokenStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetChangeTokenStatusResponse
-> GetChangeTokenStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetChangeTokenStatusResponse
-> GetChangeTokenStatusResponse -> Bool
$c/= :: GetChangeTokenStatusResponse
-> GetChangeTokenStatusResponse -> Bool
== :: GetChangeTokenStatusResponse
-> GetChangeTokenStatusResponse -> Bool
$c== :: GetChangeTokenStatusResponse
-> GetChangeTokenStatusResponse -> Bool
Prelude.Eq, ReadPrec [GetChangeTokenStatusResponse]
ReadPrec GetChangeTokenStatusResponse
Int -> ReadS GetChangeTokenStatusResponse
ReadS [GetChangeTokenStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetChangeTokenStatusResponse]
$creadListPrec :: ReadPrec [GetChangeTokenStatusResponse]
readPrec :: ReadPrec GetChangeTokenStatusResponse
$creadPrec :: ReadPrec GetChangeTokenStatusResponse
readList :: ReadS [GetChangeTokenStatusResponse]
$creadList :: ReadS [GetChangeTokenStatusResponse]
readsPrec :: Int -> ReadS GetChangeTokenStatusResponse
$creadsPrec :: Int -> ReadS GetChangeTokenStatusResponse
Prelude.Read, Int -> GetChangeTokenStatusResponse -> ShowS
[GetChangeTokenStatusResponse] -> ShowS
GetChangeTokenStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetChangeTokenStatusResponse] -> ShowS
$cshowList :: [GetChangeTokenStatusResponse] -> ShowS
show :: GetChangeTokenStatusResponse -> String
$cshow :: GetChangeTokenStatusResponse -> String
showsPrec :: Int -> GetChangeTokenStatusResponse -> ShowS
$cshowsPrec :: Int -> GetChangeTokenStatusResponse -> ShowS
Prelude.Show, forall x.
Rep GetChangeTokenStatusResponse x -> GetChangeTokenStatusResponse
forall x.
GetChangeTokenStatusResponse -> Rep GetChangeTokenStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetChangeTokenStatusResponse x -> GetChangeTokenStatusResponse
$cfrom :: forall x.
GetChangeTokenStatusResponse -> Rep GetChangeTokenStatusResponse x
Prelude.Generic)
newGetChangeTokenStatusResponse ::
Prelude.Int ->
GetChangeTokenStatusResponse
newGetChangeTokenStatusResponse :: Int -> GetChangeTokenStatusResponse
newGetChangeTokenStatusResponse Int
pHttpStatus_ =
GetChangeTokenStatusResponse'
{ $sel:changeTokenStatus:GetChangeTokenStatusResponse' :: Maybe ChangeTokenStatus
changeTokenStatus =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetChangeTokenStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getChangeTokenStatusResponse_changeTokenStatus :: Lens.Lens' GetChangeTokenStatusResponse (Prelude.Maybe ChangeTokenStatus)
getChangeTokenStatusResponse_changeTokenStatus :: Lens' GetChangeTokenStatusResponse (Maybe ChangeTokenStatus)
getChangeTokenStatusResponse_changeTokenStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetChangeTokenStatusResponse' {Maybe ChangeTokenStatus
changeTokenStatus :: Maybe ChangeTokenStatus
$sel:changeTokenStatus:GetChangeTokenStatusResponse' :: GetChangeTokenStatusResponse -> Maybe ChangeTokenStatus
changeTokenStatus} -> Maybe ChangeTokenStatus
changeTokenStatus) (\s :: GetChangeTokenStatusResponse
s@GetChangeTokenStatusResponse' {} Maybe ChangeTokenStatus
a -> GetChangeTokenStatusResponse
s {$sel:changeTokenStatus:GetChangeTokenStatusResponse' :: Maybe ChangeTokenStatus
changeTokenStatus = Maybe ChangeTokenStatus
a} :: GetChangeTokenStatusResponse)
getChangeTokenStatusResponse_httpStatus :: Lens.Lens' GetChangeTokenStatusResponse Prelude.Int
getChangeTokenStatusResponse_httpStatus :: Lens' GetChangeTokenStatusResponse Int
getChangeTokenStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetChangeTokenStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetChangeTokenStatusResponse' :: GetChangeTokenStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetChangeTokenStatusResponse
s@GetChangeTokenStatusResponse' {} Int
a -> GetChangeTokenStatusResponse
s {$sel:httpStatus:GetChangeTokenStatusResponse' :: Int
httpStatus = Int
a} :: GetChangeTokenStatusResponse)
instance Prelude.NFData GetChangeTokenStatusResponse where
rnf :: GetChangeTokenStatusResponse -> ()
rnf GetChangeTokenStatusResponse' {Int
Maybe ChangeTokenStatus
httpStatus :: Int
changeTokenStatus :: Maybe ChangeTokenStatus
$sel:httpStatus:GetChangeTokenStatusResponse' :: GetChangeTokenStatusResponse -> Int
$sel:changeTokenStatus:GetChangeTokenStatusResponse' :: GetChangeTokenStatusResponse -> Maybe ChangeTokenStatus
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ChangeTokenStatus
changeTokenStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus