module Stratosphere.Transfer.Workflow.InputFileLocationProperty (
module Exports, InputFileLocationProperty(..),
mkInputFileLocationProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Transfer.Workflow.EfsInputFileLocationProperty as Exports
import {-# SOURCE #-} Stratosphere.Transfer.Workflow.S3InputFileLocationProperty as Exports
import Stratosphere.ResourceProperties
data InputFileLocationProperty
=
InputFileLocationProperty {InputFileLocationProperty -> ()
haddock_workaround_ :: (),
InputFileLocationProperty -> Maybe EfsInputFileLocationProperty
efsFileLocation :: (Prelude.Maybe EfsInputFileLocationProperty),
InputFileLocationProperty -> Maybe S3InputFileLocationProperty
s3FileLocation :: (Prelude.Maybe S3InputFileLocationProperty)}
deriving stock (InputFileLocationProperty -> InputFileLocationProperty -> Bool
(InputFileLocationProperty -> InputFileLocationProperty -> Bool)
-> (InputFileLocationProperty -> InputFileLocationProperty -> Bool)
-> Eq InputFileLocationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: InputFileLocationProperty -> InputFileLocationProperty -> Bool
== :: InputFileLocationProperty -> InputFileLocationProperty -> Bool
$c/= :: InputFileLocationProperty -> InputFileLocationProperty -> Bool
/= :: InputFileLocationProperty -> InputFileLocationProperty -> Bool
Prelude.Eq, Int -> InputFileLocationProperty -> ShowS
[InputFileLocationProperty] -> ShowS
InputFileLocationProperty -> String
(Int -> InputFileLocationProperty -> ShowS)
-> (InputFileLocationProperty -> String)
-> ([InputFileLocationProperty] -> ShowS)
-> Show InputFileLocationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> InputFileLocationProperty -> ShowS
showsPrec :: Int -> InputFileLocationProperty -> ShowS
$cshow :: InputFileLocationProperty -> String
show :: InputFileLocationProperty -> String
$cshowList :: [InputFileLocationProperty] -> ShowS
showList :: [InputFileLocationProperty] -> ShowS
Prelude.Show)
mkInputFileLocationProperty :: InputFileLocationProperty
mkInputFileLocationProperty :: InputFileLocationProperty
mkInputFileLocationProperty
= InputFileLocationProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), efsFileLocation :: Maybe EfsInputFileLocationProperty
efsFileLocation = Maybe EfsInputFileLocationProperty
forall a. Maybe a
Prelude.Nothing,
s3FileLocation :: Maybe S3InputFileLocationProperty
s3FileLocation = Maybe S3InputFileLocationProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties InputFileLocationProperty where
toResourceProperties :: InputFileLocationProperty -> ResourceProperties
toResourceProperties InputFileLocationProperty {Maybe EfsInputFileLocationProperty
Maybe S3InputFileLocationProperty
()
haddock_workaround_ :: InputFileLocationProperty -> ()
efsFileLocation :: InputFileLocationProperty -> Maybe EfsInputFileLocationProperty
s3FileLocation :: InputFileLocationProperty -> Maybe S3InputFileLocationProperty
haddock_workaround_ :: ()
efsFileLocation :: Maybe EfsInputFileLocationProperty
s3FileLocation :: Maybe S3InputFileLocationProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::Transfer::Workflow.InputFileLocation",
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 -> EfsInputFileLocationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EfsFileLocation" (EfsInputFileLocationProperty -> (Key, Value))
-> Maybe EfsInputFileLocationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EfsInputFileLocationProperty
efsFileLocation,
Key -> S3InputFileLocationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"S3FileLocation" (S3InputFileLocationProperty -> (Key, Value))
-> Maybe S3InputFileLocationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe S3InputFileLocationProperty
s3FileLocation])}
instance JSON.ToJSON InputFileLocationProperty where
toJSON :: InputFileLocationProperty -> Value
toJSON InputFileLocationProperty {Maybe EfsInputFileLocationProperty
Maybe S3InputFileLocationProperty
()
haddock_workaround_ :: InputFileLocationProperty -> ()
efsFileLocation :: InputFileLocationProperty -> Maybe EfsInputFileLocationProperty
s3FileLocation :: InputFileLocationProperty -> Maybe S3InputFileLocationProperty
haddock_workaround_ :: ()
efsFileLocation :: Maybe EfsInputFileLocationProperty
s3FileLocation :: Maybe S3InputFileLocationProperty
..}
= [(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 -> EfsInputFileLocationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"EfsFileLocation" (EfsInputFileLocationProperty -> (Key, Value))
-> Maybe EfsInputFileLocationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EfsInputFileLocationProperty
efsFileLocation,
Key -> S3InputFileLocationProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"S3FileLocation" (S3InputFileLocationProperty -> (Key, Value))
-> Maybe S3InputFileLocationProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe S3InputFileLocationProperty
s3FileLocation]))
instance Property "EfsFileLocation" InputFileLocationProperty where
type PropertyType "EfsFileLocation" InputFileLocationProperty = EfsInputFileLocationProperty
set :: PropertyType "EfsFileLocation" InputFileLocationProperty
-> InputFileLocationProperty -> InputFileLocationProperty
set PropertyType "EfsFileLocation" InputFileLocationProperty
newValue InputFileLocationProperty {Maybe EfsInputFileLocationProperty
Maybe S3InputFileLocationProperty
()
haddock_workaround_ :: InputFileLocationProperty -> ()
efsFileLocation :: InputFileLocationProperty -> Maybe EfsInputFileLocationProperty
s3FileLocation :: InputFileLocationProperty -> Maybe S3InputFileLocationProperty
haddock_workaround_ :: ()
efsFileLocation :: Maybe EfsInputFileLocationProperty
s3FileLocation :: Maybe S3InputFileLocationProperty
..}
= InputFileLocationProperty
{efsFileLocation :: Maybe EfsInputFileLocationProperty
efsFileLocation = EfsInputFileLocationProperty -> Maybe EfsInputFileLocationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "EfsFileLocation" InputFileLocationProperty
EfsInputFileLocationProperty
newValue, Maybe S3InputFileLocationProperty
()
haddock_workaround_ :: ()
s3FileLocation :: Maybe S3InputFileLocationProperty
haddock_workaround_ :: ()
s3FileLocation :: Maybe S3InputFileLocationProperty
..}
instance Property "S3FileLocation" InputFileLocationProperty where
type PropertyType "S3FileLocation" InputFileLocationProperty = S3InputFileLocationProperty
set :: PropertyType "S3FileLocation" InputFileLocationProperty
-> InputFileLocationProperty -> InputFileLocationProperty
set PropertyType "S3FileLocation" InputFileLocationProperty
newValue InputFileLocationProperty {Maybe EfsInputFileLocationProperty
Maybe S3InputFileLocationProperty
()
haddock_workaround_ :: InputFileLocationProperty -> ()
efsFileLocation :: InputFileLocationProperty -> Maybe EfsInputFileLocationProperty
s3FileLocation :: InputFileLocationProperty -> Maybe S3InputFileLocationProperty
haddock_workaround_ :: ()
efsFileLocation :: Maybe EfsInputFileLocationProperty
s3FileLocation :: Maybe S3InputFileLocationProperty
..}
= InputFileLocationProperty
{s3FileLocation :: Maybe S3InputFileLocationProperty
s3FileLocation = S3InputFileLocationProperty -> Maybe S3InputFileLocationProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "S3FileLocation" InputFileLocationProperty
S3InputFileLocationProperty
newValue, Maybe EfsInputFileLocationProperty
()
haddock_workaround_ :: ()
efsFileLocation :: Maybe EfsInputFileLocationProperty
haddock_workaround_ :: ()
efsFileLocation :: Maybe EfsInputFileLocationProperty
..}