module Stratosphere.MSK.Replicator.ReplicationInfoProperty (
        module Exports, ReplicationInfoProperty(..),
        mkReplicationInfoProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.MSK.Replicator.ConsumerGroupReplicationProperty as Exports
import {-# SOURCE #-} Stratosphere.MSK.Replicator.TopicReplicationProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ReplicationInfoProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-replicationinfo.html>
    ReplicationInfoProperty {ReplicationInfoProperty -> ()
haddock_workaround_ :: (),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-replicationinfo.html#cfn-msk-replicator-replicationinfo-consumergroupreplication>
                             ReplicationInfoProperty -> ConsumerGroupReplicationProperty
consumerGroupReplication :: ConsumerGroupReplicationProperty,
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-replicationinfo.html#cfn-msk-replicator-replicationinfo-sourcekafkaclusterarn>
                             ReplicationInfoProperty -> Value Text
sourceKafkaClusterArn :: (Value Prelude.Text),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-replicationinfo.html#cfn-msk-replicator-replicationinfo-targetcompressiontype>
                             ReplicationInfoProperty -> Value Text
targetCompressionType :: (Value Prelude.Text),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-replicationinfo.html#cfn-msk-replicator-replicationinfo-targetkafkaclusterarn>
                             ReplicationInfoProperty -> Value Text
targetKafkaClusterArn :: (Value Prelude.Text),
                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-msk-replicator-replicationinfo.html#cfn-msk-replicator-replicationinfo-topicreplication>
                             ReplicationInfoProperty -> TopicReplicationProperty
topicReplication :: TopicReplicationProperty}
  deriving stock (ReplicationInfoProperty -> ReplicationInfoProperty -> Bool
(ReplicationInfoProperty -> ReplicationInfoProperty -> Bool)
-> (ReplicationInfoProperty -> ReplicationInfoProperty -> Bool)
-> Eq ReplicationInfoProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ReplicationInfoProperty -> ReplicationInfoProperty -> Bool
== :: ReplicationInfoProperty -> ReplicationInfoProperty -> Bool
$c/= :: ReplicationInfoProperty -> ReplicationInfoProperty -> Bool
/= :: ReplicationInfoProperty -> ReplicationInfoProperty -> Bool
Prelude.Eq, Int -> ReplicationInfoProperty -> ShowS
[ReplicationInfoProperty] -> ShowS
ReplicationInfoProperty -> String
(Int -> ReplicationInfoProperty -> ShowS)
-> (ReplicationInfoProperty -> String)
-> ([ReplicationInfoProperty] -> ShowS)
-> Show ReplicationInfoProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ReplicationInfoProperty -> ShowS
showsPrec :: Int -> ReplicationInfoProperty -> ShowS
$cshow :: ReplicationInfoProperty -> String
show :: ReplicationInfoProperty -> String
$cshowList :: [ReplicationInfoProperty] -> ShowS
showList :: [ReplicationInfoProperty] -> ShowS
Prelude.Show)
mkReplicationInfoProperty ::
  ConsumerGroupReplicationProperty
  -> Value Prelude.Text
     -> Value Prelude.Text
        -> Value Prelude.Text
           -> TopicReplicationProperty -> ReplicationInfoProperty
mkReplicationInfoProperty :: ConsumerGroupReplicationProperty
-> Value Text
-> Value Text
-> Value Text
-> TopicReplicationProperty
-> ReplicationInfoProperty
mkReplicationInfoProperty
  ConsumerGroupReplicationProperty
consumerGroupReplication
  Value Text
sourceKafkaClusterArn
  Value Text
targetCompressionType
  Value Text
targetKafkaClusterArn
  TopicReplicationProperty
topicReplication
  = ReplicationInfoProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       consumerGroupReplication :: ConsumerGroupReplicationProperty
consumerGroupReplication = ConsumerGroupReplicationProperty
consumerGroupReplication,
       sourceKafkaClusterArn :: Value Text
sourceKafkaClusterArn = Value Text
sourceKafkaClusterArn,
       targetCompressionType :: Value Text
targetCompressionType = Value Text
targetCompressionType,
       targetKafkaClusterArn :: Value Text
targetKafkaClusterArn = Value Text
targetKafkaClusterArn,
       topicReplication :: TopicReplicationProperty
topicReplication = TopicReplicationProperty
topicReplication}
instance ToResourceProperties ReplicationInfoProperty where
  toResourceProperties :: ReplicationInfoProperty -> ResourceProperties
toResourceProperties ReplicationInfoProperty {()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ReplicationInfoProperty -> ()
consumerGroupReplication :: ReplicationInfoProperty -> ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: ReplicationInfoProperty -> Value Text
targetCompressionType :: ReplicationInfoProperty -> Value Text
targetKafkaClusterArn :: ReplicationInfoProperty -> Value Text
topicReplication :: ReplicationInfoProperty -> TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::MSK::Replicator.ReplicationInfo",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ConsumerGroupReplication"
                         Key -> ConsumerGroupReplicationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ConsumerGroupReplicationProperty
consumerGroupReplication,
                       Key
"SourceKafkaClusterArn" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
sourceKafkaClusterArn,
                       Key
"TargetCompressionType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
targetCompressionType,
                       Key
"TargetKafkaClusterArn" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
targetKafkaClusterArn,
                       Key
"TopicReplication" Key -> TopicReplicationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= TopicReplicationProperty
topicReplication]}
instance JSON.ToJSON ReplicationInfoProperty where
  toJSON :: ReplicationInfoProperty -> Value
toJSON ReplicationInfoProperty {()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ReplicationInfoProperty -> ()
consumerGroupReplication :: ReplicationInfoProperty -> ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: ReplicationInfoProperty -> Value Text
targetCompressionType :: ReplicationInfoProperty -> Value Text
targetKafkaClusterArn :: ReplicationInfoProperty -> Value Text
topicReplication :: ReplicationInfoProperty -> TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ConsumerGroupReplication" Key -> ConsumerGroupReplicationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ConsumerGroupReplicationProperty
consumerGroupReplication,
         Key
"SourceKafkaClusterArn" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
sourceKafkaClusterArn,
         Key
"TargetCompressionType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
targetCompressionType,
         Key
"TargetKafkaClusterArn" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
targetKafkaClusterArn,
         Key
"TopicReplication" Key -> TopicReplicationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= TopicReplicationProperty
topicReplication]
instance Property "ConsumerGroupReplication" ReplicationInfoProperty where
  type PropertyType "ConsumerGroupReplication" ReplicationInfoProperty = ConsumerGroupReplicationProperty
  set :: PropertyType "ConsumerGroupReplication" ReplicationInfoProperty
-> ReplicationInfoProperty -> ReplicationInfoProperty
set PropertyType "ConsumerGroupReplication" ReplicationInfoProperty
newValue ReplicationInfoProperty {()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ReplicationInfoProperty -> ()
consumerGroupReplication :: ReplicationInfoProperty -> ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: ReplicationInfoProperty -> Value Text
targetCompressionType :: ReplicationInfoProperty -> Value Text
targetKafkaClusterArn :: ReplicationInfoProperty -> Value Text
topicReplication :: ReplicationInfoProperty -> TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
    = ReplicationInfoProperty {consumerGroupReplication :: ConsumerGroupReplicationProperty
consumerGroupReplication = PropertyType "ConsumerGroupReplication" ReplicationInfoProperty
ConsumerGroupReplicationProperty
newValue, ()
Value Text
TopicReplicationProperty
haddock_workaround_ :: ()
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
haddock_workaround_ :: ()
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
instance Property "SourceKafkaClusterArn" ReplicationInfoProperty where
  type PropertyType "SourceKafkaClusterArn" ReplicationInfoProperty = Value Prelude.Text
  set :: PropertyType "SourceKafkaClusterArn" ReplicationInfoProperty
-> ReplicationInfoProperty -> ReplicationInfoProperty
set PropertyType "SourceKafkaClusterArn" ReplicationInfoProperty
newValue ReplicationInfoProperty {()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ReplicationInfoProperty -> ()
consumerGroupReplication :: ReplicationInfoProperty -> ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: ReplicationInfoProperty -> Value Text
targetCompressionType :: ReplicationInfoProperty -> Value Text
targetKafkaClusterArn :: ReplicationInfoProperty -> Value Text
topicReplication :: ReplicationInfoProperty -> TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
    = ReplicationInfoProperty {sourceKafkaClusterArn :: Value Text
sourceKafkaClusterArn = PropertyType "SourceKafkaClusterArn" ReplicationInfoProperty
Value Text
newValue, ()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
instance Property "TargetCompressionType" ReplicationInfoProperty where
  type PropertyType "TargetCompressionType" ReplicationInfoProperty = Value Prelude.Text
  set :: PropertyType "TargetCompressionType" ReplicationInfoProperty
-> ReplicationInfoProperty -> ReplicationInfoProperty
set PropertyType "TargetCompressionType" ReplicationInfoProperty
newValue ReplicationInfoProperty {()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ReplicationInfoProperty -> ()
consumerGroupReplication :: ReplicationInfoProperty -> ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: ReplicationInfoProperty -> Value Text
targetCompressionType :: ReplicationInfoProperty -> Value Text
targetKafkaClusterArn :: ReplicationInfoProperty -> Value Text
topicReplication :: ReplicationInfoProperty -> TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
    = ReplicationInfoProperty {targetCompressionType :: Value Text
targetCompressionType = PropertyType "TargetCompressionType" ReplicationInfoProperty
Value Text
newValue, ()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
instance Property "TargetKafkaClusterArn" ReplicationInfoProperty where
  type PropertyType "TargetKafkaClusterArn" ReplicationInfoProperty = Value Prelude.Text
  set :: PropertyType "TargetKafkaClusterArn" ReplicationInfoProperty
-> ReplicationInfoProperty -> ReplicationInfoProperty
set PropertyType "TargetKafkaClusterArn" ReplicationInfoProperty
newValue ReplicationInfoProperty {()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ReplicationInfoProperty -> ()
consumerGroupReplication :: ReplicationInfoProperty -> ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: ReplicationInfoProperty -> Value Text
targetCompressionType :: ReplicationInfoProperty -> Value Text
targetKafkaClusterArn :: ReplicationInfoProperty -> Value Text
topicReplication :: ReplicationInfoProperty -> TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
    = ReplicationInfoProperty {targetKafkaClusterArn :: Value Text
targetKafkaClusterArn = PropertyType "TargetKafkaClusterArn" ReplicationInfoProperty
Value Text
newValue, ()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
topicReplication :: TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
topicReplication :: TopicReplicationProperty
..}
instance Property "TopicReplication" ReplicationInfoProperty where
  type PropertyType "TopicReplication" ReplicationInfoProperty = TopicReplicationProperty
  set :: PropertyType "TopicReplication" ReplicationInfoProperty
-> ReplicationInfoProperty -> ReplicationInfoProperty
set PropertyType "TopicReplication" ReplicationInfoProperty
newValue ReplicationInfoProperty {()
Value Text
ConsumerGroupReplicationProperty
TopicReplicationProperty
haddock_workaround_ :: ReplicationInfoProperty -> ()
consumerGroupReplication :: ReplicationInfoProperty -> ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: ReplicationInfoProperty -> Value Text
targetCompressionType :: ReplicationInfoProperty -> Value Text
targetKafkaClusterArn :: ReplicationInfoProperty -> Value Text
topicReplication :: ReplicationInfoProperty -> TopicReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
topicReplication :: TopicReplicationProperty
..}
    = ReplicationInfoProperty {topicReplication :: TopicReplicationProperty
topicReplication = PropertyType "TopicReplication" ReplicationInfoProperty
TopicReplicationProperty
newValue, ()
Value Text
ConsumerGroupReplicationProperty
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
haddock_workaround_ :: ()
consumerGroupReplication :: ConsumerGroupReplicationProperty
sourceKafkaClusterArn :: Value Text
targetCompressionType :: Value Text
targetKafkaClusterArn :: Value Text
..}