module Stratosphere.Transfer.Server.WorkflowDetailProperty (
        WorkflowDetailProperty(..), mkWorkflowDetailProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data WorkflowDetailProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetail.html>
    WorkflowDetailProperty {WorkflowDetailProperty -> ()
haddock_workaround_ :: (),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetail.html#cfn-transfer-server-workflowdetail-executionrole>
                            WorkflowDetailProperty -> Value Text
executionRole :: (Value Prelude.Text),
                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetail.html#cfn-transfer-server-workflowdetail-workflowid>
                            WorkflowDetailProperty -> Value Text
workflowId :: (Value Prelude.Text)}
  deriving stock (WorkflowDetailProperty -> WorkflowDetailProperty -> Bool
(WorkflowDetailProperty -> WorkflowDetailProperty -> Bool)
-> (WorkflowDetailProperty -> WorkflowDetailProperty -> Bool)
-> Eq WorkflowDetailProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: WorkflowDetailProperty -> WorkflowDetailProperty -> Bool
== :: WorkflowDetailProperty -> WorkflowDetailProperty -> Bool
$c/= :: WorkflowDetailProperty -> WorkflowDetailProperty -> Bool
/= :: WorkflowDetailProperty -> WorkflowDetailProperty -> Bool
Prelude.Eq, Int -> WorkflowDetailProperty -> ShowS
[WorkflowDetailProperty] -> ShowS
WorkflowDetailProperty -> String
(Int -> WorkflowDetailProperty -> ShowS)
-> (WorkflowDetailProperty -> String)
-> ([WorkflowDetailProperty] -> ShowS)
-> Show WorkflowDetailProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> WorkflowDetailProperty -> ShowS
showsPrec :: Int -> WorkflowDetailProperty -> ShowS
$cshow :: WorkflowDetailProperty -> String
show :: WorkflowDetailProperty -> String
$cshowList :: [WorkflowDetailProperty] -> ShowS
showList :: [WorkflowDetailProperty] -> ShowS
Prelude.Show)
mkWorkflowDetailProperty ::
  Value Prelude.Text -> Value Prelude.Text -> WorkflowDetailProperty
mkWorkflowDetailProperty :: Value Text -> Value Text -> WorkflowDetailProperty
mkWorkflowDetailProperty Value Text
executionRole Value Text
workflowId
  = WorkflowDetailProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), executionRole :: Value Text
executionRole = Value Text
executionRole,
       workflowId :: Value Text
workflowId = Value Text
workflowId}
instance ToResourceProperties WorkflowDetailProperty where
  toResourceProperties :: WorkflowDetailProperty -> ResourceProperties
toResourceProperties WorkflowDetailProperty {()
Value Text
haddock_workaround_ :: WorkflowDetailProperty -> ()
executionRole :: WorkflowDetailProperty -> Value Text
workflowId :: WorkflowDetailProperty -> Value Text
haddock_workaround_ :: ()
executionRole :: Value Text
workflowId :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Transfer::Server.WorkflowDetail",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ExecutionRole" 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
executionRole,
                       Key
"WorkflowId" 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
workflowId]}
instance JSON.ToJSON WorkflowDetailProperty where
  toJSON :: WorkflowDetailProperty -> Value
toJSON WorkflowDetailProperty {()
Value Text
haddock_workaround_ :: WorkflowDetailProperty -> ()
executionRole :: WorkflowDetailProperty -> Value Text
workflowId :: WorkflowDetailProperty -> Value Text
haddock_workaround_ :: ()
executionRole :: Value Text
workflowId :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ExecutionRole" 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
executionRole,
         Key
"WorkflowId" 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
workflowId]
instance Property "ExecutionRole" WorkflowDetailProperty where
  type PropertyType "ExecutionRole" WorkflowDetailProperty = Value Prelude.Text
  set :: PropertyType "ExecutionRole" WorkflowDetailProperty
-> WorkflowDetailProperty -> WorkflowDetailProperty
set PropertyType "ExecutionRole" WorkflowDetailProperty
newValue WorkflowDetailProperty {()
Value Text
haddock_workaround_ :: WorkflowDetailProperty -> ()
executionRole :: WorkflowDetailProperty -> Value Text
workflowId :: WorkflowDetailProperty -> Value Text
haddock_workaround_ :: ()
executionRole :: Value Text
workflowId :: Value Text
..}
    = WorkflowDetailProperty {executionRole :: Value Text
executionRole = PropertyType "ExecutionRole" WorkflowDetailProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
workflowId :: Value Text
haddock_workaround_ :: ()
workflowId :: Value Text
..}
instance Property "WorkflowId" WorkflowDetailProperty where
  type PropertyType "WorkflowId" WorkflowDetailProperty = Value Prelude.Text
  set :: PropertyType "WorkflowId" WorkflowDetailProperty
-> WorkflowDetailProperty -> WorkflowDetailProperty
set PropertyType "WorkflowId" WorkflowDetailProperty
newValue WorkflowDetailProperty {()
Value Text
haddock_workaround_ :: WorkflowDetailProperty -> ()
executionRole :: WorkflowDetailProperty -> Value Text
workflowId :: WorkflowDetailProperty -> Value Text
haddock_workaround_ :: ()
executionRole :: Value Text
workflowId :: Value Text
..}
    = WorkflowDetailProperty {workflowId :: Value Text
workflowId = PropertyType "WorkflowId" WorkflowDetailProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
executionRole :: Value Text
haddock_workaround_ :: ()
executionRole :: Value Text
..}