diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.7`
+`1.4.0`
 
 
 ## Description
@@ -18,7 +18,7 @@
 devices in the cloud.
 
 Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-devicefarm)
-and the [AWS API Reference](http://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html).
+and the [AWS API Reference](https://aws.amazon.com/documentation/).
 
 The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),
 which provides mechanisms for specifying AuthN/AuthZ information and sending requests.
diff --git a/amazonka-devicefarm.cabal b/amazonka-devicefarm.cabal
--- a/amazonka-devicefarm.cabal
+++ b/amazonka-devicefarm.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-devicefarm
-version:               1.3.7
+version:               1.4.0
 synopsis:              Amazon Device Farm SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -7,7 +7,7 @@
 license-file:          LICENSE
 author:                Brendan Hay
 maintainer:            Brendan Hay <brendan.g.hay@gmail.com>
-copyright:             Copyright (c) 2013-2015 Brendan Hay
+copyright:             Copyright (c) 2013-2016 Brendan Hay
 category:              Network, AWS, Cloud, Distributed Computing
 build-type:            Simple
 cabal-version:         >= 1.10
@@ -28,7 +28,7 @@
     such as <http://hackage.haskell.org/package/lens lens> or
     <http://hackage.haskell.org/package/lens-family-core lens-family-core>.
     .
-    See "Network.AWS.DeviceFarm" and the <http://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html AWS API Reference>
+    See "Network.AWS.DeviceFarm" or <https://aws.amazon.com/documentation/ the AWS Documentation>
     to get started.
 
 source-repository head
@@ -82,7 +82,7 @@
         , Network.AWS.DeviceFarm.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.7.*
+          amazonka-core == 1.4.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-devicefarm-test
@@ -102,9 +102,9 @@
         , Test.AWS.DeviceFarm.Internal
 
     build-depends:
-          amazonka-core == 1.3.7.*
-        , amazonka-test == 1.3.7.*
-        , amazonka-devicefarm == 1.3.7.*
+          amazonka-core == 1.4.0.*
+        , amazonka-test == 1.4.0.*
+        , amazonka-devicefarm == 1.4.0.*
         , base
         , bytestring
         , tasty
diff --git a/gen/Network/AWS/DeviceFarm.hs b/gen/Network/AWS/DeviceFarm.hs
--- a/gen/Network/AWS/DeviceFarm.hs
+++ b/gen/Network/AWS/DeviceFarm.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -14,8 +14,6 @@
 -- AWS Device Farm is a service that enables mobile app developers to test
 -- Android, iOS, and Fire OS apps on physical phones, tablets, and other
 -- devices in the cloud.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/Welcome.html AWS API Reference>
 module Network.AWS.DeviceFarm
     (
     -- * Service Configuration
diff --git a/gen/Network/AWS/DeviceFarm/CreateDevicePool.hs b/gen/Network/AWS/DeviceFarm/CreateDevicePool.hs
--- a/gen/Network/AWS/DeviceFarm/CreateDevicePool.hs
+++ b/gen/Network/AWS/DeviceFarm/CreateDevicePool.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.CreateDevicePool
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Creates a device pool.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateDevicePool.html AWS API Reference> for CreateDevicePool.
 module Network.AWS.DeviceFarm.CreateDevicePool
     (
     -- * Creating a Request
@@ -104,6 +102,8 @@
               (\ s h x ->
                  CreateDevicePoolResponse' <$>
                    (x .?> "devicePool") <*> (pure (fromEnum s)))
+
+instance Hashable CreateDevicePool
 
 instance ToHeaders CreateDevicePool where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/CreateProject.hs b/gen/Network/AWS/DeviceFarm/CreateProject.hs
--- a/gen/Network/AWS/DeviceFarm/CreateProject.hs
+++ b/gen/Network/AWS/DeviceFarm/CreateProject.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.CreateProject
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Creates a new project.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateProject.html AWS API Reference> for CreateProject.
 module Network.AWS.DeviceFarm.CreateProject
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
               (\ s h x ->
                  CreateProjectResponse' <$>
                    (x .?> "project") <*> (pure (fromEnum s)))
+
+instance Hashable CreateProject
 
 instance ToHeaders CreateProject where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/CreateUpload.hs b/gen/Network/AWS/DeviceFarm/CreateUpload.hs
--- a/gen/Network/AWS/DeviceFarm/CreateUpload.hs
+++ b/gen/Network/AWS/DeviceFarm/CreateUpload.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.CreateUpload
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Uploads an app or test scripts.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_CreateUpload.html AWS API Reference> for CreateUpload.
 module Network.AWS.DeviceFarm.CreateUpload
     (
     -- * Creating a Request
@@ -101,6 +99,8 @@
 --
 -- -   IOS_APP: An iOS upload.
 --
+-- -   WEB_APP: A web appliction upload.
+--
 -- -   EXTERNAL_DATA: An external data upload.
 --
 -- -   APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package
@@ -109,22 +109,31 @@
 -- -   APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package
 --     upload.
 --
+-- -   APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.
+--
+-- -   APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test
+--     package upload.
+--
+-- -   APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test
+--     package upload.
+--
+-- -   APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package
+--     upload.
+--
 -- -   CALABASH_TEST_PACKAGE: A Calabash test package upload.
 --
 -- -   INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
 --
+-- -   UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.
+--
 -- -   UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
 --
 -- -   XCTEST_TEST_PACKAGE: An XCode test package upload.
 --
--- -   APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test
---     package upload.
---
--- -   APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test
---     package upload.
+-- -   XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.
 --
 -- __Note__ If you call 'CreateUpload' with 'WEB_APP' specified, AWS Device
--- Farm throws an ArgumentException error.
+-- Farm throws an 'ArgumentException' error.
 cuType :: Lens' CreateUpload UploadType
 cuType = lens _cuType (\ s a -> s{_cuType = a});
 
@@ -136,6 +145,8 @@
               (\ s h x ->
                  CreateUploadResponse' <$>
                    (x .?> "upload") <*> (pure (fromEnum s)))
+
+instance Hashable CreateUpload
 
 instance ToHeaders CreateUpload where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/DeleteDevicePool.hs b/gen/Network/AWS/DeviceFarm/DeleteDevicePool.hs
--- a/gen/Network/AWS/DeviceFarm/DeleteDevicePool.hs
+++ b/gen/Network/AWS/DeviceFarm/DeleteDevicePool.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.DeleteDevicePool
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,8 +20,6 @@
 --
 -- Deletes a device pool given the pool ARN. Does not allow deletion of
 -- curated pools owned by the system.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteDevicePool.html AWS API Reference> for DeleteDevicePool.
 module Network.AWS.DeviceFarm.DeleteDevicePool
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
           = receiveEmpty
               (\ s h x ->
                  DeleteDevicePoolResponse' <$> (pure (fromEnum s)))
+
+instance Hashable DeleteDevicePool
 
 instance ToHeaders DeleteDevicePool where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/DeleteProject.hs b/gen/Network/AWS/DeviceFarm/DeleteProject.hs
--- a/gen/Network/AWS/DeviceFarm/DeleteProject.hs
+++ b/gen/Network/AWS/DeviceFarm/DeleteProject.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.DeleteProject
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,8 +21,6 @@
 -- Deletes an AWS Device Farm project, given the project ARN.
 --
 -- __Note__ Deleting this resource does not stop an in-progress run.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteProject.html AWS API Reference> for DeleteProject.
 module Network.AWS.DeviceFarm.DeleteProject
     (
     -- * Creating a Request
@@ -77,6 +75,8 @@
           = receiveEmpty
               (\ s h x ->
                  DeleteProjectResponse' <$> (pure (fromEnum s)))
+
+instance Hashable DeleteProject
 
 instance ToHeaders DeleteProject where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/DeleteRun.hs b/gen/Network/AWS/DeviceFarm/DeleteRun.hs
--- a/gen/Network/AWS/DeviceFarm/DeleteRun.hs
+++ b/gen/Network/AWS/DeviceFarm/DeleteRun.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.DeleteRun
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,8 +21,6 @@
 -- Deletes the run, given the run ARN.
 --
 -- __Note__ Deleting this resource does not stop an in-progress run.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteRun.html AWS API Reference> for DeleteRun.
 module Network.AWS.DeviceFarm.DeleteRun
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
           = receiveEmpty
               (\ s h x ->
                  DeleteRunResponse' <$> (pure (fromEnum s)))
+
+instance Hashable DeleteRun
 
 instance ToHeaders DeleteRun where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/DeleteUpload.hs b/gen/Network/AWS/DeviceFarm/DeleteUpload.hs
--- a/gen/Network/AWS/DeviceFarm/DeleteUpload.hs
+++ b/gen/Network/AWS/DeviceFarm/DeleteUpload.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.DeleteUpload
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Deletes an upload given the upload ARN.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_DeleteUpload.html AWS API Reference> for DeleteUpload.
 module Network.AWS.DeviceFarm.DeleteUpload
     (
     -- * Creating a Request
@@ -75,6 +73,8 @@
           = receiveEmpty
               (\ s h x ->
                  DeleteUploadResponse' <$> (pure (fromEnum s)))
+
+instance Hashable DeleteUpload
 
 instance ToHeaders DeleteUpload where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetAccountSettings.hs b/gen/Network/AWS/DeviceFarm/GetAccountSettings.hs
--- a/gen/Network/AWS/DeviceFarm/GetAccountSettings.hs
+++ b/gen/Network/AWS/DeviceFarm/GetAccountSettings.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetAccountSettings
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,8 +20,6 @@
 --
 -- Returns the number of unmetered iOS and\/or unmetered Android devices
 -- that have been purchased by the account.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetAccountSettings.html AWS API Reference> for GetAccountSettings.
 module Network.AWS.DeviceFarm.GetAccountSettings
     (
     -- * Creating a Request
@@ -63,6 +61,8 @@
               (\ s h x ->
                  GetAccountSettingsResponse' <$>
                    (x .?> "accountSettings") <*> (pure (fromEnum s)))
+
+instance Hashable GetAccountSettings
 
 instance ToHeaders GetAccountSettings where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetDevice.hs b/gen/Network/AWS/DeviceFarm/GetDevice.hs
--- a/gen/Network/AWS/DeviceFarm/GetDevice.hs
+++ b/gen/Network/AWS/DeviceFarm/GetDevice.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetDevice
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about a unique device type.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetDevice.html AWS API Reference> for GetDevice.
 module Network.AWS.DeviceFarm.GetDevice
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
               (\ s h x ->
                  GetDeviceResponse' <$>
                    (x .?> "device") <*> (pure (fromEnum s)))
+
+instance Hashable GetDevice
 
 instance ToHeaders GetDevice where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetDevicePool.hs b/gen/Network/AWS/DeviceFarm/GetDevicePool.hs
--- a/gen/Network/AWS/DeviceFarm/GetDevicePool.hs
+++ b/gen/Network/AWS/DeviceFarm/GetDevicePool.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetDevicePool
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about a device pool.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetDevicePool.html AWS API Reference> for GetDevicePool.
 module Network.AWS.DeviceFarm.GetDevicePool
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
               (\ s h x ->
                  GetDevicePoolResponse' <$>
                    (x .?> "devicePool") <*> (pure (fromEnum s)))
+
+instance Hashable GetDevicePool
 
 instance ToHeaders GetDevicePool where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetDevicePoolCompatibility.hs b/gen/Network/AWS/DeviceFarm/GetDevicePoolCompatibility.hs
--- a/gen/Network/AWS/DeviceFarm/GetDevicePoolCompatibility.hs
+++ b/gen/Network/AWS/DeviceFarm/GetDevicePoolCompatibility.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetDevicePoolCompatibility
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about compatibility with a device pool.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetDevicePoolCompatibility.html AWS API Reference> for GetDevicePoolCompatibility.
 module Network.AWS.DeviceFarm.GetDevicePoolCompatibility
     (
     -- * Creating a Request
@@ -93,6 +91,14 @@
 --
 -- -   APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
 --
+-- -   APPIUM_PYTHON: The Appium Python type.
+--
+-- -   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
+--
+-- -   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
+--
+-- -   APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
+--
 -- -   CALABASH: The Calabash type.
 --
 -- -   INSTRUMENTATION: The Instrumentation type.
@@ -103,6 +109,8 @@
 --
 -- -   XCTEST: The XCode test type.
 --
+-- -   XCTEST_UI: The XCode UI test type.
+--
 gdpcTestType :: Lens' GetDevicePoolCompatibility (Maybe TestType)
 gdpcTestType = lens _gdpcTestType (\ s a -> s{_gdpcTestType = a});
 
@@ -121,6 +129,8 @@
                    (x .?> "incompatibleDevices" .!@ mempty) <*>
                      (x .?> "compatibleDevices" .!@ mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable GetDevicePoolCompatibility
 
 instance ToHeaders GetDevicePoolCompatibility where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetJob.hs b/gen/Network/AWS/DeviceFarm/GetJob.hs
--- a/gen/Network/AWS/DeviceFarm/GetJob.hs
+++ b/gen/Network/AWS/DeviceFarm/GetJob.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetJob
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about a job.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetJob.html AWS API Reference> for GetJob.
 module Network.AWS.DeviceFarm.GetJob
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
               (\ s h x ->
                  GetJobResponse' <$>
                    (x .?> "job") <*> (pure (fromEnum s)))
+
+instance Hashable GetJob
 
 instance ToHeaders GetJob where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetProject.hs b/gen/Network/AWS/DeviceFarm/GetProject.hs
--- a/gen/Network/AWS/DeviceFarm/GetProject.hs
+++ b/gen/Network/AWS/DeviceFarm/GetProject.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetProject
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about a project.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetProject.html AWS API Reference> for GetProject.
 module Network.AWS.DeviceFarm.GetProject
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
               (\ s h x ->
                  GetProjectResponse' <$>
                    (x .?> "project") <*> (pure (fromEnum s)))
+
+instance Hashable GetProject
 
 instance ToHeaders GetProject where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetRun.hs b/gen/Network/AWS/DeviceFarm/GetRun.hs
--- a/gen/Network/AWS/DeviceFarm/GetRun.hs
+++ b/gen/Network/AWS/DeviceFarm/GetRun.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetRun
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about a run.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetRun.html AWS API Reference> for GetRun.
 module Network.AWS.DeviceFarm.GetRun
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
               (\ s h x ->
                  GetRunResponse' <$>
                    (x .?> "run") <*> (pure (fromEnum s)))
+
+instance Hashable GetRun
 
 instance ToHeaders GetRun where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetSuite.hs b/gen/Network/AWS/DeviceFarm/GetSuite.hs
--- a/gen/Network/AWS/DeviceFarm/GetSuite.hs
+++ b/gen/Network/AWS/DeviceFarm/GetSuite.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetSuite
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about a suite.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetSuite.html AWS API Reference> for GetSuite.
 module Network.AWS.DeviceFarm.GetSuite
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
               (\ s h x ->
                  GetSuiteResponse' <$>
                    (x .?> "suite") <*> (pure (fromEnum s)))
+
+instance Hashable GetSuite
 
 instance ToHeaders GetSuite where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetTest.hs b/gen/Network/AWS/DeviceFarm/GetTest.hs
--- a/gen/Network/AWS/DeviceFarm/GetTest.hs
+++ b/gen/Network/AWS/DeviceFarm/GetTest.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetTest
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about a test.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetTest.html AWS API Reference> for GetTest.
 module Network.AWS.DeviceFarm.GetTest
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
               (\ s h x ->
                  GetTestResponse' <$>
                    (x .?> "test") <*> (pure (fromEnum s)))
+
+instance Hashable GetTest
 
 instance ToHeaders GetTest where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/GetUpload.hs b/gen/Network/AWS/DeviceFarm/GetUpload.hs
--- a/gen/Network/AWS/DeviceFarm/GetUpload.hs
+++ b/gen/Network/AWS/DeviceFarm/GetUpload.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.GetUpload
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about an upload.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_GetUpload.html AWS API Reference> for GetUpload.
 module Network.AWS.DeviceFarm.GetUpload
     (
     -- * Creating a Request
@@ -76,6 +74,8 @@
               (\ s h x ->
                  GetUploadResponse' <$>
                    (x .?> "upload") <*> (pure (fromEnum s)))
+
+instance Hashable GetUpload
 
 instance ToHeaders GetUpload where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListArtifacts.hs b/gen/Network/AWS/DeviceFarm/ListArtifacts.hs
--- a/gen/Network/AWS/DeviceFarm/ListArtifacts.hs
+++ b/gen/Network/AWS/DeviceFarm/ListArtifacts.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListArtifacts
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about artifacts.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListArtifacts.html AWS API Reference> for ListArtifacts.
 module Network.AWS.DeviceFarm.ListArtifacts
     (
     -- * Creating a Request
@@ -106,6 +104,8 @@
                    (x .?> "artifacts" .!@ mempty) <*>
                      (x .?> "nextToken")
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListArtifacts
 
 instance ToHeaders ListArtifacts where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListDevicePools.hs b/gen/Network/AWS/DeviceFarm/ListDevicePools.hs
--- a/gen/Network/AWS/DeviceFarm/ListDevicePools.hs
+++ b/gen/Network/AWS/DeviceFarm/ListDevicePools.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListDevicePools
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about device pools.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListDevicePools.html AWS API Reference> for ListDevicePools.
 module Network.AWS.DeviceFarm.ListDevicePools
     (
     -- * Creating a Request
@@ -108,6 +106,8 @@
                    (x .?> "devicePools" .!@ mempty) <*>
                      (x .?> "nextToken")
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListDevicePools
 
 instance ToHeaders ListDevicePools where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListDevices.hs b/gen/Network/AWS/DeviceFarm/ListDevices.hs
--- a/gen/Network/AWS/DeviceFarm/ListDevices.hs
+++ b/gen/Network/AWS/DeviceFarm/ListDevices.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListDevices
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about unique device types.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListDevices.html AWS API Reference> for ListDevices.
 module Network.AWS.DeviceFarm.ListDevices
     (
     -- * Creating a Request
@@ -88,6 +86,8 @@
                  ListDevicesResponse' <$>
                    (x .?> "nextToken") <*> (x .?> "devices" .!@ mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListDevices
 
 instance ToHeaders ListDevices where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListJobs.hs b/gen/Network/AWS/DeviceFarm/ListJobs.hs
--- a/gen/Network/AWS/DeviceFarm/ListJobs.hs
+++ b/gen/Network/AWS/DeviceFarm/ListJobs.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListJobs
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about jobs.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListJobs.html AWS API Reference> for ListJobs.
 module Network.AWS.DeviceFarm.ListJobs
     (
     -- * Creating a Request
@@ -89,6 +87,8 @@
                  ListJobsResponse' <$>
                    (x .?> "jobs" .!@ mempty) <*> (x .?> "nextToken") <*>
                      (pure (fromEnum s)))
+
+instance Hashable ListJobs
 
 instance ToHeaders ListJobs where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListProjects.hs b/gen/Network/AWS/DeviceFarm/ListProjects.hs
--- a/gen/Network/AWS/DeviceFarm/ListProjects.hs
+++ b/gen/Network/AWS/DeviceFarm/ListProjects.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListProjects
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about projects.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListProjects.html AWS API Reference> for ListProjects.
 module Network.AWS.DeviceFarm.ListProjects
     (
     -- * Creating a Request
@@ -88,6 +86,8 @@
                  ListProjectsResponse' <$>
                    (x .?> "nextToken") <*> (x .?> "projects" .!@ mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListProjects
 
 instance ToHeaders ListProjects where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListRuns.hs b/gen/Network/AWS/DeviceFarm/ListRuns.hs
--- a/gen/Network/AWS/DeviceFarm/ListRuns.hs
+++ b/gen/Network/AWS/DeviceFarm/ListRuns.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListRuns
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about runs.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListRuns.html AWS API Reference> for ListRuns.
 module Network.AWS.DeviceFarm.ListRuns
     (
     -- * Creating a Request
@@ -89,6 +87,8 @@
                  ListRunsResponse' <$>
                    (x .?> "runs" .!@ mempty) <*> (x .?> "nextToken") <*>
                      (pure (fromEnum s)))
+
+instance Hashable ListRuns
 
 instance ToHeaders ListRuns where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListSamples.hs b/gen/Network/AWS/DeviceFarm/ListSamples.hs
--- a/gen/Network/AWS/DeviceFarm/ListSamples.hs
+++ b/gen/Network/AWS/DeviceFarm/ListSamples.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListSamples
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about samples.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListSamples.html AWS API Reference> for ListSamples.
 module Network.AWS.DeviceFarm.ListSamples
     (
     -- * Creating a Request
@@ -89,6 +87,8 @@
                  ListSamplesResponse' <$>
                    (x .?> "nextToken") <*> (x .?> "samples" .!@ mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListSamples
 
 instance ToHeaders ListSamples where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListSuites.hs b/gen/Network/AWS/DeviceFarm/ListSuites.hs
--- a/gen/Network/AWS/DeviceFarm/ListSuites.hs
+++ b/gen/Network/AWS/DeviceFarm/ListSuites.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListSuites
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about suites.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListSuites.html AWS API Reference> for ListSuites.
 module Network.AWS.DeviceFarm.ListSuites
     (
     -- * Creating a Request
@@ -89,6 +87,8 @@
                  ListSuitesResponse' <$>
                    (x .?> "nextToken") <*> (x .?> "suites" .!@ mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListSuites
 
 instance ToHeaders ListSuites where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListTests.hs b/gen/Network/AWS/DeviceFarm/ListTests.hs
--- a/gen/Network/AWS/DeviceFarm/ListTests.hs
+++ b/gen/Network/AWS/DeviceFarm/ListTests.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListTests
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about tests.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListTests.html AWS API Reference> for ListTests.
 module Network.AWS.DeviceFarm.ListTests
     (
     -- * Creating a Request
@@ -89,6 +87,8 @@
                  ListTestsResponse' <$>
                    (x .?> "tests" .!@ mempty) <*> (x .?> "nextToken")
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListTests
 
 instance ToHeaders ListTests where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListUniqueProblems.hs b/gen/Network/AWS/DeviceFarm/ListUniqueProblems.hs
--- a/gen/Network/AWS/DeviceFarm/ListUniqueProblems.hs
+++ b/gen/Network/AWS/DeviceFarm/ListUniqueProblems.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListUniqueProblems
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about unique problems.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListUniqueProblems.html AWS API Reference> for ListUniqueProblems.
 module Network.AWS.DeviceFarm.ListUniqueProblems
     (
     -- * Creating a Request
@@ -91,6 +89,8 @@
                    (x .?> "nextToken") <*>
                      (x .?> "uniqueProblems" .!@ mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListUniqueProblems
 
 instance ToHeaders ListUniqueProblems where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ListUploads.hs b/gen/Network/AWS/DeviceFarm/ListUploads.hs
--- a/gen/Network/AWS/DeviceFarm/ListUploads.hs
+++ b/gen/Network/AWS/DeviceFarm/ListUploads.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ListUploads
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Gets information about uploads.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ListUploads.html AWS API Reference> for ListUploads.
 module Network.AWS.DeviceFarm.ListUploads
     (
     -- * Creating a Request
@@ -89,6 +87,8 @@
                  ListUploadsResponse' <$>
                    (x .?> "nextToken") <*> (x .?> "uploads" .!@ mempty)
                      <*> (pure (fromEnum s)))
+
+instance Hashable ListUploads
 
 instance ToHeaders ListUploads where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/ScheduleRun.hs b/gen/Network/AWS/DeviceFarm/ScheduleRun.hs
--- a/gen/Network/AWS/DeviceFarm/ScheduleRun.hs
+++ b/gen/Network/AWS/DeviceFarm/ScheduleRun.hs
@@ -12,15 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.ScheduleRun
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- Schedules a run.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_ScheduleRun.html AWS API Reference> for ScheduleRun.
 module Network.AWS.DeviceFarm.ScheduleRun
     (
     -- * Creating a Request
@@ -123,6 +121,8 @@
               (\ s h x ->
                  ScheduleRunResponse' <$>
                    (x .?> "run") <*> (pure (fromEnum s)))
+
+instance Hashable ScheduleRun
 
 instance ToHeaders ScheduleRun where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/Types.hs b/gen/Network/AWS/DeviceFarm/Types.hs
--- a/gen/Network/AWS/DeviceFarm/Types.hs
+++ b/gen/Network/AWS/DeviceFarm/Types.hs
@@ -4,7 +4,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.Types
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -335,6 +335,7 @@
         , _retryCheck = check
         }
     check e
+      | has (hasStatus 429) e = Just "too_many_requests"
       | has (hasCode "ThrottlingException" . hasStatus 400) e =
           Just "throttling_exception"
       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
diff --git a/gen/Network/AWS/DeviceFarm/Types/Product.hs b/gen/Network/AWS/DeviceFarm/Types/Product.hs
--- a/gen/Network/AWS/DeviceFarm/Types/Product.hs
+++ b/gen/Network/AWS/DeviceFarm/Types/Product.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.Types.Product
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -60,6 +60,8 @@
                    (x .:? "awsAccountNumber") <*>
                      (x .:? "unmeteredDevices" .!= mempty))
 
+instance Hashable AccountSettings
+
 -- | Represents the output of a test. Examples of artifacts include logs and
 -- screenshots.
 --
@@ -117,39 +119,53 @@
 --
 -- Allowed values include the following:
 --
--- -   APPIUM_JAVA_OUTPUT: The Appium Java output type.
+-- -   UNKNOWN: An unknown type.
 --
--- -   APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.
+-- -   SCREENSHOT: The screenshot type.
 --
--- -   APPIUM_SERVER_OUTPUT: The Appium server output type.
+-- -   DEVICE_LOG: The device log type.
 --
--- -   AUTOMATION_OUTPUT: The automation output type.
+-- -   MESSAGE_LOG: The message log type.
 --
--- -   CALABASH_JSON_OUTPUT: The Calabash JSON output type.
+-- -   RESULT_LOG: The result log type.
 --
--- -   CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.
+-- -   SERVICE_LOG: The service log type.
 --
+-- -   WEBKIT_LOG: The web kit log type.
+--
+-- -   INSTRUMENTATION_OUTPUT: The instrumentation type.
+--
+-- -   EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated
+--     by an Android fuzz test.
+--
+-- -   CALABASH_JSON_OUTPUT: The Calabash JSON output type.
+--
 -- -   CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.
 --
 -- -   CALABASH_STANDARD_OUTPUT: The Calabash standard output type.
 --
--- -   DEVICE_LOG: The device log type.
+-- -   CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.
 --
--- -   EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated
---     by an Android fuzz test.
+-- -   AUTOMATION_OUTPUT: The automation output type.
 --
--- -   INSTRUMENTATION_OUTPUT: The instrumentation type.
+-- -   APPIUM_SERVER_OUTPUT: The Appium server output type.
 --
--- -   MESSAGE_LOG: The message log type.
+-- -   APPIUM_JAVA_OUTPUT: The Appium Java output type.
 --
--- -   RESULT_LOG: The result log type.
+-- -   APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.
 --
--- -   SCREENSHOT: The screenshot type.
+-- -   APPIUM_PYTHON_OUTPUT: The Appium Python output type.
 --
--- -   SERVICE_LOG: The service log type.
+-- -   APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.
 --
--- -   UNKNOWN: An unknown type.
+-- -   EXPLORER_EVENT_LOG: The Explorer event log output type.
 --
+-- -   EXPLORER_SUMMARY_LOG: The Explorer summary log output type.
+--
+-- -   APPLICATION_CRASH_REPORT: The application crash report output type.
+--
+-- -   XCTEST_LOG: The XCode test output type.
+--
 aType :: Lens' Artifact (Maybe ArtifactType)
 aType = lens _aType (\ s a -> s{_aType = a});
 
@@ -163,6 +179,8 @@
                      <*> (x .:? "name")
                      <*> (x .:? "type"))
 
+instance Hashable Artifact
+
 -- | Represents the amount of CPU that an app is using on a physical device.
 --
 -- Note that this does not represent system-wide CPU usage.
@@ -213,6 +231,8 @@
                    (x .:? "frequency") <*> (x .:? "clock") <*>
                      (x .:? "architecture"))
 
+instance Hashable CPU
+
 -- | Represents entity counters.
 --
 -- /See:/ 'counters' smart constructor.
@@ -296,6 +316,8 @@
                      <*> (x .:? "failed")
                      <*> (x .:? "errored"))
 
+instance Hashable Counters
+
 -- | Represents a device type that an app is tested against.
 --
 -- /See:/ 'device' smart constructor.
@@ -456,6 +478,8 @@
                      <*> (x .:? "cpu")
                      <*> (x .:? "heapSize"))
 
+instance Hashable Device
+
 -- | Represents the total (metered or unmetered) minutes used by the resource
 -- to run tests. Contains the sum of minutes consumed by all children.
 --
@@ -507,6 +531,8 @@
                    (x .:? "metered") <*> (x .:? "total") <*>
                      (x .:? "unmetered"))
 
+instance Hashable DeviceMinutes
+
 -- | Represents a collection of device types.
 --
 -- /See:/ 'devicePool' smart constructor.
@@ -581,6 +607,8 @@
                      <*> (x .:? "type")
                      <*> (x .:? "description"))
 
+instance Hashable DevicePool
+
 -- | Represents a device pool compatibility result.
 --
 -- /See:/ 'devicePoolCompatibilityResult' smart constructor.
@@ -628,6 +656,8 @@
                    (x .:? "device") <*> (x .:? "compatible") <*>
                      (x .:? "incompatibilityMessages" .!= mempty))
 
+instance Hashable DevicePoolCompatibilityResult
+
 -- | Represents information about incompatibility.
 --
 -- /See:/ 'incompatibilityMessage' smart constructor.
@@ -677,6 +707,8 @@
                  IncompatibilityMessage' <$>
                    (x .:? "type") <*> (x .:? "message"))
 
+instance Hashable IncompatibilityMessage
+
 -- | Represents a device.
 --
 -- /See:/ 'job' smart constructor.
@@ -820,6 +852,14 @@
 --
 -- -   APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
 --
+-- -   APPIUM_PYTHON: The Appium Python type.
+--
+-- -   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
+--
+-- -   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
+--
+-- -   APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
+--
 -- -   CALABASH: The Calabash type.
 --
 -- -   INSTRUMENTATION: The Instrumentation type.
@@ -830,6 +870,8 @@
 --
 -- -   XCTEST: The XCode test type.
 --
+-- -   XCTEST_UI: The XCode UI test type.
+--
 jobType :: Lens' Job (Maybe TestType)
 jobType = lens _jobType (\ s a -> s{_jobType = a});
 
@@ -858,6 +900,8 @@
                      <*> (x .:? "message")
                      <*> (x .:? "started"))
 
+instance Hashable Job
+
 -- | Represents a latitude and longitude pair, expressed in geographic
 -- coordinate system degrees (for example 47.6204, -122.3491).
 --
@@ -894,6 +938,8 @@
 lLongitude :: Lens' Location Double
 lLongitude = lens _lLongitude (\ s a -> s{_lLongitude = a});
 
+instance Hashable Location
+
 instance ToJSON Location where
         toJSON Location'{..}
           = object
@@ -1001,6 +1047,8 @@
                      <*> (x .:? "message")
                      <*> (x .:? "suite"))
 
+instance Hashable Problem
+
 -- | Information about a problem detail.
 --
 -- /See:/ 'problemDetail' smart constructor.
@@ -1038,6 +1086,8 @@
               (\ x ->
                  ProblemDetail' <$> (x .:? "arn") <*> (x .:? "name"))
 
+instance Hashable ProblemDetail
+
 -- | Represents an operating-system neutral workspace for running and
 -- managing tests.
 --
@@ -1086,6 +1136,8 @@
                    (x .:? "arn") <*> (x .:? "created") <*>
                      (x .:? "name"))
 
+instance Hashable Project
+
 -- | Represents the set of radios and their states on a device. Examples of
 -- radios include Wi-Fi, GPS, Bluetooth, and NFC.
 --
@@ -1135,6 +1187,8 @@
 rWifi :: Lens' Radios (Maybe Bool)
 rWifi = lens _rWifi (\ s a -> s{_rWifi = a});
 
+instance Hashable Radios
+
 instance ToJSON Radios where
         toJSON Radios'{..}
           = object
@@ -1181,6 +1235,8 @@
               (\ x ->
                  Resolution' <$> (x .:? "height") <*> (x .:? "width"))
 
+instance Hashable Resolution
+
 -- | Represents a condition for a device pool.
 --
 -- /See:/ 'rule' smart constructor.
@@ -1250,6 +1306,8 @@
                    (x .:? "attribute") <*> (x .:? "operator") <*>
                      (x .:? "value"))
 
+instance Hashable Rule
+
 instance ToJSON Rule where
         toJSON Rule'{..}
           = object
@@ -1431,6 +1489,14 @@
 --
 -- -   APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
 --
+-- -   APPIUM_PYTHON: The Appium Python type.
+--
+-- -   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
+--
+-- -   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
+--
+-- -   APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
+--
 -- -   CALABASH: The Calabash type.
 --
 -- -   INSTRUMENTATION: The Instrumentation type.
@@ -1441,6 +1507,8 @@
 --
 -- -   XCTEST: The XCode test type.
 --
+-- -   XCTEST_UI: The XCode UI test type.
+--
 runType :: Lens' Run (Maybe TestType)
 runType = lens _runType (\ s a -> s{_runType = a});
 
@@ -1476,6 +1544,8 @@
                      <*> (x .:? "totalJobs")
                      <*> (x .:? "started"))
 
+instance Hashable Run
+
 -- | Represents a sample of performance data.
 --
 -- /See:/ 'sample' smart constructor.
@@ -1566,6 +1636,8 @@
                  Sample' <$>
                    (x .:? "arn") <*> (x .:? "url") <*> (x .:? "type"))
 
+instance Hashable Sample
+
 -- | Represents the settings for a run. Includes things like location, radio
 -- states, auxiliary apps, and network profiles.
 --
@@ -1641,6 +1713,8 @@
 srcAuxiliaryApps :: Lens' ScheduleRunConfiguration [Text]
 srcAuxiliaryApps = lens _srcAuxiliaryApps (\ s a -> s{_srcAuxiliaryApps = a}) . _Default . _Coerce;
 
+instance Hashable ScheduleRunConfiguration
+
 instance ToJSON ScheduleRunConfiguration where
         toJSON ScheduleRunConfiguration'{..}
           = object
@@ -1713,6 +1787,14 @@
 --
 -- -   APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
 --
+-- -   APPIUM_PYTHON: The Appium Python type.
+--
+-- -   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
+--
+-- -   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
+--
+-- -   APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
+--
 -- -   CALABASH: The Calabash type.
 --
 -- -   INSTRUMENTATION: The Instrumentation type.
@@ -1723,9 +1805,13 @@
 --
 -- -   XCTEST: The XCode test type.
 --
+-- -   XCTEST_UI: The XCode UI test type.
+--
 srtType :: Lens' ScheduleRunTest TestType
 srtType = lens _srtType (\ s a -> s{_srtType = a});
 
+instance Hashable ScheduleRunTest
+
 instance ToJSON ScheduleRunTest where
         toJSON ScheduleRunTest'{..}
           = object
@@ -1871,6 +1957,14 @@
 --
 -- -   APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
 --
+-- -   APPIUM_PYTHON: The Appium Python type.
+--
+-- -   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
+--
+-- -   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
+--
+-- -   APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
+--
 -- -   CALABASH: The Calabash type.
 --
 -- -   INSTRUMENTATION: The Instrumentation type.
@@ -1881,6 +1975,8 @@
 --
 -- -   XCTEST: The XCode test type.
 --
+-- -   XCTEST_UI: The XCode UI test type.
+--
 sType :: Lens' Suite (Maybe TestType)
 sType = lens _sType (\ s a -> s{_sType = a});
 
@@ -1908,6 +2004,8 @@
                      <*> (x .:? "message")
                      <*> (x .:? "started"))
 
+instance Hashable Suite
+
 -- | Represents a condition that is evaluated.
 --
 -- /See:/ 'test' smart constructor.
@@ -2043,6 +2141,14 @@
 --
 -- -   APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
 --
+-- -   APPIUM_PYTHON: The Appium Python type.
+--
+-- -   APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
+--
+-- -   APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
+--
+-- -   APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
+--
 -- -   CALABASH: The Calabash type.
 --
 -- -   INSTRUMENTATION: The Instrumentation type.
@@ -2053,6 +2159,8 @@
 --
 -- -   XCTEST: The XCode test type.
 --
+-- -   XCTEST_UI: The XCode UI test type.
+--
 tType :: Lens' Test (Maybe TestType)
 tType = lens _tType (\ s a -> s{_tType = a});
 
@@ -2080,6 +2188,8 @@
                      <*> (x .:? "message")
                      <*> (x .:? "started"))
 
+instance Hashable Test
+
 -- | A collection of one or more problems, grouped by their result.
 --
 -- /See:/ 'uniqueProblem' smart constructor.
@@ -2118,6 +2228,8 @@
                  UniqueProblem' <$>
                    (x .:? "problems" .!= mempty) <*> (x .:? "message"))
 
+instance Hashable UniqueProblem
+
 -- | An app or a set of one or more tests to upload or that have been
 -- uploaded.
 --
@@ -2216,6 +2328,8 @@
 --
 -- -   IOS_APP: An iOS upload.
 --
+-- -   WEB_APP: A web appliction upload.
+--
 -- -   EXTERNAL_DATA: An external data upload.
 --
 -- -   APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package
@@ -2224,19 +2338,28 @@
 -- -   APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package
 --     upload.
 --
+-- -   APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.
+--
+-- -   APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test
+--     package upload.
+--
+-- -   APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test
+--     package upload.
+--
+-- -   APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package
+--     upload.
+--
 -- -   CALABASH_TEST_PACKAGE: A Calabash test package upload.
 --
 -- -   INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
 --
+-- -   UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.
+--
 -- -   UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
 --
 -- -   XCTEST_TEST_PACKAGE: An XCode test package upload.
 --
--- -   APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test
---     package upload.
---
--- -   APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test
---     package upload.
+-- -   XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.
 --
 uType :: Lens' Upload (Maybe UploadType)
 uType = lens _uType (\ s a -> s{_uType = a});
@@ -2262,3 +2385,5 @@
                      <*> (x .:? "type")
                      <*> (x .:? "message")
                      <*> (x .:? "contentType"))
+
+instance Hashable Upload
diff --git a/gen/Network/AWS/DeviceFarm/Types/Sum.hs b/gen/Network/AWS/DeviceFarm/Types/Sum.hs
--- a/gen/Network/AWS/DeviceFarm/Types/Sum.hs
+++ b/gen/Network/AWS/DeviceFarm/Types/Sum.hs
@@ -9,7 +9,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.Types.Sum
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -50,6 +50,8 @@
 data ArtifactType
     = AppiumJavaOutput
     | AppiumJavaXMLOutput
+    | AppiumPythonOutput
+    | AppiumPythonXMLOutput
     | AppiumServerOutput
     | ApplicationCrashReport
     | AutomationOutput
@@ -68,12 +70,15 @@
     | ServiceLog
     | Unknown
     | WebkitLog
+    | XctestLog
     deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText ArtifactType where
     parser = takeLowerText >>= \case
         "appium_java_output" -> pure AppiumJavaOutput
         "appium_java_xml_output" -> pure AppiumJavaXMLOutput
+        "appium_python_output" -> pure AppiumPythonOutput
+        "appium_python_xml_output" -> pure AppiumPythonXMLOutput
         "appium_server_output" -> pure AppiumServerOutput
         "application_crash_report" -> pure ApplicationCrashReport
         "automation_output" -> pure AutomationOutput
@@ -92,13 +97,16 @@
         "service_log" -> pure ServiceLog
         "unknown" -> pure Unknown
         "webkit_log" -> pure WebkitLog
+        "xctest_log" -> pure XctestLog
         e -> fromTextError $ "Failure parsing ArtifactType from value: '" <> e
-           <> "'. Accepted values: APPIUM_JAVA_OUTPUT, APPIUM_JAVA_XML_OUTPUT, APPIUM_SERVER_OUTPUT, APPLICATION_CRASH_REPORT, AUTOMATION_OUTPUT, CALABASH_JSON_OUTPUT, CALABASH_JAVA_XML_OUTPUT, CALABASH_PRETTY_OUTPUT, CALABASH_STANDARD_OUTPUT, DEVICE_LOG, EXERCISER_MONKEY_OUTPUT, EXPLORER_EVENT_LOG, EXPLORER_SUMMARY_LOG, INSTRUMENTATION_OUTPUT, MESSAGE_LOG, RESULT_LOG, SCREENSHOT, SERVICE_LOG, UNKNOWN, WEBKIT_LOG"
+           <> "'. Accepted values: APPIUM_JAVA_OUTPUT, APPIUM_JAVA_XML_OUTPUT, APPIUM_PYTHON_OUTPUT, APPIUM_PYTHON_XML_OUTPUT, APPIUM_SERVER_OUTPUT, APPLICATION_CRASH_REPORT, AUTOMATION_OUTPUT, CALABASH_JSON_OUTPUT, CALABASH_JAVA_XML_OUTPUT, CALABASH_PRETTY_OUTPUT, CALABASH_STANDARD_OUTPUT, DEVICE_LOG, EXERCISER_MONKEY_OUTPUT, EXPLORER_EVENT_LOG, EXPLORER_SUMMARY_LOG, INSTRUMENTATION_OUTPUT, MESSAGE_LOG, RESULT_LOG, SCREENSHOT, SERVICE_LOG, UNKNOWN, WEBKIT_LOG, XCTEST_LOG"
 
 instance ToText ArtifactType where
     toText = \case
         AppiumJavaOutput -> "APPIUM_JAVA_OUTPUT"
         AppiumJavaXMLOutput -> "APPIUM_JAVA_XML_OUTPUT"
+        AppiumPythonOutput -> "APPIUM_PYTHON_OUTPUT"
+        AppiumPythonXMLOutput -> "APPIUM_PYTHON_XML_OUTPUT"
         AppiumServerOutput -> "APPIUM_SERVER_OUTPUT"
         ApplicationCrashReport -> "APPLICATION_CRASH_REPORT"
         AutomationOutput -> "AUTOMATION_OUTPUT"
@@ -117,6 +125,7 @@
         ServiceLog -> "SERVICE_LOG"
         Unknown -> "UNKNOWN"
         WebkitLog -> "WEBKIT_LOG"
+        XctestLog -> "XCTEST_LOG"
 
 instance Hashable     ArtifactType
 instance ToByteString ArtifactType
@@ -450,8 +459,10 @@
 data TestType
     = AppiumJavaJunit
     | AppiumJavaTestng
+    | AppiumPython
     | AppiumWebJavaJunit
     | AppiumWebJavaTestng
+    | AppiumWebPython
     | BuiltinExplorer
     | BuiltinFuzz
     | Calabash
@@ -459,14 +470,17 @@
     | Uiautomation
     | Uiautomator
     | Xctest
+    | XctestUi
     deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText TestType where
     parser = takeLowerText >>= \case
         "appium_java_junit" -> pure AppiumJavaJunit
         "appium_java_testng" -> pure AppiumJavaTestng
+        "appium_python" -> pure AppiumPython
         "appium_web_java_junit" -> pure AppiumWebJavaJunit
         "appium_web_java_testng" -> pure AppiumWebJavaTestng
+        "appium_web_python" -> pure AppiumWebPython
         "builtin_explorer" -> pure BuiltinExplorer
         "builtin_fuzz" -> pure BuiltinFuzz
         "calabash" -> pure Calabash
@@ -474,15 +488,18 @@
         "uiautomation" -> pure Uiautomation
         "uiautomator" -> pure Uiautomator
         "xctest" -> pure Xctest
+        "xctest_ui" -> pure XctestUi
         e -> fromTextError $ "Failure parsing TestType from value: '" <> e
-           <> "'. Accepted values: APPIUM_JAVA_JUNIT, APPIUM_JAVA_TESTNG, APPIUM_WEB_JAVA_JUNIT, APPIUM_WEB_JAVA_TESTNG, BUILTIN_EXPLORER, BUILTIN_FUZZ, CALABASH, INSTRUMENTATION, UIAUTOMATION, UIAUTOMATOR, XCTEST"
+           <> "'. Accepted values: APPIUM_JAVA_JUNIT, APPIUM_JAVA_TESTNG, APPIUM_PYTHON, APPIUM_WEB_JAVA_JUNIT, APPIUM_WEB_JAVA_TESTNG, APPIUM_WEB_PYTHON, BUILTIN_EXPLORER, BUILTIN_FUZZ, CALABASH, INSTRUMENTATION, UIAUTOMATION, UIAUTOMATOR, XCTEST, XCTEST_UI"
 
 instance ToText TestType where
     toText = \case
         AppiumJavaJunit -> "APPIUM_JAVA_JUNIT"
         AppiumJavaTestng -> "APPIUM_JAVA_TESTNG"
+        AppiumPython -> "APPIUM_PYTHON"
         AppiumWebJavaJunit -> "APPIUM_WEB_JAVA_JUNIT"
         AppiumWebJavaTestng -> "APPIUM_WEB_JAVA_TESTNG"
+        AppiumWebPython -> "APPIUM_WEB_PYTHON"
         BuiltinExplorer -> "BUILTIN_EXPLORER"
         BuiltinFuzz -> "BUILTIN_FUZZ"
         Calabash -> "CALABASH"
@@ -490,6 +507,7 @@
         Uiautomation -> "UIAUTOMATION"
         Uiautomator -> "UIAUTOMATOR"
         Xctest -> "XCTEST"
+        XctestUi -> "XCTEST_UI"
 
 instance Hashable     TestType
 instance ToByteString TestType
@@ -537,8 +555,10 @@
     = AndroidApp
     | AppiumJavaJunitTestPackage
     | AppiumJavaTestngTestPackage
+    | AppiumPythonTestPackage
     | AppiumWebJavaJunitTestPackage
     | AppiumWebJavaTestngTestPackage
+    | AppiumWebPythonTestPackage
     | CalabashTestPackage
     | ExternalData
     | InstrumentationTestPackage
@@ -547,6 +567,7 @@
     | UiautomatorTestPackage
     | WebApp
     | XctestTestPackage
+    | XctestUiTestPackage
     deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
 
 instance FromText UploadType where
@@ -554,8 +575,10 @@
         "android_app" -> pure AndroidApp
         "appium_java_junit_test_package" -> pure AppiumJavaJunitTestPackage
         "appium_java_testng_test_package" -> pure AppiumJavaTestngTestPackage
+        "appium_python_test_package" -> pure AppiumPythonTestPackage
         "appium_web_java_junit_test_package" -> pure AppiumWebJavaJunitTestPackage
         "appium_web_java_testng_test_package" -> pure AppiumWebJavaTestngTestPackage
+        "appium_web_python_test_package" -> pure AppiumWebPythonTestPackage
         "calabash_test_package" -> pure CalabashTestPackage
         "external_data" -> pure ExternalData
         "instrumentation_test_package" -> pure InstrumentationTestPackage
@@ -564,16 +587,19 @@
         "uiautomator_test_package" -> pure UiautomatorTestPackage
         "web_app" -> pure WebApp
         "xctest_test_package" -> pure XctestTestPackage
+        "xctest_ui_test_package" -> pure XctestUiTestPackage
         e -> fromTextError $ "Failure parsing UploadType from value: '" <> e
-           <> "'. Accepted values: ANDROID_APP, APPIUM_JAVA_JUNIT_TEST_PACKAGE, APPIUM_JAVA_TESTNG_TEST_PACKAGE, APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE, APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE, CALABASH_TEST_PACKAGE, EXTERNAL_DATA, INSTRUMENTATION_TEST_PACKAGE, IOS_APP, UIAUTOMATION_TEST_PACKAGE, UIAUTOMATOR_TEST_PACKAGE, WEB_APP, XCTEST_TEST_PACKAGE"
+           <> "'. Accepted values: ANDROID_APP, APPIUM_JAVA_JUNIT_TEST_PACKAGE, APPIUM_JAVA_TESTNG_TEST_PACKAGE, APPIUM_PYTHON_TEST_PACKAGE, APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE, APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE, APPIUM_WEB_PYTHON_TEST_PACKAGE, CALABASH_TEST_PACKAGE, EXTERNAL_DATA, INSTRUMENTATION_TEST_PACKAGE, IOS_APP, UIAUTOMATION_TEST_PACKAGE, UIAUTOMATOR_TEST_PACKAGE, WEB_APP, XCTEST_TEST_PACKAGE, XCTEST_UI_TEST_PACKAGE"
 
 instance ToText UploadType where
     toText = \case
         AndroidApp -> "ANDROID_APP"
         AppiumJavaJunitTestPackage -> "APPIUM_JAVA_JUNIT_TEST_PACKAGE"
         AppiumJavaTestngTestPackage -> "APPIUM_JAVA_TESTNG_TEST_PACKAGE"
+        AppiumPythonTestPackage -> "APPIUM_PYTHON_TEST_PACKAGE"
         AppiumWebJavaJunitTestPackage -> "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE"
         AppiumWebJavaTestngTestPackage -> "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE"
+        AppiumWebPythonTestPackage -> "APPIUM_WEB_PYTHON_TEST_PACKAGE"
         CalabashTestPackage -> "CALABASH_TEST_PACKAGE"
         ExternalData -> "EXTERNAL_DATA"
         InstrumentationTestPackage -> "INSTRUMENTATION_TEST_PACKAGE"
@@ -582,6 +608,7 @@
         UiautomatorTestPackage -> "UIAUTOMATOR_TEST_PACKAGE"
         WebApp -> "WEB_APP"
         XctestTestPackage -> "XCTEST_TEST_PACKAGE"
+        XctestUiTestPackage -> "XCTEST_UI_TEST_PACKAGE"
 
 instance Hashable     UploadType
 instance ToByteString UploadType
diff --git a/gen/Network/AWS/DeviceFarm/UpdateDevicePool.hs b/gen/Network/AWS/DeviceFarm/UpdateDevicePool.hs
--- a/gen/Network/AWS/DeviceFarm/UpdateDevicePool.hs
+++ b/gen/Network/AWS/DeviceFarm/UpdateDevicePool.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.UpdateDevicePool
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -21,8 +21,6 @@
 -- Modifies the name, description, and rules in a device pool given the
 -- attributes and the pool ARN. Rule updates are all-or-nothing, meaning
 -- they can only be updated as a whole (or not at all).
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateDevicePool.html AWS API Reference> for UpdateDevicePool.
 module Network.AWS.DeviceFarm.UpdateDevicePool
     (
     -- * Creating a Request
@@ -108,6 +106,8 @@
               (\ s h x ->
                  UpdateDevicePoolResponse' <$>
                    (x .?> "devicePool") <*> (pure (fromEnum s)))
+
+instance Hashable UpdateDevicePool
 
 instance ToHeaders UpdateDevicePool where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/UpdateProject.hs b/gen/Network/AWS/DeviceFarm/UpdateProject.hs
--- a/gen/Network/AWS/DeviceFarm/UpdateProject.hs
+++ b/gen/Network/AWS/DeviceFarm/UpdateProject.hs
@@ -12,7 +12,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.UpdateProject
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
@@ -20,8 +20,6 @@
 --
 -- Modifies the specified project name, given the project ARN and a new
 -- name.
---
--- /See:/ <http://docs.aws.amazon.com/devicefarm/latest/APIReference/API_UpdateProject.html AWS API Reference> for UpdateProject.
 module Network.AWS.DeviceFarm.UpdateProject
     (
     -- * Creating a Request
@@ -87,6 +85,8 @@
               (\ s h x ->
                  UpdateProjectResponse' <$>
                    (x .?> "project") <*> (pure (fromEnum s)))
+
+instance Hashable UpdateProject
 
 instance ToHeaders UpdateProject where
         toHeaders
diff --git a/gen/Network/AWS/DeviceFarm/Waiters.hs b/gen/Network/AWS/DeviceFarm/Waiters.hs
--- a/gen/Network/AWS/DeviceFarm/Waiters.hs
+++ b/gen/Network/AWS/DeviceFarm/Waiters.hs
@@ -7,7 +7,7 @@
 
 -- |
 -- Module      : Network.AWS.DeviceFarm.Waiters
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,7 +2,7 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
diff --git a/test/Test/AWS/DeviceFarm.hs b/test/Test/AWS/DeviceFarm.hs
--- a/test/Test/AWS/DeviceFarm.hs
+++ b/test/Test/AWS/DeviceFarm.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 
 -- Module      : Test.AWS.DeviceFarm
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
diff --git a/test/Test/AWS/DeviceFarm/Internal.hs b/test/Test/AWS/DeviceFarm/Internal.hs
--- a/test/Test/AWS/DeviceFarm/Internal.hs
+++ b/test/Test/AWS/DeviceFarm/Internal.hs
@@ -2,7 +2,7 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
 -- Module      : Test.AWS.DeviceFarm.Internal
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : This Source Code Form is subject to the terms of
 --               the Mozilla Public License, v. 2.0.
 --               A copy of the MPL can be found in the LICENSE file or
diff --git a/test/Test/AWS/Gen/DeviceFarm.hs b/test/Test/AWS/Gen/DeviceFarm.hs
--- a/test/Test/AWS/Gen/DeviceFarm.hs
+++ b/test/Test/AWS/Gen/DeviceFarm.hs
@@ -5,7 +5,7 @@
 
 -- |
 -- Module      : Test.AWS.Gen.DeviceFarm
--- Copyright   : (c) 2013-2015 Brendan Hay
+-- Copyright   : (c) 2013-2016 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
 -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
 -- Stability   : auto-generated
