module Stratosphere.DataBrew.Dataset.ExcelOptionsProperty (
        ExcelOptionsProperty(..), mkExcelOptionsProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ExcelOptionsProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-exceloptions.html>
    ExcelOptionsProperty {ExcelOptionsProperty -> ()
haddock_workaround_ :: (),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-exceloptions.html#cfn-databrew-dataset-exceloptions-headerrow>
                          ExcelOptionsProperty -> Maybe (Value Bool)
headerRow :: (Prelude.Maybe (Value Prelude.Bool)),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-exceloptions.html#cfn-databrew-dataset-exceloptions-sheetindexes>
                          ExcelOptionsProperty -> Maybe (ValueList Integer)
sheetIndexes :: (Prelude.Maybe (ValueList Prelude.Integer)),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-databrew-dataset-exceloptions.html#cfn-databrew-dataset-exceloptions-sheetnames>
                          ExcelOptionsProperty -> Maybe (ValueList Text)
sheetNames :: (Prelude.Maybe (ValueList Prelude.Text))}
  deriving stock (ExcelOptionsProperty -> ExcelOptionsProperty -> Bool
(ExcelOptionsProperty -> ExcelOptionsProperty -> Bool)
-> (ExcelOptionsProperty -> ExcelOptionsProperty -> Bool)
-> Eq ExcelOptionsProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ExcelOptionsProperty -> ExcelOptionsProperty -> Bool
== :: ExcelOptionsProperty -> ExcelOptionsProperty -> Bool
$c/= :: ExcelOptionsProperty -> ExcelOptionsProperty -> Bool
/= :: ExcelOptionsProperty -> ExcelOptionsProperty -> Bool
Prelude.Eq, Int -> ExcelOptionsProperty -> ShowS
[ExcelOptionsProperty] -> ShowS
ExcelOptionsProperty -> String
(Int -> ExcelOptionsProperty -> ShowS)
-> (ExcelOptionsProperty -> String)
-> ([ExcelOptionsProperty] -> ShowS)
-> Show ExcelOptionsProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ExcelOptionsProperty -> ShowS
showsPrec :: Int -> ExcelOptionsProperty -> ShowS
$cshow :: ExcelOptionsProperty -> String
show :: ExcelOptionsProperty -> String
$cshowList :: [ExcelOptionsProperty] -> ShowS
showList :: [ExcelOptionsProperty] -> ShowS
Prelude.Show)
mkExcelOptionsProperty :: ExcelOptionsProperty
mkExcelOptionsProperty :: ExcelOptionsProperty
mkExcelOptionsProperty
  = ExcelOptionsProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), headerRow :: Maybe (Value Bool)
headerRow = Maybe (Value Bool)
forall a. Maybe a
Prelude.Nothing,
       sheetIndexes :: Maybe (ValueList Integer)
sheetIndexes = Maybe (ValueList Integer)
forall a. Maybe a
Prelude.Nothing, sheetNames :: Maybe (ValueList Text)
sheetNames = Maybe (ValueList Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties ExcelOptionsProperty where
  toResourceProperties :: ExcelOptionsProperty -> ResourceProperties
toResourceProperties ExcelOptionsProperty {Maybe (ValueList Integer)
Maybe (ValueList Text)
Maybe (Value Bool)
()
haddock_workaround_ :: ExcelOptionsProperty -> ()
headerRow :: ExcelOptionsProperty -> Maybe (Value Bool)
sheetIndexes :: ExcelOptionsProperty -> Maybe (ValueList Integer)
sheetNames :: ExcelOptionsProperty -> Maybe (ValueList Text)
haddock_workaround_ :: ()
headerRow :: Maybe (Value Bool)
sheetIndexes :: Maybe (ValueList Integer)
sheetNames :: Maybe (ValueList Text)
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::DataBrew::Dataset.ExcelOptions",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"HeaderRow" (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
headerRow,
                            Key -> ValueList Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SheetIndexes" (ValueList Integer -> (Key, Value))
-> Maybe (ValueList Integer) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Integer)
sheetIndexes,
                            Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SheetNames" (ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
sheetNames])}
instance JSON.ToJSON ExcelOptionsProperty where
  toJSON :: ExcelOptionsProperty -> Value
toJSON ExcelOptionsProperty {Maybe (ValueList Integer)
Maybe (ValueList Text)
Maybe (Value Bool)
()
haddock_workaround_ :: ExcelOptionsProperty -> ()
headerRow :: ExcelOptionsProperty -> Maybe (Value Bool)
sheetIndexes :: ExcelOptionsProperty -> Maybe (ValueList Integer)
sheetNames :: ExcelOptionsProperty -> Maybe (ValueList Text)
haddock_workaround_ :: ()
headerRow :: Maybe (Value Bool)
sheetIndexes :: Maybe (ValueList Integer)
sheetNames :: Maybe (ValueList Text)
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> Value Bool -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"HeaderRow" (Value Bool -> (Key, Value))
-> Maybe (Value Bool) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Bool)
headerRow,
               Key -> ValueList Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SheetIndexes" (ValueList Integer -> (Key, Value))
-> Maybe (ValueList Integer) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Integer)
sheetIndexes,
               Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"SheetNames" (ValueList Text -> (Key, Value))
-> Maybe (ValueList Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (ValueList Text)
sheetNames]))
instance Property "HeaderRow" ExcelOptionsProperty where
  type PropertyType "HeaderRow" ExcelOptionsProperty = Value Prelude.Bool
  set :: PropertyType "HeaderRow" ExcelOptionsProperty
-> ExcelOptionsProperty -> ExcelOptionsProperty
set PropertyType "HeaderRow" ExcelOptionsProperty
newValue ExcelOptionsProperty {Maybe (ValueList Integer)
Maybe (ValueList Text)
Maybe (Value Bool)
()
haddock_workaround_ :: ExcelOptionsProperty -> ()
headerRow :: ExcelOptionsProperty -> Maybe (Value Bool)
sheetIndexes :: ExcelOptionsProperty -> Maybe (ValueList Integer)
sheetNames :: ExcelOptionsProperty -> Maybe (ValueList Text)
haddock_workaround_ :: ()
headerRow :: Maybe (Value Bool)
sheetIndexes :: Maybe (ValueList Integer)
sheetNames :: Maybe (ValueList Text)
..}
    = ExcelOptionsProperty {headerRow :: Maybe (Value Bool)
headerRow = Value Bool -> Maybe (Value Bool)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "HeaderRow" ExcelOptionsProperty
Value Bool
newValue, Maybe (ValueList Integer)
Maybe (ValueList Text)
()
haddock_workaround_ :: ()
sheetIndexes :: Maybe (ValueList Integer)
sheetNames :: Maybe (ValueList Text)
haddock_workaround_ :: ()
sheetIndexes :: Maybe (ValueList Integer)
sheetNames :: Maybe (ValueList Text)
..}
instance Property "SheetIndexes" ExcelOptionsProperty where
  type PropertyType "SheetIndexes" ExcelOptionsProperty = ValueList Prelude.Integer
  set :: PropertyType "SheetIndexes" ExcelOptionsProperty
-> ExcelOptionsProperty -> ExcelOptionsProperty
set PropertyType "SheetIndexes" ExcelOptionsProperty
newValue ExcelOptionsProperty {Maybe (ValueList Integer)
Maybe (ValueList Text)
Maybe (Value Bool)
()
haddock_workaround_ :: ExcelOptionsProperty -> ()
headerRow :: ExcelOptionsProperty -> Maybe (Value Bool)
sheetIndexes :: ExcelOptionsProperty -> Maybe (ValueList Integer)
sheetNames :: ExcelOptionsProperty -> Maybe (ValueList Text)
haddock_workaround_ :: ()
headerRow :: Maybe (Value Bool)
sheetIndexes :: Maybe (ValueList Integer)
sheetNames :: Maybe (ValueList Text)
..}
    = ExcelOptionsProperty {sheetIndexes :: Maybe (ValueList Integer)
sheetIndexes = ValueList Integer -> Maybe (ValueList Integer)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "SheetIndexes" ExcelOptionsProperty
ValueList Integer
newValue, Maybe (ValueList Text)
Maybe (Value Bool)
()
haddock_workaround_ :: ()
headerRow :: Maybe (Value Bool)
sheetNames :: Maybe (ValueList Text)
haddock_workaround_ :: ()
headerRow :: Maybe (Value Bool)
sheetNames :: Maybe (ValueList Text)
..}
instance Property "SheetNames" ExcelOptionsProperty where
  type PropertyType "SheetNames" ExcelOptionsProperty = ValueList Prelude.Text
  set :: PropertyType "SheetNames" ExcelOptionsProperty
-> ExcelOptionsProperty -> ExcelOptionsProperty
set PropertyType "SheetNames" ExcelOptionsProperty
newValue ExcelOptionsProperty {Maybe (ValueList Integer)
Maybe (ValueList Text)
Maybe (Value Bool)
()
haddock_workaround_ :: ExcelOptionsProperty -> ()
headerRow :: ExcelOptionsProperty -> Maybe (Value Bool)
sheetIndexes :: ExcelOptionsProperty -> Maybe (ValueList Integer)
sheetNames :: ExcelOptionsProperty -> Maybe (ValueList Text)
haddock_workaround_ :: ()
headerRow :: Maybe (Value Bool)
sheetIndexes :: Maybe (ValueList Integer)
sheetNames :: Maybe (ValueList Text)
..}
    = ExcelOptionsProperty {sheetNames :: Maybe (ValueList Text)
sheetNames = ValueList Text -> Maybe (ValueList Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "SheetNames" ExcelOptionsProperty
ValueList Text
newValue, Maybe (ValueList Integer)
Maybe (Value Bool)
()
haddock_workaround_ :: ()
headerRow :: Maybe (Value Bool)
sheetIndexes :: Maybe (ValueList Integer)
haddock_workaround_ :: ()
headerRow :: Maybe (Value Bool)
sheetIndexes :: Maybe (ValueList Integer)
..}