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