module Stratosphere.GreengrassV2.Deployment.IoTJobAbortCriteriaProperty ( IoTJobAbortCriteriaProperty(..), mkIoTJobAbortCriteriaProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data IoTJobAbortCriteriaProperty = -- | See: IoTJobAbortCriteriaProperty {haddock_workaround_ :: (), -- | See: action :: (Value Prelude.Text), -- | See: failureType :: (Value Prelude.Text), -- | See: minNumberOfExecutedThings :: (Value Prelude.Integer), -- | See: thresholdPercentage :: (Value Prelude.Double)} deriving stock (Prelude.Eq, Prelude.Show) mkIoTJobAbortCriteriaProperty :: Value Prelude.Text -> Value Prelude.Text -> Value Prelude.Integer -> Value Prelude.Double -> IoTJobAbortCriteriaProperty mkIoTJobAbortCriteriaProperty action failureType minNumberOfExecutedThings thresholdPercentage = IoTJobAbortCriteriaProperty {haddock_workaround_ = (), action = action, failureType = failureType, minNumberOfExecutedThings = minNumberOfExecutedThings, thresholdPercentage = thresholdPercentage} instance ToResourceProperties IoTJobAbortCriteriaProperty where toResourceProperties IoTJobAbortCriteriaProperty {..} = ResourceProperties {awsType = "AWS::GreengrassV2::Deployment.IoTJobAbortCriteria", supportsTags = Prelude.False, properties = ["Action" JSON..= action, "FailureType" JSON..= failureType, "MinNumberOfExecutedThings" JSON..= minNumberOfExecutedThings, "ThresholdPercentage" JSON..= thresholdPercentage]} instance JSON.ToJSON IoTJobAbortCriteriaProperty where toJSON IoTJobAbortCriteriaProperty {..} = JSON.object ["Action" JSON..= action, "FailureType" JSON..= failureType, "MinNumberOfExecutedThings" JSON..= minNumberOfExecutedThings, "ThresholdPercentage" JSON..= thresholdPercentage] instance Property "Action" IoTJobAbortCriteriaProperty where type PropertyType "Action" IoTJobAbortCriteriaProperty = Value Prelude.Text set newValue IoTJobAbortCriteriaProperty {..} = IoTJobAbortCriteriaProperty {action = newValue, ..} instance Property "FailureType" IoTJobAbortCriteriaProperty where type PropertyType "FailureType" IoTJobAbortCriteriaProperty = Value Prelude.Text set newValue IoTJobAbortCriteriaProperty {..} = IoTJobAbortCriteriaProperty {failureType = newValue, ..} instance Property "MinNumberOfExecutedThings" IoTJobAbortCriteriaProperty where type PropertyType "MinNumberOfExecutedThings" IoTJobAbortCriteriaProperty = Value Prelude.Integer set newValue IoTJobAbortCriteriaProperty {..} = IoTJobAbortCriteriaProperty {minNumberOfExecutedThings = newValue, ..} instance Property "ThresholdPercentage" IoTJobAbortCriteriaProperty where type PropertyType "ThresholdPercentage" IoTJobAbortCriteriaProperty = Value Prelude.Double set newValue IoTJobAbortCriteriaProperty {..} = IoTJobAbortCriteriaProperty {thresholdPercentage = newValue, ..}