module Stratosphere.SecurityHub.AutomationRule.WorkflowUpdateProperty (
        WorkflowUpdateProperty(..), mkWorkflowUpdateProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data WorkflowUpdateProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-workflowupdate.html>
    WorkflowUpdateProperty {WorkflowUpdateProperty -> ()
haddock_workaround_ :: (),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-securityhub-automationrule-workflowupdate.html#cfn-securityhub-automationrule-workflowupdate-status>
                            WorkflowUpdateProperty -> Value Text
status :: (Value Prelude.Text)}
  deriving stock (WorkflowUpdateProperty -> WorkflowUpdateProperty -> Bool
(WorkflowUpdateProperty -> WorkflowUpdateProperty -> Bool)
-> (WorkflowUpdateProperty -> WorkflowUpdateProperty -> Bool)
-> Eq WorkflowUpdateProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WorkflowUpdateProperty -> WorkflowUpdateProperty -> Bool
== :: WorkflowUpdateProperty -> WorkflowUpdateProperty -> Bool
$c/= :: WorkflowUpdateProperty -> WorkflowUpdateProperty -> Bool
/= :: WorkflowUpdateProperty -> WorkflowUpdateProperty -> Bool
Prelude.Eq, Int -> WorkflowUpdateProperty -> ShowS
[WorkflowUpdateProperty] -> ShowS
WorkflowUpdateProperty -> String
(Int -> WorkflowUpdateProperty -> ShowS)
-> (WorkflowUpdateProperty -> String)
-> ([WorkflowUpdateProperty] -> ShowS)
-> Show WorkflowUpdateProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> WorkflowUpdateProperty -> ShowS
showsPrec :: Int -> WorkflowUpdateProperty -> ShowS
$cshow :: WorkflowUpdateProperty -> String
show :: WorkflowUpdateProperty -> String
$cshowList :: [WorkflowUpdateProperty] -> ShowS
showList :: [WorkflowUpdateProperty] -> ShowS
Prelude.Show)
mkWorkflowUpdateProperty ::
  Value Prelude.Text -> WorkflowUpdateProperty
mkWorkflowUpdateProperty :: Value Text -> WorkflowUpdateProperty
mkWorkflowUpdateProperty Value Text
status
  = WorkflowUpdateProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), status :: Value Text
status = Value Text
status}
instance ToResourceProperties WorkflowUpdateProperty where
  toResourceProperties :: WorkflowUpdateProperty -> ResourceProperties
toResourceProperties WorkflowUpdateProperty {()
Value Text
haddock_workaround_ :: WorkflowUpdateProperty -> ()
status :: WorkflowUpdateProperty -> Value Text
haddock_workaround_ :: ()
status :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SecurityHub::AutomationRule.WorkflowUpdate",
         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 WorkflowUpdateProperty where
  toJSON :: WorkflowUpdateProperty -> Value
toJSON WorkflowUpdateProperty {()
Value Text
haddock_workaround_ :: WorkflowUpdateProperty -> ()
status :: WorkflowUpdateProperty -> 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" WorkflowUpdateProperty where
  type PropertyType "Status" WorkflowUpdateProperty = Value Prelude.Text
  set :: PropertyType "Status" WorkflowUpdateProperty
-> WorkflowUpdateProperty -> WorkflowUpdateProperty
set PropertyType "Status" WorkflowUpdateProperty
newValue WorkflowUpdateProperty {()
Value Text
haddock_workaround_ :: WorkflowUpdateProperty -> ()
status :: WorkflowUpdateProperty -> Value Text
haddock_workaround_ :: ()
status :: Value Text
..}
    = WorkflowUpdateProperty {status :: Value Text
status = PropertyType "Status" WorkflowUpdateProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}