module Stratosphere.Deadline.QueueFleetAssociation (
        QueueFleetAssociation(..), mkQueueFleetAssociation
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data QueueFleetAssociation
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html>
    QueueFleetAssociation {QueueFleetAssociation -> ()
haddock_workaround_ :: (),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html#cfn-deadline-queuefleetassociation-farmid>
                           QueueFleetAssociation -> Value Text
farmId :: (Value Prelude.Text),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html#cfn-deadline-queuefleetassociation-fleetid>
                           QueueFleetAssociation -> Value Text
fleetId :: (Value Prelude.Text),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html#cfn-deadline-queuefleetassociation-queueid>
                           QueueFleetAssociation -> Value Text
queueId :: (Value Prelude.Text)}
  deriving stock (QueueFleetAssociation -> QueueFleetAssociation -> Bool
(QueueFleetAssociation -> QueueFleetAssociation -> Bool)
-> (QueueFleetAssociation -> QueueFleetAssociation -> Bool)
-> Eq QueueFleetAssociation
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: QueueFleetAssociation -> QueueFleetAssociation -> Bool
== :: QueueFleetAssociation -> QueueFleetAssociation -> Bool
$c/= :: QueueFleetAssociation -> QueueFleetAssociation -> Bool
/= :: QueueFleetAssociation -> QueueFleetAssociation -> Bool
Prelude.Eq, Int -> QueueFleetAssociation -> ShowS
[QueueFleetAssociation] -> ShowS
QueueFleetAssociation -> String
(Int -> QueueFleetAssociation -> ShowS)
-> (QueueFleetAssociation -> String)
-> ([QueueFleetAssociation] -> ShowS)
-> Show QueueFleetAssociation
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> QueueFleetAssociation -> ShowS
showsPrec :: Int -> QueueFleetAssociation -> ShowS
$cshow :: QueueFleetAssociation -> String
show :: QueueFleetAssociation -> String
$cshowList :: [QueueFleetAssociation] -> ShowS
showList :: [QueueFleetAssociation] -> ShowS
Prelude.Show)
mkQueueFleetAssociation ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text -> QueueFleetAssociation
mkQueueFleetAssociation :: Value Text -> Value Text -> Value Text -> QueueFleetAssociation
mkQueueFleetAssociation Value Text
farmId Value Text
fleetId Value Text
queueId
  = QueueFleetAssociation
      {haddock_workaround_ :: ()
haddock_workaround_ = (), farmId :: Value Text
farmId = Value Text
farmId, fleetId :: Value Text
fleetId = Value Text
fleetId,
       queueId :: Value Text
queueId = Value Text
queueId}
instance ToResourceProperties QueueFleetAssociation where
  toResourceProperties :: QueueFleetAssociation -> ResourceProperties
toResourceProperties QueueFleetAssociation {()
Value Text
haddock_workaround_ :: QueueFleetAssociation -> ()
farmId :: QueueFleetAssociation -> Value Text
fleetId :: QueueFleetAssociation -> Value Text
queueId :: QueueFleetAssociation -> Value Text
haddock_workaround_ :: ()
farmId :: Value Text
fleetId :: Value Text
queueId :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Deadline::QueueFleetAssociation",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"FarmId" 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
farmId, Key
"FleetId" 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
fleetId,
                       Key
"QueueId" 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
queueId]}
instance JSON.ToJSON QueueFleetAssociation where
  toJSON :: QueueFleetAssociation -> Value
toJSON QueueFleetAssociation {()
Value Text
haddock_workaround_ :: QueueFleetAssociation -> ()
farmId :: QueueFleetAssociation -> Value Text
fleetId :: QueueFleetAssociation -> Value Text
queueId :: QueueFleetAssociation -> Value Text
haddock_workaround_ :: ()
farmId :: Value Text
fleetId :: Value Text
queueId :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"FarmId" 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
farmId, Key
"FleetId" 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
fleetId,
         Key
"QueueId" 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
queueId]
instance Property "FarmId" QueueFleetAssociation where
  type PropertyType "FarmId" QueueFleetAssociation = Value Prelude.Text
  set :: PropertyType "FarmId" QueueFleetAssociation
-> QueueFleetAssociation -> QueueFleetAssociation
set PropertyType "FarmId" QueueFleetAssociation
newValue QueueFleetAssociation {()
Value Text
haddock_workaround_ :: QueueFleetAssociation -> ()
farmId :: QueueFleetAssociation -> Value Text
fleetId :: QueueFleetAssociation -> Value Text
queueId :: QueueFleetAssociation -> Value Text
haddock_workaround_ :: ()
farmId :: Value Text
fleetId :: Value Text
queueId :: Value Text
..}
    = QueueFleetAssociation {farmId :: Value Text
farmId = PropertyType "FarmId" QueueFleetAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
fleetId :: Value Text
queueId :: Value Text
haddock_workaround_ :: ()
fleetId :: Value Text
queueId :: Value Text
..}
instance Property "FleetId" QueueFleetAssociation where
  type PropertyType "FleetId" QueueFleetAssociation = Value Prelude.Text
  set :: PropertyType "FleetId" QueueFleetAssociation
-> QueueFleetAssociation -> QueueFleetAssociation
set PropertyType "FleetId" QueueFleetAssociation
newValue QueueFleetAssociation {()
Value Text
haddock_workaround_ :: QueueFleetAssociation -> ()
farmId :: QueueFleetAssociation -> Value Text
fleetId :: QueueFleetAssociation -> Value Text
queueId :: QueueFleetAssociation -> Value Text
haddock_workaround_ :: ()
farmId :: Value Text
fleetId :: Value Text
queueId :: Value Text
..}
    = QueueFleetAssociation {fleetId :: Value Text
fleetId = PropertyType "FleetId" QueueFleetAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
farmId :: Value Text
queueId :: Value Text
haddock_workaround_ :: ()
farmId :: Value Text
queueId :: Value Text
..}
instance Property "QueueId" QueueFleetAssociation where
  type PropertyType "QueueId" QueueFleetAssociation = Value Prelude.Text
  set :: PropertyType "QueueId" QueueFleetAssociation
-> QueueFleetAssociation -> QueueFleetAssociation
set PropertyType "QueueId" QueueFleetAssociation
newValue QueueFleetAssociation {()
Value Text
haddock_workaround_ :: QueueFleetAssociation -> ()
farmId :: QueueFleetAssociation -> Value Text
fleetId :: QueueFleetAssociation -> Value Text
queueId :: QueueFleetAssociation -> Value Text
haddock_workaround_ :: ()
farmId :: Value Text
fleetId :: Value Text
queueId :: Value Text
..}
    = QueueFleetAssociation {queueId :: Value Text
queueId = PropertyType "QueueId" QueueFleetAssociation
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
farmId :: Value Text
fleetId :: Value Text
haddock_workaround_ :: ()
farmId :: Value Text
fleetId :: Value Text
..}