packages feed

stratosphere-datazone-1.0.0: gen/Stratosphere/DataZone/DataSource/RelationalFilterConfigurationProperty.hs

module Stratosphere.DataZone.DataSource.RelationalFilterConfigurationProperty (
        module Exports, RelationalFilterConfigurationProperty(..),
        mkRelationalFilterConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.DataZone.DataSource.FilterExpressionProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data RelationalFilterConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-datasource-relationalfilterconfiguration.html>
    RelationalFilterConfigurationProperty {haddock_workaround_ :: (),
                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-datasource-relationalfilterconfiguration.html#cfn-datazone-datasource-relationalfilterconfiguration-databasename>
                                           databaseName :: (Value Prelude.Text),
                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-datasource-relationalfilterconfiguration.html#cfn-datazone-datasource-relationalfilterconfiguration-filterexpressions>
                                           filterExpressions :: (Prelude.Maybe [FilterExpressionProperty]),
                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-datasource-relationalfilterconfiguration.html#cfn-datazone-datasource-relationalfilterconfiguration-schemaname>
                                           schemaName :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (Prelude.Eq, Prelude.Show)
mkRelationalFilterConfigurationProperty ::
  Value Prelude.Text -> RelationalFilterConfigurationProperty
mkRelationalFilterConfigurationProperty databaseName
  = RelationalFilterConfigurationProperty
      {haddock_workaround_ = (), databaseName = databaseName,
       filterExpressions = Prelude.Nothing, schemaName = Prelude.Nothing}
instance ToResourceProperties RelationalFilterConfigurationProperty where
  toResourceProperties RelationalFilterConfigurationProperty {..}
    = ResourceProperties
        {awsType = "AWS::DataZone::DataSource.RelationalFilterConfiguration",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        ((Prelude.<>)
                           ["DatabaseName" JSON..= databaseName]
                           (Prelude.catMaybes
                              [(JSON..=) "FilterExpressions" Prelude.<$> filterExpressions,
                               (JSON..=) "SchemaName" Prelude.<$> schemaName]))}
instance JSON.ToJSON RelationalFilterConfigurationProperty where
  toJSON RelationalFilterConfigurationProperty {..}
    = JSON.object
        (Prelude.fromList
           ((Prelude.<>)
              ["DatabaseName" JSON..= databaseName]
              (Prelude.catMaybes
                 [(JSON..=) "FilterExpressions" Prelude.<$> filterExpressions,
                  (JSON..=) "SchemaName" Prelude.<$> schemaName])))
instance Property "DatabaseName" RelationalFilterConfigurationProperty where
  type PropertyType "DatabaseName" RelationalFilterConfigurationProperty = Value Prelude.Text
  set newValue RelationalFilterConfigurationProperty {..}
    = RelationalFilterConfigurationProperty
        {databaseName = newValue, ..}
instance Property "FilterExpressions" RelationalFilterConfigurationProperty where
  type PropertyType "FilterExpressions" RelationalFilterConfigurationProperty = [FilterExpressionProperty]
  set newValue RelationalFilterConfigurationProperty {..}
    = RelationalFilterConfigurationProperty
        {filterExpressions = Prelude.pure newValue, ..}
instance Property "SchemaName" RelationalFilterConfigurationProperty where
  type PropertyType "SchemaName" RelationalFilterConfigurationProperty = Value Prelude.Text
  set newValue RelationalFilterConfigurationProperty {..}
    = RelationalFilterConfigurationProperty
        {schemaName = Prelude.pure newValue, ..}