module Stratosphere.Connect.RoutingProfile.RoutingProfileQueueConfigProperty (
        module Exports, RoutingProfileQueueConfigProperty(..),
        mkRoutingProfileQueueConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Connect.RoutingProfile.RoutingProfileQueueReferenceProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data RoutingProfileQueueConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-routingprofile-routingprofilequeueconfig.html>
    RoutingProfileQueueConfigProperty {RoutingProfileQueueConfigProperty -> ()
haddock_workaround_ :: (),
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-routingprofile-routingprofilequeueconfig.html#cfn-connect-routingprofile-routingprofilequeueconfig-delay>
                                       RoutingProfileQueueConfigProperty -> Value Integer
delay :: (Value Prelude.Integer),
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-routingprofile-routingprofilequeueconfig.html#cfn-connect-routingprofile-routingprofilequeueconfig-priority>
                                       RoutingProfileQueueConfigProperty -> Value Integer
priority :: (Value Prelude.Integer),
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-connect-routingprofile-routingprofilequeueconfig.html#cfn-connect-routingprofile-routingprofilequeueconfig-queuereference>
                                       RoutingProfileQueueConfigProperty
-> RoutingProfileQueueReferenceProperty
queueReference :: RoutingProfileQueueReferenceProperty}
  deriving stock (RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty -> Bool
(RoutingProfileQueueConfigProperty
 -> RoutingProfileQueueConfigProperty -> Bool)
-> (RoutingProfileQueueConfigProperty
    -> RoutingProfileQueueConfigProperty -> Bool)
-> Eq RoutingProfileQueueConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty -> Bool
== :: RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty -> Bool
$c/= :: RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty -> Bool
/= :: RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty -> Bool
Prelude.Eq, Int -> RoutingProfileQueueConfigProperty -> ShowS
[RoutingProfileQueueConfigProperty] -> ShowS
RoutingProfileQueueConfigProperty -> String
(Int -> RoutingProfileQueueConfigProperty -> ShowS)
-> (RoutingProfileQueueConfigProperty -> String)
-> ([RoutingProfileQueueConfigProperty] -> ShowS)
-> Show RoutingProfileQueueConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RoutingProfileQueueConfigProperty -> ShowS
showsPrec :: Int -> RoutingProfileQueueConfigProperty -> ShowS
$cshow :: RoutingProfileQueueConfigProperty -> String
show :: RoutingProfileQueueConfigProperty -> String
$cshowList :: [RoutingProfileQueueConfigProperty] -> ShowS
showList :: [RoutingProfileQueueConfigProperty] -> ShowS
Prelude.Show)
mkRoutingProfileQueueConfigProperty ::
  Value Prelude.Integer
  -> Value Prelude.Integer
     -> RoutingProfileQueueReferenceProperty
        -> RoutingProfileQueueConfigProperty
mkRoutingProfileQueueConfigProperty :: Value Integer
-> Value Integer
-> RoutingProfileQueueReferenceProperty
-> RoutingProfileQueueConfigProperty
mkRoutingProfileQueueConfigProperty Value Integer
delay Value Integer
priority RoutingProfileQueueReferenceProperty
queueReference
  = RoutingProfileQueueConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), delay :: Value Integer
delay = Value Integer
delay, priority :: Value Integer
priority = Value Integer
priority,
       queueReference :: RoutingProfileQueueReferenceProperty
queueReference = RoutingProfileQueueReferenceProperty
queueReference}
instance ToResourceProperties RoutingProfileQueueConfigProperty where
  toResourceProperties :: RoutingProfileQueueConfigProperty -> ResourceProperties
toResourceProperties RoutingProfileQueueConfigProperty {()
Value Integer
RoutingProfileQueueReferenceProperty
haddock_workaround_ :: RoutingProfileQueueConfigProperty -> ()
delay :: RoutingProfileQueueConfigProperty -> Value Integer
priority :: RoutingProfileQueueConfigProperty -> Value Integer
queueReference :: RoutingProfileQueueConfigProperty
-> RoutingProfileQueueReferenceProperty
haddock_workaround_ :: ()
delay :: Value Integer
priority :: Value Integer
queueReference :: RoutingProfileQueueReferenceProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Connect::RoutingProfile.RoutingProfileQueueConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Delay" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
delay, Key
"Priority" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
priority,
                       Key
"QueueReference" Key -> RoutingProfileQueueReferenceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RoutingProfileQueueReferenceProperty
queueReference]}
instance JSON.ToJSON RoutingProfileQueueConfigProperty where
  toJSON :: RoutingProfileQueueConfigProperty -> Value
toJSON RoutingProfileQueueConfigProperty {()
Value Integer
RoutingProfileQueueReferenceProperty
haddock_workaround_ :: RoutingProfileQueueConfigProperty -> ()
delay :: RoutingProfileQueueConfigProperty -> Value Integer
priority :: RoutingProfileQueueConfigProperty -> Value Integer
queueReference :: RoutingProfileQueueConfigProperty
-> RoutingProfileQueueReferenceProperty
haddock_workaround_ :: ()
delay :: Value Integer
priority :: Value Integer
queueReference :: RoutingProfileQueueReferenceProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Delay" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
delay, Key
"Priority" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
priority,
         Key
"QueueReference" Key -> RoutingProfileQueueReferenceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RoutingProfileQueueReferenceProperty
queueReference]
instance Property "Delay" RoutingProfileQueueConfigProperty where
  type PropertyType "Delay" RoutingProfileQueueConfigProperty = Value Prelude.Integer
  set :: PropertyType "Delay" RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty
set PropertyType "Delay" RoutingProfileQueueConfigProperty
newValue RoutingProfileQueueConfigProperty {()
Value Integer
RoutingProfileQueueReferenceProperty
haddock_workaround_ :: RoutingProfileQueueConfigProperty -> ()
delay :: RoutingProfileQueueConfigProperty -> Value Integer
priority :: RoutingProfileQueueConfigProperty -> Value Integer
queueReference :: RoutingProfileQueueConfigProperty
-> RoutingProfileQueueReferenceProperty
haddock_workaround_ :: ()
delay :: Value Integer
priority :: Value Integer
queueReference :: RoutingProfileQueueReferenceProperty
..}
    = RoutingProfileQueueConfigProperty {delay :: Value Integer
delay = PropertyType "Delay" RoutingProfileQueueConfigProperty
Value Integer
newValue, ()
Value Integer
RoutingProfileQueueReferenceProperty
haddock_workaround_ :: ()
priority :: Value Integer
queueReference :: RoutingProfileQueueReferenceProperty
haddock_workaround_ :: ()
priority :: Value Integer
queueReference :: RoutingProfileQueueReferenceProperty
..}
instance Property "Priority" RoutingProfileQueueConfigProperty where
  type PropertyType "Priority" RoutingProfileQueueConfigProperty = Value Prelude.Integer
  set :: PropertyType "Priority" RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty
set PropertyType "Priority" RoutingProfileQueueConfigProperty
newValue RoutingProfileQueueConfigProperty {()
Value Integer
RoutingProfileQueueReferenceProperty
haddock_workaround_ :: RoutingProfileQueueConfigProperty -> ()
delay :: RoutingProfileQueueConfigProperty -> Value Integer
priority :: RoutingProfileQueueConfigProperty -> Value Integer
queueReference :: RoutingProfileQueueConfigProperty
-> RoutingProfileQueueReferenceProperty
haddock_workaround_ :: ()
delay :: Value Integer
priority :: Value Integer
queueReference :: RoutingProfileQueueReferenceProperty
..}
    = RoutingProfileQueueConfigProperty {priority :: Value Integer
priority = PropertyType "Priority" RoutingProfileQueueConfigProperty
Value Integer
newValue, ()
Value Integer
RoutingProfileQueueReferenceProperty
haddock_workaround_ :: ()
delay :: Value Integer
queueReference :: RoutingProfileQueueReferenceProperty
haddock_workaround_ :: ()
delay :: Value Integer
queueReference :: RoutingProfileQueueReferenceProperty
..}
instance Property "QueueReference" RoutingProfileQueueConfigProperty where
  type PropertyType "QueueReference" RoutingProfileQueueConfigProperty = RoutingProfileQueueReferenceProperty
  set :: PropertyType "QueueReference" RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty
-> RoutingProfileQueueConfigProperty
set PropertyType "QueueReference" RoutingProfileQueueConfigProperty
newValue RoutingProfileQueueConfigProperty {()
Value Integer
RoutingProfileQueueReferenceProperty
haddock_workaround_ :: RoutingProfileQueueConfigProperty -> ()
delay :: RoutingProfileQueueConfigProperty -> Value Integer
priority :: RoutingProfileQueueConfigProperty -> Value Integer
queueReference :: RoutingProfileQueueConfigProperty
-> RoutingProfileQueueReferenceProperty
haddock_workaround_ :: ()
delay :: Value Integer
priority :: Value Integer
queueReference :: RoutingProfileQueueReferenceProperty
..}
    = RoutingProfileQueueConfigProperty {queueReference :: RoutingProfileQueueReferenceProperty
queueReference = PropertyType "QueueReference" RoutingProfileQueueConfigProperty
RoutingProfileQueueReferenceProperty
newValue, ()
Value Integer
haddock_workaround_ :: ()
delay :: Value Integer
priority :: Value Integer
haddock_workaround_ :: ()
delay :: Value Integer
priority :: Value Integer
..}