{-# 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.FraudDetector.CreateVariable
(
CreateVariable (..),
newCreateVariable,
createVariable_description,
createVariable_tags,
createVariable_variableType,
createVariable_name,
createVariable_dataType,
createVariable_dataSource,
createVariable_defaultValue,
CreateVariableResponse (..),
newCreateVariableResponse,
createVariableResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FraudDetector.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateVariable = CreateVariable'
{
CreateVariable -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
CreateVariable -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CreateVariable -> Maybe Text
variableType :: Prelude.Maybe Prelude.Text,
CreateVariable -> Text
name :: Prelude.Text,
CreateVariable -> DataType
dataType :: DataType,
CreateVariable -> DataSource
dataSource :: DataSource,
CreateVariable -> Text
defaultValue :: Prelude.Text
}
deriving (CreateVariable -> CreateVariable -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateVariable -> CreateVariable -> Bool
$c/= :: CreateVariable -> CreateVariable -> Bool
== :: CreateVariable -> CreateVariable -> Bool
$c== :: CreateVariable -> CreateVariable -> Bool
Prelude.Eq, ReadPrec [CreateVariable]
ReadPrec CreateVariable
Int -> ReadS CreateVariable
ReadS [CreateVariable]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateVariable]
$creadListPrec :: ReadPrec [CreateVariable]
readPrec :: ReadPrec CreateVariable
$creadPrec :: ReadPrec CreateVariable
readList :: ReadS [CreateVariable]
$creadList :: ReadS [CreateVariable]
readsPrec :: Int -> ReadS CreateVariable
$creadsPrec :: Int -> ReadS CreateVariable
Prelude.Read, Int -> CreateVariable -> ShowS
[CreateVariable] -> ShowS
CreateVariable -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateVariable] -> ShowS
$cshowList :: [CreateVariable] -> ShowS
show :: CreateVariable -> String
$cshow :: CreateVariable -> String
showsPrec :: Int -> CreateVariable -> ShowS
$cshowsPrec :: Int -> CreateVariable -> ShowS
Prelude.Show, forall x. Rep CreateVariable x -> CreateVariable
forall x. CreateVariable -> Rep CreateVariable x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateVariable x -> CreateVariable
$cfrom :: forall x. CreateVariable -> Rep CreateVariable x
Prelude.Generic)
newCreateVariable ::
Prelude.Text ->
DataType ->
DataSource ->
Prelude.Text ->
CreateVariable
newCreateVariable :: Text -> DataType -> DataSource -> Text -> CreateVariable
newCreateVariable
Text
pName_
DataType
pDataType_
DataSource
pDataSource_
Text
pDefaultValue_ =
CreateVariable'
{ $sel:description:CreateVariable' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateVariable' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:variableType:CreateVariable' :: Maybe Text
variableType = forall a. Maybe a
Prelude.Nothing,
$sel:name:CreateVariable' :: Text
name = Text
pName_,
$sel:dataType:CreateVariable' :: DataType
dataType = DataType
pDataType_,
$sel:dataSource:CreateVariable' :: DataSource
dataSource = DataSource
pDataSource_,
$sel:defaultValue:CreateVariable' :: Text
defaultValue = Text
pDefaultValue_
}
createVariable_description :: Lens.Lens' CreateVariable (Prelude.Maybe Prelude.Text)
createVariable_description :: Lens' CreateVariable (Maybe Text)
createVariable_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVariable' {Maybe Text
description :: Maybe Text
$sel:description:CreateVariable' :: CreateVariable -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateVariable
s@CreateVariable' {} Maybe Text
a -> CreateVariable
s {$sel:description:CreateVariable' :: Maybe Text
description = Maybe Text
a} :: CreateVariable)
createVariable_tags :: Lens.Lens' CreateVariable (Prelude.Maybe [Tag])
createVariable_tags :: Lens' CreateVariable (Maybe [Tag])
createVariable_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVariable' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreateVariable' :: CreateVariable -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreateVariable
s@CreateVariable' {} Maybe [Tag]
a -> CreateVariable
s {$sel:tags:CreateVariable' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreateVariable) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createVariable_variableType :: Lens.Lens' CreateVariable (Prelude.Maybe Prelude.Text)
createVariable_variableType :: Lens' CreateVariable (Maybe Text)
createVariable_variableType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVariable' {Maybe Text
variableType :: Maybe Text
$sel:variableType:CreateVariable' :: CreateVariable -> Maybe Text
variableType} -> Maybe Text
variableType) (\s :: CreateVariable
s@CreateVariable' {} Maybe Text
a -> CreateVariable
s {$sel:variableType:CreateVariable' :: Maybe Text
variableType = Maybe Text
a} :: CreateVariable)
createVariable_name :: Lens.Lens' CreateVariable Prelude.Text
createVariable_name :: Lens' CreateVariable Text
createVariable_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVariable' {Text
name :: Text
$sel:name:CreateVariable' :: CreateVariable -> Text
name} -> Text
name) (\s :: CreateVariable
s@CreateVariable' {} Text
a -> CreateVariable
s {$sel:name:CreateVariable' :: Text
name = Text
a} :: CreateVariable)
createVariable_dataType :: Lens.Lens' CreateVariable DataType
createVariable_dataType :: Lens' CreateVariable DataType
createVariable_dataType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVariable' {DataType
dataType :: DataType
$sel:dataType:CreateVariable' :: CreateVariable -> DataType
dataType} -> DataType
dataType) (\s :: CreateVariable
s@CreateVariable' {} DataType
a -> CreateVariable
s {$sel:dataType:CreateVariable' :: DataType
dataType = DataType
a} :: CreateVariable)
createVariable_dataSource :: Lens.Lens' CreateVariable DataSource
createVariable_dataSource :: Lens' CreateVariable DataSource
createVariable_dataSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVariable' {DataSource
dataSource :: DataSource
$sel:dataSource:CreateVariable' :: CreateVariable -> DataSource
dataSource} -> DataSource
dataSource) (\s :: CreateVariable
s@CreateVariable' {} DataSource
a -> CreateVariable
s {$sel:dataSource:CreateVariable' :: DataSource
dataSource = DataSource
a} :: CreateVariable)
createVariable_defaultValue :: Lens.Lens' CreateVariable Prelude.Text
createVariable_defaultValue :: Lens' CreateVariable Text
createVariable_defaultValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVariable' {Text
defaultValue :: Text
$sel:defaultValue:CreateVariable' :: CreateVariable -> Text
defaultValue} -> Text
defaultValue) (\s :: CreateVariable
s@CreateVariable' {} Text
a -> CreateVariable
s {$sel:defaultValue:CreateVariable' :: Text
defaultValue = Text
a} :: CreateVariable)
instance Core.AWSRequest CreateVariable where
type
AWSResponse CreateVariable =
CreateVariableResponse
request :: (Service -> Service) -> CreateVariable -> Request CreateVariable
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 CreateVariable
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateVariable)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> CreateVariableResponse
CreateVariableResponse'
forall (f :: * -> *) a b. Functor 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 CreateVariable where
hashWithSalt :: Int -> CreateVariable -> Int
hashWithSalt Int
_salt CreateVariable' {Maybe [Tag]
Maybe Text
Text
DataSource
DataType
defaultValue :: Text
dataSource :: DataSource
dataType :: DataType
name :: Text
variableType :: Maybe Text
tags :: Maybe [Tag]
description :: Maybe Text
$sel:defaultValue:CreateVariable' :: CreateVariable -> Text
$sel:dataSource:CreateVariable' :: CreateVariable -> DataSource
$sel:dataType:CreateVariable' :: CreateVariable -> DataType
$sel:name:CreateVariable' :: CreateVariable -> Text
$sel:variableType:CreateVariable' :: CreateVariable -> Maybe Text
$sel:tags:CreateVariable' :: CreateVariable -> Maybe [Tag]
$sel:description:CreateVariable' :: CreateVariable -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
variableType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DataType
dataType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DataSource
dataSource
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
defaultValue
instance Prelude.NFData CreateVariable where
rnf :: CreateVariable -> ()
rnf CreateVariable' {Maybe [Tag]
Maybe Text
Text
DataSource
DataType
defaultValue :: Text
dataSource :: DataSource
dataType :: DataType
name :: Text
variableType :: Maybe Text
tags :: Maybe [Tag]
description :: Maybe Text
$sel:defaultValue:CreateVariable' :: CreateVariable -> Text
$sel:dataSource:CreateVariable' :: CreateVariable -> DataSource
$sel:dataType:CreateVariable' :: CreateVariable -> DataType
$sel:name:CreateVariable' :: CreateVariable -> Text
$sel:variableType:CreateVariable' :: CreateVariable -> Maybe Text
$sel:tags:CreateVariable' :: CreateVariable -> Maybe [Tag]
$sel:description:CreateVariable' :: CreateVariable -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
variableType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DataType
dataType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DataSource
dataSource
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
defaultValue
instance Data.ToHeaders CreateVariable where
toHeaders :: CreateVariable -> 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
"AWSHawksNestServiceFacade.CreateVariable" ::
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 CreateVariable where
toJSON :: CreateVariable -> Value
toJSON CreateVariable' {Maybe [Tag]
Maybe Text
Text
DataSource
DataType
defaultValue :: Text
dataSource :: DataSource
dataType :: DataType
name :: Text
variableType :: Maybe Text
tags :: Maybe [Tag]
description :: Maybe Text
$sel:defaultValue:CreateVariable' :: CreateVariable -> Text
$sel:dataSource:CreateVariable' :: CreateVariable -> DataSource
$sel:dataType:CreateVariable' :: CreateVariable -> DataType
$sel:name:CreateVariable' :: CreateVariable -> Text
$sel:variableType:CreateVariable' :: CreateVariable -> Maybe Text
$sel:tags:CreateVariable' :: CreateVariable -> Maybe [Tag]
$sel:description:CreateVariable' :: CreateVariable -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"description" 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
description,
(Key
"tags" 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 [Tag]
tags,
(Key
"variableType" 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
variableType,
forall a. a -> Maybe a
Prelude.Just (Key
"name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name),
forall a. a -> Maybe a
Prelude.Just (Key
"dataType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= DataType
dataType),
forall a. a -> Maybe a
Prelude.Just (Key
"dataSource" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= DataSource
dataSource),
forall a. a -> Maybe a
Prelude.Just (Key
"defaultValue" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
defaultValue)
]
)
instance Data.ToPath CreateVariable where
toPath :: CreateVariable -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateVariable where
toQuery :: CreateVariable -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateVariableResponse = CreateVariableResponse'
{
CreateVariableResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateVariableResponse -> CreateVariableResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateVariableResponse -> CreateVariableResponse -> Bool
$c/= :: CreateVariableResponse -> CreateVariableResponse -> Bool
== :: CreateVariableResponse -> CreateVariableResponse -> Bool
$c== :: CreateVariableResponse -> CreateVariableResponse -> Bool
Prelude.Eq, ReadPrec [CreateVariableResponse]
ReadPrec CreateVariableResponse
Int -> ReadS CreateVariableResponse
ReadS [CreateVariableResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateVariableResponse]
$creadListPrec :: ReadPrec [CreateVariableResponse]
readPrec :: ReadPrec CreateVariableResponse
$creadPrec :: ReadPrec CreateVariableResponse
readList :: ReadS [CreateVariableResponse]
$creadList :: ReadS [CreateVariableResponse]
readsPrec :: Int -> ReadS CreateVariableResponse
$creadsPrec :: Int -> ReadS CreateVariableResponse
Prelude.Read, Int -> CreateVariableResponse -> ShowS
[CreateVariableResponse] -> ShowS
CreateVariableResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateVariableResponse] -> ShowS
$cshowList :: [CreateVariableResponse] -> ShowS
show :: CreateVariableResponse -> String
$cshow :: CreateVariableResponse -> String
showsPrec :: Int -> CreateVariableResponse -> ShowS
$cshowsPrec :: Int -> CreateVariableResponse -> ShowS
Prelude.Show, forall x. Rep CreateVariableResponse x -> CreateVariableResponse
forall x. CreateVariableResponse -> Rep CreateVariableResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateVariableResponse x -> CreateVariableResponse
$cfrom :: forall x. CreateVariableResponse -> Rep CreateVariableResponse x
Prelude.Generic)
newCreateVariableResponse ::
Prelude.Int ->
CreateVariableResponse
newCreateVariableResponse :: Int -> CreateVariableResponse
newCreateVariableResponse Int
pHttpStatus_ =
CreateVariableResponse' {$sel:httpStatus:CreateVariableResponse' :: Int
httpStatus = Int
pHttpStatus_}
createVariableResponse_httpStatus :: Lens.Lens' CreateVariableResponse Prelude.Int
createVariableResponse_httpStatus :: Lens' CreateVariableResponse Int
createVariableResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVariableResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateVariableResponse' :: CreateVariableResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateVariableResponse
s@CreateVariableResponse' {} Int
a -> CreateVariableResponse
s {$sel:httpStatus:CreateVariableResponse' :: Int
httpStatus = Int
a} :: CreateVariableResponse)
instance Prelude.NFData CreateVariableResponse where
rnf :: CreateVariableResponse -> ()
rnf CreateVariableResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateVariableResponse' :: CreateVariableResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus