packages feed

stratosphere-batch-1.0.0: gen/Stratosphere/Batch/JobQueue/JobStateTimeLimitActionProperty.hs

module Stratosphere.Batch.JobQueue.JobStateTimeLimitActionProperty (
        JobStateTimeLimitActionProperty(..),
        mkJobStateTimeLimitActionProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data JobStateTimeLimitActionProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html>
    JobStateTimeLimitActionProperty {haddock_workaround_ :: (),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-action>
                                     action :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-maxtimeseconds>
                                     maxTimeSeconds :: (Value Prelude.Integer),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-reason>
                                     reason :: (Value Prelude.Text),
                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-state>
                                     state :: (Value Prelude.Text)}
  deriving stock (Prelude.Eq, Prelude.Show)
mkJobStateTimeLimitActionProperty ::
  Value Prelude.Text
  -> Value Prelude.Integer
     -> Value Prelude.Text
        -> Value Prelude.Text -> JobStateTimeLimitActionProperty
mkJobStateTimeLimitActionProperty
  action
  maxTimeSeconds
  reason
  state
  = JobStateTimeLimitActionProperty
      {haddock_workaround_ = (), action = action,
       maxTimeSeconds = maxTimeSeconds, reason = reason, state = state}
instance ToResourceProperties JobStateTimeLimitActionProperty where
  toResourceProperties JobStateTimeLimitActionProperty {..}
    = ResourceProperties
        {awsType = "AWS::Batch::JobQueue.JobStateTimeLimitAction",
         supportsTags = Prelude.False,
         properties = ["Action" JSON..= action,
                       "MaxTimeSeconds" JSON..= maxTimeSeconds, "Reason" JSON..= reason,
                       "State" JSON..= state]}
instance JSON.ToJSON JobStateTimeLimitActionProperty where
  toJSON JobStateTimeLimitActionProperty {..}
    = JSON.object
        ["Action" JSON..= action, "MaxTimeSeconds" JSON..= maxTimeSeconds,
         "Reason" JSON..= reason, "State" JSON..= state]
instance Property "Action" JobStateTimeLimitActionProperty where
  type PropertyType "Action" JobStateTimeLimitActionProperty = Value Prelude.Text
  set newValue JobStateTimeLimitActionProperty {..}
    = JobStateTimeLimitActionProperty {action = newValue, ..}
instance Property "MaxTimeSeconds" JobStateTimeLimitActionProperty where
  type PropertyType "MaxTimeSeconds" JobStateTimeLimitActionProperty = Value Prelude.Integer
  set newValue JobStateTimeLimitActionProperty {..}
    = JobStateTimeLimitActionProperty {maxTimeSeconds = newValue, ..}
instance Property "Reason" JobStateTimeLimitActionProperty where
  type PropertyType "Reason" JobStateTimeLimitActionProperty = Value Prelude.Text
  set newValue JobStateTimeLimitActionProperty {..}
    = JobStateTimeLimitActionProperty {reason = newValue, ..}
instance Property "State" JobStateTimeLimitActionProperty where
  type PropertyType "State" JobStateTimeLimitActionProperty = Value Prelude.Text
  set newValue JobStateTimeLimitActionProperty {..}
    = JobStateTimeLimitActionProperty {state = newValue, ..}