module Stratosphere.S3Tables.TablePolicy (
TablePolicy(..), mkTablePolicy
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data TablePolicy
=
TablePolicy {TablePolicy -> ()
haddock_workaround_ :: (),
TablePolicy -> Object
resourcePolicy :: JSON.Object,
TablePolicy -> Value Text
tableARN :: (Value Prelude.Text)}
deriving stock (TablePolicy -> TablePolicy -> Bool
(TablePolicy -> TablePolicy -> Bool)
-> (TablePolicy -> TablePolicy -> Bool) -> Eq TablePolicy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: TablePolicy -> TablePolicy -> Bool
== :: TablePolicy -> TablePolicy -> Bool
$c/= :: TablePolicy -> TablePolicy -> Bool
/= :: TablePolicy -> TablePolicy -> Bool
Prelude.Eq, Int -> TablePolicy -> ShowS
[TablePolicy] -> ShowS
TablePolicy -> String
(Int -> TablePolicy -> ShowS)
-> (TablePolicy -> String)
-> ([TablePolicy] -> ShowS)
-> Show TablePolicy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> TablePolicy -> ShowS
showsPrec :: Int -> TablePolicy -> ShowS
$cshow :: TablePolicy -> String
show :: TablePolicy -> String
$cshowList :: [TablePolicy] -> ShowS
showList :: [TablePolicy] -> ShowS
Prelude.Show)
mkTablePolicy :: JSON.Object -> Value Prelude.Text -> TablePolicy
mkTablePolicy :: Object -> Value Text -> TablePolicy
mkTablePolicy Object
resourcePolicy Value Text
tableARN
= TablePolicy
{haddock_workaround_ :: ()
haddock_workaround_ = (), resourcePolicy :: Object
resourcePolicy = Object
resourcePolicy,
tableARN :: Value Text
tableARN = Value Text
tableARN}
instance ToResourceProperties TablePolicy where
toResourceProperties :: TablePolicy -> ResourceProperties
toResourceProperties TablePolicy {()
Object
Value Text
haddock_workaround_ :: TablePolicy -> ()
resourcePolicy :: TablePolicy -> Object
tableARN :: TablePolicy -> Value Text
haddock_workaround_ :: ()
resourcePolicy :: Object
tableARN :: Value Text
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::S3Tables::TablePolicy",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"ResourcePolicy" Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Object
resourcePolicy,
Key
"TableARN" 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
tableARN]}
instance JSON.ToJSON TablePolicy where
toJSON :: TablePolicy -> Value
toJSON TablePolicy {()
Object
Value Text
haddock_workaround_ :: TablePolicy -> ()
resourcePolicy :: TablePolicy -> Object
tableARN :: TablePolicy -> Value Text
haddock_workaround_ :: ()
resourcePolicy :: Object
tableARN :: Value Text
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"ResourcePolicy" Key -> Object -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Object
resourcePolicy,
Key
"TableARN" 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
tableARN]
instance Property "ResourcePolicy" TablePolicy where
type PropertyType "ResourcePolicy" TablePolicy = JSON.Object
set :: PropertyType "ResourcePolicy" TablePolicy
-> TablePolicy -> TablePolicy
set PropertyType "ResourcePolicy" TablePolicy
newValue TablePolicy {()
Object
Value Text
haddock_workaround_ :: TablePolicy -> ()
resourcePolicy :: TablePolicy -> Object
tableARN :: TablePolicy -> Value Text
haddock_workaround_ :: ()
resourcePolicy :: Object
tableARN :: Value Text
..}
= TablePolicy {resourcePolicy :: Object
resourcePolicy = Object
PropertyType "ResourcePolicy" TablePolicy
newValue, ()
Value Text
haddock_workaround_ :: ()
tableARN :: Value Text
haddock_workaround_ :: ()
tableARN :: Value Text
..}
instance Property "TableARN" TablePolicy where
type PropertyType "TableARN" TablePolicy = Value Prelude.Text
set :: PropertyType "TableARN" TablePolicy -> TablePolicy -> TablePolicy
set PropertyType "TableARN" TablePolicy
newValue TablePolicy {()
Object
Value Text
haddock_workaround_ :: TablePolicy -> ()
resourcePolicy :: TablePolicy -> Object
tableARN :: TablePolicy -> Value Text
haddock_workaround_ :: ()
resourcePolicy :: Object
tableARN :: Value Text
..}
= TablePolicy {tableARN :: Value Text
tableARN = PropertyType "TableARN" TablePolicy
Value Text
newValue, ()
Object
haddock_workaround_ :: ()
resourcePolicy :: Object
haddock_workaround_ :: ()
resourcePolicy :: Object
..}