module Stratosphere.EMR.Step (
        module Exports, Step(..), mkStep
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.EMR.Step.HadoopJarStepConfigProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data Step
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html>
    Step {Step -> ()
haddock_workaround_ :: (),
          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html#cfn-emr-step-actiononfailure>
          Step -> Value Text
actionOnFailure :: (Value Prelude.Text),
          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html#cfn-emr-step-hadoopjarstep>
          Step -> HadoopJarStepConfigProperty
hadoopJarStep :: HadoopJarStepConfigProperty,
          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html#cfn-emr-step-jobflowid>
          Step -> Value Text
jobFlowId :: (Value Prelude.Text),
          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-step.html#cfn-emr-step-name>
          Step -> Value Text
name :: (Value Prelude.Text)}
  deriving stock (Step -> Step -> Bool
(Step -> Step -> Bool) -> (Step -> Step -> Bool) -> Eq Step
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Step -> Step -> Bool
== :: Step -> Step -> Bool
$c/= :: Step -> Step -> Bool
/= :: Step -> Step -> Bool
Prelude.Eq, Int -> Step -> ShowS
[Step] -> ShowS
Step -> String
(Int -> Step -> ShowS)
-> (Step -> String) -> ([Step] -> ShowS) -> Show Step
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Step -> ShowS
showsPrec :: Int -> Step -> ShowS
$cshow :: Step -> String
show :: Step -> String
$cshowList :: [Step] -> ShowS
showList :: [Step] -> ShowS
Prelude.Show)
mkStep ::
  Value Prelude.Text
  -> HadoopJarStepConfigProperty
     -> Value Prelude.Text -> Value Prelude.Text -> Step
mkStep :: Value Text
-> HadoopJarStepConfigProperty -> Value Text -> Value Text -> Step
mkStep Value Text
actionOnFailure HadoopJarStepConfigProperty
hadoopJarStep Value Text
jobFlowId Value Text
name
  = Step
      {haddock_workaround_ :: ()
haddock_workaround_ = (), actionOnFailure :: Value Text
actionOnFailure = Value Text
actionOnFailure,
       hadoopJarStep :: HadoopJarStepConfigProperty
hadoopJarStep = HadoopJarStepConfigProperty
hadoopJarStep, jobFlowId :: Value Text
jobFlowId = Value Text
jobFlowId, name :: Value Text
name = Value Text
name}
instance ToResourceProperties Step where
  toResourceProperties :: Step -> ResourceProperties
toResourceProperties Step {()
Value Text
HadoopJarStepConfigProperty
haddock_workaround_ :: Step -> ()
actionOnFailure :: Step -> Value Text
hadoopJarStep :: Step -> HadoopJarStepConfigProperty
jobFlowId :: Step -> Value Text
name :: Step -> Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
name :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::EMR::Step", supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ActionOnFailure" 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
actionOnFailure,
                       Key
"HadoopJarStep" Key -> HadoopJarStepConfigProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= HadoopJarStepConfigProperty
hadoopJarStep,
                       Key
"JobFlowId" 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
jobFlowId, Key
"Name" 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
name]}
instance JSON.ToJSON Step where
  toJSON :: Step -> Value
toJSON Step {()
Value Text
HadoopJarStepConfigProperty
haddock_workaround_ :: Step -> ()
actionOnFailure :: Step -> Value Text
hadoopJarStep :: Step -> HadoopJarStepConfigProperty
jobFlowId :: Step -> Value Text
name :: Step -> Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
name :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ActionOnFailure" 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
actionOnFailure,
         Key
"HadoopJarStep" Key -> HadoopJarStepConfigProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= HadoopJarStepConfigProperty
hadoopJarStep,
         Key
"JobFlowId" 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
jobFlowId, Key
"Name" 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
name]
instance Property "ActionOnFailure" Step where
  type PropertyType "ActionOnFailure" Step = Value Prelude.Text
  set :: PropertyType "ActionOnFailure" Step -> Step -> Step
set PropertyType "ActionOnFailure" Step
newValue Step {()
Value Text
HadoopJarStepConfigProperty
haddock_workaround_ :: Step -> ()
actionOnFailure :: Step -> Value Text
hadoopJarStep :: Step -> HadoopJarStepConfigProperty
jobFlowId :: Step -> Value Text
name :: Step -> Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
name :: Value Text
..} = Step {actionOnFailure :: Value Text
actionOnFailure = PropertyType "ActionOnFailure" Step
Value Text
newValue, ()
Value Text
HadoopJarStepConfigProperty
haddock_workaround_ :: ()
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
name :: Value Text
haddock_workaround_ :: ()
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
name :: Value Text
..}
instance Property "HadoopJarStep" Step where
  type PropertyType "HadoopJarStep" Step = HadoopJarStepConfigProperty
  set :: PropertyType "HadoopJarStep" Step -> Step -> Step
set PropertyType "HadoopJarStep" Step
newValue Step {()
Value Text
HadoopJarStepConfigProperty
haddock_workaround_ :: Step -> ()
actionOnFailure :: Step -> Value Text
hadoopJarStep :: Step -> HadoopJarStepConfigProperty
jobFlowId :: Step -> Value Text
name :: Step -> Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
name :: Value Text
..} = Step {hadoopJarStep :: HadoopJarStepConfigProperty
hadoopJarStep = PropertyType "HadoopJarStep" Step
HadoopJarStepConfigProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
jobFlowId :: Value Text
name :: Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
jobFlowId :: Value Text
name :: Value Text
..}
instance Property "JobFlowId" Step where
  type PropertyType "JobFlowId" Step = Value Prelude.Text
  set :: PropertyType "JobFlowId" Step -> Step -> Step
set PropertyType "JobFlowId" Step
newValue Step {()
Value Text
HadoopJarStepConfigProperty
haddock_workaround_ :: Step -> ()
actionOnFailure :: Step -> Value Text
hadoopJarStep :: Step -> HadoopJarStepConfigProperty
jobFlowId :: Step -> Value Text
name :: Step -> Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
name :: Value Text
..} = Step {jobFlowId :: Value Text
jobFlowId = PropertyType "JobFlowId" Step
Value Text
newValue, ()
Value Text
HadoopJarStepConfigProperty
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
name :: Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
name :: Value Text
..}
instance Property "Name" Step where
  type PropertyType "Name" Step = Value Prelude.Text
  set :: PropertyType "Name" Step -> Step -> Step
set PropertyType "Name" Step
newValue Step {()
Value Text
HadoopJarStepConfigProperty
haddock_workaround_ :: Step -> ()
actionOnFailure :: Step -> Value Text
hadoopJarStep :: Step -> HadoopJarStepConfigProperty
jobFlowId :: Step -> Value Text
name :: Step -> Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
name :: Value Text
..} = Step {name :: Value Text
name = PropertyType "Name" Step
Value Text
newValue, ()
Value Text
HadoopJarStepConfigProperty
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
haddock_workaround_ :: ()
actionOnFailure :: Value Text
hadoopJarStep :: HadoopJarStepConfigProperty
jobFlowId :: Value Text
..}