module Network.AWS.EMR.DescribeStep
(
DescribeStep
, describeStep
, dsClusterId
, dsStepId
, DescribeStepResponse
, describeStepResponse
, dsrStep
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.EMR.Types
import qualified GHC.Exts
data DescribeStep = DescribeStep
{ _dsClusterId :: Text
, _dsStepId :: Text
} deriving (Eq, Ord, Show)
describeStep :: Text
-> Text
-> DescribeStep
describeStep p1 p2 = DescribeStep
{ _dsClusterId = p1
, _dsStepId = p2
}
dsClusterId :: Lens' DescribeStep Text
dsClusterId = lens _dsClusterId (\s a -> s { _dsClusterId = a })
dsStepId :: Lens' DescribeStep Text
dsStepId = lens _dsStepId (\s a -> s { _dsStepId = a })
newtype DescribeStepResponse = DescribeStepResponse
{ _dsrStep :: Maybe Step
} deriving (Eq, Show)
describeStepResponse :: DescribeStepResponse
describeStepResponse = DescribeStepResponse
{ _dsrStep = Nothing
}
dsrStep :: Lens' DescribeStepResponse (Maybe Step)
dsrStep = lens _dsrStep (\s a -> s { _dsrStep = a })
instance ToPath DescribeStep where
toPath = const "/"
instance ToQuery DescribeStep where
toQuery = const mempty
instance ToHeaders DescribeStep
instance ToJSON DescribeStep where
toJSON DescribeStep{..} = object
[ "ClusterId" .= _dsClusterId
, "StepId" .= _dsStepId
]
instance AWSRequest DescribeStep where
type Sv DescribeStep = EMR
type Rs DescribeStep = DescribeStepResponse
request = post "DescribeStep"
response = jsonResponse
instance FromJSON DescribeStepResponse where
parseJSON = withObject "DescribeStepResponse" $ \o -> DescribeStepResponse
<$> o .:? "Step"