module Stratosphere.Connect.RoutingProfile.RoutingProfileQueueReferenceProperty (
        RoutingProfileQueueReferenceProperty(..),
        mkRoutingProfileQueueReferenceProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data RoutingProfileQueueReferenceProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-routingprofile-routingprofilequeuereference.html>
    RoutingProfileQueueReferenceProperty {RoutingProfileQueueReferenceProperty -> ()
haddock_workaround_ :: (),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-routingprofile-routingprofilequeuereference.html#cfn-connect-routingprofile-routingprofilequeuereference-channel>
                                          RoutingProfileQueueReferenceProperty -> Value Text
channel :: (Value Prelude.Text),
                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-routingprofile-routingprofilequeuereference.html#cfn-connect-routingprofile-routingprofilequeuereference-queuearn>
                                          RoutingProfileQueueReferenceProperty -> Value Text
queueArn :: (Value Prelude.Text)}
  deriving stock (RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueReferenceProperty -> Bool
(RoutingProfileQueueReferenceProperty
 -> RoutingProfileQueueReferenceProperty -> Bool)
-> (RoutingProfileQueueReferenceProperty
    -> RoutingProfileQueueReferenceProperty -> Bool)
-> Eq RoutingProfileQueueReferenceProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueReferenceProperty -> Bool
== :: RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueReferenceProperty -> Bool
$c/= :: RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueReferenceProperty -> Bool
/= :: RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueReferenceProperty -> Bool
Prelude.Eq, Int -> RoutingProfileQueueReferenceProperty -> ShowS
[RoutingProfileQueueReferenceProperty] -> ShowS
RoutingProfileQueueReferenceProperty -> String
(Int -> RoutingProfileQueueReferenceProperty -> ShowS)
-> (RoutingProfileQueueReferenceProperty -> String)
-> ([RoutingProfileQueueReferenceProperty] -> ShowS)
-> Show RoutingProfileQueueReferenceProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RoutingProfileQueueReferenceProperty -> ShowS
showsPrec :: Int -> RoutingProfileQueueReferenceProperty -> ShowS
$cshow :: RoutingProfileQueueReferenceProperty -> String
show :: RoutingProfileQueueReferenceProperty -> String
$cshowList :: [RoutingProfileQueueReferenceProperty] -> ShowS
showList :: [RoutingProfileQueueReferenceProperty] -> ShowS
Prelude.Show)
mkRoutingProfileQueueReferenceProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> RoutingProfileQueueReferenceProperty
mkRoutingProfileQueueReferenceProperty :: Value Text -> Value Text -> RoutingProfileQueueReferenceProperty
mkRoutingProfileQueueReferenceProperty Value Text
channel Value Text
queueArn
  = RoutingProfileQueueReferenceProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), channel :: Value Text
channel = Value Text
channel, queueArn :: Value Text
queueArn = Value Text
queueArn}
instance ToResourceProperties RoutingProfileQueueReferenceProperty where
  toResourceProperties :: RoutingProfileQueueReferenceProperty -> ResourceProperties
toResourceProperties RoutingProfileQueueReferenceProperty {()
Value Text
haddock_workaround_ :: RoutingProfileQueueReferenceProperty -> ()
channel :: RoutingProfileQueueReferenceProperty -> Value Text
queueArn :: RoutingProfileQueueReferenceProperty -> Value Text
haddock_workaround_ :: ()
channel :: Value Text
queueArn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Connect::RoutingProfile.RoutingProfileQueueReference",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Channel" 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
channel,
                       Key
"QueueArn" 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
queueArn]}
instance JSON.ToJSON RoutingProfileQueueReferenceProperty where
  toJSON :: RoutingProfileQueueReferenceProperty -> Value
toJSON RoutingProfileQueueReferenceProperty {()
Value Text
haddock_workaround_ :: RoutingProfileQueueReferenceProperty -> ()
channel :: RoutingProfileQueueReferenceProperty -> Value Text
queueArn :: RoutingProfileQueueReferenceProperty -> Value Text
haddock_workaround_ :: ()
channel :: Value Text
queueArn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Channel" 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
channel, Key
"QueueArn" 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
queueArn]
instance Property "Channel" RoutingProfileQueueReferenceProperty where
  type PropertyType "Channel" RoutingProfileQueueReferenceProperty = Value Prelude.Text
  set :: PropertyType "Channel" RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueReferenceProperty
set PropertyType "Channel" RoutingProfileQueueReferenceProperty
newValue RoutingProfileQueueReferenceProperty {()
Value Text
haddock_workaround_ :: RoutingProfileQueueReferenceProperty -> ()
channel :: RoutingProfileQueueReferenceProperty -> Value Text
queueArn :: RoutingProfileQueueReferenceProperty -> Value Text
haddock_workaround_ :: ()
channel :: Value Text
queueArn :: Value Text
..}
    = RoutingProfileQueueReferenceProperty {channel :: Value Text
channel = PropertyType "Channel" RoutingProfileQueueReferenceProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
queueArn :: Value Text
haddock_workaround_ :: ()
queueArn :: Value Text
..}
instance Property "QueueArn" RoutingProfileQueueReferenceProperty where
  type PropertyType "QueueArn" RoutingProfileQueueReferenceProperty = Value Prelude.Text
  set :: PropertyType "QueueArn" RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueReferenceProperty
set PropertyType "QueueArn" RoutingProfileQueueReferenceProperty
newValue RoutingProfileQueueReferenceProperty {()
Value Text
haddock_workaround_ :: RoutingProfileQueueReferenceProperty -> ()
channel :: RoutingProfileQueueReferenceProperty -> Value Text
queueArn :: RoutingProfileQueueReferenceProperty -> Value Text
haddock_workaround_ :: ()
channel :: Value Text
queueArn :: Value Text
..}
    = RoutingProfileQueueReferenceProperty {queueArn :: Value Text
queueArn = PropertyType "QueueArn" RoutingProfileQueueReferenceProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
channel :: Value Text
haddock_workaround_ :: ()
channel :: Value Text
..}