packages feed

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

module Stratosphere.DataBrew.Dataset.FormatOptionsProperty (
        module Exports, FormatOptionsProperty(..), mkFormatOptionsProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.DataBrew.Dataset.CsvOptionsProperty as Exports
import {-# SOURCE #-} Stratosphere.DataBrew.Dataset.ExcelOptionsProperty as Exports
import {-# SOURCE #-} Stratosphere.DataBrew.Dataset.JsonOptionsProperty as Exports
import Stratosphere.ResourceProperties
data FormatOptionsProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-formatoptions.html>
    FormatOptionsProperty {haddock_workaround_ :: (),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-formatoptions.html#cfn-databrew-dataset-formatoptions-csv>
                           csv :: (Prelude.Maybe CsvOptionsProperty),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-formatoptions.html#cfn-databrew-dataset-formatoptions-excel>
                           excel :: (Prelude.Maybe ExcelOptionsProperty),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-formatoptions.html#cfn-databrew-dataset-formatoptions-json>
                           json :: (Prelude.Maybe JsonOptionsProperty)}
  deriving stock (Prelude.Eq, Prelude.Show)
mkFormatOptionsProperty :: FormatOptionsProperty
mkFormatOptionsProperty
  = FormatOptionsProperty
      {haddock_workaround_ = (), csv = Prelude.Nothing,
       excel = Prelude.Nothing, json = Prelude.Nothing}
instance ToResourceProperties FormatOptionsProperty where
  toResourceProperties FormatOptionsProperty {..}
    = ResourceProperties
        {awsType = "AWS::DataBrew::Dataset.FormatOptions",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        (Prelude.catMaybes
                           [(JSON..=) "Csv" Prelude.<$> csv,
                            (JSON..=) "Excel" Prelude.<$> excel,
                            (JSON..=) "Json" Prelude.<$> json])}
instance JSON.ToJSON FormatOptionsProperty where
  toJSON FormatOptionsProperty {..}
    = JSON.object
        (Prelude.fromList
           (Prelude.catMaybes
              [(JSON..=) "Csv" Prelude.<$> csv,
               (JSON..=) "Excel" Prelude.<$> excel,
               (JSON..=) "Json" Prelude.<$> json]))
instance Property "Csv" FormatOptionsProperty where
  type PropertyType "Csv" FormatOptionsProperty = CsvOptionsProperty
  set newValue FormatOptionsProperty {..}
    = FormatOptionsProperty {csv = Prelude.pure newValue, ..}
instance Property "Excel" FormatOptionsProperty where
  type PropertyType "Excel" FormatOptionsProperty = ExcelOptionsProperty
  set newValue FormatOptionsProperty {..}
    = FormatOptionsProperty {excel = Prelude.pure newValue, ..}
instance Property "Json" FormatOptionsProperty where
  type PropertyType "Json" FormatOptionsProperty = JsonOptionsProperty
  set newValue FormatOptionsProperty {..}
    = FormatOptionsProperty {json = Prelude.pure newValue, ..}