module Stratosphere.LicenseManager.License.ValidityDateFormatProperty (
        ValidityDateFormatProperty(..), mkValidityDateFormatProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ValidityDateFormatProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-validitydateformat.html>
    ValidityDateFormatProperty {ValidityDateFormatProperty -> ()
haddock_workaround_ :: (),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-validitydateformat.html#cfn-licensemanager-license-validitydateformat-begin>
                                ValidityDateFormatProperty -> Value Text
begin :: (Value Prelude.Text),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-licensemanager-license-validitydateformat.html#cfn-licensemanager-license-validitydateformat-end>
                                ValidityDateFormatProperty -> Value Text
end :: (Value Prelude.Text)}
  deriving stock (ValidityDateFormatProperty -> ValidityDateFormatProperty -> Bool
(ValidityDateFormatProperty -> ValidityDateFormatProperty -> Bool)
-> (ValidityDateFormatProperty
    -> ValidityDateFormatProperty -> Bool)
-> Eq ValidityDateFormatProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ValidityDateFormatProperty -> ValidityDateFormatProperty -> Bool
== :: ValidityDateFormatProperty -> ValidityDateFormatProperty -> Bool
$c/= :: ValidityDateFormatProperty -> ValidityDateFormatProperty -> Bool
/= :: ValidityDateFormatProperty -> ValidityDateFormatProperty -> Bool
Prelude.Eq, Int -> ValidityDateFormatProperty -> ShowS
[ValidityDateFormatProperty] -> ShowS
ValidityDateFormatProperty -> String
(Int -> ValidityDateFormatProperty -> ShowS)
-> (ValidityDateFormatProperty -> String)
-> ([ValidityDateFormatProperty] -> ShowS)
-> Show ValidityDateFormatProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ValidityDateFormatProperty -> ShowS
showsPrec :: Int -> ValidityDateFormatProperty -> ShowS
$cshow :: ValidityDateFormatProperty -> String
show :: ValidityDateFormatProperty -> String
$cshowList :: [ValidityDateFormatProperty] -> ShowS
showList :: [ValidityDateFormatProperty] -> ShowS
Prelude.Show)
mkValidityDateFormatProperty ::
  Value Prelude.Text
  -> Value Prelude.Text -> ValidityDateFormatProperty
mkValidityDateFormatProperty :: Value Text -> Value Text -> ValidityDateFormatProperty
mkValidityDateFormatProperty Value Text
begin Value Text
end
  = ValidityDateFormatProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), begin :: Value Text
begin = Value Text
begin, end :: Value Text
end = Value Text
end}
instance ToResourceProperties ValidityDateFormatProperty where
  toResourceProperties :: ValidityDateFormatProperty -> ResourceProperties
toResourceProperties ValidityDateFormatProperty {()
Value Text
haddock_workaround_ :: ValidityDateFormatProperty -> ()
begin :: ValidityDateFormatProperty -> Value Text
end :: ValidityDateFormatProperty -> Value Text
haddock_workaround_ :: ()
begin :: Value Text
end :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::LicenseManager::License.ValidityDateFormat",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Begin" 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
begin, Key
"End" 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
end]}
instance JSON.ToJSON ValidityDateFormatProperty where
  toJSON :: ValidityDateFormatProperty -> Value
toJSON ValidityDateFormatProperty {()
Value Text
haddock_workaround_ :: ValidityDateFormatProperty -> ()
begin :: ValidityDateFormatProperty -> Value Text
end :: ValidityDateFormatProperty -> Value Text
haddock_workaround_ :: ()
begin :: Value Text
end :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Begin" 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
begin, Key
"End" 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
end]
instance Property "Begin" ValidityDateFormatProperty where
  type PropertyType "Begin" ValidityDateFormatProperty = Value Prelude.Text
  set :: PropertyType "Begin" ValidityDateFormatProperty
-> ValidityDateFormatProperty -> ValidityDateFormatProperty
set PropertyType "Begin" ValidityDateFormatProperty
newValue ValidityDateFormatProperty {()
Value Text
haddock_workaround_ :: ValidityDateFormatProperty -> ()
begin :: ValidityDateFormatProperty -> Value Text
end :: ValidityDateFormatProperty -> Value Text
haddock_workaround_ :: ()
begin :: Value Text
end :: Value Text
..}
    = ValidityDateFormatProperty {begin :: Value Text
begin = PropertyType "Begin" ValidityDateFormatProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
end :: Value Text
haddock_workaround_ :: ()
end :: Value Text
..}
instance Property "End" ValidityDateFormatProperty where
  type PropertyType "End" ValidityDateFormatProperty = Value Prelude.Text
  set :: PropertyType "End" ValidityDateFormatProperty
-> ValidityDateFormatProperty -> ValidityDateFormatProperty
set PropertyType "End" ValidityDateFormatProperty
newValue ValidityDateFormatProperty {()
Value Text
haddock_workaround_ :: ValidityDateFormatProperty -> ()
begin :: ValidityDateFormatProperty -> Value Text
end :: ValidityDateFormatProperty -> Value Text
haddock_workaround_ :: ()
begin :: Value Text
end :: Value Text
..}
    = ValidityDateFormatProperty {end :: Value Text
end = PropertyType "End" ValidityDateFormatProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
begin :: Value Text
haddock_workaround_ :: ()
begin :: Value Text
..}