module Stratosphere.LakeFormation.PrincipalPermissions (
module Exports, PrincipalPermissions(..), mkPrincipalPermissions
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.LakeFormation.PrincipalPermissions.DataLakePrincipalProperty as Exports
import {-# SOURCE #-} Stratosphere.LakeFormation.PrincipalPermissions.ResourceProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data PrincipalPermissions
=
PrincipalPermissions {PrincipalPermissions -> ()
haddock_workaround_ :: (),
PrincipalPermissions -> Maybe (Value Text)
catalog :: (Prelude.Maybe (Value Prelude.Text)),
PrincipalPermissions -> ValueList Text
permissions :: (ValueList Prelude.Text),
PrincipalPermissions -> ValueList Text
permissionsWithGrantOption :: (ValueList Prelude.Text),
PrincipalPermissions -> DataLakePrincipalProperty
principal :: DataLakePrincipalProperty,
PrincipalPermissions -> ResourceProperty
resource :: ResourceProperty}
deriving stock (PrincipalPermissions -> PrincipalPermissions -> Bool
(PrincipalPermissions -> PrincipalPermissions -> Bool)
-> (PrincipalPermissions -> PrincipalPermissions -> Bool)
-> Eq PrincipalPermissions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PrincipalPermissions -> PrincipalPermissions -> Bool
== :: PrincipalPermissions -> PrincipalPermissions -> Bool
$c/= :: PrincipalPermissions -> PrincipalPermissions -> Bool
/= :: PrincipalPermissions -> PrincipalPermissions -> Bool
Prelude.Eq, Int -> PrincipalPermissions -> ShowS
[PrincipalPermissions] -> ShowS
PrincipalPermissions -> String
(Int -> PrincipalPermissions -> ShowS)
-> (PrincipalPermissions -> String)
-> ([PrincipalPermissions] -> ShowS)
-> Show PrincipalPermissions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PrincipalPermissions -> ShowS
showsPrec :: Int -> PrincipalPermissions -> ShowS
$cshow :: PrincipalPermissions -> String
show :: PrincipalPermissions -> String
$cshowList :: [PrincipalPermissions] -> ShowS
showList :: [PrincipalPermissions] -> ShowS
Prelude.Show)
mkPrincipalPermissions ::
ValueList Prelude.Text
-> ValueList Prelude.Text
-> DataLakePrincipalProperty
-> ResourceProperty -> PrincipalPermissions
mkPrincipalPermissions :: ValueList Text
-> ValueList Text
-> DataLakePrincipalProperty
-> ResourceProperty
-> PrincipalPermissions
mkPrincipalPermissions
ValueList Text
permissions
ValueList Text
permissionsWithGrantOption
DataLakePrincipalProperty
principal
ResourceProperty
resource
= PrincipalPermissions
{haddock_workaround_ :: ()
haddock_workaround_ = (), permissions :: ValueList Text
permissions = ValueList Text
permissions,
permissionsWithGrantOption :: ValueList Text
permissionsWithGrantOption = ValueList Text
permissionsWithGrantOption,
principal :: DataLakePrincipalProperty
principal = DataLakePrincipalProperty
principal, resource :: ResourceProperty
resource = ResourceProperty
resource,
catalog :: Maybe (Value Text)
catalog = Maybe (Value Text)
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties PrincipalPermissions where
toResourceProperties :: PrincipalPermissions -> ResourceProperties
toResourceProperties PrincipalPermissions {Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: PrincipalPermissions -> ()
catalog :: PrincipalPermissions -> Maybe (Value Text)
permissions :: PrincipalPermissions -> ValueList Text
permissionsWithGrantOption :: PrincipalPermissions -> ValueList Text
principal :: PrincipalPermissions -> DataLakePrincipalProperty
resource :: PrincipalPermissions -> ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::LakeFormation::PrincipalPermissions",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"Permissions" Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ValueList Text
permissions,
Key
"PermissionsWithGrantOption" Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ValueList Text
permissionsWithGrantOption,
Key
"Principal" Key -> DataLakePrincipalProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= DataLakePrincipalProperty
principal, Key
"Resource" Key -> ResourceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ResourceProperty
resource]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes [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..=) Key
"Catalog" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
catalog]))}
instance JSON.ToJSON PrincipalPermissions where
toJSON :: PrincipalPermissions -> Value
toJSON PrincipalPermissions {Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: PrincipalPermissions -> ()
catalog :: PrincipalPermissions -> Maybe (Value Text)
permissions :: PrincipalPermissions -> ValueList Text
permissionsWithGrantOption :: PrincipalPermissions -> ValueList Text
principal :: PrincipalPermissions -> DataLakePrincipalProperty
resource :: PrincipalPermissions -> ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
= [(Key, Value)] -> Value
JSON.object
([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
([(Key, Value)] -> [(Key, Value)] -> [(Key, Value)]
forall a. Semigroup a => a -> a -> a
(Prelude.<>)
[Key
"Permissions" Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ValueList Text
permissions,
Key
"PermissionsWithGrantOption" Key -> ValueList Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ValueList Text
permissionsWithGrantOption,
Key
"Principal" Key -> DataLakePrincipalProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= DataLakePrincipalProperty
principal, Key
"Resource" Key -> ResourceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= ResourceProperty
resource]
([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes [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..=) Key
"Catalog" (Value Text -> (Key, Value))
-> Maybe (Value Text) -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Value Text)
catalog])))
instance Property "Catalog" PrincipalPermissions where
type PropertyType "Catalog" PrincipalPermissions = Value Prelude.Text
set :: PropertyType "Catalog" PrincipalPermissions
-> PrincipalPermissions -> PrincipalPermissions
set PropertyType "Catalog" PrincipalPermissions
newValue PrincipalPermissions {Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: PrincipalPermissions -> ()
catalog :: PrincipalPermissions -> Maybe (Value Text)
permissions :: PrincipalPermissions -> ValueList Text
permissionsWithGrantOption :: PrincipalPermissions -> ValueList Text
principal :: PrincipalPermissions -> DataLakePrincipalProperty
resource :: PrincipalPermissions -> ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
= PrincipalPermissions {catalog :: Maybe (Value Text)
catalog = Value Text -> Maybe (Value Text)
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType "Catalog" PrincipalPermissions
Value Text
newValue, ()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: ()
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
haddock_workaround_ :: ()
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
instance Property "Permissions" PrincipalPermissions where
type PropertyType "Permissions" PrincipalPermissions = ValueList Prelude.Text
set :: PropertyType "Permissions" PrincipalPermissions
-> PrincipalPermissions -> PrincipalPermissions
set PropertyType "Permissions" PrincipalPermissions
newValue PrincipalPermissions {Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: PrincipalPermissions -> ()
catalog :: PrincipalPermissions -> Maybe (Value Text)
permissions :: PrincipalPermissions -> ValueList Text
permissionsWithGrantOption :: PrincipalPermissions -> ValueList Text
principal :: PrincipalPermissions -> DataLakePrincipalProperty
resource :: PrincipalPermissions -> ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
= PrincipalPermissions {permissions :: ValueList Text
permissions = PropertyType "Permissions" PrincipalPermissions
ValueList Text
newValue, Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
instance Property "PermissionsWithGrantOption" PrincipalPermissions where
type PropertyType "PermissionsWithGrantOption" PrincipalPermissions = ValueList Prelude.Text
set :: PropertyType "PermissionsWithGrantOption" PrincipalPermissions
-> PrincipalPermissions -> PrincipalPermissions
set PropertyType "PermissionsWithGrantOption" PrincipalPermissions
newValue PrincipalPermissions {Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: PrincipalPermissions -> ()
catalog :: PrincipalPermissions -> Maybe (Value Text)
permissions :: PrincipalPermissions -> ValueList Text
permissionsWithGrantOption :: PrincipalPermissions -> ValueList Text
principal :: PrincipalPermissions -> DataLakePrincipalProperty
resource :: PrincipalPermissions -> ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
= PrincipalPermissions {permissionsWithGrantOption :: ValueList Text
permissionsWithGrantOption = PropertyType "PermissionsWithGrantOption" PrincipalPermissions
ValueList Text
newValue, Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
instance Property "Principal" PrincipalPermissions where
type PropertyType "Principal" PrincipalPermissions = DataLakePrincipalProperty
set :: PropertyType "Principal" PrincipalPermissions
-> PrincipalPermissions -> PrincipalPermissions
set PropertyType "Principal" PrincipalPermissions
newValue PrincipalPermissions {Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: PrincipalPermissions -> ()
catalog :: PrincipalPermissions -> Maybe (Value Text)
permissions :: PrincipalPermissions -> ValueList Text
permissionsWithGrantOption :: PrincipalPermissions -> ValueList Text
principal :: PrincipalPermissions -> DataLakePrincipalProperty
resource :: PrincipalPermissions -> ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
= PrincipalPermissions {principal :: DataLakePrincipalProperty
principal = PropertyType "Principal" PrincipalPermissions
DataLakePrincipalProperty
newValue, Maybe (Value Text)
()
ValueList Text
ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
resource :: ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
resource :: ResourceProperty
..}
instance Property "Resource" PrincipalPermissions where
type PropertyType "Resource" PrincipalPermissions = ResourceProperty
set :: PropertyType "Resource" PrincipalPermissions
-> PrincipalPermissions -> PrincipalPermissions
set PropertyType "Resource" PrincipalPermissions
newValue PrincipalPermissions {Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
ResourceProperty
haddock_workaround_ :: PrincipalPermissions -> ()
catalog :: PrincipalPermissions -> Maybe (Value Text)
permissions :: PrincipalPermissions -> ValueList Text
permissionsWithGrantOption :: PrincipalPermissions -> ValueList Text
principal :: PrincipalPermissions -> DataLakePrincipalProperty
resource :: PrincipalPermissions -> ResourceProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
resource :: ResourceProperty
..}
= PrincipalPermissions {resource :: ResourceProperty
resource = PropertyType "Resource" PrincipalPermissions
ResourceProperty
newValue, Maybe (Value Text)
()
ValueList Text
DataLakePrincipalProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
haddock_workaround_ :: ()
catalog :: Maybe (Value Text)
permissions :: ValueList Text
permissionsWithGrantOption :: ValueList Text
principal :: DataLakePrincipalProperty
..}