module Stratosphere.QuickSight.Analysis.StaticFileS3SourceOptionsProperty (
        StaticFileS3SourceOptionsProperty(..),
        mkStaticFileS3SourceOptionsProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data StaticFileS3SourceOptionsProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-staticfiles3sourceoptions.html>
    StaticFileS3SourceOptionsProperty {StaticFileS3SourceOptionsProperty -> ()
haddock_workaround_ :: (),
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-staticfiles3sourceoptions.html#cfn-quicksight-analysis-staticfiles3sourceoptions-bucketname>
                                       StaticFileS3SourceOptionsProperty -> Value Text
bucketName :: (Value Prelude.Text),
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-staticfiles3sourceoptions.html#cfn-quicksight-analysis-staticfiles3sourceoptions-objectkey>
                                       StaticFileS3SourceOptionsProperty -> Value Text
objectKey :: (Value Prelude.Text),
                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-quicksight-analysis-staticfiles3sourceoptions.html#cfn-quicksight-analysis-staticfiles3sourceoptions-region>
                                       StaticFileS3SourceOptionsProperty -> Value Text
region :: (Value Prelude.Text)}
  deriving stock (StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty -> Bool
(StaticFileS3SourceOptionsProperty
 -> StaticFileS3SourceOptionsProperty -> Bool)
-> (StaticFileS3SourceOptionsProperty
    -> StaticFileS3SourceOptionsProperty -> Bool)
-> Eq StaticFileS3SourceOptionsProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty -> Bool
== :: StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty -> Bool
$c/= :: StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty -> Bool
/= :: StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty -> Bool
Prelude.Eq, Int -> StaticFileS3SourceOptionsProperty -> ShowS
[StaticFileS3SourceOptionsProperty] -> ShowS
StaticFileS3SourceOptionsProperty -> String
(Int -> StaticFileS3SourceOptionsProperty -> ShowS)
-> (StaticFileS3SourceOptionsProperty -> String)
-> ([StaticFileS3SourceOptionsProperty] -> ShowS)
-> Show StaticFileS3SourceOptionsProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> StaticFileS3SourceOptionsProperty -> ShowS
showsPrec :: Int -> StaticFileS3SourceOptionsProperty -> ShowS
$cshow :: StaticFileS3SourceOptionsProperty -> String
show :: StaticFileS3SourceOptionsProperty -> String
$cshowList :: [StaticFileS3SourceOptionsProperty] -> ShowS
showList :: [StaticFileS3SourceOptionsProperty] -> ShowS
Prelude.Show)
mkStaticFileS3SourceOptionsProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> Value Prelude.Text -> StaticFileS3SourceOptionsProperty
mkStaticFileS3SourceOptionsProperty :: Value Text
-> Value Text -> Value Text -> StaticFileS3SourceOptionsProperty
mkStaticFileS3SourceOptionsProperty Value Text
bucketName Value Text
objectKey Value Text
region
  = StaticFileS3SourceOptionsProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), bucketName :: Value Text
bucketName = Value Text
bucketName,
       objectKey :: Value Text
objectKey = Value Text
objectKey, region :: Value Text
region = Value Text
region}
instance ToResourceProperties StaticFileS3SourceOptionsProperty where
  toResourceProperties :: StaticFileS3SourceOptionsProperty -> ResourceProperties
toResourceProperties StaticFileS3SourceOptionsProperty {()
Value Text
haddock_workaround_ :: StaticFileS3SourceOptionsProperty -> ()
bucketName :: StaticFileS3SourceOptionsProperty -> Value Text
objectKey :: StaticFileS3SourceOptionsProperty -> Value Text
region :: StaticFileS3SourceOptionsProperty -> Value Text
haddock_workaround_ :: ()
bucketName :: Value Text
objectKey :: Value Text
region :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::QuickSight::Analysis.StaticFileS3SourceOptions",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"BucketName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
bucketName,
                       Key
"ObjectKey" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
objectKey, Key
"Region" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
region]}
instance JSON.ToJSON StaticFileS3SourceOptionsProperty where
  toJSON :: StaticFileS3SourceOptionsProperty -> Value
toJSON StaticFileS3SourceOptionsProperty {()
Value Text
haddock_workaround_ :: StaticFileS3SourceOptionsProperty -> ()
bucketName :: StaticFileS3SourceOptionsProperty -> Value Text
objectKey :: StaticFileS3SourceOptionsProperty -> Value Text
region :: StaticFileS3SourceOptionsProperty -> Value Text
haddock_workaround_ :: ()
bucketName :: Value Text
objectKey :: Value Text
region :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"BucketName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
bucketName, Key
"ObjectKey" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
objectKey,
         Key
"Region" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
region]
instance Property "BucketName" StaticFileS3SourceOptionsProperty where
  type PropertyType "BucketName" StaticFileS3SourceOptionsProperty = Value Prelude.Text
  set :: PropertyType "BucketName" StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty
set PropertyType "BucketName" StaticFileS3SourceOptionsProperty
newValue StaticFileS3SourceOptionsProperty {()
Value Text
haddock_workaround_ :: StaticFileS3SourceOptionsProperty -> ()
bucketName :: StaticFileS3SourceOptionsProperty -> Value Text
objectKey :: StaticFileS3SourceOptionsProperty -> Value Text
region :: StaticFileS3SourceOptionsProperty -> Value Text
haddock_workaround_ :: ()
bucketName :: Value Text
objectKey :: Value Text
region :: Value Text
..}
    = StaticFileS3SourceOptionsProperty {bucketName :: Value Text
bucketName = PropertyType "BucketName" StaticFileS3SourceOptionsProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
objectKey :: Value Text
region :: Value Text
haddock_workaround_ :: ()
objectKey :: Value Text
region :: Value Text
..}
instance Property "ObjectKey" StaticFileS3SourceOptionsProperty where
  type PropertyType "ObjectKey" StaticFileS3SourceOptionsProperty = Value Prelude.Text
  set :: PropertyType "ObjectKey" StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty
set PropertyType "ObjectKey" StaticFileS3SourceOptionsProperty
newValue StaticFileS3SourceOptionsProperty {()
Value Text
haddock_workaround_ :: StaticFileS3SourceOptionsProperty -> ()
bucketName :: StaticFileS3SourceOptionsProperty -> Value Text
objectKey :: StaticFileS3SourceOptionsProperty -> Value Text
region :: StaticFileS3SourceOptionsProperty -> Value Text
haddock_workaround_ :: ()
bucketName :: Value Text
objectKey :: Value Text
region :: Value Text
..}
    = StaticFileS3SourceOptionsProperty {objectKey :: Value Text
objectKey = PropertyType "ObjectKey" StaticFileS3SourceOptionsProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
bucketName :: Value Text
region :: Value Text
haddock_workaround_ :: ()
bucketName :: Value Text
region :: Value Text
..}
instance Property "Region" StaticFileS3SourceOptionsProperty where
  type PropertyType "Region" StaticFileS3SourceOptionsProperty = Value Prelude.Text
  set :: PropertyType "Region" StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty
-> StaticFileS3SourceOptionsProperty
set PropertyType "Region" StaticFileS3SourceOptionsProperty
newValue StaticFileS3SourceOptionsProperty {()
Value Text
haddock_workaround_ :: StaticFileS3SourceOptionsProperty -> ()
bucketName :: StaticFileS3SourceOptionsProperty -> Value Text
objectKey :: StaticFileS3SourceOptionsProperty -> Value Text
region :: StaticFileS3SourceOptionsProperty -> Value Text
haddock_workaround_ :: ()
bucketName :: Value Text
objectKey :: Value Text
region :: Value Text
..}
    = StaticFileS3SourceOptionsProperty {region :: Value Text
region = PropertyType "Region" StaticFileS3SourceOptionsProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
bucketName :: Value Text
objectKey :: Value Text
haddock_workaround_ :: ()
bucketName :: Value Text
objectKey :: Value Text
..}