module Stratosphere.EFS.FileSystem.BackupPolicyProperty (
        BackupPolicyProperty(..), mkBackupPolicyProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data BackupPolicyProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-backuppolicy.html>
    BackupPolicyProperty {BackupPolicyProperty -> ()
haddock_workaround_ :: (),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-backuppolicy.html#cfn-efs-filesystem-backuppolicy-status>
                          BackupPolicyProperty -> Value Text
status :: (Value Prelude.Text)}
  deriving stock (BackupPolicyProperty -> BackupPolicyProperty -> Bool
(BackupPolicyProperty -> BackupPolicyProperty -> Bool)
-> (BackupPolicyProperty -> BackupPolicyProperty -> Bool)
-> Eq BackupPolicyProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BackupPolicyProperty -> BackupPolicyProperty -> Bool
== :: BackupPolicyProperty -> BackupPolicyProperty -> Bool
$c/= :: BackupPolicyProperty -> BackupPolicyProperty -> Bool
/= :: BackupPolicyProperty -> BackupPolicyProperty -> Bool
Prelude.Eq, Int -> BackupPolicyProperty -> ShowS
[BackupPolicyProperty] -> ShowS
BackupPolicyProperty -> String
(Int -> BackupPolicyProperty -> ShowS)
-> (BackupPolicyProperty -> String)
-> ([BackupPolicyProperty] -> ShowS)
-> Show BackupPolicyProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BackupPolicyProperty -> ShowS
showsPrec :: Int -> BackupPolicyProperty -> ShowS
$cshow :: BackupPolicyProperty -> String
show :: BackupPolicyProperty -> String
$cshowList :: [BackupPolicyProperty] -> ShowS
showList :: [BackupPolicyProperty] -> ShowS
Prelude.Show)
mkBackupPolicyProperty ::
  Value Prelude.Text -> BackupPolicyProperty
mkBackupPolicyProperty :: Value Text -> BackupPolicyProperty
mkBackupPolicyProperty Value Text
status
  = BackupPolicyProperty {haddock_workaround_ :: ()
haddock_workaround_ = (), status :: Value Text
status = Value Text
status}
instance ToResourceProperties BackupPolicyProperty where
  toResourceProperties :: BackupPolicyProperty -> ResourceProperties
toResourceProperties BackupPolicyProperty {()
Value Text
haddock_workaround_ :: BackupPolicyProperty -> ()
status :: BackupPolicyProperty -> Value Text
haddock_workaround_ :: ()
status :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::EFS::FileSystem.BackupPolicy",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Status" 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
status]}
instance JSON.ToJSON BackupPolicyProperty where
  toJSON :: BackupPolicyProperty -> Value
toJSON BackupPolicyProperty {()
Value Text
haddock_workaround_ :: BackupPolicyProperty -> ()
status :: BackupPolicyProperty -> Value Text
haddock_workaround_ :: ()
status :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"Status" 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
status]
instance Property "Status" BackupPolicyProperty where
  type PropertyType "Status" BackupPolicyProperty = Value Prelude.Text
  set :: PropertyType "Status" BackupPolicyProperty
-> BackupPolicyProperty -> BackupPolicyProperty
set PropertyType "Status" BackupPolicyProperty
newValue BackupPolicyProperty {()
Value Text
haddock_workaround_ :: BackupPolicyProperty -> ()
status :: BackupPolicyProperty -> Value Text
haddock_workaround_ :: ()
status :: Value Text
..}
    = BackupPolicyProperty {status :: Value Text
status = PropertyType "Status" BackupPolicyProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}