diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.4.5`
+`1.5.0`
 
 
 ## Description
diff --git a/amazonka-health.cabal b/amazonka-health.cabal
--- a/amazonka-health.cabal
+++ b/amazonka-health.cabal
@@ -1,13 +1,13 @@
 name:                  amazonka-health
-version:               1.4.5
+version:               1.5.0
 synopsis:              Amazon Health APIs and Notifications SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
-license:               OtherLicense
+license:               MPL-2.0
 license-file:          LICENSE
 author:                Brendan Hay
-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2013-2016 Brendan Hay
+maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>
+copyright:             Copyright (c) 2013-2017 Brendan Hay
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
@@ -29,14 +29,19 @@
     to get started.
 
 source-repository head
-    type:     git
-    location: git://github.com/brendanhay/amazonka.git
+    type:              git
+    location:          git://github.com/brendanhay/amazonka.git
+    subdir:            amazonka-health
 
 library
     default-language:  Haskell2010
     hs-source-dirs:    src gen
 
-    ghc-options:       -Wall
+    ghc-options:
+        -Wall
+        -fwarn-incomplete-uni-patterns
+        -fwarn-incomplete-record-updates
+        -funbox-strict-fields
 
     exposed-modules:
           Network.AWS.AWSHealth
@@ -54,7 +59,7 @@
         , Network.AWS.AWSHealth.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.5.*
+          amazonka-core == 1.5.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-health-test
@@ -74,9 +79,9 @@
         , Test.AWS.AWSHealth.Internal
 
     build-depends:
-          amazonka-core == 1.4.5.*
-        , amazonka-test == 1.4.5.*
-        , amazonka-health == 1.4.5.*
+          amazonka-core == 1.5.0.*
+        , amazonka-test == 1.5.0.*
+        , amazonka-health
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/AWSHealth.hs b/gen/Network/AWS/AWSHealth.hs
--- a/gen/Network/AWS/AWSHealth.hs
+++ b/gen/Network/AWS/AWSHealth.hs
@@ -5,15 +5,15 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- __AWS Health__
 --
--- The AWS Health API provides programmatic access to the AWS Health information that is presented in the AWS Personal Health Dashboard. You can get information about events that affect your AWS resources:
+-- The AWS Health API provides programmatic access to the AWS Health information that is presented in the <https://phd.aws.amazon.com/phd/home#/ AWS Personal Health Dashboard> . You can get information about events that affect your AWS resources:
 --
 --     * 'DescribeEvents' : Summary information about events.
 --
@@ -70,19 +70,19 @@
     -- ** DescribeEntityAggregates
     , module Network.AWS.AWSHealth.DescribeEntityAggregates
 
-    -- ** DescribeEvents
+    -- ** DescribeEvents (Paginated)
     , module Network.AWS.AWSHealth.DescribeEvents
 
     -- ** DescribeEventDetails
     , module Network.AWS.AWSHealth.DescribeEventDetails
 
-    -- ** DescribeEventAggregates
+    -- ** DescribeEventAggregates (Paginated)
     , module Network.AWS.AWSHealth.DescribeEventAggregates
 
-    -- ** DescribeAffectedEntities
+    -- ** DescribeAffectedEntities (Paginated)
     , module Network.AWS.AWSHealth.DescribeAffectedEntities
 
-    -- ** DescribeEventTypes
+    -- ** DescribeEventTypes (Paginated)
     , module Network.AWS.AWSHealth.DescribeEventTypes
 
     -- * Types
@@ -203,14 +203,14 @@
     , etfServices
     ) where
 
-import           Network.AWS.AWSHealth.DescribeAffectedEntities
-import           Network.AWS.AWSHealth.DescribeEntityAggregates
-import           Network.AWS.AWSHealth.DescribeEventAggregates
-import           Network.AWS.AWSHealth.DescribeEventDetails
-import           Network.AWS.AWSHealth.DescribeEvents
-import           Network.AWS.AWSHealth.DescribeEventTypes
-import           Network.AWS.AWSHealth.Types
-import           Network.AWS.AWSHealth.Waiters
+import Network.AWS.AWSHealth.DescribeAffectedEntities
+import Network.AWS.AWSHealth.DescribeEntityAggregates
+import Network.AWS.AWSHealth.DescribeEventAggregates
+import Network.AWS.AWSHealth.DescribeEventDetails
+import Network.AWS.AWSHealth.DescribeEvents
+import Network.AWS.AWSHealth.DescribeEventTypes
+import Network.AWS.AWSHealth.Types
+import Network.AWS.AWSHealth.Waiters
 
 {- $errors
 Error matchers are designed for use with the functions provided by
diff --git a/gen/Network/AWS/AWSHealth/DescribeAffectedEntities.hs b/gen/Network/AWS/AWSHealth/DescribeAffectedEntities.hs
--- a/gen/Network/AWS/AWSHealth/DescribeAffectedEntities.hs
+++ b/gen/Network/AWS/AWSHealth/DescribeAffectedEntities.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.DescribeAffectedEntities
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -23,6 +23,8 @@
 --
 -- At least one event ARN is required. Results are sorted by the @lastUpdatedTime@ of the entity, starting with the most recent.
 --
+--
+-- This operation returns paginated results.
 module Network.AWS.AWSHealth.DescribeAffectedEntities
     (
     -- * Creating a Request
@@ -43,44 +45,47 @@
     , daersResponseStatus
     ) where
 
-import           Network.AWS.AWSHealth.Types
-import           Network.AWS.AWSHealth.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.AWSHealth.Types
+import Network.AWS.AWSHealth.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'describeAffectedEntities' smart constructor.
 data DescribeAffectedEntities = DescribeAffectedEntities'
-    { _daeLocale     :: !(Maybe Text)
-    , _daeNextToken  :: !(Maybe Text)
-    , _daeMaxResults :: !(Maybe Nat)
-    , _daeFilter     :: !EntityFilter
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _daeLocale     :: !(Maybe Text)
+  , _daeNextToken  :: !(Maybe Text)
+  , _daeMaxResults :: !(Maybe Nat)
+  , _daeFilter     :: !EntityFilter
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeAffectedEntities' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'daeLocale' - The locale (language) to return information in. The default is English.
+-- * 'daeLocale' - The locale (language) to return information in. English (en) is the default and the only supported value at this time.
 --
 -- * 'daeNextToken' - If the results of a search are large, only a portion of the results are returned, and a @nextToken@ pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.
 --
--- * 'daeMaxResults' - The maximum number of items to return in one batch.
+-- * 'daeMaxResults' - The maximum number of items to return in one batch, between 10 and 100, inclusive.
 --
 -- * 'daeFilter' - Values to narrow the results returned. At least one event ARN is required.
 describeAffectedEntities
     :: EntityFilter -- ^ 'daeFilter'
     -> DescribeAffectedEntities
 describeAffectedEntities pFilter_ =
-    DescribeAffectedEntities'
-    { _daeLocale = Nothing
-    , _daeNextToken = Nothing
-    , _daeMaxResults = Nothing
-    , _daeFilter = pFilter_
-    }
+  DescribeAffectedEntities'
+  { _daeLocale = Nothing
+  , _daeNextToken = Nothing
+  , _daeMaxResults = Nothing
+  , _daeFilter = pFilter_
+  }
 
--- | The locale (language) to return information in. The default is English.
+
+-- | The locale (language) to return information in. English (en) is the default and the only supported value at this time.
 daeLocale :: Lens' DescribeAffectedEntities (Maybe Text)
 daeLocale = lens _daeLocale (\ s a -> s{_daeLocale = a});
 
@@ -88,7 +93,7 @@
 daeNextToken :: Lens' DescribeAffectedEntities (Maybe Text)
 daeNextToken = lens _daeNextToken (\ s a -> s{_daeNextToken = a});
 
--- | The maximum number of items to return in one batch.
+-- | The maximum number of items to return in one batch, between 10 and 100, inclusive.
 daeMaxResults :: Lens' DescribeAffectedEntities (Maybe Natural)
 daeMaxResults = lens _daeMaxResults (\ s a -> s{_daeMaxResults = a}) . mapping _Nat;
 
@@ -96,6 +101,13 @@
 daeFilter :: Lens' DescribeAffectedEntities EntityFilter
 daeFilter = lens _daeFilter (\ s a -> s{_daeFilter = a});
 
+instance AWSPager DescribeAffectedEntities where
+        page rq rs
+          | stop (rs ^. daersNextToken) = Nothing
+          | stop (rs ^. daersEntities) = Nothing
+          | otherwise =
+            Just $ rq & daeNextToken .~ rs ^. daersNextToken
+
 instance AWSRequest DescribeAffectedEntities where
         type Rs DescribeAffectedEntities =
              DescribeAffectedEntitiesResponse
@@ -107,9 +119,9 @@
                    (x .?> "entities" .!@ mempty) <*> (x .?> "nextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable DescribeAffectedEntities
+instance Hashable DescribeAffectedEntities where
 
-instance NFData DescribeAffectedEntities
+instance NFData DescribeAffectedEntities where
 
 instance ToHeaders DescribeAffectedEntities where
         toHeaders
@@ -138,11 +150,12 @@
 
 -- | /See:/ 'describeAffectedEntitiesResponse' smart constructor.
 data DescribeAffectedEntitiesResponse = DescribeAffectedEntitiesResponse'
-    { _daersEntities       :: !(Maybe [AffectedEntity])
-    , _daersNextToken      :: !(Maybe Text)
-    , _daersResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _daersEntities       :: !(Maybe [AffectedEntity])
+  , _daersNextToken      :: !(Maybe Text)
+  , _daersResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeAffectedEntitiesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -156,12 +169,13 @@
     :: Int -- ^ 'daersResponseStatus'
     -> DescribeAffectedEntitiesResponse
 describeAffectedEntitiesResponse pResponseStatus_ =
-    DescribeAffectedEntitiesResponse'
-    { _daersEntities = Nothing
-    , _daersNextToken = Nothing
-    , _daersResponseStatus = pResponseStatus_
-    }
+  DescribeAffectedEntitiesResponse'
+  { _daersEntities = Nothing
+  , _daersNextToken = Nothing
+  , _daersResponseStatus = pResponseStatus_
+  }
 
+
 -- | The entities that match the filter criteria.
 daersEntities :: Lens' DescribeAffectedEntitiesResponse [AffectedEntity]
 daersEntities = lens _daersEntities (\ s a -> s{_daersEntities = a}) . _Default . _Coerce;
@@ -175,3 +189,4 @@
 daersResponseStatus = lens _daersResponseStatus (\ s a -> s{_daersResponseStatus = a});
 
 instance NFData DescribeAffectedEntitiesResponse
+         where
diff --git a/gen/Network/AWS/AWSHealth/DescribeEntityAggregates.hs b/gen/Network/AWS/AWSHealth/DescribeEntityAggregates.hs
--- a/gen/Network/AWS/AWSHealth/DescribeEntityAggregates.hs
+++ b/gen/Network/AWS/AWSHealth/DescribeEntityAggregates.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.DescribeEntityAggregates
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,18 +37,19 @@
     , dearsResponseStatus
     ) where
 
-import           Network.AWS.AWSHealth.Types
-import           Network.AWS.AWSHealth.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.AWSHealth.Types
+import Network.AWS.AWSHealth.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'describeEntityAggregates' smart constructor.
 newtype DescribeEntityAggregates = DescribeEntityAggregates'
-    { _deaEventARNs :: Maybe (List1 Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _deaEventARNs :: Maybe (List1 Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEntityAggregates' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -56,11 +57,9 @@
 -- * 'deaEventARNs' - A list of event ARNs (unique identifiers). For example: @"arn:aws:health:us-east-1::event/AWS_EC2_MAINTENANCE_5331", "arn:aws:health:us-west-1::event/AWS_EBS_LOST_VOLUME_xyz"@
 describeEntityAggregates
     :: DescribeEntityAggregates
-describeEntityAggregates =
-    DescribeEntityAggregates'
-    { _deaEventARNs = Nothing
-    }
+describeEntityAggregates = DescribeEntityAggregates' {_deaEventARNs = Nothing}
 
+
 -- | A list of event ARNs (unique identifiers). For example: @"arn:aws:health:us-east-1::event/AWS_EC2_MAINTENANCE_5331", "arn:aws:health:us-west-1::event/AWS_EBS_LOST_VOLUME_xyz"@
 deaEventARNs :: Lens' DescribeEntityAggregates (Maybe (NonEmpty Text))
 deaEventARNs = lens _deaEventARNs (\ s a -> s{_deaEventARNs = a}) . mapping _List1;
@@ -76,9 +75,9 @@
                    (x .?> "entityAggregates" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
-instance Hashable DescribeEntityAggregates
+instance Hashable DescribeEntityAggregates where
 
-instance NFData DescribeEntityAggregates
+instance NFData DescribeEntityAggregates where
 
 instance ToHeaders DescribeEntityAggregates where
         toHeaders
@@ -103,10 +102,11 @@
 
 -- | /See:/ 'describeEntityAggregatesResponse' smart constructor.
 data DescribeEntityAggregatesResponse = DescribeEntityAggregatesResponse'
-    { _dearsEntityAggregates :: !(Maybe [EntityAggregate])
-    , _dearsResponseStatus   :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dearsEntityAggregates :: !(Maybe [EntityAggregate])
+  , _dearsResponseStatus   :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEntityAggregatesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -118,11 +118,10 @@
     :: Int -- ^ 'dearsResponseStatus'
     -> DescribeEntityAggregatesResponse
 describeEntityAggregatesResponse pResponseStatus_ =
-    DescribeEntityAggregatesResponse'
-    { _dearsEntityAggregates = Nothing
-    , _dearsResponseStatus = pResponseStatus_
-    }
+  DescribeEntityAggregatesResponse'
+  {_dearsEntityAggregates = Nothing, _dearsResponseStatus = pResponseStatus_}
 
+
 -- | The number of entities that are affected by each of the specified events.
 dearsEntityAggregates :: Lens' DescribeEntityAggregatesResponse [EntityAggregate]
 dearsEntityAggregates = lens _dearsEntityAggregates (\ s a -> s{_dearsEntityAggregates = a}) . _Default . _Coerce;
@@ -132,3 +131,4 @@
 dearsResponseStatus = lens _dearsResponseStatus (\ s a -> s{_dearsResponseStatus = a});
 
 instance NFData DescribeEntityAggregatesResponse
+         where
diff --git a/gen/Network/AWS/AWSHealth/DescribeEventAggregates.hs b/gen/Network/AWS/AWSHealth/DescribeEventAggregates.hs
--- a/gen/Network/AWS/AWSHealth/DescribeEventAggregates.hs
+++ b/gen/Network/AWS/AWSHealth/DescribeEventAggregates.hs
@@ -12,15 +12,17 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.DescribeEventAggregates
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Returns the number of events of each event type (issue, scheduled change, and account notification). If no filter is specified, the counts of all events in each category are returned.
 --
 --
+--
+-- This operation returns paginated results.
 module Network.AWS.AWSHealth.DescribeEventAggregates
     (
     -- * Creating a Request
@@ -41,21 +43,23 @@
     , drsResponseStatus
     ) where
 
-import           Network.AWS.AWSHealth.Types
-import           Network.AWS.AWSHealth.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.AWSHealth.Types
+import Network.AWS.AWSHealth.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'describeEventAggregates' smart constructor.
 data DescribeEventAggregates = DescribeEventAggregates'
-    { _deaNextToken      :: !(Maybe Text)
-    , _deaFilter         :: !(Maybe EventFilter)
-    , _deaMaxResults     :: !(Maybe Nat)
-    , _deaAggregateField :: !EventAggregateField
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _deaNextToken      :: !(Maybe Text)
+  , _deaFilter         :: !(Maybe EventFilter)
+  , _deaMaxResults     :: !(Maybe Nat)
+  , _deaAggregateField :: !EventAggregateField
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEventAggregates' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -64,20 +68,21 @@
 --
 -- * 'deaFilter' - Values to narrow the results returned.
 --
--- * 'deaMaxResults' - The maximum number of items to return in one batch.
+-- * 'deaMaxResults' - The maximum number of items to return in one batch, between 10 and 100, inclusive.
 --
 -- * 'deaAggregateField' - The only currently supported value is @eventTypeCategory@ .
 describeEventAggregates
     :: EventAggregateField -- ^ 'deaAggregateField'
     -> DescribeEventAggregates
 describeEventAggregates pAggregateField_ =
-    DescribeEventAggregates'
-    { _deaNextToken = Nothing
-    , _deaFilter = Nothing
-    , _deaMaxResults = Nothing
-    , _deaAggregateField = pAggregateField_
-    }
+  DescribeEventAggregates'
+  { _deaNextToken = Nothing
+  , _deaFilter = Nothing
+  , _deaMaxResults = Nothing
+  , _deaAggregateField = pAggregateField_
+  }
 
+
 -- | If the results of a search are large, only a portion of the results are returned, and a @nextToken@ pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.
 deaNextToken :: Lens' DescribeEventAggregates (Maybe Text)
 deaNextToken = lens _deaNextToken (\ s a -> s{_deaNextToken = a});
@@ -86,7 +91,7 @@
 deaFilter :: Lens' DescribeEventAggregates (Maybe EventFilter)
 deaFilter = lens _deaFilter (\ s a -> s{_deaFilter = a});
 
--- | The maximum number of items to return in one batch.
+-- | The maximum number of items to return in one batch, between 10 and 100, inclusive.
 deaMaxResults :: Lens' DescribeEventAggregates (Maybe Natural)
 deaMaxResults = lens _deaMaxResults (\ s a -> s{_deaMaxResults = a}) . mapping _Nat;
 
@@ -94,6 +99,13 @@
 deaAggregateField :: Lens' DescribeEventAggregates EventAggregateField
 deaAggregateField = lens _deaAggregateField (\ s a -> s{_deaAggregateField = a});
 
+instance AWSPager DescribeEventAggregates where
+        page rq rs
+          | stop (rs ^. drsNextToken) = Nothing
+          | stop (rs ^. drsEventAggregates) = Nothing
+          | otherwise =
+            Just $ rq & deaNextToken .~ rs ^. drsNextToken
+
 instance AWSRequest DescribeEventAggregates where
         type Rs DescribeEventAggregates =
              DescribeEventAggregatesResponse
@@ -106,9 +118,9 @@
                      (x .?> "eventAggregates" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
-instance Hashable DescribeEventAggregates
+instance Hashable DescribeEventAggregates where
 
-instance NFData DescribeEventAggregates
+instance NFData DescribeEventAggregates where
 
 instance ToHeaders DescribeEventAggregates where
         toHeaders
@@ -137,11 +149,12 @@
 
 -- | /See:/ 'describeEventAggregatesResponse' smart constructor.
 data DescribeEventAggregatesResponse = DescribeEventAggregatesResponse'
-    { _drsNextToken       :: !(Maybe Text)
-    , _drsEventAggregates :: !(Maybe [EventAggregate])
-    , _drsResponseStatus  :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _drsNextToken       :: !(Maybe Text)
+  , _drsEventAggregates :: !(Maybe [EventAggregate])
+  , _drsResponseStatus  :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEventAggregatesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -155,12 +168,13 @@
     :: Int -- ^ 'drsResponseStatus'
     -> DescribeEventAggregatesResponse
 describeEventAggregatesResponse pResponseStatus_ =
-    DescribeEventAggregatesResponse'
-    { _drsNextToken = Nothing
-    , _drsEventAggregates = Nothing
-    , _drsResponseStatus = pResponseStatus_
-    }
+  DescribeEventAggregatesResponse'
+  { _drsNextToken = Nothing
+  , _drsEventAggregates = Nothing
+  , _drsResponseStatus = pResponseStatus_
+  }
 
+
 -- | If the results of a search are large, only a portion of the results are returned, and a @nextToken@ pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.
 drsNextToken :: Lens' DescribeEventAggregatesResponse (Maybe Text)
 drsNextToken = lens _drsNextToken (\ s a -> s{_drsNextToken = a});
@@ -173,4 +187,4 @@
 drsResponseStatus :: Lens' DescribeEventAggregatesResponse Int
 drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
 
-instance NFData DescribeEventAggregatesResponse
+instance NFData DescribeEventAggregatesResponse where
diff --git a/gen/Network/AWS/AWSHealth/DescribeEventDetails.hs b/gen/Network/AWS/AWSHealth/DescribeEventDetails.hs
--- a/gen/Network/AWS/AWSHealth/DescribeEventDetails.hs
+++ b/gen/Network/AWS/AWSHealth/DescribeEventDetails.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.DescribeEventDetails
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -41,36 +41,36 @@
     , dedrsResponseStatus
     ) where
 
-import           Network.AWS.AWSHealth.Types
-import           Network.AWS.AWSHealth.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.AWSHealth.Types
+import Network.AWS.AWSHealth.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'describeEventDetails' smart constructor.
 data DescribeEventDetails = DescribeEventDetails'
-    { _dedLocale    :: !(Maybe Text)
-    , _dedEventARNs :: !(List1 Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dedLocale    :: !(Maybe Text)
+  , _dedEventARNs :: !(List1 Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'dedLocale' - The locale (language) to return information in. The default is English.
+-- * 'dedLocale' - The locale (language) to return information in. English (en) is the default and the only supported value at this time.
 --
 -- * 'dedEventARNs' - A list of event ARNs (unique identifiers). For example: @"arn:aws:health:us-east-1::event/AWS_EC2_MAINTENANCE_5331", "arn:aws:health:us-west-1::event/AWS_EBS_LOST_VOLUME_xyz"@
 describeEventDetails
     :: NonEmpty Text -- ^ 'dedEventARNs'
     -> DescribeEventDetails
 describeEventDetails pEventARNs_ =
-    DescribeEventDetails'
-    { _dedLocale = Nothing
-    , _dedEventARNs = _List1 # pEventARNs_
-    }
+  DescribeEventDetails'
+  {_dedLocale = Nothing, _dedEventARNs = _List1 # pEventARNs_}
 
--- | The locale (language) to return information in. The default is English.
+
+-- | The locale (language) to return information in. English (en) is the default and the only supported value at this time.
 dedLocale :: Lens' DescribeEventDetails (Maybe Text)
 dedLocale = lens _dedLocale (\ s a -> s{_dedLocale = a});
 
@@ -90,9 +90,9 @@
                      (x .?> "failedSet" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
-instance Hashable DescribeEventDetails
+instance Hashable DescribeEventDetails where
 
-instance NFData DescribeEventDetails
+instance NFData DescribeEventDetails where
 
 instance ToHeaders DescribeEventDetails where
         toHeaders
@@ -119,11 +119,12 @@
 
 -- | /See:/ 'describeEventDetailsResponse' smart constructor.
 data DescribeEventDetailsResponse = DescribeEventDetailsResponse'
-    { _dedrsSuccessfulSet  :: !(Maybe [EventDetails])
-    , _dedrsFailedSet      :: !(Maybe [EventDetailsErrorItem])
-    , _dedrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dedrsSuccessfulSet  :: !(Maybe [EventDetails])
+  , _dedrsFailedSet      :: !(Maybe [EventDetailsErrorItem])
+  , _dedrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEventDetailsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -137,12 +138,13 @@
     :: Int -- ^ 'dedrsResponseStatus'
     -> DescribeEventDetailsResponse
 describeEventDetailsResponse pResponseStatus_ =
-    DescribeEventDetailsResponse'
-    { _dedrsSuccessfulSet = Nothing
-    , _dedrsFailedSet = Nothing
-    , _dedrsResponseStatus = pResponseStatus_
-    }
+  DescribeEventDetailsResponse'
+  { _dedrsSuccessfulSet = Nothing
+  , _dedrsFailedSet = Nothing
+  , _dedrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | Information about the events that could be retrieved.
 dedrsSuccessfulSet :: Lens' DescribeEventDetailsResponse [EventDetails]
 dedrsSuccessfulSet = lens _dedrsSuccessfulSet (\ s a -> s{_dedrsSuccessfulSet = a}) . _Default . _Coerce;
@@ -155,4 +157,4 @@
 dedrsResponseStatus :: Lens' DescribeEventDetailsResponse Int
 dedrsResponseStatus = lens _dedrsResponseStatus (\ s a -> s{_dedrsResponseStatus = a});
 
-instance NFData DescribeEventDetailsResponse
+instance NFData DescribeEventDetailsResponse where
diff --git a/gen/Network/AWS/AWSHealth/DescribeEventTypes.hs b/gen/Network/AWS/AWSHealth/DescribeEventTypes.hs
--- a/gen/Network/AWS/AWSHealth/DescribeEventTypes.hs
+++ b/gen/Network/AWS/AWSHealth/DescribeEventTypes.hs
@@ -12,15 +12,17 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.DescribeEventTypes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Returns the event types that meet the specified filter criteria. If no filter criteria are specified, all event types are returned, in no particular order.
 --
 --
+--
+-- This operation returns paginated results.
 module Network.AWS.AWSHealth.DescribeEventTypes
     (
     -- * Creating a Request
@@ -41,43 +43,46 @@
     , detrsResponseStatus
     ) where
 
-import           Network.AWS.AWSHealth.Types
-import           Network.AWS.AWSHealth.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.AWSHealth.Types
+import Network.AWS.AWSHealth.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'describeEventTypes' smart constructor.
 data DescribeEventTypes = DescribeEventTypes'
-    { _detLocale     :: !(Maybe Text)
-    , _detNextToken  :: !(Maybe Text)
-    , _detFilter     :: !(Maybe EventTypeFilter)
-    , _detMaxResults :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _detLocale     :: !(Maybe Text)
+  , _detNextToken  :: !(Maybe Text)
+  , _detFilter     :: !(Maybe EventTypeFilter)
+  , _detMaxResults :: !(Maybe Nat)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEventTypes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'detLocale' - The locale (language) to return information in. The default is English.
+-- * 'detLocale' - The locale (language) to return information in. English (en) is the default and the only supported value at this time.
 --
 -- * 'detNextToken' - If the results of a search are large, only a portion of the results are returned, and a @nextToken@ pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.
 --
 -- * 'detFilter' - Values to narrow the results returned.
 --
--- * 'detMaxResults' - The maximum number of items to return in one batch.
+-- * 'detMaxResults' - The maximum number of items to return in one batch, between 10 and 100, inclusive.
 describeEventTypes
     :: DescribeEventTypes
 describeEventTypes =
-    DescribeEventTypes'
-    { _detLocale = Nothing
-    , _detNextToken = Nothing
-    , _detFilter = Nothing
-    , _detMaxResults = Nothing
-    }
+  DescribeEventTypes'
+  { _detLocale = Nothing
+  , _detNextToken = Nothing
+  , _detFilter = Nothing
+  , _detMaxResults = Nothing
+  }
 
--- | The locale (language) to return information in. The default is English.
+
+-- | The locale (language) to return information in. English (en) is the default and the only supported value at this time.
 detLocale :: Lens' DescribeEventTypes (Maybe Text)
 detLocale = lens _detLocale (\ s a -> s{_detLocale = a});
 
@@ -89,10 +94,17 @@
 detFilter :: Lens' DescribeEventTypes (Maybe EventTypeFilter)
 detFilter = lens _detFilter (\ s a -> s{_detFilter = a});
 
--- | The maximum number of items to return in one batch.
+-- | The maximum number of items to return in one batch, between 10 and 100, inclusive.
 detMaxResults :: Lens' DescribeEventTypes (Maybe Natural)
 detMaxResults = lens _detMaxResults (\ s a -> s{_detMaxResults = a}) . mapping _Nat;
 
+instance AWSPager DescribeEventTypes where
+        page rq rs
+          | stop (rs ^. detrsNextToken) = Nothing
+          | stop (rs ^. detrsEventTypes) = Nothing
+          | otherwise =
+            Just $ rq & detNextToken .~ rs ^. detrsNextToken
+
 instance AWSRequest DescribeEventTypes where
         type Rs DescribeEventTypes =
              DescribeEventTypesResponse
@@ -105,9 +117,9 @@
                      (x .?> "nextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable DescribeEventTypes
+instance Hashable DescribeEventTypes where
 
-instance NFData DescribeEventTypes
+instance NFData DescribeEventTypes where
 
 instance ToHeaders DescribeEventTypes where
         toHeaders
@@ -136,16 +148,17 @@
 
 -- | /See:/ 'describeEventTypesResponse' smart constructor.
 data DescribeEventTypesResponse = DescribeEventTypesResponse'
-    { _detrsEventTypes     :: !(Maybe [EventType])
-    , _detrsNextToken      :: !(Maybe Text)
-    , _detrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _detrsEventTypes     :: !(Maybe [EventType])
+  , _detrsNextToken      :: !(Maybe Text)
+  , _detrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEventTypesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'detrsEventTypes' - List of event types to be matched with.
+-- * 'detrsEventTypes' - A list of event types that match the filter criteria. Event types have a category (@issue@ , @accountNotification@ , or @scheduledChange@ ), a service (for example, @EC2@ , @RDS@ , @DATAPIPELINE@ , @BILLING@ ), and a code (in the format @AWS_/SERVICE/ _/DESCRIPTION/ @ ; for example, @AWS_EC2_SYSTEM_MAINTENANCE_EVENT@ ).
 --
 -- * 'detrsNextToken' - If the results of a search are large, only a portion of the results are returned, and a @nextToken@ pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.
 --
@@ -154,13 +167,14 @@
     :: Int -- ^ 'detrsResponseStatus'
     -> DescribeEventTypesResponse
 describeEventTypesResponse pResponseStatus_ =
-    DescribeEventTypesResponse'
-    { _detrsEventTypes = Nothing
-    , _detrsNextToken = Nothing
-    , _detrsResponseStatus = pResponseStatus_
-    }
+  DescribeEventTypesResponse'
+  { _detrsEventTypes = Nothing
+  , _detrsNextToken = Nothing
+  , _detrsResponseStatus = pResponseStatus_
+  }
 
--- | List of event types to be matched with.
+
+-- | A list of event types that match the filter criteria. Event types have a category (@issue@ , @accountNotification@ , or @scheduledChange@ ), a service (for example, @EC2@ , @RDS@ , @DATAPIPELINE@ , @BILLING@ ), and a code (in the format @AWS_/SERVICE/ _/DESCRIPTION/ @ ; for example, @AWS_EC2_SYSTEM_MAINTENANCE_EVENT@ ).
 detrsEventTypes :: Lens' DescribeEventTypesResponse [EventType]
 detrsEventTypes = lens _detrsEventTypes (\ s a -> s{_detrsEventTypes = a}) . _Default . _Coerce;
 
@@ -172,4 +186,4 @@
 detrsResponseStatus :: Lens' DescribeEventTypesResponse Int
 detrsResponseStatus = lens _detrsResponseStatus (\ s a -> s{_detrsResponseStatus = a});
 
-instance NFData DescribeEventTypesResponse
+instance NFData DescribeEventTypesResponse where
diff --git a/gen/Network/AWS/AWSHealth/DescribeEvents.hs b/gen/Network/AWS/AWSHealth/DescribeEvents.hs
--- a/gen/Network/AWS/AWSHealth/DescribeEvents.hs
+++ b/gen/Network/AWS/AWSHealth/DescribeEvents.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.DescribeEvents
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -23,6 +23,8 @@
 --
 -- If no filter criteria are specified, all events are returned. Results are sorted by @lastModifiedTime@ , starting with the most recent.
 --
+--
+-- This operation returns paginated results.
 module Network.AWS.AWSHealth.DescribeEvents
     (
     -- * Creating a Request
@@ -43,43 +45,46 @@
     , dersResponseStatus
     ) where
 
-import           Network.AWS.AWSHealth.Types
-import           Network.AWS.AWSHealth.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.AWSHealth.Types
+import Network.AWS.AWSHealth.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Pager
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'describeEvents' smart constructor.
 data DescribeEvents = DescribeEvents'
-    { _deLocale     :: !(Maybe Text)
-    , _deNextToken  :: !(Maybe Text)
-    , _deFilter     :: !(Maybe EventFilter)
-    , _deMaxResults :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _deLocale     :: !(Maybe Text)
+  , _deNextToken  :: !(Maybe Text)
+  , _deFilter     :: !(Maybe EventFilter)
+  , _deMaxResults :: !(Maybe Nat)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEvents' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'deLocale' - The locale (language) to return information in. The default is English.
+-- * 'deLocale' - The locale (language) to return information in. English (en) is the default and the only supported value at this time.
 --
 -- * 'deNextToken' - If the results of a search are large, only a portion of the results are returned, and a @nextToken@ pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.
 --
 -- * 'deFilter' - Values to narrow the results returned.
 --
--- * 'deMaxResults' - The maximum number of items to return in one batch.
+-- * 'deMaxResults' - The maximum number of items to return in one batch, between 10 and 100, inclusive.
 describeEvents
     :: DescribeEvents
 describeEvents =
-    DescribeEvents'
-    { _deLocale = Nothing
-    , _deNextToken = Nothing
-    , _deFilter = Nothing
-    , _deMaxResults = Nothing
-    }
+  DescribeEvents'
+  { _deLocale = Nothing
+  , _deNextToken = Nothing
+  , _deFilter = Nothing
+  , _deMaxResults = Nothing
+  }
 
--- | The locale (language) to return information in. The default is English.
+
+-- | The locale (language) to return information in. English (en) is the default and the only supported value at this time.
 deLocale :: Lens' DescribeEvents (Maybe Text)
 deLocale = lens _deLocale (\ s a -> s{_deLocale = a});
 
@@ -91,10 +96,17 @@
 deFilter :: Lens' DescribeEvents (Maybe EventFilter)
 deFilter = lens _deFilter (\ s a -> s{_deFilter = a});
 
--- | The maximum number of items to return in one batch.
+-- | The maximum number of items to return in one batch, between 10 and 100, inclusive.
 deMaxResults :: Lens' DescribeEvents (Maybe Natural)
 deMaxResults = lens _deMaxResults (\ s a -> s{_deMaxResults = a}) . mapping _Nat;
 
+instance AWSPager DescribeEvents where
+        page rq rs
+          | stop (rs ^. dersNextToken) = Nothing
+          | stop (rs ^. dersEvents) = Nothing
+          | otherwise =
+            Just $ rq & deNextToken .~ rs ^. dersNextToken
+
 instance AWSRequest DescribeEvents where
         type Rs DescribeEvents = DescribeEventsResponse
         request = postJSON awsHealth
@@ -105,9 +117,9 @@
                    (x .?> "nextToken") <*> (x .?> "events" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
-instance Hashable DescribeEvents
+instance Hashable DescribeEvents where
 
-instance NFData DescribeEvents
+instance NFData DescribeEvents where
 
 instance ToHeaders DescribeEvents where
         toHeaders
@@ -135,11 +147,12 @@
 
 -- | /See:/ 'describeEventsResponse' smart constructor.
 data DescribeEventsResponse = DescribeEventsResponse'
-    { _dersNextToken      :: !(Maybe Text)
-    , _dersEvents         :: !(Maybe [Event])
-    , _dersResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dersNextToken      :: !(Maybe Text)
+  , _dersEvents         :: !(Maybe [Event])
+  , _dersResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEventsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -153,12 +166,13 @@
     :: Int -- ^ 'dersResponseStatus'
     -> DescribeEventsResponse
 describeEventsResponse pResponseStatus_ =
-    DescribeEventsResponse'
-    { _dersNextToken = Nothing
-    , _dersEvents = Nothing
-    , _dersResponseStatus = pResponseStatus_
-    }
+  DescribeEventsResponse'
+  { _dersNextToken = Nothing
+  , _dersEvents = Nothing
+  , _dersResponseStatus = pResponseStatus_
+  }
 
+
 -- | If the results of a search are large, only a portion of the results are returned, and a @nextToken@ pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.
 dersNextToken :: Lens' DescribeEventsResponse (Maybe Text)
 dersNextToken = lens _dersNextToken (\ s a -> s{_dersNextToken = a});
@@ -171,4 +185,4 @@
 dersResponseStatus :: Lens' DescribeEventsResponse Int
 dersResponseStatus = lens _dersResponseStatus (\ s a -> s{_dersResponseStatus = a});
 
-instance NFData DescribeEventsResponse
+instance NFData DescribeEventsResponse where
diff --git a/gen/Network/AWS/AWSHealth/Types.hs b/gen/Network/AWS/AWSHealth/Types.hs
--- a/gen/Network/AWS/AWSHealth/Types.hs
+++ b/gen/Network/AWS/AWSHealth/Types.hs
@@ -4,9 +4,9 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.Types
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -135,38 +135,40 @@
     , etfServices
     ) where
 
-import           Network.AWS.AWSHealth.Types.Product
-import           Network.AWS.AWSHealth.Types.Sum
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Sign.V4
+import Network.AWS.AWSHealth.Types.Product
+import Network.AWS.AWSHealth.Types.Sum
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Sign.V4
 
 -- | API version @2016-08-04@ of the Amazon Health APIs and Notifications SDK configuration.
 awsHealth :: Service
 awsHealth =
-    Service
-    { _svcAbbrev = "AWSHealth"
-    , _svcSigner = v4
-    , _svcPrefix = "health"
-    , _svcVersion = "2016-08-04"
-    , _svcEndpoint = defaultEndpoint awsHealth
-    , _svcTimeout = Just 70
-    , _svcCheck = statusSuccess
-    , _svcError = parseJSONError "AWSHealth"
-    , _svcRetry = retry
-    }
+  Service
+  { _svcAbbrev = "AWSHealth"
+  , _svcSigner = v4
+  , _svcPrefix = "health"
+  , _svcVersion = "2016-08-04"
+  , _svcEndpoint = defaultEndpoint awsHealth
+  , _svcTimeout = Just 70
+  , _svcCheck = statusSuccess
+  , _svcError = parseJSONError "AWSHealth"
+  , _svcRetry = retry
+  }
   where
     retry =
-        Exponential
-        { _retryBase = 5.0e-2
-        , _retryGrowth = 2
-        , _retryAttempts = 5
-        , _retryCheck = check
-        }
+      Exponential
+      { _retryBase = 5.0e-2
+      , _retryGrowth = 2
+      , _retryAttempts = 5
+      , _retryCheck = check
+      }
     check e
+      | has (hasCode "ThrottledException" . hasStatus 400) e =
+        Just "throttled_exception"
       | has (hasStatus 429) e = Just "too_many_requests"
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
-          Just "throttling_exception"
+        Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
       | has (hasStatus 504) e = Just "gateway_timeout"
       | has (hasStatus 502) e = Just "bad_gateway"
@@ -175,14 +177,17 @@
       | has (hasStatus 509) e = Just "limit_exceeded"
       | otherwise = Nothing
 
+
 -- | The specified pagination token (@nextToken@ ) is not valid.
 --
 --
 _InvalidPaginationToken :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidPaginationToken = _ServiceError . hasCode "InvalidPaginationToken"
+_InvalidPaginationToken = _MatchServiceError awsHealth "InvalidPaginationToken"
 
+
 -- | The specified locale is not supported.
 --
 --
 _UnsupportedLocale :: AsError a => Getting (First ServiceError) a ServiceError
-_UnsupportedLocale = _ServiceError . hasCode "UnsupportedLocale"
+_UnsupportedLocale = _MatchServiceError awsHealth "UnsupportedLocale"
+
diff --git a/gen/Network/AWS/AWSHealth/Types/Product.hs b/gen/Network/AWS/AWSHealth/Types/Product.hs
--- a/gen/Network/AWS/AWSHealth/Types/Product.hs
+++ b/gen/Network/AWS/AWSHealth/Types/Product.hs
@@ -9,17 +9,17 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.Types.Product
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Network.AWS.AWSHealth.Types.Product where
 
-import           Network.AWS.AWSHealth.Types.Sum
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
+import Network.AWS.AWSHealth.Types.Sum
+import Network.AWS.Lens
+import Network.AWS.Prelude
 
 -- | Information about an entity that is affected by a Health event.
 --
@@ -27,15 +27,16 @@
 --
 -- /See:/ 'affectedEntity' smart constructor.
 data AffectedEntity = AffectedEntity'
-    { _aeLastUpdatedTime :: !(Maybe POSIX)
-    , _aeEntityValue     :: !(Maybe Text)
-    , _aeAwsAccountId    :: !(Maybe Text)
-    , _aeEventARN        :: !(Maybe Text)
-    , _aeEntityARN       :: !(Maybe Text)
-    , _aeTags            :: !(Maybe (Map Text Text))
-    , _aeStatusCode      :: !(Maybe EntityStatusCode)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _aeLastUpdatedTime :: !(Maybe POSIX)
+  , _aeEntityValue     :: !(Maybe Text)
+  , _aeAwsAccountId    :: !(Maybe Text)
+  , _aeEventARN        :: !(Maybe Text)
+  , _aeEntityARN       :: !(Maybe Text)
+  , _aeTags            :: !(Maybe (Map Text Text))
+  , _aeStatusCode      :: !(Maybe EntityStatusCode)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AffectedEntity' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -56,16 +57,17 @@
 affectedEntity
     :: AffectedEntity
 affectedEntity =
-    AffectedEntity'
-    { _aeLastUpdatedTime = Nothing
-    , _aeEntityValue = Nothing
-    , _aeAwsAccountId = Nothing
-    , _aeEventARN = Nothing
-    , _aeEntityARN = Nothing
-    , _aeTags = Nothing
-    , _aeStatusCode = Nothing
-    }
+  AffectedEntity'
+  { _aeLastUpdatedTime = Nothing
+  , _aeEntityValue = Nothing
+  , _aeAwsAccountId = Nothing
+  , _aeEventARN = Nothing
+  , _aeEntityARN = Nothing
+  , _aeTags = Nothing
+  , _aeStatusCode = Nothing
+  }
 
+
 -- | The most recent time that the entity was updated.
 aeLastUpdatedTime :: Lens' AffectedEntity (Maybe UTCTime)
 aeLastUpdatedTime = lens _aeLastUpdatedTime (\ s a -> s{_aeLastUpdatedTime = a}) . mapping _Time;
@@ -106,9 +108,9 @@
                      <*> (x .:? "tags" .!= mempty)
                      <*> (x .:? "statusCode"))
 
-instance Hashable AffectedEntity
+instance Hashable AffectedEntity where
 
-instance NFData AffectedEntity
+instance NFData AffectedEntity where
 
 -- | A range of dates and times that is used by the 'EventFilter' and 'EntityFilter' objects. If @from@ is set and @to@ is set: match items where the timestamp (@startTime@ , @endTime@ , or @lastUpdatedTime@ ) is between @from@ and @to@ inclusive. If @from@ is set and @to@ is not set: match items where the timestamp value is equal to or after @from@ . If @from@ is not set and @to@ is set: match items where the timestamp value is equal to or before @to@ .
 --
@@ -116,10 +118,11 @@
 --
 -- /See:/ 'dateTimeRange' smart constructor.
 data DateTimeRange = DateTimeRange'
-    { _dtrTo   :: !(Maybe POSIX)
-    , _dtrFrom :: !(Maybe POSIX)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dtrTo   :: !(Maybe POSIX)
+  , _dtrFrom :: !(Maybe POSIX)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DateTimeRange' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -129,12 +132,9 @@
 -- * 'dtrFrom' - The starting date and time of a time range.
 dateTimeRange
     :: DateTimeRange
-dateTimeRange =
-    DateTimeRange'
-    { _dtrTo = Nothing
-    , _dtrFrom = Nothing
-    }
+dateTimeRange = DateTimeRange' {_dtrTo = Nothing, _dtrFrom = Nothing}
 
+
 -- | The ending date and time of a time range.
 dtrTo :: Lens' DateTimeRange (Maybe UTCTime)
 dtrTo = lens _dtrTo (\ s a -> s{_dtrTo = a}) . mapping _Time;
@@ -143,9 +143,9 @@
 dtrFrom :: Lens' DateTimeRange (Maybe UTCTime)
 dtrFrom = lens _dtrFrom (\ s a -> s{_dtrFrom = a}) . mapping _Time;
 
-instance Hashable DateTimeRange
+instance Hashable DateTimeRange where
 
-instance NFData DateTimeRange
+instance NFData DateTimeRange where
 
 instance ToJSON DateTimeRange where
         toJSON DateTimeRange'{..}
@@ -159,10 +159,11 @@
 --
 -- /See:/ 'entityAggregate' smart constructor.
 data EntityAggregate = EntityAggregate'
-    { _eCount    :: !(Maybe Int)
-    , _eEventARN :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _eCount    :: !(Maybe Int)
+  , _eEventARN :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EntityAggregate' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -172,12 +173,9 @@
 -- * 'eEventARN' - The unique identifier for the event. Format: @arn:aws:health:/event-region/ ::event//EVENT_TYPE_PLUS_ID/ @ . Example: @arn:aws:health:us-east-1::event/AWS_EC2_MAINTENANCE_5331@
 entityAggregate
     :: EntityAggregate
-entityAggregate =
-    EntityAggregate'
-    { _eCount = Nothing
-    , _eEventARN = Nothing
-    }
+entityAggregate = EntityAggregate' {_eCount = Nothing, _eEventARN = Nothing}
 
+
 -- | The number entities that match the criteria for the specified events.
 eCount :: Lens' EntityAggregate (Maybe Int)
 eCount = lens _eCount (\ s a -> s{_eCount = a});
@@ -193,9 +191,9 @@
                  EntityAggregate' <$>
                    (x .:? "count") <*> (x .:? "eventArn"))
 
-instance Hashable EntityAggregate
+instance Hashable EntityAggregate where
 
-instance NFData EntityAggregate
+instance NFData EntityAggregate where
 
 -- | The values to use to filter results from the 'DescribeAffectedEntities' operation.
 --
@@ -203,14 +201,15 @@
 --
 -- /See:/ 'entityFilter' smart constructor.
 data EntityFilter = EntityFilter'
-    { _eStatusCodes      :: !(Maybe (List1 EntityStatusCode))
-    , _eEntityARNs       :: !(Maybe (List1 Text))
-    , _eEntityValues     :: !(Maybe (List1 Text))
-    , _eTags             :: !(Maybe [Map Text Text])
-    , _eLastUpdatedTimes :: !(Maybe (List1 DateTimeRange))
-    , _eEventARNs        :: !(List1 Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _eStatusCodes      :: !(Maybe (List1 EntityStatusCode))
+  , _eEntityARNs       :: !(Maybe (List1 Text))
+  , _eEntityValues     :: !(Maybe (List1 Text))
+  , _eTags             :: !(Maybe [Map Text Text])
+  , _eLastUpdatedTimes :: !(Maybe (List1 DateTimeRange))
+  , _eEventARNs        :: !(List1 Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EntityFilter' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -230,15 +229,16 @@
     :: NonEmpty Text -- ^ 'eEventARNs'
     -> EntityFilter
 entityFilter pEventARNs_ =
-    EntityFilter'
-    { _eStatusCodes = Nothing
-    , _eEntityARNs = Nothing
-    , _eEntityValues = Nothing
-    , _eTags = Nothing
-    , _eLastUpdatedTimes = Nothing
-    , _eEventARNs = _List1 # pEventARNs_
-    }
+  EntityFilter'
+  { _eStatusCodes = Nothing
+  , _eEntityARNs = Nothing
+  , _eEntityValues = Nothing
+  , _eTags = Nothing
+  , _eLastUpdatedTimes = Nothing
+  , _eEventARNs = _List1 # pEventARNs_
+  }
 
+
 -- | A list of entity status codes (@IMPAIRED@ , @UNIMPAIRED@ , or @UNKNOWN@ ).
 eStatusCodes :: Lens' EntityFilter (Maybe (NonEmpty EntityStatusCode))
 eStatusCodes = lens _eStatusCodes (\ s a -> s{_eStatusCodes = a}) . mapping _List1;
@@ -263,9 +263,9 @@
 eEventARNs :: Lens' EntityFilter (NonEmpty Text)
 eEventARNs = lens _eEventARNs (\ s a -> s{_eEventARNs = a}) . _List1;
 
-instance Hashable EntityFilter
+instance Hashable EntityFilter where
 
-instance NFData EntityFilter
+instance NFData EntityFilter where
 
 instance ToJSON EntityFilter where
         toJSON EntityFilter'{..}
@@ -284,18 +284,19 @@
 --
 -- /See:/ 'event' smart constructor.
 data Event = Event'
-    { _eLastUpdatedTime   :: !(Maybe POSIX)
-    , _eArn               :: !(Maybe Text)
-    , _eService           :: !(Maybe Text)
-    , _eStartTime         :: !(Maybe POSIX)
-    , _eEventTypeCode     :: !(Maybe Text)
-    , _eEventTypeCategory :: !(Maybe EventTypeCategory)
-    , _eAvailabilityZone  :: !(Maybe Text)
-    , _eEndTime           :: !(Maybe POSIX)
-    , _eRegion            :: !(Maybe Text)
-    , _eStatusCode        :: !(Maybe EventStatusCode)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _eLastUpdatedTime   :: !(Maybe POSIX)
+  , _eArn               :: !(Maybe Text)
+  , _eService           :: !(Maybe Text)
+  , _eStartTime         :: !(Maybe POSIX)
+  , _eEventTypeCode     :: !(Maybe Text)
+  , _eEventTypeCategory :: !(Maybe EventTypeCategory)
+  , _eAvailabilityZone  :: !(Maybe Text)
+  , _eEndTime           :: !(Maybe POSIX)
+  , _eRegion            :: !(Maybe Text)
+  , _eStatusCode        :: !(Maybe EventStatusCode)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Event' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -322,19 +323,20 @@
 event
     :: Event
 event =
-    Event'
-    { _eLastUpdatedTime = Nothing
-    , _eArn = Nothing
-    , _eService = Nothing
-    , _eStartTime = Nothing
-    , _eEventTypeCode = Nothing
-    , _eEventTypeCategory = Nothing
-    , _eAvailabilityZone = Nothing
-    , _eEndTime = Nothing
-    , _eRegion = Nothing
-    , _eStatusCode = Nothing
-    }
+  Event'
+  { _eLastUpdatedTime = Nothing
+  , _eArn = Nothing
+  , _eService = Nothing
+  , _eStartTime = Nothing
+  , _eEventTypeCode = Nothing
+  , _eEventTypeCategory = Nothing
+  , _eAvailabilityZone = Nothing
+  , _eEndTime = Nothing
+  , _eRegion = Nothing
+  , _eStatusCode = Nothing
+  }
 
+
 -- | The most recent date and time that the event was updated.
 eLastUpdatedTime :: Lens' Event (Maybe UTCTime)
 eLastUpdatedTime = lens _eLastUpdatedTime (\ s a -> s{_eLastUpdatedTime = a}) . mapping _Time;
@@ -390,9 +392,9 @@
                      <*> (x .:? "region")
                      <*> (x .:? "statusCode"))
 
-instance Hashable Event
+instance Hashable Event where
 
-instance NFData Event
+instance NFData Event where
 
 -- | The number of events of each issue type. Returned by the 'DescribeEventAggregates' operation.
 --
@@ -400,10 +402,11 @@
 --
 -- /See:/ 'eventAggregate' smart constructor.
 data EventAggregate = EventAggregate'
-    { _eaCount          :: !(Maybe Int)
-    , _eaAggregateValue :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _eaCount          :: !(Maybe Int)
+  , _eaAggregateValue :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EventAggregate' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -414,11 +417,9 @@
 eventAggregate
     :: EventAggregate
 eventAggregate =
-    EventAggregate'
-    { _eaCount = Nothing
-    , _eaAggregateValue = Nothing
-    }
+  EventAggregate' {_eaCount = Nothing, _eaAggregateValue = Nothing}
 
+
 -- | The number of events of the associated issue type.
 eaCount :: Lens' EventAggregate (Maybe Int)
 eaCount = lens _eaCount (\ s a -> s{_eaCount = a});
@@ -434,9 +435,9 @@
                  EventAggregate' <$>
                    (x .:? "count") <*> (x .:? "aggregateValue"))
 
-instance Hashable EventAggregate
+instance Hashable EventAggregate where
 
-instance NFData EventAggregate
+instance NFData EventAggregate where
 
 -- | The detailed description of the event. Included in the information returned by the 'DescribeEventDetails' operation.
 --
@@ -444,9 +445,10 @@
 --
 -- /See:/ 'eventDescription' smart constructor.
 newtype EventDescription = EventDescription'
-    { _edLatestDescription :: Maybe Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _edLatestDescription :: Maybe Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EventDescription' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -454,11 +456,9 @@
 -- * 'edLatestDescription' - The most recent description of the event.
 eventDescription
     :: EventDescription
-eventDescription =
-    EventDescription'
-    { _edLatestDescription = Nothing
-    }
+eventDescription = EventDescription' {_edLatestDescription = Nothing}
 
+
 -- | The most recent description of the event.
 edLatestDescription :: Lens' EventDescription (Maybe Text)
 edLatestDescription = lens _edLatestDescription (\ s a -> s{_edLatestDescription = a});
@@ -469,9 +469,9 @@
               (\ x ->
                  EventDescription' <$> (x .:? "latestDescription"))
 
-instance Hashable EventDescription
+instance Hashable EventDescription where
 
-instance NFData EventDescription
+instance NFData EventDescription where
 
 -- | Detailed information about an event. A combination of an 'Event' object, an 'EventDescription' object, and additional metadata about the event. Returned by the 'DescribeEventDetails' operation.
 --
@@ -479,11 +479,12 @@
 --
 -- /See:/ 'eventDetails' smart constructor.
 data EventDetails = EventDetails'
-    { _edEvent            :: !(Maybe Event)
-    , _edEventDescription :: !(Maybe EventDescription)
-    , _edEventMetadata    :: !(Maybe (Map Text Text))
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _edEvent            :: !(Maybe Event)
+  , _edEventDescription :: !(Maybe EventDescription)
+  , _edEventMetadata    :: !(Maybe (Map Text Text))
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EventDetails' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -496,12 +497,13 @@
 eventDetails
     :: EventDetails
 eventDetails =
-    EventDetails'
-    { _edEvent = Nothing
-    , _edEventDescription = Nothing
-    , _edEventMetadata = Nothing
-    }
+  EventDetails'
+  { _edEvent = Nothing
+  , _edEventDescription = Nothing
+  , _edEventMetadata = Nothing
+  }
 
+
 -- | Summary information about the event.
 edEvent :: Lens' EventDetails (Maybe Event)
 edEvent = lens _edEvent (\ s a -> s{_edEvent = a});
@@ -522,9 +524,9 @@
                    (x .:? "event") <*> (x .:? "eventDescription") <*>
                      (x .:? "eventMetadata" .!= mempty))
 
-instance Hashable EventDetails
+instance Hashable EventDetails where
 
-instance NFData EventDetails
+instance NFData EventDetails where
 
 -- | Error information returned when a 'DescribeEventDetails' operation cannot find a specified event.
 --
@@ -532,11 +534,12 @@
 --
 -- /See:/ 'eventDetailsErrorItem' smart constructor.
 data EventDetailsErrorItem = EventDetailsErrorItem'
-    { _edeiEventARN     :: !(Maybe Text)
-    , _edeiErrorName    :: !(Maybe Text)
-    , _edeiErrorMessage :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _edeiEventARN     :: !(Maybe Text)
+  , _edeiErrorName    :: !(Maybe Text)
+  , _edeiErrorMessage :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EventDetailsErrorItem' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -549,12 +552,13 @@
 eventDetailsErrorItem
     :: EventDetailsErrorItem
 eventDetailsErrorItem =
-    EventDetailsErrorItem'
-    { _edeiEventARN = Nothing
-    , _edeiErrorName = Nothing
-    , _edeiErrorMessage = Nothing
-    }
+  EventDetailsErrorItem'
+  { _edeiEventARN = Nothing
+  , _edeiErrorName = Nothing
+  , _edeiErrorMessage = Nothing
+  }
 
+
 -- | The unique identifier for the event. Format: @arn:aws:health:/event-region/ ::event//EVENT_TYPE_PLUS_ID/ @ . Example: @arn:aws:health:us-east-1::event/AWS_EC2_MAINTENANCE_5331@
 edeiEventARN :: Lens' EventDetailsErrorItem (Maybe Text)
 edeiEventARN = lens _edeiEventARN (\ s a -> s{_edeiEventARN = a});
@@ -575,9 +579,9 @@
                    (x .:? "eventArn") <*> (x .:? "errorName") <*>
                      (x .:? "errorMessage"))
 
-instance Hashable EventDetailsErrorItem
+instance Hashable EventDetailsErrorItem where
 
-instance NFData EventDetailsErrorItem
+instance NFData EventDetailsErrorItem where
 
 -- | The values to use to filter results from the 'DescribeEvents' and 'DescribeEventAggregates' operations.
 --
@@ -585,21 +589,22 @@
 --
 -- /See:/ 'eventFilter' smart constructor.
 data EventFilter = EventFilter'
-    { _efEventARNs           :: !(Maybe (List1 Text))
-    , _efEventTypeCategories :: !(Maybe (List1 EventTypeCategory))
-    , _efEventTypeCodes      :: !(Maybe (List1 Text))
-    , _efRegions             :: !(Maybe (List1 Text))
-    , _efEventStatusCodes    :: !(Maybe (List1 EventStatusCode))
-    , _efEndTimes            :: !(Maybe (List1 DateTimeRange))
-    , _efAvailabilityZones   :: !(Maybe [Text])
-    , _efEntityARNs          :: !(Maybe (List1 Text))
-    , _efEntityValues        :: !(Maybe (List1 Text))
-    , _efStartTimes          :: !(Maybe (List1 DateTimeRange))
-    , _efServices            :: !(Maybe (List1 Text))
-    , _efTags                :: !(Maybe [Map Text Text])
-    , _efLastUpdatedTimes    :: !(Maybe (List1 DateTimeRange))
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _efEventARNs           :: !(Maybe (List1 Text))
+  , _efEventTypeCategories :: !(Maybe (List1 EventTypeCategory))
+  , _efEventTypeCodes      :: !(Maybe (List1 Text))
+  , _efRegions             :: !(Maybe (List1 Text))
+  , _efEventStatusCodes    :: !(Maybe (List1 EventStatusCode))
+  , _efEndTimes            :: !(Maybe (List1 DateTimeRange))
+  , _efAvailabilityZones   :: !(Maybe [Text])
+  , _efEntityARNs          :: !(Maybe (List1 Text))
+  , _efEntityValues        :: !(Maybe (List1 Text))
+  , _efStartTimes          :: !(Maybe (List1 DateTimeRange))
+  , _efServices            :: !(Maybe (List1 Text))
+  , _efTags                :: !(Maybe [Map Text Text])
+  , _efLastUpdatedTimes    :: !(Maybe (List1 DateTimeRange))
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EventFilter' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -632,22 +637,23 @@
 eventFilter
     :: EventFilter
 eventFilter =
-    EventFilter'
-    { _efEventARNs = Nothing
-    , _efEventTypeCategories = Nothing
-    , _efEventTypeCodes = Nothing
-    , _efRegions = Nothing
-    , _efEventStatusCodes = Nothing
-    , _efEndTimes = Nothing
-    , _efAvailabilityZones = Nothing
-    , _efEntityARNs = Nothing
-    , _efEntityValues = Nothing
-    , _efStartTimes = Nothing
-    , _efServices = Nothing
-    , _efTags = Nothing
-    , _efLastUpdatedTimes = Nothing
-    }
+  EventFilter'
+  { _efEventARNs = Nothing
+  , _efEventTypeCategories = Nothing
+  , _efEventTypeCodes = Nothing
+  , _efRegions = Nothing
+  , _efEventStatusCodes = Nothing
+  , _efEndTimes = Nothing
+  , _efAvailabilityZones = Nothing
+  , _efEntityARNs = Nothing
+  , _efEntityValues = Nothing
+  , _efStartTimes = Nothing
+  , _efServices = Nothing
+  , _efTags = Nothing
+  , _efLastUpdatedTimes = Nothing
+  }
 
+
 -- | A list of event ARNs (unique identifiers). For example: @"arn:aws:health:us-east-1::event/AWS_EC2_MAINTENANCE_5331", "arn:aws:health:us-west-1::event/AWS_EBS_LOST_VOLUME_xyz"@
 efEventARNs :: Lens' EventFilter (Maybe (NonEmpty Text))
 efEventARNs = lens _efEventARNs (\ s a -> s{_efEventARNs = a}) . mapping _List1;
@@ -700,9 +706,9 @@
 efLastUpdatedTimes :: Lens' EventFilter (Maybe (NonEmpty DateTimeRange))
 efLastUpdatedTimes = lens _efLastUpdatedTimes (\ s a -> s{_efLastUpdatedTimes = a}) . mapping _List1;
 
-instance Hashable EventFilter
+instance Hashable EventFilter where
 
-instance NFData EventFilter
+instance NFData EventFilter where
 
 instance ToJSON EventFilter where
         toJSON EventFilter'{..}
@@ -723,17 +729,18 @@
                   ("tags" .=) <$> _efTags,
                   ("lastUpdatedTimes" .=) <$> _efLastUpdatedTimes])
 
--- | Metadata about a type of event that is reported by AWS Health. Data consists of the category (for example, @issue@ , the service (for example, @EC2@ ), and the event type code (for example, @AWS_EC2_SYSTEM_MAINTENANCE_EVENT@ ).
+-- | Metadata about a type of event that is reported by AWS Health. Data consists of the category (for example, @issue@ ), the service (for example, @EC2@ ), and the event type code (for example, @AWS_EC2_SYSTEM_MAINTENANCE_EVENT@ ).
 --
 --
 --
 -- /See:/ 'eventType' smart constructor.
 data EventType = EventType'
-    { _etService  :: !(Maybe Text)
-    , _etCategory :: !(Maybe EventTypeCategory)
-    , _etCode     :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _etService  :: !(Maybe Text)
+  , _etCategory :: !(Maybe EventTypeCategory)
+  , _etCode     :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EventType' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -746,12 +753,9 @@
 eventType
     :: EventType
 eventType =
-    EventType'
-    { _etService = Nothing
-    , _etCategory = Nothing
-    , _etCode = Nothing
-    }
+  EventType' {_etService = Nothing, _etCategory = Nothing, _etCode = Nothing}
 
+
 -- | The AWS service that is affected by the event. For example, @EC2@ , @RDS@ .
 etService :: Lens' EventType (Maybe Text)
 etService = lens _etService (\ s a -> s{_etService = a});
@@ -772,9 +776,9 @@
                    (x .:? "service") <*> (x .:? "category") <*>
                      (x .:? "code"))
 
-instance Hashable EventType
+instance Hashable EventType where
 
-instance NFData EventType
+instance NFData EventType where
 
 -- | The values to use to filter results from the 'DescribeEventTypes' operation.
 --
@@ -782,11 +786,12 @@
 --
 -- /See:/ 'eventTypeFilter' smart constructor.
 data EventTypeFilter = EventTypeFilter'
-    { _etfEventTypeCategories :: !(Maybe (List1 EventTypeCategory))
-    , _etfEventTypeCodes      :: !(Maybe (List1 Text))
-    , _etfServices            :: !(Maybe (List1 Text))
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _etfEventTypeCategories :: !(Maybe (List1 EventTypeCategory))
+  , _etfEventTypeCodes      :: !(Maybe (List1 Text))
+  , _etfServices            :: !(Maybe (List1 Text))
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EventTypeFilter' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -799,12 +804,13 @@
 eventTypeFilter
     :: EventTypeFilter
 eventTypeFilter =
-    EventTypeFilter'
-    { _etfEventTypeCategories = Nothing
-    , _etfEventTypeCodes = Nothing
-    , _etfServices = Nothing
-    }
+  EventTypeFilter'
+  { _etfEventTypeCategories = Nothing
+  , _etfEventTypeCodes = Nothing
+  , _etfServices = Nothing
+  }
 
+
 -- | A list of event type category codes (@issue@ , @scheduledChange@ , or @accountNotification@ ).
 etfEventTypeCategories :: Lens' EventTypeFilter (Maybe (NonEmpty EventTypeCategory))
 etfEventTypeCategories = lens _etfEventTypeCategories (\ s a -> s{_etfEventTypeCategories = a}) . mapping _List1;
@@ -817,9 +823,9 @@
 etfServices :: Lens' EventTypeFilter (Maybe (NonEmpty Text))
 etfServices = lens _etfServices (\ s a -> s{_etfServices = a}) . mapping _List1;
 
-instance Hashable EventTypeFilter
+instance Hashable EventTypeFilter where
 
-instance NFData EventTypeFilter
+instance NFData EventTypeFilter where
 
 instance ToJSON EventTypeFilter where
         toJSON EventTypeFilter'{..}
diff --git a/gen/Network/AWS/AWSHealth/Types/Sum.hs b/gen/Network/AWS/AWSHealth/Types/Sum.hs
--- a/gen/Network/AWS/AWSHealth/Types/Sum.hs
+++ b/gen/Network/AWS/AWSHealth/Types/Sum.hs
@@ -9,22 +9,23 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.Types.Sum
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Network.AWS.AWSHealth.Types.Sum where
 
-import           Network.AWS.Prelude
+import Network.AWS.Prelude
 
 data EntityStatusCode
-    = Impaired
-    | Unimpaired
-    | Unknown
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = Impaired
+  | Unimpaired
+  | Unknown
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText EntityStatusCode where
     parser = takeLowerText >>= \case
         "impaired" -> pure Impaired
@@ -52,9 +53,10 @@
     parseJSON = parseJSONText "EntityStatusCode"
 
 data EventAggregateField =
-    EventTypeCategory
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  EventTypeCategory
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText EventAggregateField where
     parser = takeLowerText >>= \case
         "eventtypecategory" -> pure EventTypeCategory
@@ -75,11 +77,12 @@
     toJSON = toJSONText
 
 data EventStatusCode
-    = Closed
-    | Open
-    | Upcoming
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = Closed
+  | Open
+  | Upcoming
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText EventStatusCode where
     parser = takeLowerText >>= \case
         "closed" -> pure Closed
@@ -107,10 +110,11 @@
     parseJSON = parseJSONText "EventStatusCode"
 
 data EventTypeCategory
-    = AccountNotification
-    | Issue
-    | ScheduledChange
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = AccountNotification
+  | Issue
+  | ScheduledChange
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
+
 
 instance FromText EventTypeCategory where
     parser = takeLowerText >>= \case
diff --git a/gen/Network/AWS/AWSHealth/Waiters.hs b/gen/Network/AWS/AWSHealth/Waiters.hs
--- a/gen/Network/AWS/AWSHealth/Waiters.hs
+++ b/gen/Network/AWS/AWSHealth/Waiters.hs
@@ -7,15 +7,15 @@
 
 -- |
 -- Module      : Network.AWS.AWSHealth.Waiters
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Network.AWS.AWSHealth.Waiters where
 
-import           Network.AWS.AWSHealth.Types
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Waiter
+import Network.AWS.AWSHealth.Types
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Waiter
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,9 +2,9 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
diff --git a/test/Test/AWS/Gen/AWSHealth.hs b/test/Test/AWS/Gen/AWSHealth.hs
--- a/test/Test/AWS/Gen/AWSHealth.hs
+++ b/test/Test/AWS/Gen/AWSHealth.hs
@@ -5,20 +5,20 @@
 
 -- |
 -- Module      : Test.AWS.Gen.AWSHealth
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 module Test.AWS.Gen.AWSHealth where
 
 import Data.Proxy
+import Network.AWS.AWSHealth
+import Test.AWS.AWSHealth.Internal
 import Test.AWS.Fixture
 import Test.AWS.Prelude
 import Test.Tasty
-import Network.AWS.AWSHealth
-import Test.AWS.AWSHealth.Internal
 
 -- Auto-generated: the actual test selection needs to be manually placed into
 -- the top-level so that real test data can be incrementally added.
