module Stratosphere.Lex.Bot.ReplicationProperty (
        ReplicationProperty(..), mkReplicationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ReplicationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-replication.html>
    ReplicationProperty {ReplicationProperty -> ()
haddock_workaround_ :: (),
                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lex-bot-replication.html#cfn-lex-bot-replication-replicaregions>
                         ReplicationProperty -> ValueList Text
replicaRegions :: (ValueList Prelude.Text)}
  deriving stock (ReplicationProperty -> ReplicationProperty -> Bool
(ReplicationProperty -> ReplicationProperty -> Bool)
-> (ReplicationProperty -> ReplicationProperty -> Bool)
-> Eq ReplicationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ReplicationProperty -> ReplicationProperty -> Bool
== :: ReplicationProperty -> ReplicationProperty -> Bool
$c/= :: ReplicationProperty -> ReplicationProperty -> Bool
/= :: ReplicationProperty -> ReplicationProperty -> Bool
Prelude.Eq, Int -> ReplicationProperty -> ShowS
[ReplicationProperty] -> ShowS
ReplicationProperty -> String
(Int -> ReplicationProperty -> ShowS)
-> (ReplicationProperty -> String)
-> ([ReplicationProperty] -> ShowS)
-> Show ReplicationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ReplicationProperty -> ShowS
showsPrec :: Int -> ReplicationProperty -> ShowS
$cshow :: ReplicationProperty -> String
show :: ReplicationProperty -> String
$cshowList :: [ReplicationProperty] -> ShowS
showList :: [ReplicationProperty] -> ShowS
Prelude.Show)
mkReplicationProperty ::
  ValueList Prelude.Text -> ReplicationProperty
mkReplicationProperty :: ValueList Text -> ReplicationProperty
mkReplicationProperty ValueList Text
replicaRegions
  = ReplicationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), replicaRegions :: ValueList Text
replicaRegions = ValueList Text
replicaRegions}
instance ToResourceProperties ReplicationProperty where
  toResourceProperties :: ReplicationProperty -> ResourceProperties
toResourceProperties ReplicationProperty {()
ValueList Text
haddock_workaround_ :: ReplicationProperty -> ()
replicaRegions :: ReplicationProperty -> ValueList Text
haddock_workaround_ :: ()
replicaRegions :: ValueList Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Lex::Bot.Replication",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ReplicaRegions" Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ValueList Text
replicaRegions]}
instance JSON.ToJSON ReplicationProperty where
  toJSON :: ReplicationProperty -> Value
toJSON ReplicationProperty {()
ValueList Text
haddock_workaround_ :: ReplicationProperty -> ()
replicaRegions :: ReplicationProperty -> ValueList Text
haddock_workaround_ :: ()
replicaRegions :: ValueList Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"ReplicaRegions" Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ValueList Text
replicaRegions]
instance Property "ReplicaRegions" ReplicationProperty where
  type PropertyType "ReplicaRegions" ReplicationProperty = ValueList Prelude.Text
  set :: PropertyType "ReplicaRegions" ReplicationProperty
-> ReplicationProperty -> ReplicationProperty
set PropertyType "ReplicaRegions" ReplicationProperty
newValue ReplicationProperty {()
ValueList Text
haddock_workaround_ :: ReplicationProperty -> ()
replicaRegions :: ReplicationProperty -> ValueList Text
haddock_workaround_ :: ()
replicaRegions :: ValueList Text
..}
    = ReplicationProperty {replicaRegions :: ValueList Text
replicaRegions = PropertyType "ReplicaRegions" ReplicationProperty
ValueList Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}