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