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