packages feed

stratosphere-databrew-1.0.0: gen/Stratosphere/DataBrew/Dataset/FilesLimitProperty.hs

module Stratosphere.DataBrew.Dataset.FilesLimitProperty (
        FilesLimitProperty(..), mkFilesLimitProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data FilesLimitProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-fileslimit.html>
    FilesLimitProperty {haddock_workaround_ :: (),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-fileslimit.html#cfn-databrew-dataset-fileslimit-maxfiles>
                        maxFiles :: (Value Prelude.Integer),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-fileslimit.html#cfn-databrew-dataset-fileslimit-order>
                        order :: (Prelude.Maybe (Value Prelude.Text)),
                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-fileslimit.html#cfn-databrew-dataset-fileslimit-orderedby>
                        orderedBy :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (Prelude.Eq, Prelude.Show)
mkFilesLimitProperty :: Value Prelude.Integer -> FilesLimitProperty
mkFilesLimitProperty maxFiles
  = FilesLimitProperty
      {haddock_workaround_ = (), maxFiles = maxFiles,
       order = Prelude.Nothing, orderedBy = Prelude.Nothing}
instance ToResourceProperties FilesLimitProperty where
  toResourceProperties FilesLimitProperty {..}
    = ResourceProperties
        {awsType = "AWS::DataBrew::Dataset.FilesLimit",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        ((Prelude.<>)
                           ["MaxFiles" JSON..= maxFiles]
                           (Prelude.catMaybes
                              [(JSON..=) "Order" Prelude.<$> order,
                               (JSON..=) "OrderedBy" Prelude.<$> orderedBy]))}
instance JSON.ToJSON FilesLimitProperty where
  toJSON FilesLimitProperty {..}
    = JSON.object
        (Prelude.fromList
           ((Prelude.<>)
              ["MaxFiles" JSON..= maxFiles]
              (Prelude.catMaybes
                 [(JSON..=) "Order" Prelude.<$> order,
                  (JSON..=) "OrderedBy" Prelude.<$> orderedBy])))
instance Property "MaxFiles" FilesLimitProperty where
  type PropertyType "MaxFiles" FilesLimitProperty = Value Prelude.Integer
  set newValue FilesLimitProperty {..}
    = FilesLimitProperty {maxFiles = newValue, ..}
instance Property "Order" FilesLimitProperty where
  type PropertyType "Order" FilesLimitProperty = Value Prelude.Text
  set newValue FilesLimitProperty {..}
    = FilesLimitProperty {order = Prelude.pure newValue, ..}
instance Property "OrderedBy" FilesLimitProperty where
  type PropertyType "OrderedBy" FilesLimitProperty = Value Prelude.Text
  set newValue FilesLimitProperty {..}
    = FilesLimitProperty {orderedBy = Prelude.pure newValue, ..}