{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Connect.Types.TaskTemplateConstraints where
import Amazonka.Connect.Types.InvisibleFieldInfo
import Amazonka.Connect.Types.ReadOnlyFieldInfo
import Amazonka.Connect.Types.RequiredFieldInfo
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
data TaskTemplateConstraints = TaskTemplateConstraints'
{
TaskTemplateConstraints -> Maybe [InvisibleFieldInfo]
invisibleFields :: Prelude.Maybe [InvisibleFieldInfo],
TaskTemplateConstraints -> Maybe [ReadOnlyFieldInfo]
readOnlyFields :: Prelude.Maybe [ReadOnlyFieldInfo],
TaskTemplateConstraints -> Maybe [RequiredFieldInfo]
requiredFields :: Prelude.Maybe [RequiredFieldInfo]
}
deriving (TaskTemplateConstraints -> TaskTemplateConstraints -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TaskTemplateConstraints -> TaskTemplateConstraints -> Bool
$c/= :: TaskTemplateConstraints -> TaskTemplateConstraints -> Bool
== :: TaskTemplateConstraints -> TaskTemplateConstraints -> Bool
$c== :: TaskTemplateConstraints -> TaskTemplateConstraints -> Bool
Prelude.Eq, ReadPrec [TaskTemplateConstraints]
ReadPrec TaskTemplateConstraints
Int -> ReadS TaskTemplateConstraints
ReadS [TaskTemplateConstraints]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [TaskTemplateConstraints]
$creadListPrec :: ReadPrec [TaskTemplateConstraints]
readPrec :: ReadPrec TaskTemplateConstraints
$creadPrec :: ReadPrec TaskTemplateConstraints
readList :: ReadS [TaskTemplateConstraints]
$creadList :: ReadS [TaskTemplateConstraints]
readsPrec :: Int -> ReadS TaskTemplateConstraints
$creadsPrec :: Int -> ReadS TaskTemplateConstraints
Prelude.Read, Int -> TaskTemplateConstraints -> ShowS
[TaskTemplateConstraints] -> ShowS
TaskTemplateConstraints -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [TaskTemplateConstraints] -> ShowS
$cshowList :: [TaskTemplateConstraints] -> ShowS
show :: TaskTemplateConstraints -> String
$cshow :: TaskTemplateConstraints -> String
showsPrec :: Int -> TaskTemplateConstraints -> ShowS
$cshowsPrec :: Int -> TaskTemplateConstraints -> ShowS
Prelude.Show, forall x. Rep TaskTemplateConstraints x -> TaskTemplateConstraints
forall x. TaskTemplateConstraints -> Rep TaskTemplateConstraints x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep TaskTemplateConstraints x -> TaskTemplateConstraints
$cfrom :: forall x. TaskTemplateConstraints -> Rep TaskTemplateConstraints x
Prelude.Generic)
newTaskTemplateConstraints ::
TaskTemplateConstraints
newTaskTemplateConstraints :: TaskTemplateConstraints
newTaskTemplateConstraints =
TaskTemplateConstraints'
{ $sel:invisibleFields:TaskTemplateConstraints' :: Maybe [InvisibleFieldInfo]
invisibleFields =
forall a. Maybe a
Prelude.Nothing,
$sel:readOnlyFields:TaskTemplateConstraints' :: Maybe [ReadOnlyFieldInfo]
readOnlyFields = forall a. Maybe a
Prelude.Nothing,
$sel:requiredFields:TaskTemplateConstraints' :: Maybe [RequiredFieldInfo]
requiredFields = forall a. Maybe a
Prelude.Nothing
}
taskTemplateConstraints_invisibleFields :: Lens.Lens' TaskTemplateConstraints (Prelude.Maybe [InvisibleFieldInfo])
taskTemplateConstraints_invisibleFields :: Lens' TaskTemplateConstraints (Maybe [InvisibleFieldInfo])
taskTemplateConstraints_invisibleFields = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TaskTemplateConstraints' {Maybe [InvisibleFieldInfo]
invisibleFields :: Maybe [InvisibleFieldInfo]
$sel:invisibleFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [InvisibleFieldInfo]
invisibleFields} -> Maybe [InvisibleFieldInfo]
invisibleFields) (\s :: TaskTemplateConstraints
s@TaskTemplateConstraints' {} Maybe [InvisibleFieldInfo]
a -> TaskTemplateConstraints
s {$sel:invisibleFields:TaskTemplateConstraints' :: Maybe [InvisibleFieldInfo]
invisibleFields = Maybe [InvisibleFieldInfo]
a} :: TaskTemplateConstraints) 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
taskTemplateConstraints_readOnlyFields :: Lens.Lens' TaskTemplateConstraints (Prelude.Maybe [ReadOnlyFieldInfo])
taskTemplateConstraints_readOnlyFields :: Lens' TaskTemplateConstraints (Maybe [ReadOnlyFieldInfo])
taskTemplateConstraints_readOnlyFields = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TaskTemplateConstraints' {Maybe [ReadOnlyFieldInfo]
readOnlyFields :: Maybe [ReadOnlyFieldInfo]
$sel:readOnlyFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [ReadOnlyFieldInfo]
readOnlyFields} -> Maybe [ReadOnlyFieldInfo]
readOnlyFields) (\s :: TaskTemplateConstraints
s@TaskTemplateConstraints' {} Maybe [ReadOnlyFieldInfo]
a -> TaskTemplateConstraints
s {$sel:readOnlyFields:TaskTemplateConstraints' :: Maybe [ReadOnlyFieldInfo]
readOnlyFields = Maybe [ReadOnlyFieldInfo]
a} :: TaskTemplateConstraints) 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
taskTemplateConstraints_requiredFields :: Lens.Lens' TaskTemplateConstraints (Prelude.Maybe [RequiredFieldInfo])
taskTemplateConstraints_requiredFields :: Lens' TaskTemplateConstraints (Maybe [RequiredFieldInfo])
taskTemplateConstraints_requiredFields = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\TaskTemplateConstraints' {Maybe [RequiredFieldInfo]
requiredFields :: Maybe [RequiredFieldInfo]
$sel:requiredFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [RequiredFieldInfo]
requiredFields} -> Maybe [RequiredFieldInfo]
requiredFields) (\s :: TaskTemplateConstraints
s@TaskTemplateConstraints' {} Maybe [RequiredFieldInfo]
a -> TaskTemplateConstraints
s {$sel:requiredFields:TaskTemplateConstraints' :: Maybe [RequiredFieldInfo]
requiredFields = Maybe [RequiredFieldInfo]
a} :: TaskTemplateConstraints) 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
instance Data.FromJSON TaskTemplateConstraints where
parseJSON :: Value -> Parser TaskTemplateConstraints
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"TaskTemplateConstraints"
( \Object
x ->
Maybe [InvisibleFieldInfo]
-> Maybe [ReadOnlyFieldInfo]
-> Maybe [RequiredFieldInfo]
-> TaskTemplateConstraints
TaskTemplateConstraints'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"InvisibleFields"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ReadOnlyFields" forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"RequiredFields"
forall a. Parser (Maybe a) -> a -> Parser a
Data..!= forall a. Monoid a => a
Prelude.mempty
)
)
instance Prelude.Hashable TaskTemplateConstraints where
hashWithSalt :: Int -> TaskTemplateConstraints -> Int
hashWithSalt Int
_salt TaskTemplateConstraints' {Maybe [RequiredFieldInfo]
Maybe [ReadOnlyFieldInfo]
Maybe [InvisibleFieldInfo]
requiredFields :: Maybe [RequiredFieldInfo]
readOnlyFields :: Maybe [ReadOnlyFieldInfo]
invisibleFields :: Maybe [InvisibleFieldInfo]
$sel:requiredFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [RequiredFieldInfo]
$sel:readOnlyFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [ReadOnlyFieldInfo]
$sel:invisibleFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [InvisibleFieldInfo]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [InvisibleFieldInfo]
invisibleFields
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [ReadOnlyFieldInfo]
readOnlyFields
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [RequiredFieldInfo]
requiredFields
instance Prelude.NFData TaskTemplateConstraints where
rnf :: TaskTemplateConstraints -> ()
rnf TaskTemplateConstraints' {Maybe [RequiredFieldInfo]
Maybe [ReadOnlyFieldInfo]
Maybe [InvisibleFieldInfo]
requiredFields :: Maybe [RequiredFieldInfo]
readOnlyFields :: Maybe [ReadOnlyFieldInfo]
invisibleFields :: Maybe [InvisibleFieldInfo]
$sel:requiredFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [RequiredFieldInfo]
$sel:readOnlyFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [ReadOnlyFieldInfo]
$sel:invisibleFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [InvisibleFieldInfo]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [InvisibleFieldInfo]
invisibleFields
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [ReadOnlyFieldInfo]
readOnlyFields
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [RequiredFieldInfo]
requiredFields
instance Data.ToJSON TaskTemplateConstraints where
toJSON :: TaskTemplateConstraints -> Value
toJSON TaskTemplateConstraints' {Maybe [RequiredFieldInfo]
Maybe [ReadOnlyFieldInfo]
Maybe [InvisibleFieldInfo]
requiredFields :: Maybe [RequiredFieldInfo]
readOnlyFields :: Maybe [ReadOnlyFieldInfo]
invisibleFields :: Maybe [InvisibleFieldInfo]
$sel:requiredFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [RequiredFieldInfo]
$sel:readOnlyFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [ReadOnlyFieldInfo]
$sel:invisibleFields:TaskTemplateConstraints' :: TaskTemplateConstraints -> Maybe [InvisibleFieldInfo]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"InvisibleFields" 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 [InvisibleFieldInfo]
invisibleFields,
(Key
"ReadOnlyFields" 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 [ReadOnlyFieldInfo]
readOnlyFields,
(Key
"RequiredFields" 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 [RequiredFieldInfo]
requiredFields
]
)