module Stratosphere.IoTSiteWise.AccessPolicy (
module Exports, AccessPolicy(..), mkAccessPolicy
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.IoTSiteWise.AccessPolicy.AccessPolicyIdentityProperty as Exports
import {-# SOURCE #-} Stratosphere.IoTSiteWise.AccessPolicy.AccessPolicyResourceProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data AccessPolicy
=
AccessPolicy {AccessPolicy -> ()
haddock_workaround_ :: (),
AccessPolicy -> AccessPolicyIdentityProperty
accessPolicyIdentity :: AccessPolicyIdentityProperty,
AccessPolicy -> Value Text
accessPolicyPermission :: (Value Prelude.Text),
AccessPolicy -> AccessPolicyResourceProperty
accessPolicyResource :: AccessPolicyResourceProperty}
deriving stock (AccessPolicy -> AccessPolicy -> Bool
(AccessPolicy -> AccessPolicy -> Bool)
-> (AccessPolicy -> AccessPolicy -> Bool) -> Eq AccessPolicy
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AccessPolicy -> AccessPolicy -> Bool
== :: AccessPolicy -> AccessPolicy -> Bool
$c/= :: AccessPolicy -> AccessPolicy -> Bool
/= :: AccessPolicy -> AccessPolicy -> Bool
Prelude.Eq, Int -> AccessPolicy -> ShowS
[AccessPolicy] -> ShowS
AccessPolicy -> String
(Int -> AccessPolicy -> ShowS)
-> (AccessPolicy -> String)
-> ([AccessPolicy] -> ShowS)
-> Show AccessPolicy
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AccessPolicy -> ShowS
showsPrec :: Int -> AccessPolicy -> ShowS
$cshow :: AccessPolicy -> String
show :: AccessPolicy -> String
$cshowList :: [AccessPolicy] -> ShowS
showList :: [AccessPolicy] -> ShowS
Prelude.Show)
mkAccessPolicy ::
AccessPolicyIdentityProperty
-> Value Prelude.Text
-> AccessPolicyResourceProperty -> AccessPolicy
mkAccessPolicy :: AccessPolicyIdentityProperty
-> Value Text -> AccessPolicyResourceProperty -> AccessPolicy
mkAccessPolicy
AccessPolicyIdentityProperty
accessPolicyIdentity
Value Text
accessPolicyPermission
AccessPolicyResourceProperty
accessPolicyResource
= AccessPolicy
{haddock_workaround_ :: ()
haddock_workaround_ = (),
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyIdentity = AccessPolicyIdentityProperty
accessPolicyIdentity,
accessPolicyPermission :: Value Text
accessPolicyPermission = Value Text
accessPolicyPermission,
accessPolicyResource :: AccessPolicyResourceProperty
accessPolicyResource = AccessPolicyResourceProperty
accessPolicyResource}
instance ToResourceProperties AccessPolicy where
toResourceProperties :: AccessPolicy -> ResourceProperties
toResourceProperties AccessPolicy {()
Value Text
AccessPolicyResourceProperty
AccessPolicyIdentityProperty
haddock_workaround_ :: AccessPolicy -> ()
accessPolicyIdentity :: AccessPolicy -> AccessPolicyIdentityProperty
accessPolicyPermission :: AccessPolicy -> Value Text
accessPolicyResource :: AccessPolicy -> AccessPolicyResourceProperty
haddock_workaround_ :: ()
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyPermission :: Value Text
accessPolicyResource :: AccessPolicyResourceProperty
..}
= ResourceProperties
{awsType :: Text
awsType = Text
"AWS::IoTSiteWise::AccessPolicy",
supportsTags :: Bool
supportsTags = Bool
Prelude.False,
properties :: Object
properties = [Key
"AccessPolicyIdentity" Key -> AccessPolicyIdentityProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= AccessPolicyIdentityProperty
accessPolicyIdentity,
Key
"AccessPolicyPermission" 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
accessPolicyPermission,
Key
"AccessPolicyResource" Key -> AccessPolicyResourceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= AccessPolicyResourceProperty
accessPolicyResource]}
instance JSON.ToJSON AccessPolicy where
toJSON :: AccessPolicy -> Value
toJSON AccessPolicy {()
Value Text
AccessPolicyResourceProperty
AccessPolicyIdentityProperty
haddock_workaround_ :: AccessPolicy -> ()
accessPolicyIdentity :: AccessPolicy -> AccessPolicyIdentityProperty
accessPolicyPermission :: AccessPolicy -> Value Text
accessPolicyResource :: AccessPolicy -> AccessPolicyResourceProperty
haddock_workaround_ :: ()
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyPermission :: Value Text
accessPolicyResource :: AccessPolicyResourceProperty
..}
= [(Key, Value)] -> Value
JSON.object
[Key
"AccessPolicyIdentity" Key -> AccessPolicyIdentityProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= AccessPolicyIdentityProperty
accessPolicyIdentity,
Key
"AccessPolicyPermission" 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
accessPolicyPermission,
Key
"AccessPolicyResource" Key -> AccessPolicyResourceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= AccessPolicyResourceProperty
accessPolicyResource]
instance Property "AccessPolicyIdentity" AccessPolicy where
type PropertyType "AccessPolicyIdentity" AccessPolicy = AccessPolicyIdentityProperty
set :: PropertyType "AccessPolicyIdentity" AccessPolicy
-> AccessPolicy -> AccessPolicy
set PropertyType "AccessPolicyIdentity" AccessPolicy
newValue AccessPolicy {()
Value Text
AccessPolicyResourceProperty
AccessPolicyIdentityProperty
haddock_workaround_ :: AccessPolicy -> ()
accessPolicyIdentity :: AccessPolicy -> AccessPolicyIdentityProperty
accessPolicyPermission :: AccessPolicy -> Value Text
accessPolicyResource :: AccessPolicy -> AccessPolicyResourceProperty
haddock_workaround_ :: ()
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyPermission :: Value Text
accessPolicyResource :: AccessPolicyResourceProperty
..}
= AccessPolicy {accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyIdentity = PropertyType "AccessPolicyIdentity" AccessPolicy
AccessPolicyIdentityProperty
newValue, ()
Value Text
AccessPolicyResourceProperty
haddock_workaround_ :: ()
accessPolicyPermission :: Value Text
accessPolicyResource :: AccessPolicyResourceProperty
haddock_workaround_ :: ()
accessPolicyPermission :: Value Text
accessPolicyResource :: AccessPolicyResourceProperty
..}
instance Property "AccessPolicyPermission" AccessPolicy where
type PropertyType "AccessPolicyPermission" AccessPolicy = Value Prelude.Text
set :: PropertyType "AccessPolicyPermission" AccessPolicy
-> AccessPolicy -> AccessPolicy
set PropertyType "AccessPolicyPermission" AccessPolicy
newValue AccessPolicy {()
Value Text
AccessPolicyResourceProperty
AccessPolicyIdentityProperty
haddock_workaround_ :: AccessPolicy -> ()
accessPolicyIdentity :: AccessPolicy -> AccessPolicyIdentityProperty
accessPolicyPermission :: AccessPolicy -> Value Text
accessPolicyResource :: AccessPolicy -> AccessPolicyResourceProperty
haddock_workaround_ :: ()
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyPermission :: Value Text
accessPolicyResource :: AccessPolicyResourceProperty
..}
= AccessPolicy {accessPolicyPermission :: Value Text
accessPolicyPermission = PropertyType "AccessPolicyPermission" AccessPolicy
Value Text
newValue, ()
AccessPolicyResourceProperty
AccessPolicyIdentityProperty
haddock_workaround_ :: ()
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyResource :: AccessPolicyResourceProperty
haddock_workaround_ :: ()
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyResource :: AccessPolicyResourceProperty
..}
instance Property "AccessPolicyResource" AccessPolicy where
type PropertyType "AccessPolicyResource" AccessPolicy = AccessPolicyResourceProperty
set :: PropertyType "AccessPolicyResource" AccessPolicy
-> AccessPolicy -> AccessPolicy
set PropertyType "AccessPolicyResource" AccessPolicy
newValue AccessPolicy {()
Value Text
AccessPolicyResourceProperty
AccessPolicyIdentityProperty
haddock_workaround_ :: AccessPolicy -> ()
accessPolicyIdentity :: AccessPolicy -> AccessPolicyIdentityProperty
accessPolicyPermission :: AccessPolicy -> Value Text
accessPolicyResource :: AccessPolicy -> AccessPolicyResourceProperty
haddock_workaround_ :: ()
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyPermission :: Value Text
accessPolicyResource :: AccessPolicyResourceProperty
..}
= AccessPolicy {accessPolicyResource :: AccessPolicyResourceProperty
accessPolicyResource = PropertyType "AccessPolicyResource" AccessPolicy
AccessPolicyResourceProperty
newValue, ()
Value Text
AccessPolicyIdentityProperty
haddock_workaround_ :: ()
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyPermission :: Value Text
haddock_workaround_ :: ()
accessPolicyIdentity :: AccessPolicyIdentityProperty
accessPolicyPermission :: Value Text
..}