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-marketplace-metering.cabal b/amazonka-marketplace-metering.cabal
--- a/amazonka-marketplace-metering.cabal
+++ b/amazonka-marketplace-metering.cabal
@@ -1,13 +1,13 @@
 name:                  amazonka-marketplace-metering
-version:               1.4.5
+version:               1.5.0
 synopsis:              Amazon Marketplace Metering 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-marketplace-metering
 
 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.MarketplaceMetering
@@ -51,7 +56,7 @@
         , Network.AWS.MarketplaceMetering.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.5.*
+          amazonka-core == 1.5.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-marketplace-metering-test
@@ -71,9 +76,9 @@
         , Test.AWS.MarketplaceMetering.Internal
 
     build-depends:
-          amazonka-core == 1.4.5.*
-        , amazonka-test == 1.4.5.*
-        , amazonka-marketplace-metering == 1.4.5.*
+          amazonka-core == 1.5.0.*
+        , amazonka-test == 1.5.0.*
+        , amazonka-marketplace-metering
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/MarketplaceMetering.hs b/gen/Network/AWS/MarketplaceMetering.hs
--- a/gen/Network/AWS/MarketplaceMetering.hs
+++ b/gen/Network/AWS/MarketplaceMetering.hs
@@ -5,9 +5,9 @@
 
 -- |
 -- Module      : Network.AWS.MarketplaceMetering
--- 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)
 --
@@ -105,11 +105,11 @@
     , urrMeteringRecordId
     ) where
 
-import           Network.AWS.MarketplaceMetering.BatchMeterUsage
-import           Network.AWS.MarketplaceMetering.MeterUsage
-import           Network.AWS.MarketplaceMetering.ResolveCustomer
-import           Network.AWS.MarketplaceMetering.Types
-import           Network.AWS.MarketplaceMetering.Waiters
+import Network.AWS.MarketplaceMetering.BatchMeterUsage
+import Network.AWS.MarketplaceMetering.MeterUsage
+import Network.AWS.MarketplaceMetering.ResolveCustomer
+import Network.AWS.MarketplaceMetering.Types
+import Network.AWS.MarketplaceMetering.Waiters
 
 {- $errors
 Error matchers are designed for use with the functions provided by
diff --git a/gen/Network/AWS/MarketplaceMetering/BatchMeterUsage.hs b/gen/Network/AWS/MarketplaceMetering/BatchMeterUsage.hs
--- a/gen/Network/AWS/MarketplaceMetering/BatchMeterUsage.hs
+++ b/gen/Network/AWS/MarketplaceMetering/BatchMeterUsage.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.MarketplaceMetering.BatchMeterUsage
--- 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)
 --
@@ -45,12 +45,12 @@
     , bmursResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.MarketplaceMetering.Types
-import           Network.AWS.MarketplaceMetering.Types.Product
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.Lens
+import Network.AWS.MarketplaceMetering.Types
+import Network.AWS.MarketplaceMetering.Types.Product
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | A BatchMeterUsageRequest contains UsageRecords, which indicate quantities of usage within your application.
 --
@@ -58,10 +58,11 @@
 --
 -- /See:/ 'batchMeterUsage' smart constructor.
 data BatchMeterUsage = BatchMeterUsage'
-    { _bmuUsageRecords :: ![UsageRecord]
-    , _bmuProductCode  :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _bmuUsageRecords :: ![UsageRecord]
+  , _bmuProductCode  :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'BatchMeterUsage' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -73,11 +74,9 @@
     :: Text -- ^ 'bmuProductCode'
     -> BatchMeterUsage
 batchMeterUsage pProductCode_ =
-    BatchMeterUsage'
-    { _bmuUsageRecords = mempty
-    , _bmuProductCode = pProductCode_
-    }
+  BatchMeterUsage' {_bmuUsageRecords = mempty, _bmuProductCode = pProductCode_}
 
+
 -- | The set of UsageRecords to submit. BatchMeterUsage accepts up to 25 UsageRecords at a time.
 bmuUsageRecords :: Lens' BatchMeterUsage [UsageRecord]
 bmuUsageRecords = lens _bmuUsageRecords (\ s a -> s{_bmuUsageRecords = a}) . _Coerce;
@@ -97,9 +96,9 @@
                      (x .?> "UnprocessedRecords" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
-instance Hashable BatchMeterUsage
+instance Hashable BatchMeterUsage where
 
-instance NFData BatchMeterUsage
+instance NFData BatchMeterUsage where
 
 instance ToHeaders BatchMeterUsage where
         toHeaders
@@ -130,11 +129,12 @@
 --
 -- /See:/ 'batchMeterUsageResponse' smart constructor.
 data BatchMeterUsageResponse = BatchMeterUsageResponse'
-    { _bmursResults            :: !(Maybe [UsageRecordResult])
-    , _bmursUnprocessedRecords :: !(Maybe [UsageRecord])
-    , _bmursResponseStatus     :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _bmursResults            :: !(Maybe [UsageRecordResult])
+  , _bmursUnprocessedRecords :: !(Maybe [UsageRecord])
+  , _bmursResponseStatus     :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'BatchMeterUsageResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -148,12 +148,13 @@
     :: Int -- ^ 'bmursResponseStatus'
     -> BatchMeterUsageResponse
 batchMeterUsageResponse pResponseStatus_ =
-    BatchMeterUsageResponse'
-    { _bmursResults = Nothing
-    , _bmursUnprocessedRecords = Nothing
-    , _bmursResponseStatus = pResponseStatus_
-    }
+  BatchMeterUsageResponse'
+  { _bmursResults = Nothing
+  , _bmursUnprocessedRecords = Nothing
+  , _bmursResponseStatus = pResponseStatus_
+  }
 
+
 -- | Contains all UsageRecords processed by BatchMeterUsage. These records were either honored by AWS Marketplace Metering Service or were invalid.
 bmursResults :: Lens' BatchMeterUsageResponse [UsageRecordResult]
 bmursResults = lens _bmursResults (\ s a -> s{_bmursResults = a}) . _Default . _Coerce;
@@ -166,4 +167,4 @@
 bmursResponseStatus :: Lens' BatchMeterUsageResponse Int
 bmursResponseStatus = lens _bmursResponseStatus (\ s a -> s{_bmursResponseStatus = a});
 
-instance NFData BatchMeterUsageResponse
+instance NFData BatchMeterUsageResponse where
diff --git a/gen/Network/AWS/MarketplaceMetering/MeterUsage.hs b/gen/Network/AWS/MarketplaceMetering/MeterUsage.hs
--- a/gen/Network/AWS/MarketplaceMetering/MeterUsage.hs
+++ b/gen/Network/AWS/MarketplaceMetering/MeterUsage.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.MarketplaceMetering.MeterUsage
--- 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)
 --
@@ -43,22 +43,23 @@
     , mursResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.MarketplaceMetering.Types
-import           Network.AWS.MarketplaceMetering.Types.Product
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.Lens
+import Network.AWS.MarketplaceMetering.Types
+import Network.AWS.MarketplaceMetering.Types.Product
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'meterUsage' smart constructor.
 data MeterUsage = MeterUsage'
-    { _muProductCode    :: !Text
-    , _muTimestamp      :: !POSIX
-    , _muUsageDimension :: !Text
-    , _muUsageQuantity  :: !Nat
-    , _muDryRun         :: !Bool
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _muProductCode    :: !Text
+  , _muTimestamp      :: !POSIX
+  , _muUsageDimension :: !Text
+  , _muUsageQuantity  :: !Nat
+  , _muDryRun         :: !Bool
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'MeterUsage' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -80,14 +81,15 @@
     -> Bool -- ^ 'muDryRun'
     -> MeterUsage
 meterUsage pProductCode_ pTimestamp_ pUsageDimension_ pUsageQuantity_ pDryRun_ =
-    MeterUsage'
-    { _muProductCode = pProductCode_
-    , _muTimestamp = _Time # pTimestamp_
-    , _muUsageDimension = pUsageDimension_
-    , _muUsageQuantity = _Nat # pUsageQuantity_
-    , _muDryRun = pDryRun_
-    }
+  MeterUsage'
+  { _muProductCode = pProductCode_
+  , _muTimestamp = _Time # pTimestamp_
+  , _muUsageDimension = pUsageDimension_
+  , _muUsageQuantity = _Nat # pUsageQuantity_
+  , _muDryRun = pDryRun_
+  }
 
+
 -- | Product code is used to uniquely identify a product in AWS Marketplace. The product code should be the same as the one used during the publishing of a new product.
 muProductCode :: Lens' MeterUsage Text
 muProductCode = lens _muProductCode (\ s a -> s{_muProductCode = a});
@@ -117,9 +119,9 @@
                  MeterUsageResponse' <$>
                    (x .?> "MeteringRecordId") <*> (pure (fromEnum s)))
 
-instance Hashable MeterUsage
+instance Hashable MeterUsage where
 
-instance NFData MeterUsage
+instance NFData MeterUsage where
 
 instance ToHeaders MeterUsage where
         toHeaders
@@ -148,10 +150,11 @@
 
 -- | /See:/ 'meterUsageResponse' smart constructor.
 data MeterUsageResponse = MeterUsageResponse'
-    { _mursMeteringRecordId :: !(Maybe Text)
-    , _mursResponseStatus   :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _mursMeteringRecordId :: !(Maybe Text)
+  , _mursResponseStatus   :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'MeterUsageResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -163,11 +166,10 @@
     :: Int -- ^ 'mursResponseStatus'
     -> MeterUsageResponse
 meterUsageResponse pResponseStatus_ =
-    MeterUsageResponse'
-    { _mursMeteringRecordId = Nothing
-    , _mursResponseStatus = pResponseStatus_
-    }
+  MeterUsageResponse'
+  {_mursMeteringRecordId = Nothing, _mursResponseStatus = pResponseStatus_}
 
+
 -- | Undocumented member.
 mursMeteringRecordId :: Lens' MeterUsageResponse (Maybe Text)
 mursMeteringRecordId = lens _mursMeteringRecordId (\ s a -> s{_mursMeteringRecordId = a});
@@ -176,4 +178,4 @@
 mursResponseStatus :: Lens' MeterUsageResponse Int
 mursResponseStatus = lens _mursResponseStatus (\ s a -> s{_mursResponseStatus = a});
 
-instance NFData MeterUsageResponse
+instance NFData MeterUsageResponse where
diff --git a/gen/Network/AWS/MarketplaceMetering/ResolveCustomer.hs b/gen/Network/AWS/MarketplaceMetering/ResolveCustomer.hs
--- a/gen/Network/AWS/MarketplaceMetering/ResolveCustomer.hs
+++ b/gen/Network/AWS/MarketplaceMetering/ResolveCustomer.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.MarketplaceMetering.ResolveCustomer
--- 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)
 --
@@ -38,12 +38,12 @@
     , rcrsResponseStatus
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.MarketplaceMetering.Types
-import           Network.AWS.MarketplaceMetering.Types.Product
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.Lens
+import Network.AWS.MarketplaceMetering.Types
+import Network.AWS.MarketplaceMetering.Types.Product
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains input to the ResolveCustomer operation.
 --
@@ -51,9 +51,10 @@
 --
 -- /See:/ 'resolveCustomer' smart constructor.
 newtype ResolveCustomer = ResolveCustomer'
-    { _rcRegistrationToken :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rcRegistrationToken :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ResolveCustomer' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -63,10 +64,9 @@
     :: Text -- ^ 'rcRegistrationToken'
     -> ResolveCustomer
 resolveCustomer pRegistrationToken_ =
-    ResolveCustomer'
-    { _rcRegistrationToken = pRegistrationToken_
-    }
+  ResolveCustomer' {_rcRegistrationToken = pRegistrationToken_}
 
+
 -- | When a buyer visits your website during the registration process, the buyer submits a registration token through the browser. The registration token is resolved to obtain a CustomerIdentifier and product code.
 rcRegistrationToken :: Lens' ResolveCustomer Text
 rcRegistrationToken = lens _rcRegistrationToken (\ s a -> s{_rcRegistrationToken = a});
@@ -82,9 +82,9 @@
                      (x .?> "ProductCode")
                      <*> (pure (fromEnum s)))
 
-instance Hashable ResolveCustomer
+instance Hashable ResolveCustomer where
 
-instance NFData ResolveCustomer
+instance NFData ResolveCustomer where
 
 instance ToHeaders ResolveCustomer where
         toHeaders
@@ -114,11 +114,12 @@
 --
 -- /See:/ 'resolveCustomerResponse' smart constructor.
 data ResolveCustomerResponse = ResolveCustomerResponse'
-    { _rcrsCustomerIdentifier :: !(Maybe Text)
-    , _rcrsProductCode        :: !(Maybe Text)
-    , _rcrsResponseStatus     :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rcrsCustomerIdentifier :: !(Maybe Text)
+  , _rcrsProductCode        :: !(Maybe Text)
+  , _rcrsResponseStatus     :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ResolveCustomerResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -132,12 +133,13 @@
     :: Int -- ^ 'rcrsResponseStatus'
     -> ResolveCustomerResponse
 resolveCustomerResponse pResponseStatus_ =
-    ResolveCustomerResponse'
-    { _rcrsCustomerIdentifier = Nothing
-    , _rcrsProductCode = Nothing
-    , _rcrsResponseStatus = pResponseStatus_
-    }
+  ResolveCustomerResponse'
+  { _rcrsCustomerIdentifier = Nothing
+  , _rcrsProductCode = Nothing
+  , _rcrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | The CustomerIdentifier is used to identify an individual customer in your application. Calls to BatchMeterUsage require CustomerIdentifiers for each UsageRecord.
 rcrsCustomerIdentifier :: Lens' ResolveCustomerResponse (Maybe Text)
 rcrsCustomerIdentifier = lens _rcrsCustomerIdentifier (\ s a -> s{_rcrsCustomerIdentifier = a});
@@ -150,4 +152,4 @@
 rcrsResponseStatus :: Lens' ResolveCustomerResponse Int
 rcrsResponseStatus = lens _rcrsResponseStatus (\ s a -> s{_rcrsResponseStatus = a});
 
-instance NFData ResolveCustomerResponse
+instance NFData ResolveCustomerResponse where
diff --git a/gen/Network/AWS/MarketplaceMetering/Types.hs b/gen/Network/AWS/MarketplaceMetering/Types.hs
--- a/gen/Network/AWS/MarketplaceMetering/Types.hs
+++ b/gen/Network/AWS/MarketplaceMetering/Types.hs
@@ -4,9 +4,9 @@
 
 -- |
 -- Module      : Network.AWS.MarketplaceMetering.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)
 --
@@ -46,38 +46,40 @@
     , urrMeteringRecordId
     ) where
 
-import           Network.AWS.Lens
-import           Network.AWS.MarketplaceMetering.Types.Product
-import           Network.AWS.MarketplaceMetering.Types.Sum
-import           Network.AWS.Prelude
-import           Network.AWS.Sign.V4
+import Network.AWS.Lens
+import Network.AWS.MarketplaceMetering.Types.Product
+import Network.AWS.MarketplaceMetering.Types.Sum
+import Network.AWS.Prelude
+import Network.AWS.Sign.V4
 
 -- | API version @2016-01-14@ of the Amazon Marketplace Metering SDK configuration.
 marketplaceMetering :: Service
 marketplaceMetering =
-    Service
-    { _svcAbbrev = "MarketplaceMetering"
-    , _svcSigner = v4
-    , _svcPrefix = "metering.marketplace"
-    , _svcVersion = "2016-01-14"
-    , _svcEndpoint = defaultEndpoint marketplaceMetering
-    , _svcTimeout = Just 70
-    , _svcCheck = statusSuccess
-    , _svcError = parseJSONError "MarketplaceMetering"
-    , _svcRetry = retry
-    }
+  Service
+  { _svcAbbrev = "MarketplaceMetering"
+  , _svcSigner = v4
+  , _svcPrefix = "metering.marketplace"
+  , _svcVersion = "2016-01-14"
+  , _svcEndpoint = defaultEndpoint marketplaceMetering
+  , _svcTimeout = Just 70
+  , _svcCheck = statusSuccess
+  , _svcError = parseJSONError "MarketplaceMetering"
+  , _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"
@@ -86,67 +88,81 @@
       | has (hasStatus 509) e = Just "limit_exceeded"
       | otherwise = Nothing
 
+
 -- | The endpoint being called is in a region different from your EC2 instance. The region of the Metering service endpoint and the region of the EC2 instance must match.
 --
 --
 _InvalidEndpointRegionException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidEndpointRegionException =
-    _ServiceError . hasCode "InvalidEndpointRegionException"
+  _MatchServiceError marketplaceMetering "InvalidEndpointRegionException"
 
+
 -- | The product code passed does not match the product code used for publishing the product.
 --
 --
 _InvalidProductCodeException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidProductCodeException =
-    _ServiceError . hasCode "InvalidProductCodeException"
+  _MatchServiceError marketplaceMetering "InvalidProductCodeException"
 
+
 -- | The usage dimension does not match one of the UsageDimensions associated with products.
 --
 --
 _InvalidUsageDimensionException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidUsageDimensionException =
-    _ServiceError . hasCode "InvalidUsageDimensionException"
+  _MatchServiceError marketplaceMetering "InvalidUsageDimensionException"
 
+
 -- | A metering record has already been emitted by the same EC2 instance for the given {usageDimension, timestamp} with a different usageQuantity.
 --
 --
 _DuplicateRequestException :: AsError a => Getting (First ServiceError) a ServiceError
 _DuplicateRequestException =
-    _ServiceError . hasCode "DuplicateRequestException"
+  _MatchServiceError marketplaceMetering "DuplicateRequestException"
 
+
 -- | The timestamp value passed in the meterUsage() is out of allowed range.
 --
 --
 _TimestampOutOfBoundsException :: AsError a => Getting (First ServiceError) a ServiceError
 _TimestampOutOfBoundsException =
-    _ServiceError . hasCode "TimestampOutOfBoundsException"
+  _MatchServiceError marketplaceMetering "TimestampOutOfBoundsException"
 
+
 -- | The calls to the MeterUsage API are throttled.
 --
 --
 _ThrottlingException :: AsError a => Getting (First ServiceError) a ServiceError
-_ThrottlingException = _ServiceError . hasCode "ThrottlingException"
+_ThrottlingException =
+  _MatchServiceError marketplaceMetering "ThrottlingException"
 
+
 -- | An internal error has occurred. Retry your request. If the problem persists, post a message with details on the AWS forums.
 --
 --
 _InternalServiceErrorException :: AsError a => Getting (First ServiceError) a ServiceError
 _InternalServiceErrorException =
-    _ServiceError . hasCode "InternalServiceErrorException"
+  _MatchServiceError marketplaceMetering "InternalServiceErrorException"
 
+
 -- | Prism for InvalidTokenException' errors.
 _InvalidTokenException :: AsError a => Getting (First ServiceError) a ServiceError
-_InvalidTokenException = _ServiceError . hasCode "InvalidTokenException"
+_InvalidTokenException =
+  _MatchServiceError marketplaceMetering "InvalidTokenException"
 
+
 -- | The submitted registration token has expired. This can happen if the buyer's browser takes too long to redirect to your page, the buyer has resubmitted the registration token, or your application has held on to the registration token for too long. Your SaaS registration website should redeem this token as soon as it is submitted by the buyer's browser.
 --
 --
 _ExpiredTokenException :: AsError a => Getting (First ServiceError) a ServiceError
-_ExpiredTokenException = _ServiceError . hasCode "ExpiredTokenException"
+_ExpiredTokenException =
+  _MatchServiceError marketplaceMetering "ExpiredTokenException"
 
+
 -- | You have metered usage for a CustomerIdentifier that does not exist.
 --
 --
 _InvalidCustomerIdentifierException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidCustomerIdentifierException =
-    _ServiceError . hasCode "InvalidCustomerIdentifierException"
+  _MatchServiceError marketplaceMetering "InvalidCustomerIdentifierException"
+
diff --git a/gen/Network/AWS/MarketplaceMetering/Types/Product.hs b/gen/Network/AWS/MarketplaceMetering/Types/Product.hs
--- a/gen/Network/AWS/MarketplaceMetering/Types/Product.hs
+++ b/gen/Network/AWS/MarketplaceMetering/Types/Product.hs
@@ -9,17 +9,17 @@
 
 -- |
 -- Module      : Network.AWS.MarketplaceMetering.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.MarketplaceMetering.Types.Product where
 
-import           Network.AWS.Lens
-import           Network.AWS.MarketplaceMetering.Types.Sum
-import           Network.AWS.Prelude
+import Network.AWS.Lens
+import Network.AWS.MarketplaceMetering.Types.Sum
+import Network.AWS.Prelude
 
 -- | A UsageRecord indicates a quantity of usage for a given product, customer, dimension and time.
 --
@@ -29,12 +29,13 @@
 --
 -- /See:/ 'usageRecord' smart constructor.
 data UsageRecord = UsageRecord'
-    { _urTimestamp          :: !POSIX
-    , _urCustomerIdentifier :: !Text
-    , _urDimension          :: !Text
-    , _urQuantity           :: !Nat
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _urTimestamp          :: !POSIX
+  , _urCustomerIdentifier :: !Text
+  , _urDimension          :: !Text
+  , _urQuantity           :: !Nat
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UsageRecord' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -53,13 +54,14 @@
     -> Natural -- ^ 'urQuantity'
     -> UsageRecord
 usageRecord pTimestamp_ pCustomerIdentifier_ pDimension_ pQuantity_ =
-    UsageRecord'
-    { _urTimestamp = _Time # pTimestamp_
-    , _urCustomerIdentifier = pCustomerIdentifier_
-    , _urDimension = pDimension_
-    , _urQuantity = _Nat # pQuantity_
-    }
+  UsageRecord'
+  { _urTimestamp = _Time # pTimestamp_
+  , _urCustomerIdentifier = pCustomerIdentifier_
+  , _urDimension = pDimension_
+  , _urQuantity = _Nat # pQuantity_
+  }
 
+
 -- | Timestamp of the hour, recorded in UTC. The seconds and milliseconds portions of the timestamp will be ignored. Your application can meter usage for up to one hour in the past.
 urTimestamp :: Lens' UsageRecord UTCTime
 urTimestamp = lens _urTimestamp (\ s a -> s{_urTimestamp = a}) . _Time;
@@ -85,9 +87,9 @@
                      <*> (x .: "Dimension")
                      <*> (x .: "Quantity"))
 
-instance Hashable UsageRecord
+instance Hashable UsageRecord where
 
-instance NFData UsageRecord
+instance NFData UsageRecord where
 
 instance ToJSON UsageRecord where
         toJSON UsageRecord'{..}
@@ -104,11 +106,12 @@
 --
 -- /See:/ 'usageRecordResult' smart constructor.
 data UsageRecordResult = UsageRecordResult'
-    { _urrStatus           :: !(Maybe UsageRecordResultStatus)
-    , _urrUsageRecord      :: !(Maybe UsageRecord)
-    , _urrMeteringRecordId :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _urrStatus           :: !(Maybe UsageRecordResultStatus)
+  , _urrUsageRecord      :: !(Maybe UsageRecord)
+  , _urrMeteringRecordId :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UsageRecordResult' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -121,12 +124,13 @@
 usageRecordResult
     :: UsageRecordResult
 usageRecordResult =
-    UsageRecordResult'
-    { _urrStatus = Nothing
-    , _urrUsageRecord = Nothing
-    , _urrMeteringRecordId = Nothing
-    }
+  UsageRecordResult'
+  { _urrStatus = Nothing
+  , _urrUsageRecord = Nothing
+  , _urrMeteringRecordId = Nothing
+  }
 
+
 -- | The UsageRecordResult Status indicates the status of an individual UsageRecord processed by BatchMeterUsage.     * /Success/ - The UsageRecord was accepted and honored by BatchMeterUsage.     * /CustomerNotSubscribed/ - The CustomerIdentifier specified is not subscribed to your product. The UsageRecord was not honored. Future UsageRecords for this customer will fail until the customer subscribes to your product.     * /DuplicateRecord/ - Indicates that the UsageRecord was invalid and not honored. A previously metered UsageRecord had the same customer, dimension, and time, but a different quantity.
 urrStatus :: Lens' UsageRecordResult (Maybe UsageRecordResultStatus)
 urrStatus = lens _urrStatus (\ s a -> s{_urrStatus = a});
@@ -147,6 +151,6 @@
                    (x .:? "Status") <*> (x .:? "UsageRecord") <*>
                      (x .:? "MeteringRecordId"))
 
-instance Hashable UsageRecordResult
+instance Hashable UsageRecordResult where
 
-instance NFData UsageRecordResult
+instance NFData UsageRecordResult where
diff --git a/gen/Network/AWS/MarketplaceMetering/Types/Sum.hs b/gen/Network/AWS/MarketplaceMetering/Types/Sum.hs
--- a/gen/Network/AWS/MarketplaceMetering/Types/Sum.hs
+++ b/gen/Network/AWS/MarketplaceMetering/Types/Sum.hs
@@ -9,21 +9,22 @@
 
 -- |
 -- Module      : Network.AWS.MarketplaceMetering.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.MarketplaceMetering.Types.Sum where
 
-import           Network.AWS.Prelude
+import Network.AWS.Prelude
 
 data UsageRecordResultStatus
-    = CustomerNotSubscribed
-    | DuplicateRecord
-    | Success
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = CustomerNotSubscribed
+  | DuplicateRecord
+  | Success
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
+
 
 instance FromText UsageRecordResultStatus where
     parser = takeLowerText >>= \case
diff --git a/gen/Network/AWS/MarketplaceMetering/Waiters.hs b/gen/Network/AWS/MarketplaceMetering/Waiters.hs
--- a/gen/Network/AWS/MarketplaceMetering/Waiters.hs
+++ b/gen/Network/AWS/MarketplaceMetering/Waiters.hs
@@ -7,15 +7,15 @@
 
 -- |
 -- Module      : Network.AWS.MarketplaceMetering.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.MarketplaceMetering.Waiters where
 
-import           Network.AWS.Lens
-import           Network.AWS.MarketplaceMetering.Types
-import           Network.AWS.Prelude
-import           Network.AWS.Waiter
+import Network.AWS.Lens
+import Network.AWS.MarketplaceMetering.Types
+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/MarketplaceMetering.hs b/test/Test/AWS/Gen/MarketplaceMetering.hs
--- a/test/Test/AWS/Gen/MarketplaceMetering.hs
+++ b/test/Test/AWS/Gen/MarketplaceMetering.hs
@@ -5,20 +5,20 @@
 
 -- |
 -- Module      : Test.AWS.Gen.MarketplaceMetering
--- 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.MarketplaceMetering where
 
 import Data.Proxy
+import Network.AWS.MarketplaceMetering
 import Test.AWS.Fixture
+import Test.AWS.MarketplaceMetering.Internal
 import Test.AWS.Prelude
 import Test.Tasty
-import Network.AWS.MarketplaceMetering
-import Test.AWS.MarketplaceMetering.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.
