diff --git a/amazonka-emr.cabal b/amazonka-emr.cabal
--- a/amazonka-emr.cabal
+++ b/amazonka-emr.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-emr
-version:               0.1.0
+version:               0.1.1
 synopsis:              Amazon Elastic MapReduce SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -7,7 +7,7 @@
 author:                Brendan Hay
 maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
 copyright:             Copyright (c) 2013-2014 Brendan Hay
-category:              Network, AWS, Cloud
+category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 extra-source-files:    README.md
 cabal-version:         >= 1.10
@@ -60,5 +60,5 @@
     other-modules:
 
     build-depends:
-          amazonka-core == 0.1.0.*
+          amazonka-core == 0.1.1.*
         , base          >= 4.7     && < 5
diff --git a/gen/Network/AWS/EMR/DescribeJobFlows.hs b/gen/Network/AWS/EMR/DescribeJobFlows.hs
--- a/gen/Network/AWS/EMR/DescribeJobFlows.hs
+++ b/gen/Network/AWS/EMR/DescribeJobFlows.hs
@@ -68,7 +68,7 @@
 data DescribeJobFlows = DescribeJobFlows
     { _djfCreatedAfter  :: Maybe POSIX
     , _djfCreatedBefore :: Maybe POSIX
-    , _djfJobFlowIds    :: List "Args" Text
+    , _djfJobFlowIds    :: List "JobFlowIds" Text
     , _djfJobFlowStates :: List "JobFlowStates" JobFlowExecutionState
     } deriving (Eq, Show)
 
diff --git a/gen/Network/AWS/EMR/ListSteps.hs b/gen/Network/AWS/EMR/ListSteps.hs
--- a/gen/Network/AWS/EMR/ListSteps.hs
+++ b/gen/Network/AWS/EMR/ListSteps.hs
@@ -34,6 +34,7 @@
     -- ** Request lenses
     , lsClusterId
     , lsMarker
+    , lsStepIds
     , lsStepStates
 
     -- * Response
@@ -53,6 +54,7 @@
 data ListSteps = ListSteps
     { _lsClusterId  :: Text
     , _lsMarker     :: Maybe Text
+    , _lsStepIds    :: List "StepIds" Text
     , _lsStepStates :: List "StepStates" StepState
     } deriving (Eq, Show)
 
@@ -64,6 +66,8 @@
 --
 -- * 'lsMarker' @::@ 'Maybe' 'Text'
 --
+-- * 'lsStepIds' @::@ ['Text']
+--
 -- * 'lsStepStates' @::@ ['StepState']
 --
 listSteps :: Text -- ^ 'lsClusterId'
@@ -71,6 +75,7 @@
 listSteps p1 = ListSteps
     { _lsClusterId  = p1
     , _lsStepStates = mempty
+    , _lsStepIds    = mempty
     , _lsMarker     = Nothing
     }
 
@@ -82,6 +87,10 @@
 lsMarker :: Lens' ListSteps (Maybe Text)
 lsMarker = lens _lsMarker (\s a -> s { _lsMarker = a })
 
+-- | The filter to limit the step list based on the identifier of the steps.
+lsStepIds :: Lens' ListSteps [Text]
+lsStepIds = lens _lsStepIds (\s a -> s { _lsStepIds = a }) . _List
+
 -- | The filter to limit the step list based on certain states.
 lsStepStates :: Lens' ListSteps [StepState]
 lsStepStates = lens _lsStepStates (\s a -> s { _lsStepStates = a }) . _List
@@ -125,6 +134,7 @@
     toJSON ListSteps{..} = object
         [ "ClusterId"  .= _lsClusterId
         , "StepStates" .= _lsStepStates
+        , "StepIds"    .= _lsStepIds
         , "Marker"     .= _lsMarker
         ]
 
diff --git a/gen/Network/AWS/EMR/RemoveTags.hs b/gen/Network/AWS/EMR/RemoveTags.hs
--- a/gen/Network/AWS/EMR/RemoveTags.hs
+++ b/gen/Network/AWS/EMR/RemoveTags.hs
@@ -52,7 +52,7 @@
 
 data RemoveTags = RemoveTags
     { _rtResourceId :: Text
-    , _rtTagKeys    :: List "Args" Text
+    , _rtTagKeys    :: List "TagKeys" Text
     } deriving (Eq, Ord, Show)
 
 -- | 'RemoveTags' constructor.
diff --git a/gen/Network/AWS/EMR/SetTerminationProtection.hs b/gen/Network/AWS/EMR/SetTerminationProtection.hs
--- a/gen/Network/AWS/EMR/SetTerminationProtection.hs
+++ b/gen/Network/AWS/EMR/SetTerminationProtection.hs
@@ -62,7 +62,7 @@
 import qualified GHC.Exts
 
 data SetTerminationProtection = SetTerminationProtection
-    { _stpJobFlowIds           :: List "Args" Text
+    { _stpJobFlowIds           :: List "JobFlowIds" Text
     , _stpTerminationProtected :: Bool
     } deriving (Eq, Ord, Show)
 
diff --git a/gen/Network/AWS/EMR/SetVisibleToAllUsers.hs b/gen/Network/AWS/EMR/SetVisibleToAllUsers.hs
--- a/gen/Network/AWS/EMR/SetVisibleToAllUsers.hs
+++ b/gen/Network/AWS/EMR/SetVisibleToAllUsers.hs
@@ -52,7 +52,7 @@
 import qualified GHC.Exts
 
 data SetVisibleToAllUsers = SetVisibleToAllUsers
-    { _svtauJobFlowIds        :: List "Args" Text
+    { _svtauJobFlowIds        :: List "JobFlowIds" Text
     , _svtauVisibleToAllUsers :: Bool
     } deriving (Eq, Ord, Show)
 
diff --git a/gen/Network/AWS/EMR/TerminateJobFlows.hs b/gen/Network/AWS/EMR/TerminateJobFlows.hs
--- a/gen/Network/AWS/EMR/TerminateJobFlows.hs
+++ b/gen/Network/AWS/EMR/TerminateJobFlows.hs
@@ -28,10 +28,10 @@
 -- uploaded to Amazon S3 if a LogUri was specified when the job flow was
 -- created.
 --
--- The call to TerminateJobFlows is asynchronous. Depending on the
--- configuration of the job flow, it may take up to 5-20 minutes for the job
--- flow to completely terminate and release allocated resources, such as Amazon
--- EC2 instances.
+-- The maximum number of JobFlows allowed is 10. The call to TerminateJobFlows
+-- is asynchronous. Depending on the configuration of the job flow, it may take
+-- up to 5-20 minutes for the job flow to completely terminate and release
+-- allocated resources, such as Amazon EC2 instances.
 --
 -- <http://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_TerminateJobFlows.html>
 module Network.AWS.EMR.TerminateJobFlows
@@ -55,7 +55,7 @@
 import qualified GHC.Exts
 
 newtype TerminateJobFlows = TerminateJobFlows
-    { _tjfJobFlowIds :: List "Args" Text
+    { _tjfJobFlowIds :: List "JobFlowIds" Text
     } deriving (Eq, Ord, Show, Monoid, Semigroup)
 
 instance GHC.Exts.IsList TerminateJobFlows where
diff --git a/gen/Network/AWS/EMR/Types.hs b/gen/Network/AWS/EMR/Types.hs
--- a/gen/Network/AWS/EMR/Types.hs
+++ b/gen/Network/AWS/EMR/Types.hs
@@ -135,7 +135,9 @@
     , c1Ec2InstanceAttributes
     , c1Id
     , c1LogUri
+    , c1MasterPublicDnsName
     , c1Name
+    , c1NormalizedInstanceHours
     , c1RequestedAmiVersion
     , c1RunningAmiVersion
     , c1ServiceRole
@@ -204,6 +206,8 @@
     -- * StepSummary
     , StepSummary
     , stepSummary
+    , ssActionOnFailure
+    , ssConfig
     , ssId
     , ssName
     , ssStatus
@@ -353,6 +357,7 @@
     , clusterSummary
     , csId
     , csName
+    , csNormalizedInstanceHours
     , csStatus
 
     -- * JobFlowInstancesDetail
@@ -1243,19 +1248,21 @@
         ]
 
 data Cluster = Cluster
-    { _c1Applications          :: List "Applications" Application
-    , _c1AutoTerminate         :: Maybe Bool
-    , _c1Ec2InstanceAttributes :: Maybe Ec2InstanceAttributes
-    , _c1Id                    :: Text
-    , _c1LogUri                :: Maybe Text
-    , _c1Name                  :: Text
-    , _c1RequestedAmiVersion   :: Maybe Text
-    , _c1RunningAmiVersion     :: Maybe Text
-    , _c1ServiceRole           :: Maybe Text
-    , _c1Status                :: ClusterStatus
-    , _c1Tags                  :: List "Tags" Tag
-    , _c1TerminationProtected  :: Maybe Bool
-    , _c1VisibleToAllUsers     :: Maybe Bool
+    { _c1Applications            :: List "Applications" Application
+    , _c1AutoTerminate           :: Maybe Bool
+    , _c1Ec2InstanceAttributes   :: Maybe Ec2InstanceAttributes
+    , _c1Id                      :: Text
+    , _c1LogUri                  :: Maybe Text
+    , _c1MasterPublicDnsName     :: Maybe Text
+    , _c1Name                    :: Text
+    , _c1NormalizedInstanceHours :: Maybe Int
+    , _c1RequestedAmiVersion     :: Maybe Text
+    , _c1RunningAmiVersion       :: Maybe Text
+    , _c1ServiceRole             :: Maybe Text
+    , _c1Status                  :: ClusterStatus
+    , _c1Tags                    :: List "Tags" Tag
+    , _c1TerminationProtected    :: Maybe Bool
+    , _c1VisibleToAllUsers       :: Maybe Bool
     } deriving (Eq, Show)
 
 -- | 'Cluster' constructor.
@@ -1272,8 +1279,12 @@
 --
 -- * 'c1LogUri' @::@ 'Maybe' 'Text'
 --
+-- * 'c1MasterPublicDnsName' @::@ 'Maybe' 'Text'
+--
 -- * 'c1Name' @::@ 'Text'
 --
+-- * 'c1NormalizedInstanceHours' @::@ 'Maybe' 'Int'
+--
 -- * 'c1RequestedAmiVersion' @::@ 'Maybe' 'Text'
 --
 -- * 'c1RunningAmiVersion' @::@ 'Maybe' 'Text'
@@ -1293,19 +1304,21 @@
         -> ClusterStatus -- ^ 'c1Status'
         -> Cluster
 cluster p1 p2 p3 = Cluster
-    { _c1Id                    = p1
-    , _c1Name                  = p2
-    , _c1Status                = p3
-    , _c1Ec2InstanceAttributes = Nothing
-    , _c1LogUri                = Nothing
-    , _c1RequestedAmiVersion   = Nothing
-    , _c1RunningAmiVersion     = Nothing
-    , _c1AutoTerminate         = Nothing
-    , _c1TerminationProtected  = Nothing
-    , _c1VisibleToAllUsers     = Nothing
-    , _c1Applications          = mempty
-    , _c1Tags                  = mempty
-    , _c1ServiceRole           = Nothing
+    { _c1Id                      = p1
+    , _c1Name                    = p2
+    , _c1Status                  = p3
+    , _c1Ec2InstanceAttributes   = Nothing
+    , _c1LogUri                  = Nothing
+    , _c1RequestedAmiVersion     = Nothing
+    , _c1RunningAmiVersion       = Nothing
+    , _c1AutoTerminate           = Nothing
+    , _c1TerminationProtected    = Nothing
+    , _c1VisibleToAllUsers       = Nothing
+    , _c1Applications            = mempty
+    , _c1Tags                    = mempty
+    , _c1ServiceRole             = Nothing
+    , _c1NormalizedInstanceHours = Nothing
+    , _c1MasterPublicDnsName     = Nothing
     }
 
 -- | The applications installed on this cluster.
@@ -1328,10 +1341,26 @@
 c1LogUri :: Lens' Cluster (Maybe Text)
 c1LogUri = lens _c1LogUri (\s a -> s { _c1LogUri = a })
 
+-- | The public DNS name of the master Ec2 instance.
+c1MasterPublicDnsName :: Lens' Cluster (Maybe Text)
+c1MasterPublicDnsName =
+    lens _c1MasterPublicDnsName (\s a -> s { _c1MasterPublicDnsName = a })
+
 -- | The name of the cluster.
 c1Name :: Lens' Cluster Text
 c1Name = lens _c1Name (\s a -> s { _c1Name = a })
 
+-- | An approximation of the cost of the job flow, represented in m1.small/hours.
+-- This value is incremented one time for every hour an m1.small instance runs.
+-- Larger instances are weighted more, so an EC2 instance that is roughly four
+-- times more expensive would result in the normalized instance hours being
+-- incremented by four. This result is only an approximation and does not
+-- reflect the actual billing rate.
+c1NormalizedInstanceHours :: Lens' Cluster (Maybe Int)
+c1NormalizedInstanceHours =
+    lens _c1NormalizedInstanceHours
+        (\s a -> s { _c1NormalizedInstanceHours = a })
+
 -- | The AMI version requested for this cluster.
 c1RequestedAmiVersion :: Lens' Cluster (Maybe Text)
 c1RequestedAmiVersion =
@@ -1380,7 +1409,9 @@
         <*> o .:? "Ec2InstanceAttributes"
         <*> o .:  "Id"
         <*> o .:? "LogUri"
+        <*> o .:? "MasterPublicDnsName"
         <*> o .:  "Name"
+        <*> o .:? "NormalizedInstanceHours"
         <*> o .:? "RequestedAmiVersion"
         <*> o .:? "RunningAmiVersion"
         <*> o .:? "ServiceRole"
@@ -1391,19 +1422,21 @@
 
 instance ToJSON Cluster where
     toJSON Cluster{..} = object
-        [ "Id"                    .= _c1Id
-        , "Name"                  .= _c1Name
-        , "Status"                .= _c1Status
-        , "Ec2InstanceAttributes" .= _c1Ec2InstanceAttributes
-        , "LogUri"                .= _c1LogUri
-        , "RequestedAmiVersion"   .= _c1RequestedAmiVersion
-        , "RunningAmiVersion"     .= _c1RunningAmiVersion
-        , "AutoTerminate"         .= _c1AutoTerminate
-        , "TerminationProtected"  .= _c1TerminationProtected
-        , "VisibleToAllUsers"     .= _c1VisibleToAllUsers
-        , "Applications"          .= _c1Applications
-        , "Tags"                  .= _c1Tags
-        , "ServiceRole"           .= _c1ServiceRole
+        [ "Id"                      .= _c1Id
+        , "Name"                    .= _c1Name
+        , "Status"                  .= _c1Status
+        , "Ec2InstanceAttributes"   .= _c1Ec2InstanceAttributes
+        , "LogUri"                  .= _c1LogUri
+        , "RequestedAmiVersion"     .= _c1RequestedAmiVersion
+        , "RunningAmiVersion"       .= _c1RunningAmiVersion
+        , "AutoTerminate"           .= _c1AutoTerminate
+        , "TerminationProtected"    .= _c1TerminationProtected
+        , "VisibleToAllUsers"       .= _c1VisibleToAllUsers
+        , "Applications"            .= _c1Applications
+        , "Tags"                    .= _c1Tags
+        , "ServiceRole"             .= _c1ServiceRole
+        , "NormalizedInstanceHours" .= _c1NormalizedInstanceHours
+        , "MasterPublicDnsName"     .= _c1MasterPublicDnsName
         ]
 
 data InstanceTimeline = InstanceTimeline
@@ -1898,15 +1931,21 @@
         ]
 
 data StepSummary = StepSummary
-    { _ssId     :: Maybe Text
-    , _ssName   :: Maybe Text
-    , _ssStatus :: Maybe StepStatus
+    { _ssActionOnFailure :: Maybe ActionOnFailure
+    , _ssConfig          :: Maybe HadoopStepConfig
+    , _ssId              :: Maybe Text
+    , _ssName            :: Maybe Text
+    , _ssStatus          :: Maybe StepStatus
     } deriving (Eq, Show)
 
 -- | 'StepSummary' constructor.
 --
 -- The fields accessible through corresponding lenses are:
 --
+-- * 'ssActionOnFailure' @::@ 'Maybe' 'ActionOnFailure'
+--
+-- * 'ssConfig' @::@ 'Maybe' 'HadoopStepConfig'
+--
 -- * 'ssId' @::@ 'Maybe' 'Text'
 --
 -- * 'ssName' @::@ 'Maybe' 'Text'
@@ -1915,11 +1954,23 @@
 --
 stepSummary :: StepSummary
 stepSummary = StepSummary
-    { _ssId     = Nothing
-    , _ssName   = Nothing
-    , _ssStatus = Nothing
+    { _ssId              = Nothing
+    , _ssName            = Nothing
+    , _ssConfig          = Nothing
+    , _ssActionOnFailure = Nothing
+    , _ssStatus          = Nothing
     }
 
+-- | This specifies what action to take when the cluster step fails. Possible
+-- values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.
+ssActionOnFailure :: Lens' StepSummary (Maybe ActionOnFailure)
+ssActionOnFailure =
+    lens _ssActionOnFailure (\s a -> s { _ssActionOnFailure = a })
+
+-- | The Hadoop job configuration of the cluster step.
+ssConfig :: Lens' StepSummary (Maybe HadoopStepConfig)
+ssConfig = lens _ssConfig (\s a -> s { _ssConfig = a })
+
 -- | The identifier of the cluster step.
 ssId :: Lens' StepSummary (Maybe Text)
 ssId = lens _ssId (\s a -> s { _ssId = a })
@@ -1934,15 +1985,19 @@
 
 instance FromJSON StepSummary where
     parseJSON = withObject "StepSummary" $ \o -> StepSummary
-        <$> o .:? "Id"
+        <$> o .:? "ActionOnFailure"
+        <*> o .:? "Config"
+        <*> o .:? "Id"
         <*> o .:? "Name"
         <*> o .:? "Status"
 
 instance ToJSON StepSummary where
     toJSON StepSummary{..} = object
-        [ "Id"     .= _ssId
-        , "Name"   .= _ssName
-        , "Status" .= _ssStatus
+        [ "Id"              .= _ssId
+        , "Name"            .= _ssName
+        , "Config"          .= _ssConfig
+        , "ActionOnFailure" .= _ssActionOnFailure
+        , "Status"          .= _ssStatus
         ]
 
 data InstanceGroupState
@@ -2866,10 +2921,11 @@
 jficEc2SubnetId :: Lens' JobFlowInstancesConfig (Maybe Text)
 jficEc2SubnetId = lens _jficEc2SubnetId (\s a -> s { _jficEc2SubnetId = a })
 
--- | The Hadoop version for the job flow. Valid inputs are "0.18", "0.20", or
--- "0.20.205". If you do not set this value, the default of 0.18 is used, unless
--- the AmiVersion parameter is set in the RunJobFlow call, in which case the
--- default version of Hadoop for that AMI version is used.
+-- | The Hadoop version for the job flow. Valid inputs are "0.18", "0.20",
+-- "0.20.205", "1.0.3", "2.2.0", or "2.4.0". If you do not set this value, the
+-- default of 0.18 is used, unless the AmiVersion parameter is set in the
+-- RunJobFlow call, in which case the default version of Hadoop for that AMI
+-- version is used.
 jficHadoopVersion :: Lens' JobFlowInstancesConfig (Maybe Text)
 jficHadoopVersion =
     lens _jficHadoopVersion (\s a -> s { _jficHadoopVersion = a })
@@ -3148,9 +3204,10 @@
         ]
 
 data ClusterSummary = ClusterSummary
-    { _csId     :: Maybe Text
-    , _csName   :: Maybe Text
-    , _csStatus :: Maybe ClusterStatus
+    { _csId                      :: Maybe Text
+    , _csName                    :: Maybe Text
+    , _csNormalizedInstanceHours :: Maybe Int
+    , _csStatus                  :: Maybe ClusterStatus
     } deriving (Eq, Show)
 
 -- | 'ClusterSummary' constructor.
@@ -3161,13 +3218,16 @@
 --
 -- * 'csName' @::@ 'Maybe' 'Text'
 --
+-- * 'csNormalizedInstanceHours' @::@ 'Maybe' 'Int'
+--
 -- * 'csStatus' @::@ 'Maybe' 'ClusterStatus'
 --
 clusterSummary :: ClusterSummary
 clusterSummary = ClusterSummary
-    { _csId     = Nothing
-    , _csName   = Nothing
-    , _csStatus = Nothing
+    { _csId                      = Nothing
+    , _csName                    = Nothing
+    , _csStatus                  = Nothing
+    , _csNormalizedInstanceHours = Nothing
     }
 
 -- | The unique identifier for the cluster.
@@ -3178,6 +3238,17 @@
 csName :: Lens' ClusterSummary (Maybe Text)
 csName = lens _csName (\s a -> s { _csName = a })
 
+-- | An approximation of the cost of the job flow, represented in m1.small/hours.
+-- This value is incremented one time for every hour an m1.small instance runs.
+-- Larger instances are weighted more, so an EC2 instance that is roughly four
+-- times more expensive would result in the normalized instance hours being
+-- incremented by four. This result is only an approximation and does not
+-- reflect the actual billing rate.
+csNormalizedInstanceHours :: Lens' ClusterSummary (Maybe Int)
+csNormalizedInstanceHours =
+    lens _csNormalizedInstanceHours
+        (\s a -> s { _csNormalizedInstanceHours = a })
+
 -- | The details about the current status of the cluster.
 csStatus :: Lens' ClusterSummary (Maybe ClusterStatus)
 csStatus = lens _csStatus (\s a -> s { _csStatus = a })
@@ -3186,13 +3257,15 @@
     parseJSON = withObject "ClusterSummary" $ \o -> ClusterSummary
         <$> o .:? "Id"
         <*> o .:? "Name"
+        <*> o .:? "NormalizedInstanceHours"
         <*> o .:? "Status"
 
 instance ToJSON ClusterSummary where
     toJSON ClusterSummary{..} = object
-        [ "Id"     .= _csId
-        , "Name"   .= _csName
-        , "Status" .= _csStatus
+        [ "Id"                      .= _csId
+        , "Name"                    .= _csName
+        , "Status"                  .= _csStatus
+        , "NormalizedInstanceHours" .= _csNormalizedInstanceHours
         ]
 
 data JobFlowInstancesDetail = JobFlowInstancesDetail
