module Stratosphere.MediaPackage.OriginEndpoint.AuthorizationProperty (
        AuthorizationProperty(..), mkAuthorizationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data AuthorizationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html>
    AuthorizationProperty {AuthorizationProperty -> ()
haddock_workaround_ :: (),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html#cfn-mediapackage-originendpoint-authorization-cdnidentifiersecret>
                           AuthorizationProperty -> Value Text
cdnIdentifierSecret :: (Value Prelude.Text),
                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-originendpoint-authorization.html#cfn-mediapackage-originendpoint-authorization-secretsrolearn>
                           AuthorizationProperty -> Value Text
secretsRoleArn :: (Value Prelude.Text)}
  deriving stock (AuthorizationProperty -> AuthorizationProperty -> Bool
(AuthorizationProperty -> AuthorizationProperty -> Bool)
-> (AuthorizationProperty -> AuthorizationProperty -> Bool)
-> Eq AuthorizationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AuthorizationProperty -> AuthorizationProperty -> Bool
== :: AuthorizationProperty -> AuthorizationProperty -> Bool
$c/= :: AuthorizationProperty -> AuthorizationProperty -> Bool
/= :: AuthorizationProperty -> AuthorizationProperty -> Bool
Prelude.Eq, Int -> AuthorizationProperty -> ShowS
[AuthorizationProperty] -> ShowS
AuthorizationProperty -> String
(Int -> AuthorizationProperty -> ShowS)
-> (AuthorizationProperty -> String)
-> ([AuthorizationProperty] -> ShowS)
-> Show AuthorizationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AuthorizationProperty -> ShowS
showsPrec :: Int -> AuthorizationProperty -> ShowS
$cshow :: AuthorizationProperty -> String
show :: AuthorizationProperty -> String
$cshowList :: [AuthorizationProperty] -> ShowS
showList :: [AuthorizationProperty] -> ShowS
Prelude.Show)
mkAuthorizationProperty ::
  Value Prelude.Text -> Value Prelude.Text -> AuthorizationProperty
mkAuthorizationProperty :: Value Text -> Value Text -> AuthorizationProperty
mkAuthorizationProperty Value Text
cdnIdentifierSecret Value Text
secretsRoleArn
  = AuthorizationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       cdnIdentifierSecret :: Value Text
cdnIdentifierSecret = Value Text
cdnIdentifierSecret,
       secretsRoleArn :: Value Text
secretsRoleArn = Value Text
secretsRoleArn}
instance ToResourceProperties AuthorizationProperty where
  toResourceProperties :: AuthorizationProperty -> ResourceProperties
toResourceProperties AuthorizationProperty {()
Value Text
haddock_workaround_ :: AuthorizationProperty -> ()
cdnIdentifierSecret :: AuthorizationProperty -> Value Text
secretsRoleArn :: AuthorizationProperty -> Value Text
haddock_workaround_ :: ()
cdnIdentifierSecret :: Value Text
secretsRoleArn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::MediaPackage::OriginEndpoint.Authorization",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"CdnIdentifierSecret" 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
cdnIdentifierSecret,
                       Key
"SecretsRoleArn" 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
secretsRoleArn]}
instance JSON.ToJSON AuthorizationProperty where
  toJSON :: AuthorizationProperty -> Value
toJSON AuthorizationProperty {()
Value Text
haddock_workaround_ :: AuthorizationProperty -> ()
cdnIdentifierSecret :: AuthorizationProperty -> Value Text
secretsRoleArn :: AuthorizationProperty -> Value Text
haddock_workaround_ :: ()
cdnIdentifierSecret :: Value Text
secretsRoleArn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"CdnIdentifierSecret" 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
cdnIdentifierSecret,
         Key
"SecretsRoleArn" 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
secretsRoleArn]
instance Property "CdnIdentifierSecret" AuthorizationProperty where
  type PropertyType "CdnIdentifierSecret" AuthorizationProperty = Value Prelude.Text
  set :: PropertyType "CdnIdentifierSecret" AuthorizationProperty
-> AuthorizationProperty -> AuthorizationProperty
set PropertyType "CdnIdentifierSecret" AuthorizationProperty
newValue AuthorizationProperty {()
Value Text
haddock_workaround_ :: AuthorizationProperty -> ()
cdnIdentifierSecret :: AuthorizationProperty -> Value Text
secretsRoleArn :: AuthorizationProperty -> Value Text
haddock_workaround_ :: ()
cdnIdentifierSecret :: Value Text
secretsRoleArn :: Value Text
..}
    = AuthorizationProperty {cdnIdentifierSecret :: Value Text
cdnIdentifierSecret = PropertyType "CdnIdentifierSecret" AuthorizationProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
secretsRoleArn :: Value Text
haddock_workaround_ :: ()
secretsRoleArn :: Value Text
..}
instance Property "SecretsRoleArn" AuthorizationProperty where
  type PropertyType "SecretsRoleArn" AuthorizationProperty = Value Prelude.Text
  set :: PropertyType "SecretsRoleArn" AuthorizationProperty
-> AuthorizationProperty -> AuthorizationProperty
set PropertyType "SecretsRoleArn" AuthorizationProperty
newValue AuthorizationProperty {()
Value Text
haddock_workaround_ :: AuthorizationProperty -> ()
cdnIdentifierSecret :: AuthorizationProperty -> Value Text
secretsRoleArn :: AuthorizationProperty -> Value Text
haddock_workaround_ :: ()
cdnIdentifierSecret :: Value Text
secretsRoleArn :: Value Text
..}
    = AuthorizationProperty {secretsRoleArn :: Value Text
secretsRoleArn = PropertyType "SecretsRoleArn" AuthorizationProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
cdnIdentifierSecret :: Value Text
haddock_workaround_ :: ()
cdnIdentifierSecret :: Value Text
..}