module Stratosphere.S3.MultiRegionAccessPointPolicy (
MultiRegionAccessPointPolicy(..), mkMultiRegionAccessPointPolicy
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data MultiRegionAccessPointPolicy
=
MultiRegionAccessPointPolicy {MultiRegionAccessPointPolicy -> ()
haddock_workaround_ :: (),
MultiRegionAccessPointPolicy -> Value Text
mrapName :: (Value Prelude.Text),
MultiRegionAccessPointPolicy -> Object
policy :: JSON.Object}
deriving stock (MultiRegionAccessPointPolicy
-> MultiRegionAccessPointPolicy -> Bool
(MultiRegionAccessPointPolicy
-> MultiRegionAccessPointPolicy -> Bool)
-> (MultiRegionAccessPointPolicy
-> MultiRegionAccessPointPolicy -> Bool)
-> Eq MultiRegionAccessPointPolicy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: MultiRegionAccessPointPolicy
-> MultiRegionAccessPointPolicy -> Bool
== :: MultiRegionAccessPointPolicy
-> MultiRegionAccessPointPolicy -> Bool
$c/= :: MultiRegionAccessPointPolicy
-> MultiRegionAccessPointPolicy -> Bool
/= :: MultiRegionAccessPointPolicy
-> MultiRegionAccessPointPolicy -> Bool
Prelude.Eq, Int -> MultiRegionAccessPointPolicy -> ShowS
[MultiRegionAccessPointPolicy] -> ShowS
MultiRegionAccessPointPolicy -> String
(Int -> MultiRegionAccessPointPolicy -> ShowS)
-> (MultiRegionAccessPointPolicy -> String)
-> ([MultiRegionAccessPointPolicy] -> ShowS)
-> Show MultiRegionAccessPointPolicy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> MultiRegionAccessPointPolicy -> ShowS
showsPrec :: Int -> MultiRegionAccessPointPolicy -> ShowS
$cshow :: MultiRegionAccessPointPolicy -> String
show :: MultiRegionAccessPointPolicy -> String
$cshowList :: [MultiRegionAccessPointPolicy] -> ShowS
showList :: [MultiRegionAccessPointPolicy] -> ShowS
Prelude.Show)
mkMultiRegionAccessPointPolicy ::
Value Prelude.Text -> JSON.Object -> MultiRegionAccessPointPolicy
mkMultiRegionAccessPointPolicy :: Value Text -> Object -> MultiRegionAccessPointPolicy
mkMultiRegionAccessPointPolicy Value Text
mrapName Object
policy
= MultiRegionAccessPointPolicy
{haddock_workaround_ :: ()
haddock_workaround_ = (), mrapName :: Value Text
mrapName = Value Text
mrapName, policy :: Object
policy = Object
policy}
instance ToResourceProperties MultiRegionAccessPointPolicy where
toResourceProperties :: MultiRegionAccessPointPolicy -> ResourceProperties
toResourceProperties MultiRegionAccessPointPolicy {()
Object
Value Text
haddock_workaround_ :: MultiRegionAccessPointPolicy -> ()
mrapName :: MultiRegionAccessPointPolicy -> Value Text
policy :: MultiRegionAccessPointPolicy -> Object
haddock_workaround_ :: ()
mrapName :: Value Text
policy :: Object
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::S3::MultiRegionAccessPointPolicy",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"MrapName" 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
mrapName,
Key
"Policy" 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
policy]}
instance JSON.ToJSON MultiRegionAccessPointPolicy where
toJSON :: MultiRegionAccessPointPolicy -> Value
toJSON MultiRegionAccessPointPolicy {()
Object
Value Text
haddock_workaround_ :: MultiRegionAccessPointPolicy -> ()
mrapName :: MultiRegionAccessPointPolicy -> Value Text
policy :: MultiRegionAccessPointPolicy -> Object
haddock_workaround_ :: ()
mrapName :: Value Text
policy :: Object
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"MrapName" 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
mrapName, Key
"Policy" 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
policy]
instance Property "MrapName" MultiRegionAccessPointPolicy where
type PropertyType "MrapName" MultiRegionAccessPointPolicy = Value Prelude.Text
set :: PropertyType "MrapName" MultiRegionAccessPointPolicy
-> MultiRegionAccessPointPolicy -> MultiRegionAccessPointPolicy
set PropertyType "MrapName" MultiRegionAccessPointPolicy
newValue MultiRegionAccessPointPolicy {()
Object
Value Text
haddock_workaround_ :: MultiRegionAccessPointPolicy -> ()
mrapName :: MultiRegionAccessPointPolicy -> Value Text
policy :: MultiRegionAccessPointPolicy -> Object
haddock_workaround_ :: ()
mrapName :: Value Text
policy :: Object
..}
= MultiRegionAccessPointPolicy {mrapName :: Value Text
mrapName = PropertyType "MrapName" MultiRegionAccessPointPolicy
Value Text
newValue, ()
Object
haddock_workaround_ :: ()
policy :: Object
haddock_workaround_ :: ()
policy :: Object
..}
instance Property "Policy" MultiRegionAccessPointPolicy where
type PropertyType "Policy" MultiRegionAccessPointPolicy = JSON.Object
set :: PropertyType "Policy" MultiRegionAccessPointPolicy
-> MultiRegionAccessPointPolicy -> MultiRegionAccessPointPolicy
set PropertyType "Policy" MultiRegionAccessPointPolicy
newValue MultiRegionAccessPointPolicy {()
Object
Value Text
haddock_workaround_ :: MultiRegionAccessPointPolicy -> ()
mrapName :: MultiRegionAccessPointPolicy -> Value Text
policy :: MultiRegionAccessPointPolicy -> Object
haddock_workaround_ :: ()
mrapName :: Value Text
policy :: Object
..}
= MultiRegionAccessPointPolicy {policy :: Object
policy = Object
PropertyType "Policy" MultiRegionAccessPointPolicy
newValue, ()
Value Text
haddock_workaround_ :: ()
mrapName :: Value Text
haddock_workaround_ :: ()
mrapName :: Value Text
..}