packages feed

stratosphere-bcmdataexports-1.0.0: gen/Stratosphere/BCMDataExports/Export.hs

module Stratosphere.BCMDataExports.Export (
        module Exports, Export(..), mkExport
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.BCMDataExports.Export.ExportProperty as Exports
import {-# SOURCE #-} Stratosphere.BCMDataExports.Export.ResourceTagProperty as Exports
import Stratosphere.ResourceProperties
data Export
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html>
    Export {haddock_workaround_ :: (),
            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html#cfn-bcmdataexports-export-export>
            export :: ExportProperty,
            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bcmdataexports-export.html#cfn-bcmdataexports-export-tags>
            tags :: (Prelude.Maybe [ResourceTagProperty])}
  deriving stock (Prelude.Eq, Prelude.Show)
mkExport :: ExportProperty -> Export
mkExport export
  = Export
      {haddock_workaround_ = (), export = export, tags = Prelude.Nothing}
instance ToResourceProperties Export where
  toResourceProperties Export {..}
    = ResourceProperties
        {awsType = "AWS::BCMDataExports::Export",
         supportsTags = Prelude.True,
         properties = Prelude.fromList
                        ((Prelude.<>)
                           ["Export" JSON..= export]
                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}
instance JSON.ToJSON Export where
  toJSON Export {..}
    = JSON.object
        (Prelude.fromList
           ((Prelude.<>)
              ["Export" JSON..= export]
              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))
instance Property "Export" Export where
  type PropertyType "Export" Export = ExportProperty
  set newValue Export {..} = Export {export = newValue, ..}
instance Property "Tags" Export where
  type PropertyType "Tags" Export = [ResourceTagProperty]
  set newValue Export {..}
    = Export {tags = Prelude.pure newValue, ..}