module Stratosphere.IoTAnalytics.Dataset.S3DestinationConfigurationProperty (
module Exports, S3DestinationConfigurationProperty(..),
mkS3DestinationConfigurationProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.IoTAnalytics.Dataset.GlueConfigurationProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data S3DestinationConfigurationProperty
=
S3DestinationConfigurationProperty {S3DestinationConfigurationProperty -> ()
haddock_workaround_ :: (),
S3DestinationConfigurationProperty -> Value Text
bucket :: (Value Prelude.Text),
S3DestinationConfigurationProperty
-> Maybe GlueConfigurationProperty
glueConfiguration :: (Prelude.Maybe GlueConfigurationProperty),
S3DestinationConfigurationProperty -> Value Text
key :: (Value Prelude.Text),
S3DestinationConfigurationProperty -> Value Text
roleArn :: (Value Prelude.Text)}
deriving stock (S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty -> Bool
(S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty -> Bool)
-> (S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty -> Bool)
-> Eq S3DestinationConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty -> Bool
== :: S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty -> Bool
$c/= :: S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty -> Bool
/= :: S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty -> Bool
Prelude.Eq, Int -> S3DestinationConfigurationProperty -> ShowS
[S3DestinationConfigurationProperty] -> ShowS
S3DestinationConfigurationProperty -> String
(Int -> S3DestinationConfigurationProperty -> ShowS)
-> (S3DestinationConfigurationProperty -> String)
-> ([S3DestinationConfigurationProperty] -> ShowS)
-> Show S3DestinationConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> S3DestinationConfigurationProperty -> ShowS
showsPrec :: Int -> S3DestinationConfigurationProperty -> ShowS
$cshow :: S3DestinationConfigurationProperty -> String
show :: S3DestinationConfigurationProperty -> String
$cshowList :: [S3DestinationConfigurationProperty] -> ShowS
showList :: [S3DestinationConfigurationProperty] -> ShowS
Prelude.Show)
mkS3DestinationConfigurationProperty ::
Value Prelude.Text
-> Value Prelude.Text
-> Value Prelude.Text -> S3DestinationConfigurationProperty
mkS3DestinationConfigurationProperty :: Value Text
-> Value Text -> Value Text -> S3DestinationConfigurationProperty
mkS3DestinationConfigurationProperty Value Text
bucket Value Text
key Value Text
roleArn
= S3DestinationConfigurationProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), bucket :: Value Text
bucket = Value Text
bucket, key :: Value Text
key = Value Text
key,
roleArn :: Value Text
roleArn = Value Text
roleArn, glueConfiguration :: Maybe GlueConfigurationProperty
glueConfiguration = Maybe GlueConfigurationProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties S3DestinationConfigurationProperty where
toResourceProperties :: S3DestinationConfigurationProperty -> ResourceProperties
toResourceProperties S3DestinationConfigurationProperty {Maybe GlueConfigurationProperty
()
Value Text
haddock_workaround_ :: S3DestinationConfigurationProperty -> ()
bucket :: S3DestinationConfigurationProperty -> Value Text
glueConfiguration :: S3DestinationConfigurationProperty
-> Maybe GlueConfigurationProperty
key :: S3DestinationConfigurationProperty -> Value Text
roleArn :: S3DestinationConfigurationProperty -> Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
roleArn :: Value Text
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::IoTAnalytics::Dataset.S3DestinationConfiguration",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"Bucket" 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
bucket, Key
"Key" 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
key,
Key
"RoleArn" 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
roleArn]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> GlueConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"GlueConfiguration" (GlueConfigurationProperty -> (Key, Value))
-> Maybe GlueConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GlueConfigurationProperty
glueConfiguration]))}
instance JSON.ToJSON S3DestinationConfigurationProperty where
toJSON :: S3DestinationConfigurationProperty -> Value
toJSON S3DestinationConfigurationProperty {Maybe GlueConfigurationProperty
()
Value Text
haddock_workaround_ :: S3DestinationConfigurationProperty -> ()
bucket :: S3DestinationConfigurationProperty -> Value Text
glueConfiguration :: S3DestinationConfigurationProperty
-> Maybe GlueConfigurationProperty
key :: S3DestinationConfigurationProperty -> Value Text
roleArn :: S3DestinationConfigurationProperty -> Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
roleArn :: Value Text
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"Bucket" 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
bucket, Key
"Key" 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
key,
Key
"RoleArn" 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
roleArn]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
[Key -> GlueConfigurationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"GlueConfiguration" (GlueConfigurationProperty -> (Key, Value))
-> Maybe GlueConfigurationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GlueConfigurationProperty
glueConfiguration])))
instance Property "Bucket" S3DestinationConfigurationProperty where
type PropertyType "Bucket" S3DestinationConfigurationProperty = Value Prelude.Text
set :: PropertyType "Bucket" S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty
set PropertyType "Bucket" S3DestinationConfigurationProperty
newValue S3DestinationConfigurationProperty {Maybe GlueConfigurationProperty
()
Value Text
haddock_workaround_ :: S3DestinationConfigurationProperty -> ()
bucket :: S3DestinationConfigurationProperty -> Value Text
glueConfiguration :: S3DestinationConfigurationProperty
-> Maybe GlueConfigurationProperty
key :: S3DestinationConfigurationProperty -> Value Text
roleArn :: S3DestinationConfigurationProperty -> Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
roleArn :: Value Text
..}
= S3DestinationConfigurationProperty {bucket :: Value Text
bucket = PropertyType "Bucket" S3DestinationConfigurationProperty
Value Text
newValue, Maybe GlueConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
roleArn :: Value Text
haddock_workaround_ :: ()
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
roleArn :: Value Text
..}
instance Property "GlueConfiguration" S3DestinationConfigurationProperty where
type PropertyType "GlueConfiguration" S3DestinationConfigurationProperty = GlueConfigurationProperty
set :: PropertyType "GlueConfiguration" S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty
set PropertyType "GlueConfiguration" S3DestinationConfigurationProperty
newValue S3DestinationConfigurationProperty {Maybe GlueConfigurationProperty
()
Value Text
haddock_workaround_ :: S3DestinationConfigurationProperty -> ()
bucket :: S3DestinationConfigurationProperty -> Value Text
glueConfiguration :: S3DestinationConfigurationProperty
-> Maybe GlueConfigurationProperty
key :: S3DestinationConfigurationProperty -> Value Text
roleArn :: S3DestinationConfigurationProperty -> Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
roleArn :: Value Text
..}
= S3DestinationConfigurationProperty
{glueConfiguration :: Maybe GlueConfigurationProperty
glueConfiguration = GlueConfigurationProperty -> Maybe GlueConfigurationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "GlueConfiguration" S3DestinationConfigurationProperty
GlueConfigurationProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
bucket :: Value Text
key :: Value Text
roleArn :: Value Text
haddock_workaround_ :: ()
bucket :: Value Text
key :: Value Text
roleArn :: Value Text
..}
instance Property "Key" S3DestinationConfigurationProperty where
type PropertyType "Key" S3DestinationConfigurationProperty = Value Prelude.Text
set :: PropertyType "Key" S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty
set PropertyType "Key" S3DestinationConfigurationProperty
newValue S3DestinationConfigurationProperty {Maybe GlueConfigurationProperty
()
Value Text
haddock_workaround_ :: S3DestinationConfigurationProperty -> ()
bucket :: S3DestinationConfigurationProperty -> Value Text
glueConfiguration :: S3DestinationConfigurationProperty
-> Maybe GlueConfigurationProperty
key :: S3DestinationConfigurationProperty -> Value Text
roleArn :: S3DestinationConfigurationProperty -> Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
roleArn :: Value Text
..}
= S3DestinationConfigurationProperty {key :: Value Text
key = PropertyType "Key" S3DestinationConfigurationProperty
Value Text
newValue, Maybe GlueConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
roleArn :: Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
roleArn :: Value Text
..}
instance Property "RoleArn" S3DestinationConfigurationProperty where
type PropertyType "RoleArn" S3DestinationConfigurationProperty = Value Prelude.Text
set :: PropertyType "RoleArn" S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty
-> S3DestinationConfigurationProperty
set PropertyType "RoleArn" S3DestinationConfigurationProperty
newValue S3DestinationConfigurationProperty {Maybe GlueConfigurationProperty
()
Value Text
haddock_workaround_ :: S3DestinationConfigurationProperty -> ()
bucket :: S3DestinationConfigurationProperty -> Value Text
glueConfiguration :: S3DestinationConfigurationProperty
-> Maybe GlueConfigurationProperty
key :: S3DestinationConfigurationProperty -> Value Text
roleArn :: S3DestinationConfigurationProperty -> Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
roleArn :: Value Text
..}
= S3DestinationConfigurationProperty {roleArn :: Value Text
roleArn = PropertyType "RoleArn" S3DestinationConfigurationProperty
Value Text
newValue, Maybe GlueConfigurationProperty
()
Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
haddock_workaround_ :: ()
bucket :: Value Text
glueConfiguration :: Maybe GlueConfigurationProperty
key :: Value Text
..}