module Stratosphere.LakeFormation.PrincipalPermissions.LFTagPolicyResourceProperty (
module Exports, LFTagPolicyResourceProperty(..),
mkLFTagPolicyResourceProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.LakeFormation.PrincipalPermissions.LFTagProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data LFTagPolicyResourceProperty
=
LFTagPolicyResourceProperty {LFTagPolicyResourceProperty -> ()
haddock_workaround_ :: (),
LFTagPolicyResourceProperty -> Value Text
catalogId :: (Value Prelude.Text),
LFTagPolicyResourceProperty -> [LFTagProperty]
expression :: [LFTagProperty],
LFTagPolicyResourceProperty -> Value Text
resourceType :: (Value Prelude.Text)}
deriving stock (LFTagPolicyResourceProperty -> LFTagPolicyResourceProperty -> Bool
(LFTagPolicyResourceProperty
-> LFTagPolicyResourceProperty -> Bool)
-> (LFTagPolicyResourceProperty
-> LFTagPolicyResourceProperty -> Bool)
-> Eq LFTagPolicyResourceProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: LFTagPolicyResourceProperty -> LFTagPolicyResourceProperty -> Bool
== :: LFTagPolicyResourceProperty -> LFTagPolicyResourceProperty -> Bool
$c/= :: LFTagPolicyResourceProperty -> LFTagPolicyResourceProperty -> Bool
/= :: LFTagPolicyResourceProperty -> LFTagPolicyResourceProperty -> Bool
Prelude.Eq, Int -> LFTagPolicyResourceProperty -> ShowS
[LFTagPolicyResourceProperty] -> ShowS
LFTagPolicyResourceProperty -> String
(Int -> LFTagPolicyResourceProperty -> ShowS)
-> (LFTagPolicyResourceProperty -> String)
-> ([LFTagPolicyResourceProperty] -> ShowS)
-> Show LFTagPolicyResourceProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> LFTagPolicyResourceProperty -> ShowS
showsPrec :: Int -> LFTagPolicyResourceProperty -> ShowS
$cshow :: LFTagPolicyResourceProperty -> String
show :: LFTagPolicyResourceProperty -> String
$cshowList :: [LFTagPolicyResourceProperty] -> ShowS
showList :: [LFTagPolicyResourceProperty] -> ShowS
Prelude.Show)
mkLFTagPolicyResourceProperty ::
Value Prelude.Text
-> [LFTagProperty]
-> Value Prelude.Text -> LFTagPolicyResourceProperty
mkLFTagPolicyResourceProperty :: Value Text
-> [LFTagProperty] -> Value Text -> LFTagPolicyResourceProperty
mkLFTagPolicyResourceProperty Value Text
catalogId [LFTagProperty]
expression Value Text
resourceType
= LFTagPolicyResourceProperty
{haddock_workaround_ :: ()
haddock_workaround_ = (), catalogId :: Value Text
catalogId = Value Text
catalogId,
expression :: [LFTagProperty]
expression = [LFTagProperty]
expression, resourceType :: Value Text
resourceType = Value Text
resourceType}
instance ToResourceProperties LFTagPolicyResourceProperty where
toResourceProperties :: LFTagPolicyResourceProperty -> ResourceProperties
toResourceProperties LFTagPolicyResourceProperty {[LFTagProperty]
()
Value Text
haddock_workaround_ :: LFTagPolicyResourceProperty -> ()
catalogId :: LFTagPolicyResourceProperty -> Value Text
expression :: LFTagPolicyResourceProperty -> [LFTagProperty]
resourceType :: LFTagPolicyResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
expression :: [LFTagProperty]
resourceType :: Value Text
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::LakeFormation::PrincipalPermissions.LFTagPolicyResource",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"CatalogId" 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
catalogId,
Key
"Expression" Key -> [LFTagProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [LFTagProperty]
expression,
Key
"ResourceType" 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
resourceType]}
instance JSON.ToJSON LFTagPolicyResourceProperty where
toJSON :: LFTagPolicyResourceProperty -> Value
toJSON LFTagPolicyResourceProperty {[LFTagProperty]
()
Value Text
haddock_workaround_ :: LFTagPolicyResourceProperty -> ()
catalogId :: LFTagPolicyResourceProperty -> Value Text
expression :: LFTagPolicyResourceProperty -> [LFTagProperty]
resourceType :: LFTagPolicyResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
expression :: [LFTagProperty]
resourceType :: Value Text
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"CatalogId" 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
catalogId, Key
"Expression" Key -> [LFTagProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [LFTagProperty]
expression,
Key
"ResourceType" 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
resourceType]
instance Property "CatalogId" LFTagPolicyResourceProperty where
type PropertyType "CatalogId" LFTagPolicyResourceProperty = Value Prelude.Text
set :: PropertyType "CatalogId" LFTagPolicyResourceProperty
-> LFTagPolicyResourceProperty -> LFTagPolicyResourceProperty
set PropertyType "CatalogId" LFTagPolicyResourceProperty
newValue LFTagPolicyResourceProperty {[LFTagProperty]
()
Value Text
haddock_workaround_ :: LFTagPolicyResourceProperty -> ()
catalogId :: LFTagPolicyResourceProperty -> Value Text
expression :: LFTagPolicyResourceProperty -> [LFTagProperty]
resourceType :: LFTagPolicyResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
expression :: [LFTagProperty]
resourceType :: Value Text
..}
= LFTagPolicyResourceProperty {catalogId :: Value Text
catalogId = PropertyType "CatalogId" LFTagPolicyResourceProperty
Value Text
newValue, [LFTagProperty]
()
Value Text
haddock_workaround_ :: ()
expression :: [LFTagProperty]
resourceType :: Value Text
haddock_workaround_ :: ()
expression :: [LFTagProperty]
resourceType :: Value Text
..}
instance Property "Expression" LFTagPolicyResourceProperty where
type PropertyType "Expression" LFTagPolicyResourceProperty = [LFTagProperty]
set :: PropertyType "Expression" LFTagPolicyResourceProperty
-> LFTagPolicyResourceProperty -> LFTagPolicyResourceProperty
set PropertyType "Expression" LFTagPolicyResourceProperty
newValue LFTagPolicyResourceProperty {[LFTagProperty]
()
Value Text
haddock_workaround_ :: LFTagPolicyResourceProperty -> ()
catalogId :: LFTagPolicyResourceProperty -> Value Text
expression :: LFTagPolicyResourceProperty -> [LFTagProperty]
resourceType :: LFTagPolicyResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
expression :: [LFTagProperty]
resourceType :: Value Text
..}
= LFTagPolicyResourceProperty {expression :: [LFTagProperty]
expression = [LFTagProperty]
PropertyType "Expression" LFTagPolicyResourceProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
resourceType :: Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
resourceType :: Value Text
..}
instance Property "ResourceType" LFTagPolicyResourceProperty where
type PropertyType "ResourceType" LFTagPolicyResourceProperty = Value Prelude.Text
set :: PropertyType "ResourceType" LFTagPolicyResourceProperty
-> LFTagPolicyResourceProperty -> LFTagPolicyResourceProperty
set PropertyType "ResourceType" LFTagPolicyResourceProperty
newValue LFTagPolicyResourceProperty {[LFTagProperty]
()
Value Text
haddock_workaround_ :: LFTagPolicyResourceProperty -> ()
catalogId :: LFTagPolicyResourceProperty -> Value Text
expression :: LFTagPolicyResourceProperty -> [LFTagProperty]
resourceType :: LFTagPolicyResourceProperty -> Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
expression :: [LFTagProperty]
resourceType :: Value Text
..}
= LFTagPolicyResourceProperty {resourceType :: Value Text
resourceType = PropertyType "ResourceType" LFTagPolicyResourceProperty
Value Text
newValue, [LFTagProperty]
()
Value Text
haddock_workaround_ :: ()
catalogId :: Value Text
expression :: [LFTagProperty]
haddock_workaround_ :: ()
catalogId :: Value Text
expression :: [LFTagProperty]
..}