module Stratosphere.MediaPackageV2.OriginEndpoint.DashProgramInformationProperty ( DashProgramInformationProperty(..), mkDashProgramInformationProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data DashProgramInformationProperty = -- | See: DashProgramInformationProperty {haddock_workaround_ :: (), -- | See: copyright :: (Prelude.Maybe (Value Prelude.Text)), -- | See: languageCode :: (Prelude.Maybe (Value Prelude.Text)), -- | See: moreInformationUrl :: (Prelude.Maybe (Value Prelude.Text)), -- | See: source :: (Prelude.Maybe (Value Prelude.Text)), -- | See: title :: (Prelude.Maybe (Value Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkDashProgramInformationProperty :: DashProgramInformationProperty mkDashProgramInformationProperty = DashProgramInformationProperty {haddock_workaround_ = (), copyright = Prelude.Nothing, languageCode = Prelude.Nothing, moreInformationUrl = Prelude.Nothing, source = Prelude.Nothing, title = Prelude.Nothing} instance ToResourceProperties DashProgramInformationProperty where toResourceProperties DashProgramInformationProperty {..} = ResourceProperties {awsType = "AWS::MediaPackageV2::OriginEndpoint.DashProgramInformation", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "Copyright" Prelude.<$> copyright, (JSON..=) "LanguageCode" Prelude.<$> languageCode, (JSON..=) "MoreInformationUrl" Prelude.<$> moreInformationUrl, (JSON..=) "Source" Prelude.<$> source, (JSON..=) "Title" Prelude.<$> title])} instance JSON.ToJSON DashProgramInformationProperty where toJSON DashProgramInformationProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "Copyright" Prelude.<$> copyright, (JSON..=) "LanguageCode" Prelude.<$> languageCode, (JSON..=) "MoreInformationUrl" Prelude.<$> moreInformationUrl, (JSON..=) "Source" Prelude.<$> source, (JSON..=) "Title" Prelude.<$> title])) instance Property "Copyright" DashProgramInformationProperty where type PropertyType "Copyright" DashProgramInformationProperty = Value Prelude.Text set newValue DashProgramInformationProperty {..} = DashProgramInformationProperty {copyright = Prelude.pure newValue, ..} instance Property "LanguageCode" DashProgramInformationProperty where type PropertyType "LanguageCode" DashProgramInformationProperty = Value Prelude.Text set newValue DashProgramInformationProperty {..} = DashProgramInformationProperty {languageCode = Prelude.pure newValue, ..} instance Property "MoreInformationUrl" DashProgramInformationProperty where type PropertyType "MoreInformationUrl" DashProgramInformationProperty = Value Prelude.Text set newValue DashProgramInformationProperty {..} = DashProgramInformationProperty {moreInformationUrl = Prelude.pure newValue, ..} instance Property "Source" DashProgramInformationProperty where type PropertyType "Source" DashProgramInformationProperty = Value Prelude.Text set newValue DashProgramInformationProperty {..} = DashProgramInformationProperty {source = Prelude.pure newValue, ..} instance Property "Title" DashProgramInformationProperty where type PropertyType "Title" DashProgramInformationProperty = Value Prelude.Text set newValue DashProgramInformationProperty {..} = DashProgramInformationProperty {title = Prelude.pure newValue, ..}