stratosphere-datazone-1.0.0: gen/Stratosphere/DataZone/Connection/ConnectionPropertiesInputProperty.hs
module Stratosphere.DataZone.Connection.ConnectionPropertiesInputProperty (
module Exports, ConnectionPropertiesInputProperty(..),
mkConnectionPropertiesInputProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.DataZone.Connection.AthenaPropertiesInputProperty as Exports
import {-# SOURCE #-} Stratosphere.DataZone.Connection.GluePropertiesInputProperty as Exports
import {-# SOURCE #-} Stratosphere.DataZone.Connection.HyperPodPropertiesInputProperty as Exports
import {-# SOURCE #-} Stratosphere.DataZone.Connection.IamPropertiesInputProperty as Exports
import {-# SOURCE #-} Stratosphere.DataZone.Connection.RedshiftPropertiesInputProperty as Exports
import {-# SOURCE #-} Stratosphere.DataZone.Connection.S3PropertiesInputProperty as Exports
import {-# SOURCE #-} Stratosphere.DataZone.Connection.SparkEmrPropertiesInputProperty as Exports
import {-# SOURCE #-} Stratosphere.DataZone.Connection.SparkGluePropertiesInputProperty as Exports
import Stratosphere.ResourceProperties
data ConnectionPropertiesInputProperty
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-connectionpropertiesinput.html>
ConnectionPropertiesInputProperty {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-connectionpropertiesinput.html#cfn-datazone-connection-connectionpropertiesinput-athenaproperties>
athenaProperties :: (Prelude.Maybe AthenaPropertiesInputProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-connectionpropertiesinput.html#cfn-datazone-connection-connectionpropertiesinput-glueproperties>
glueProperties :: (Prelude.Maybe GluePropertiesInputProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-connectionpropertiesinput.html#cfn-datazone-connection-connectionpropertiesinput-hyperpodproperties>
hyperPodProperties :: (Prelude.Maybe HyperPodPropertiesInputProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-connectionpropertiesinput.html#cfn-datazone-connection-connectionpropertiesinput-iamproperties>
iamProperties :: (Prelude.Maybe IamPropertiesInputProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-connectionpropertiesinput.html#cfn-datazone-connection-connectionpropertiesinput-redshiftproperties>
redshiftProperties :: (Prelude.Maybe RedshiftPropertiesInputProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-connectionpropertiesinput.html#cfn-datazone-connection-connectionpropertiesinput-s3properties>
s3Properties :: (Prelude.Maybe S3PropertiesInputProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-connectionpropertiesinput.html#cfn-datazone-connection-connectionpropertiesinput-sparkemrproperties>
sparkEmrProperties :: (Prelude.Maybe SparkEmrPropertiesInputProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-connection-connectionpropertiesinput.html#cfn-datazone-connection-connectionpropertiesinput-sparkglueproperties>
sparkGlueProperties :: (Prelude.Maybe SparkGluePropertiesInputProperty)}
deriving stock (Prelude.Eq, Prelude.Show)
mkConnectionPropertiesInputProperty ::
ConnectionPropertiesInputProperty
mkConnectionPropertiesInputProperty
= ConnectionPropertiesInputProperty
{haddock_workaround_ = (), athenaProperties = Prelude.Nothing,
glueProperties = Prelude.Nothing,
hyperPodProperties = Prelude.Nothing,
iamProperties = Prelude.Nothing,
redshiftProperties = Prelude.Nothing,
s3Properties = Prelude.Nothing,
sparkEmrProperties = Prelude.Nothing,
sparkGlueProperties = Prelude.Nothing}
instance ToResourceProperties ConnectionPropertiesInputProperty where
toResourceProperties ConnectionPropertiesInputProperty {..}
= ResourceProperties
{awsType = "AWS::DataZone::Connection.ConnectionPropertiesInput",
supportsTags = Prelude.False,
properties = Prelude.fromList
(Prelude.catMaybes
[(JSON..=) "AthenaProperties" Prelude.<$> athenaProperties,
(JSON..=) "GlueProperties" Prelude.<$> glueProperties,
(JSON..=) "HyperPodProperties" Prelude.<$> hyperPodProperties,
(JSON..=) "IamProperties" Prelude.<$> iamProperties,
(JSON..=) "RedshiftProperties" Prelude.<$> redshiftProperties,
(JSON..=) "S3Properties" Prelude.<$> s3Properties,
(JSON..=) "SparkEmrProperties" Prelude.<$> sparkEmrProperties,
(JSON..=) "SparkGlueProperties" Prelude.<$> sparkGlueProperties])}
instance JSON.ToJSON ConnectionPropertiesInputProperty where
toJSON ConnectionPropertiesInputProperty {..}
= JSON.object
(Prelude.fromList
(Prelude.catMaybes
[(JSON..=) "AthenaProperties" Prelude.<$> athenaProperties,
(JSON..=) "GlueProperties" Prelude.<$> glueProperties,
(JSON..=) "HyperPodProperties" Prelude.<$> hyperPodProperties,
(JSON..=) "IamProperties" Prelude.<$> iamProperties,
(JSON..=) "RedshiftProperties" Prelude.<$> redshiftProperties,
(JSON..=) "S3Properties" Prelude.<$> s3Properties,
(JSON..=) "SparkEmrProperties" Prelude.<$> sparkEmrProperties,
(JSON..=) "SparkGlueProperties" Prelude.<$> sparkGlueProperties]))
instance Property "AthenaProperties" ConnectionPropertiesInputProperty where
type PropertyType "AthenaProperties" ConnectionPropertiesInputProperty = AthenaPropertiesInputProperty
set newValue ConnectionPropertiesInputProperty {..}
= ConnectionPropertiesInputProperty
{athenaProperties = Prelude.pure newValue, ..}
instance Property "GlueProperties" ConnectionPropertiesInputProperty where
type PropertyType "GlueProperties" ConnectionPropertiesInputProperty = GluePropertiesInputProperty
set newValue ConnectionPropertiesInputProperty {..}
= ConnectionPropertiesInputProperty
{glueProperties = Prelude.pure newValue, ..}
instance Property "HyperPodProperties" ConnectionPropertiesInputProperty where
type PropertyType "HyperPodProperties" ConnectionPropertiesInputProperty = HyperPodPropertiesInputProperty
set newValue ConnectionPropertiesInputProperty {..}
= ConnectionPropertiesInputProperty
{hyperPodProperties = Prelude.pure newValue, ..}
instance Property "IamProperties" ConnectionPropertiesInputProperty where
type PropertyType "IamProperties" ConnectionPropertiesInputProperty = IamPropertiesInputProperty
set newValue ConnectionPropertiesInputProperty {..}
= ConnectionPropertiesInputProperty
{iamProperties = Prelude.pure newValue, ..}
instance Property "RedshiftProperties" ConnectionPropertiesInputProperty where
type PropertyType "RedshiftProperties" ConnectionPropertiesInputProperty = RedshiftPropertiesInputProperty
set newValue ConnectionPropertiesInputProperty {..}
= ConnectionPropertiesInputProperty
{redshiftProperties = Prelude.pure newValue, ..}
instance Property "S3Properties" ConnectionPropertiesInputProperty where
type PropertyType "S3Properties" ConnectionPropertiesInputProperty = S3PropertiesInputProperty
set newValue ConnectionPropertiesInputProperty {..}
= ConnectionPropertiesInputProperty
{s3Properties = Prelude.pure newValue, ..}
instance Property "SparkEmrProperties" ConnectionPropertiesInputProperty where
type PropertyType "SparkEmrProperties" ConnectionPropertiesInputProperty = SparkEmrPropertiesInputProperty
set newValue ConnectionPropertiesInputProperty {..}
= ConnectionPropertiesInputProperty
{sparkEmrProperties = Prelude.pure newValue, ..}
instance Property "SparkGlueProperties" ConnectionPropertiesInputProperty where
type PropertyType "SparkGlueProperties" ConnectionPropertiesInputProperty = SparkGluePropertiesInputProperty
set newValue ConnectionPropertiesInputProperty {..}
= ConnectionPropertiesInputProperty
{sparkGlueProperties = Prelude.pure newValue, ..}