module Stratosphere.MediaPackage.Asset.EgressEndpointProperty (
        EgressEndpointProperty(..), mkEgressEndpointProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data EgressEndpointProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html>
    EgressEndpointProperty {EgressEndpointProperty -> ()
haddock_workaround_ :: (),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html#cfn-mediapackage-asset-egressendpoint-packagingconfigurationid>
                            EgressEndpointProperty -> Value Text
packagingConfigurationId :: (Value Prelude.Text),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-mediapackage-asset-egressendpoint.html#cfn-mediapackage-asset-egressendpoint-url>
                            EgressEndpointProperty -> Value Text
url :: (Value Prelude.Text)}
  deriving stock (EgressEndpointProperty -> EgressEndpointProperty -> Bool
(EgressEndpointProperty -> EgressEndpointProperty -> Bool)
-> (EgressEndpointProperty -> EgressEndpointProperty -> Bool)
-> Eq EgressEndpointProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: EgressEndpointProperty -> EgressEndpointProperty -> Bool
== :: EgressEndpointProperty -> EgressEndpointProperty -> Bool
$c/= :: EgressEndpointProperty -> EgressEndpointProperty -> Bool
/= :: EgressEndpointProperty -> EgressEndpointProperty -> Bool
Prelude.Eq, Int -> EgressEndpointProperty -> ShowS
[EgressEndpointProperty] -> ShowS
EgressEndpointProperty -> String
(Int -> EgressEndpointProperty -> ShowS)
-> (EgressEndpointProperty -> String)
-> ([EgressEndpointProperty] -> ShowS)
-> Show EgressEndpointProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> EgressEndpointProperty -> ShowS
showsPrec :: Int -> EgressEndpointProperty -> ShowS
$cshow :: EgressEndpointProperty -> String
show :: EgressEndpointProperty -> String
$cshowList :: [EgressEndpointProperty] -> ShowS
showList :: [EgressEndpointProperty] -> ShowS
Prelude.Show)
mkEgressEndpointProperty ::
  Value Prelude.Text -> Value Prelude.Text -> EgressEndpointProperty
mkEgressEndpointProperty :: Value Text -> Value Text -> EgressEndpointProperty
mkEgressEndpointProperty Value Text
packagingConfigurationId Value Text
url
  = EgressEndpointProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       packagingConfigurationId :: Value Text
packagingConfigurationId = Value Text
packagingConfigurationId, url :: Value Text
url = Value Text
url}
instance ToResourceProperties EgressEndpointProperty where
  toResourceProperties :: EgressEndpointProperty -> ResourceProperties
toResourceProperties EgressEndpointProperty {()
Value Text
haddock_workaround_ :: EgressEndpointProperty -> ()
packagingConfigurationId :: EgressEndpointProperty -> Value Text
url :: EgressEndpointProperty -> Value Text
haddock_workaround_ :: ()
packagingConfigurationId :: Value Text
url :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::MediaPackage::Asset.EgressEndpoint",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"PackagingConfigurationId"
                         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
packagingConfigurationId,
                       Key
"Url" 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
url]}
instance JSON.ToJSON EgressEndpointProperty where
  toJSON :: EgressEndpointProperty -> Value
toJSON EgressEndpointProperty {()
Value Text
haddock_workaround_ :: EgressEndpointProperty -> ()
packagingConfigurationId :: EgressEndpointProperty -> Value Text
url :: EgressEndpointProperty -> Value Text
haddock_workaround_ :: ()
packagingConfigurationId :: Value Text
url :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"PackagingConfigurationId" 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
packagingConfigurationId,
         Key
"Url" 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
url]
instance Property "PackagingConfigurationId" EgressEndpointProperty where
  type PropertyType "PackagingConfigurationId" EgressEndpointProperty = Value Prelude.Text
  set :: PropertyType "PackagingConfigurationId" EgressEndpointProperty
-> EgressEndpointProperty -> EgressEndpointProperty
set PropertyType "PackagingConfigurationId" EgressEndpointProperty
newValue EgressEndpointProperty {()
Value Text
haddock_workaround_ :: EgressEndpointProperty -> ()
packagingConfigurationId :: EgressEndpointProperty -> Value Text
url :: EgressEndpointProperty -> Value Text
haddock_workaround_ :: ()
packagingConfigurationId :: Value Text
url :: Value Text
..}
    = EgressEndpointProperty {packagingConfigurationId :: Value Text
packagingConfigurationId = PropertyType "PackagingConfigurationId" EgressEndpointProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
url :: Value Text
haddock_workaround_ :: ()
url :: Value Text
..}
instance Property "Url" EgressEndpointProperty where
  type PropertyType "Url" EgressEndpointProperty = Value Prelude.Text
  set :: PropertyType "Url" EgressEndpointProperty
-> EgressEndpointProperty -> EgressEndpointProperty
set PropertyType "Url" EgressEndpointProperty
newValue EgressEndpointProperty {()
Value Text
haddock_workaround_ :: EgressEndpointProperty -> ()
packagingConfigurationId :: EgressEndpointProperty -> Value Text
url :: EgressEndpointProperty -> Value Text
haddock_workaround_ :: ()
packagingConfigurationId :: Value Text
url :: Value Text
..}
    = EgressEndpointProperty {url :: Value Text
url = PropertyType "Url" EgressEndpointProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
packagingConfigurationId :: Value Text
haddock_workaround_ :: ()
packagingConfigurationId :: Value Text
..}