stratosphere-0.53.0: library-gen/Stratosphere/ResourceProperties/LakeFormationPermissionsTableWithColumnsResource.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html
module Stratosphere.ResourceProperties.LakeFormationPermissionsTableWithColumnsResource where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.LakeFormationPermissionsColumnWildcard
-- | Full data type definition for
-- LakeFormationPermissionsTableWithColumnsResource. See
-- 'lakeFormationPermissionsTableWithColumnsResource' for a more convenient
-- constructor.
data LakeFormationPermissionsTableWithColumnsResource =
LakeFormationPermissionsTableWithColumnsResource
{ _lakeFormationPermissionsTableWithColumnsResourceColumnNames :: Maybe (ValList Text)
, _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard :: Maybe LakeFormationPermissionsColumnWildcard
, _lakeFormationPermissionsTableWithColumnsResourceDatabaseName :: Maybe (Val Text)
, _lakeFormationPermissionsTableWithColumnsResourceName :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON LakeFormationPermissionsTableWithColumnsResource where
toJSON LakeFormationPermissionsTableWithColumnsResource{..} =
object $
catMaybes
[ fmap (("ColumnNames",) . toJSON) _lakeFormationPermissionsTableWithColumnsResourceColumnNames
, fmap (("ColumnWildcard",) . toJSON) _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard
, fmap (("DatabaseName",) . toJSON) _lakeFormationPermissionsTableWithColumnsResourceDatabaseName
, fmap (("Name",) . toJSON) _lakeFormationPermissionsTableWithColumnsResourceName
]
-- | Constructor for 'LakeFormationPermissionsTableWithColumnsResource'
-- containing required fields as arguments.
lakeFormationPermissionsTableWithColumnsResource
:: LakeFormationPermissionsTableWithColumnsResource
lakeFormationPermissionsTableWithColumnsResource =
LakeFormationPermissionsTableWithColumnsResource
{ _lakeFormationPermissionsTableWithColumnsResourceColumnNames = Nothing
, _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard = Nothing
, _lakeFormationPermissionsTableWithColumnsResourceDatabaseName = Nothing
, _lakeFormationPermissionsTableWithColumnsResourceName = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-columnnames
lfptwcrColumnNames :: Lens' LakeFormationPermissionsTableWithColumnsResource (Maybe (ValList Text))
lfptwcrColumnNames = lens _lakeFormationPermissionsTableWithColumnsResourceColumnNames (\s a -> s { _lakeFormationPermissionsTableWithColumnsResourceColumnNames = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-columnwildcard
lfptwcrColumnWildcard :: Lens' LakeFormationPermissionsTableWithColumnsResource (Maybe LakeFormationPermissionsColumnWildcard)
lfptwcrColumnWildcard = lens _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard (\s a -> s { _lakeFormationPermissionsTableWithColumnsResourceColumnWildcard = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-databasename
lfptwcrDatabaseName :: Lens' LakeFormationPermissionsTableWithColumnsResource (Maybe (Val Text))
lfptwcrDatabaseName = lens _lakeFormationPermissionsTableWithColumnsResourceDatabaseName (\s a -> s { _lakeFormationPermissionsTableWithColumnsResourceDatabaseName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lakeformation-permissions-tablewithcolumnsresource.html#cfn-lakeformation-permissions-tablewithcolumnsresource-name
lfptwcrName :: Lens' LakeFormationPermissionsTableWithColumnsResource (Maybe (Val Text))
lfptwcrName = lens _lakeFormationPermissionsTableWithColumnsResourceName (\s a -> s { _lakeFormationPermissionsTableWithColumnsResourceName = a })