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-ds.cabal b/amazonka-ds.cabal
--- a/amazonka-ds.cabal
+++ b/amazonka-ds.cabal
@@ -1,13 +1,13 @@
 name:                  amazonka-ds
-version:               1.4.5
+version:               1.5.0
 synopsis:              Amazon Directory Service 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-ds
 
 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.DirectoryService
@@ -58,6 +63,7 @@
         , Network.AWS.DirectoryService.DeregisterEventTopic
         , Network.AWS.DirectoryService.DescribeConditionalForwarders
         , Network.AWS.DirectoryService.DescribeDirectories
+        , Network.AWS.DirectoryService.DescribeDomainControllers
         , Network.AWS.DirectoryService.DescribeEventTopics
         , Network.AWS.DirectoryService.DescribeSnapshots
         , Network.AWS.DirectoryService.DescribeTrusts
@@ -77,6 +83,7 @@
         , Network.AWS.DirectoryService.StartSchemaExtension
         , Network.AWS.DirectoryService.Types
         , Network.AWS.DirectoryService.UpdateConditionalForwarder
+        , Network.AWS.DirectoryService.UpdateNumberOfDomainControllers
         , Network.AWS.DirectoryService.UpdateRadius
         , Network.AWS.DirectoryService.VerifyTrust
         , Network.AWS.DirectoryService.Waiters
@@ -86,7 +93,7 @@
         , Network.AWS.DirectoryService.Types.Sum
 
     build-depends:
-          amazonka-core == 1.4.5.*
+          amazonka-core == 1.5.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-ds-test
@@ -106,9 +113,9 @@
         , Test.AWS.DirectoryService.Internal
 
     build-depends:
-          amazonka-core == 1.4.5.*
-        , amazonka-test == 1.4.5.*
-        , amazonka-ds == 1.4.5.*
+          amazonka-core == 1.5.0.*
+        , amazonka-test == 1.5.0.*
+        , amazonka-ds
         , base
         , bytestring
         , tasty
diff --git a/fixture/DescribeDomainControllers.yaml b/fixture/DescribeDomainControllers.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/DescribeDomainControllers.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  ds.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/DescribeDomainControllersResponse.proto b/fixture/DescribeDomainControllersResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/DescribeDomainControllersResponse.proto
diff --git a/fixture/UpdateNumberOfDomainControllers.yaml b/fixture/UpdateNumberOfDomainControllers.yaml
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateNumberOfDomainControllers.yaml
@@ -0,0 +1,10 @@
+---
+method: POST
+headers:
+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ds/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?
+  Host:                  ds.us-east-1.amazonaws.com
+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8
+  X-Amz-Content-SHA256:  abcdef
+  X-Amz-Date:            20091028T223200Z
+body:
+  ''
diff --git a/fixture/UpdateNumberOfDomainControllersResponse.proto b/fixture/UpdateNumberOfDomainControllersResponse.proto
new file mode 100644
--- /dev/null
+++ b/fixture/UpdateNumberOfDomainControllersResponse.proto
diff --git a/gen/Network/AWS/DirectoryService.hs b/gen/Network/AWS/DirectoryService.hs
--- a/gen/Network/AWS/DirectoryService.hs
+++ b/gen/Network/AWS/DirectoryService.hs
@@ -5,15 +5,15 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
 -- __AWS Directory Service__
 --
--- This is the /AWS Directory Service API Reference/ . This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors.
+-- AWS Directory Service is a web service that makes it easy for you to setup and run directories in the AWS cloud, or connect your AWS resources with an existing on-premises Microsoft Active Directory. This guide provides detailed information about AWS Directory Service operations, data types, parameters, and errors. For information about AWS Directory Services features, see <https://aws.amazon.com/directoryservice/ AWS Directory Service> and the <http://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html AWS Directory Service Administration Guide> .
 --
 module Network.AWS.DirectoryService
     (
@@ -59,6 +59,9 @@
     -- ** SnapshotLimitExceededException
     , _SnapshotLimitExceededException
 
+    -- ** DomainControllerLimitExceededException
+    , _DomainControllerLimitExceededException
+
     -- ** TagLimitExceededException
     , _TagLimitExceededException
 
@@ -71,6 +74,9 @@
     -- * Operations
     -- $operations
 
+    -- ** UpdateNumberOfDomainControllers
+    , module Network.AWS.DirectoryService.UpdateNumberOfDomainControllers
+
     -- ** DescribeConditionalForwarders
     , module Network.AWS.DirectoryService.DescribeConditionalForwarders
 
@@ -146,6 +152,9 @@
     -- ** RestoreFromSnapshot
     , module Network.AWS.DirectoryService.RestoreFromSnapshot
 
+    -- ** DescribeDomainControllers
+    , module Network.AWS.DirectoryService.DescribeDomainControllers
+
     -- ** DescribeSnapshots
     , module Network.AWS.DirectoryService.DescribeSnapshots
 
@@ -196,6 +205,9 @@
     -- ** DirectoryType
     , DirectoryType (..)
 
+    -- ** DomainControllerStatus
+    , DomainControllerStatus (..)
+
     -- ** IPRouteStatusMsg
     , IPRouteStatusMsg (..)
 
@@ -276,6 +288,7 @@
     , ddAccessURL
     , ddShortName
     , ddSize
+    , ddDesiredNumberOfDomainControllers
     , ddRadiusSettings
     , ddLaunchTime
     , ddAlias
@@ -316,6 +329,20 @@
     , dvsdSecurityGroupId
     , dvsdAvailabilityZones
 
+    -- ** DomainController
+    , DomainController
+    , domainController
+    , dcStatus
+    , dcDirectoryId
+    , dcVPCId
+    , dcLaunchTime
+    , dcSubnetId
+    , dcAvailabilityZone
+    , dcStatusLastUpdatedDateTime
+    , dcStatusReason
+    , dcDNSIPAddr
+    , dcDomainControllerId
+
     -- ** EventTopic
     , EventTopic
     , eventTopic
@@ -402,46 +429,48 @@
     , tCreatedDateTime
     ) where
 
-import           Network.AWS.DirectoryService.AddIPRoutes
-import           Network.AWS.DirectoryService.AddTagsToResource
-import           Network.AWS.DirectoryService.CancelSchemaExtension
-import           Network.AWS.DirectoryService.ConnectDirectory
-import           Network.AWS.DirectoryService.CreateAlias
-import           Network.AWS.DirectoryService.CreateComputer
-import           Network.AWS.DirectoryService.CreateConditionalForwarder
-import           Network.AWS.DirectoryService.CreateDirectory
-import           Network.AWS.DirectoryService.CreateMicrosoftAD
-import           Network.AWS.DirectoryService.CreateSnapshot
-import           Network.AWS.DirectoryService.CreateTrust
-import           Network.AWS.DirectoryService.DeleteConditionalForwarder
-import           Network.AWS.DirectoryService.DeleteDirectory
-import           Network.AWS.DirectoryService.DeleteSnapshot
-import           Network.AWS.DirectoryService.DeleteTrust
-import           Network.AWS.DirectoryService.DeregisterEventTopic
-import           Network.AWS.DirectoryService.DescribeConditionalForwarders
-import           Network.AWS.DirectoryService.DescribeDirectories
-import           Network.AWS.DirectoryService.DescribeEventTopics
-import           Network.AWS.DirectoryService.DescribeSnapshots
-import           Network.AWS.DirectoryService.DescribeTrusts
-import           Network.AWS.DirectoryService.DisableRadius
-import           Network.AWS.DirectoryService.DisableSSO
-import           Network.AWS.DirectoryService.EnableRadius
-import           Network.AWS.DirectoryService.EnableSSO
-import           Network.AWS.DirectoryService.GetDirectoryLimits
-import           Network.AWS.DirectoryService.GetSnapshotLimits
-import           Network.AWS.DirectoryService.ListIPRoutes
-import           Network.AWS.DirectoryService.ListSchemaExtensions
-import           Network.AWS.DirectoryService.ListTagsForResource
-import           Network.AWS.DirectoryService.RegisterEventTopic
-import           Network.AWS.DirectoryService.RemoveIPRoutes
-import           Network.AWS.DirectoryService.RemoveTagsFromResource
-import           Network.AWS.DirectoryService.RestoreFromSnapshot
-import           Network.AWS.DirectoryService.StartSchemaExtension
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.UpdateConditionalForwarder
-import           Network.AWS.DirectoryService.UpdateRadius
-import           Network.AWS.DirectoryService.VerifyTrust
-import           Network.AWS.DirectoryService.Waiters
+import Network.AWS.DirectoryService.AddIPRoutes
+import Network.AWS.DirectoryService.AddTagsToResource
+import Network.AWS.DirectoryService.CancelSchemaExtension
+import Network.AWS.DirectoryService.ConnectDirectory
+import Network.AWS.DirectoryService.CreateAlias
+import Network.AWS.DirectoryService.CreateComputer
+import Network.AWS.DirectoryService.CreateConditionalForwarder
+import Network.AWS.DirectoryService.CreateDirectory
+import Network.AWS.DirectoryService.CreateMicrosoftAD
+import Network.AWS.DirectoryService.CreateSnapshot
+import Network.AWS.DirectoryService.CreateTrust
+import Network.AWS.DirectoryService.DeleteConditionalForwarder
+import Network.AWS.DirectoryService.DeleteDirectory
+import Network.AWS.DirectoryService.DeleteSnapshot
+import Network.AWS.DirectoryService.DeleteTrust
+import Network.AWS.DirectoryService.DeregisterEventTopic
+import Network.AWS.DirectoryService.DescribeConditionalForwarders
+import Network.AWS.DirectoryService.DescribeDirectories
+import Network.AWS.DirectoryService.DescribeDomainControllers
+import Network.AWS.DirectoryService.DescribeEventTopics
+import Network.AWS.DirectoryService.DescribeSnapshots
+import Network.AWS.DirectoryService.DescribeTrusts
+import Network.AWS.DirectoryService.DisableRadius
+import Network.AWS.DirectoryService.DisableSSO
+import Network.AWS.DirectoryService.EnableRadius
+import Network.AWS.DirectoryService.EnableSSO
+import Network.AWS.DirectoryService.GetDirectoryLimits
+import Network.AWS.DirectoryService.GetSnapshotLimits
+import Network.AWS.DirectoryService.ListIPRoutes
+import Network.AWS.DirectoryService.ListSchemaExtensions
+import Network.AWS.DirectoryService.ListTagsForResource
+import Network.AWS.DirectoryService.RegisterEventTopic
+import Network.AWS.DirectoryService.RemoveIPRoutes
+import Network.AWS.DirectoryService.RemoveTagsFromResource
+import Network.AWS.DirectoryService.RestoreFromSnapshot
+import Network.AWS.DirectoryService.StartSchemaExtension
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.UpdateConditionalForwarder
+import Network.AWS.DirectoryService.UpdateNumberOfDomainControllers
+import Network.AWS.DirectoryService.UpdateRadius
+import Network.AWS.DirectoryService.VerifyTrust
+import Network.AWS.DirectoryService.Waiters
 
 {- $errors
 Error matchers are designed for use with the functions provided by
diff --git a/gen/Network/AWS/DirectoryService/AddIPRoutes.hs b/gen/Network/AWS/DirectoryService/AddIPRoutes.hs
--- a/gen/Network/AWS/DirectoryService/AddIPRoutes.hs
+++ b/gen/Network/AWS/DirectoryService/AddIPRoutes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.AddIPRoutes
--- 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)
 --
@@ -40,20 +40,21 @@
     , airrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'addIPRoutes' smart constructor.
 data AddIPRoutes = AddIPRoutes'
-    { _airUpdateSecurityGroupForDirectoryControllers :: !(Maybe Bool)
-    , _airDirectoryId                                :: !Text
-    , _airIPRoutes                                   :: ![IPRoute]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _airUpdateSecurityGroupForDirectoryControllers :: !(Maybe Bool)
+  , _airDirectoryId                                :: !Text
+  , _airIPRoutes                                   :: ![IPRoute]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AddIPRoutes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -67,12 +68,13 @@
     :: Text -- ^ 'airDirectoryId'
     -> AddIPRoutes
 addIPRoutes pDirectoryId_ =
-    AddIPRoutes'
-    { _airUpdateSecurityGroupForDirectoryControllers = Nothing
-    , _airDirectoryId = pDirectoryId_
-    , _airIPRoutes = mempty
-    }
+  AddIPRoutes'
+  { _airUpdateSecurityGroupForDirectoryControllers = Nothing
+  , _airDirectoryId = pDirectoryId_
+  , _airIPRoutes = mempty
+  }
 
+
 -- | If set to true, updates the inbound and outbound rules of the security group that has the description: "AWS created security group for /directory ID/ directory controllers." Following are the new rules:  Inbound:     * Type: Custom UDP Rule, Protocol: UDP, Range: 88, Source: 0.0.0.0/0     * Type: Custom UDP Rule, Protocol: UDP, Range: 123, Source: 0.0.0.0/0     * Type: Custom UDP Rule, Protocol: UDP, Range: 138, Source: 0.0.0.0/0     * Type: Custom UDP Rule, Protocol: UDP, Range: 389, Source: 0.0.0.0/0     * Type: Custom UDP Rule, Protocol: UDP, Range: 464, Source: 0.0.0.0/0     * Type: Custom UDP Rule, Protocol: UDP, Range: 445, Source: 0.0.0.0/0     * Type: Custom TCP Rule, Protocol: TCP, Range: 88, Source: 0.0.0.0/0     * Type: Custom TCP Rule, Protocol: TCP, Range: 135, Source: 0.0.0.0/0     * Type: Custom TCP Rule, Protocol: TCP, Range: 445, Source: 0.0.0.0/0     * Type: Custom TCP Rule, Protocol: TCP, Range: 464, Source: 0.0.0.0/0     * Type: Custom TCP Rule, Protocol: TCP, Range: 636, Source: 0.0.0.0/0     * Type: Custom TCP Rule, Protocol: TCP, Range: 1024-65535, Source: 0.0.0.0/0     * Type: Custom TCP Rule, Protocol: TCP, Range: 3268-33269, Source: 0.0.0.0/0     * Type: DNS (UDP), Protocol: UDP, Range: 53, Source: 0.0.0.0/0     * Type: DNS (TCP), Protocol: TCP, Range: 53, Source: 0.0.0.0/0     * Type: LDAP, Protocol: TCP, Range: 389, Source: 0.0.0.0/0     * Type: All ICMP, Protocol: All, Range: N/A, Source: 0.0.0.0/0 Outbound:     * Type: All traffic, Protocol: All, Range: All, Destination: 0.0.0.0/0 These security rules impact an internal network interface that is not exposed publicly.
 airUpdateSecurityGroupForDirectoryControllers :: Lens' AddIPRoutes (Maybe Bool)
 airUpdateSecurityGroupForDirectoryControllers = lens _airUpdateSecurityGroupForDirectoryControllers (\ s a -> s{_airUpdateSecurityGroupForDirectoryControllers = a});
@@ -93,9 +95,9 @@
               (\ s h x ->
                  AddIPRoutesResponse' <$> (pure (fromEnum s)))
 
-instance Hashable AddIPRoutes
+instance Hashable AddIPRoutes where
 
-instance NFData AddIPRoutes
+instance NFData AddIPRoutes where
 
 instance ToHeaders AddIPRoutes where
         toHeaders
@@ -124,9 +126,10 @@
 
 -- | /See:/ 'addIPRoutesResponse' smart constructor.
 newtype AddIPRoutesResponse = AddIPRoutesResponse'
-    { _airrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _airrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AddIPRoutesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -136,12 +139,11 @@
     :: Int -- ^ 'airrsResponseStatus'
     -> AddIPRoutesResponse
 addIPRoutesResponse pResponseStatus_ =
-    AddIPRoutesResponse'
-    { _airrsResponseStatus = pResponseStatus_
-    }
+  AddIPRoutesResponse' {_airrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 airrsResponseStatus :: Lens' AddIPRoutesResponse Int
 airrsResponseStatus = lens _airrsResponseStatus (\ s a -> s{_airrsResponseStatus = a});
 
-instance NFData AddIPRoutesResponse
+instance NFData AddIPRoutesResponse where
diff --git a/gen/Network/AWS/DirectoryService/AddTagsToResource.hs b/gen/Network/AWS/DirectoryService/AddTagsToResource.hs
--- a/gen/Network/AWS/DirectoryService/AddTagsToResource.hs
+++ b/gen/Network/AWS/DirectoryService/AddTagsToResource.hs
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.AddTagsToResource
--- 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)
 --
--- Adds or overwrites one or more tags for the specified Amazon Directory Services directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.
+-- Adds or overwrites one or more tags for the specified directory. Each directory can have a maximum of 50 tags. Each tag consists of a key and optional value. Tag keys must be unique to each resource.
 --
 --
 module Network.AWS.DirectoryService.AddTagsToResource
@@ -37,40 +37,39 @@
     , attrrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'addTagsToResource' smart constructor.
 data AddTagsToResource = AddTagsToResource'
-    { _attrResourceId :: !Text
-    , _attrTags       :: ![Tag]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _attrResourceId :: !Text
+  , _attrTags       :: ![Tag]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AddTagsToResource' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
 -- * 'attrResourceId' - Identifier (ID) for the directory to which to add the tag.
 --
--- * 'attrTags' - The tags to be assigned to the Amazon Directory Services directory.
+-- * 'attrTags' - The tags to be assigned to the directory.
 addTagsToResource
     :: Text -- ^ 'attrResourceId'
     -> AddTagsToResource
 addTagsToResource pResourceId_ =
-    AddTagsToResource'
-    { _attrResourceId = pResourceId_
-    , _attrTags = mempty
-    }
+  AddTagsToResource' {_attrResourceId = pResourceId_, _attrTags = mempty}
 
+
 -- | Identifier (ID) for the directory to which to add the tag.
 attrResourceId :: Lens' AddTagsToResource Text
 attrResourceId = lens _attrResourceId (\ s a -> s{_attrResourceId = a});
 
--- | The tags to be assigned to the Amazon Directory Services directory.
+-- | The tags to be assigned to the directory.
 attrTags :: Lens' AddTagsToResource [Tag]
 attrTags = lens _attrTags (\ s a -> s{_attrTags = a}) . _Coerce;
 
@@ -82,9 +81,9 @@
               (\ s h x ->
                  AddTagsToResourceResponse' <$> (pure (fromEnum s)))
 
-instance Hashable AddTagsToResource
+instance Hashable AddTagsToResource where
 
-instance NFData AddTagsToResource
+instance NFData AddTagsToResource where
 
 instance ToHeaders AddTagsToResource where
         toHeaders
@@ -111,9 +110,10 @@
 
 -- | /See:/ 'addTagsToResourceResponse' smart constructor.
 newtype AddTagsToResourceResponse = AddTagsToResourceResponse'
-    { _attrrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _attrrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'AddTagsToResourceResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -123,12 +123,11 @@
     :: Int -- ^ 'attrrsResponseStatus'
     -> AddTagsToResourceResponse
 addTagsToResourceResponse pResponseStatus_ =
-    AddTagsToResourceResponse'
-    { _attrrsResponseStatus = pResponseStatus_
-    }
+  AddTagsToResourceResponse' {_attrrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 attrrsResponseStatus :: Lens' AddTagsToResourceResponse Int
 attrrsResponseStatus = lens _attrrsResponseStatus (\ s a -> s{_attrrsResponseStatus = a});
 
-instance NFData AddTagsToResourceResponse
+instance NFData AddTagsToResourceResponse where
diff --git a/gen/Network/AWS/DirectoryService/CancelSchemaExtension.hs b/gen/Network/AWS/DirectoryService/CancelSchemaExtension.hs
--- a/gen/Network/AWS/DirectoryService/CancelSchemaExtension.hs
+++ b/gen/Network/AWS/DirectoryService/CancelSchemaExtension.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.CancelSchemaExtension
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,19 +37,20 @@
     , csersResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'cancelSchemaExtension' smart constructor.
 data CancelSchemaExtension = CancelSchemaExtension'
-    { _cseDirectoryId       :: !Text
-    , _cseSchemaExtensionId :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cseDirectoryId       :: !Text
+  , _cseSchemaExtensionId :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CancelSchemaExtension' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -62,11 +63,10 @@
     -> Text -- ^ 'cseSchemaExtensionId'
     -> CancelSchemaExtension
 cancelSchemaExtension pDirectoryId_ pSchemaExtensionId_ =
-    CancelSchemaExtension'
-    { _cseDirectoryId = pDirectoryId_
-    , _cseSchemaExtensionId = pSchemaExtensionId_
-    }
+  CancelSchemaExtension'
+  {_cseDirectoryId = pDirectoryId_, _cseSchemaExtensionId = pSchemaExtensionId_}
 
+
 -- | The identifier of the directory whose schema extension will be canceled.
 cseDirectoryId :: Lens' CancelSchemaExtension Text
 cseDirectoryId = lens _cseDirectoryId (\ s a -> s{_cseDirectoryId = a});
@@ -85,9 +85,9 @@
                  CancelSchemaExtensionResponse' <$>
                    (pure (fromEnum s)))
 
-instance Hashable CancelSchemaExtension
+instance Hashable CancelSchemaExtension where
 
-instance NFData CancelSchemaExtension
+instance NFData CancelSchemaExtension where
 
 instance ToHeaders CancelSchemaExtension where
         toHeaders
@@ -114,9 +114,10 @@
 
 -- | /See:/ 'cancelSchemaExtensionResponse' smart constructor.
 newtype CancelSchemaExtensionResponse = CancelSchemaExtensionResponse'
-    { _csersResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _csersResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CancelSchemaExtensionResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -126,12 +127,11 @@
     :: Int -- ^ 'csersResponseStatus'
     -> CancelSchemaExtensionResponse
 cancelSchemaExtensionResponse pResponseStatus_ =
-    CancelSchemaExtensionResponse'
-    { _csersResponseStatus = pResponseStatus_
-    }
+  CancelSchemaExtensionResponse' {_csersResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 csersResponseStatus :: Lens' CancelSchemaExtensionResponse Int
 csersResponseStatus = lens _csersResponseStatus (\ s a -> s{_csersResponseStatus = a});
 
-instance NFData CancelSchemaExtensionResponse
+instance NFData CancelSchemaExtensionResponse where
diff --git a/gen/Network/AWS/DirectoryService/ConnectDirectory.hs b/gen/Network/AWS/DirectoryService/ConnectDirectory.hs
--- a/gen/Network/AWS/DirectoryService/ConnectDirectory.hs
+++ b/gen/Network/AWS/DirectoryService/ConnectDirectory.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.ConnectDirectory
--- 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)
 --
@@ -44,12 +44,12 @@
     , cdrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'ConnectDirectory' operation.
 --
@@ -57,14 +57,15 @@
 --
 -- /See:/ 'connectDirectory' smart constructor.
 data ConnectDirectory = ConnectDirectory'
-    { _cdShortName       :: !(Maybe Text)
-    , _cdDescription     :: !(Maybe Text)
-    , _cdName            :: !Text
-    , _cdPassword        :: !(Sensitive Text)
-    , _cdSize            :: !DirectorySize
-    , _cdConnectSettings :: !DirectoryConnectSettings
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cdShortName       :: !(Maybe Text)
+  , _cdDescription     :: !(Maybe Text)
+  , _cdName            :: !Text
+  , _cdPassword        :: !(Sensitive Text)
+  , _cdSize            :: !DirectorySize
+  , _cdConnectSettings :: !DirectoryConnectSettings
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ConnectDirectory' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -87,15 +88,16 @@
     -> DirectoryConnectSettings -- ^ 'cdConnectSettings'
     -> ConnectDirectory
 connectDirectory pName_ pPassword_ pSize_ pConnectSettings_ =
-    ConnectDirectory'
-    { _cdShortName = Nothing
-    , _cdDescription = Nothing
-    , _cdName = pName_
-    , _cdPassword = _Sensitive # pPassword_
-    , _cdSize = pSize_
-    , _cdConnectSettings = pConnectSettings_
-    }
+  ConnectDirectory'
+  { _cdShortName = Nothing
+  , _cdDescription = Nothing
+  , _cdName = pName_
+  , _cdPassword = _Sensitive # pPassword_
+  , _cdSize = pSize_
+  , _cdConnectSettings = pConnectSettings_
+  }
 
+
 -- | The NetBIOS name of the on-premises directory, such as @CORP@ .
 cdShortName :: Lens' ConnectDirectory (Maybe Text)
 cdShortName = lens _cdShortName (\ s a -> s{_cdShortName = a});
@@ -129,9 +131,9 @@
                  ConnectDirectoryResponse' <$>
                    (x .?> "DirectoryId") <*> (pure (fromEnum s)))
 
-instance Hashable ConnectDirectory
+instance Hashable ConnectDirectory where
 
-instance NFData ConnectDirectory
+instance NFData ConnectDirectory where
 
 instance ToHeaders ConnectDirectory where
         toHeaders
@@ -166,10 +168,11 @@
 --
 -- /See:/ 'connectDirectoryResponse' smart constructor.
 data ConnectDirectoryResponse = ConnectDirectoryResponse'
-    { _cdrsDirectoryId    :: !(Maybe Text)
-    , _cdrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cdrsDirectoryId    :: !(Maybe Text)
+  , _cdrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ConnectDirectoryResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -181,11 +184,10 @@
     :: Int -- ^ 'cdrsResponseStatus'
     -> ConnectDirectoryResponse
 connectDirectoryResponse pResponseStatus_ =
-    ConnectDirectoryResponse'
-    { _cdrsDirectoryId = Nothing
-    , _cdrsResponseStatus = pResponseStatus_
-    }
+  ConnectDirectoryResponse'
+  {_cdrsDirectoryId = Nothing, _cdrsResponseStatus = pResponseStatus_}
 
+
 -- | The identifier of the new directory.
 cdrsDirectoryId :: Lens' ConnectDirectoryResponse (Maybe Text)
 cdrsDirectoryId = lens _cdrsDirectoryId (\ s a -> s{_cdrsDirectoryId = a});
@@ -194,4 +196,4 @@
 cdrsResponseStatus :: Lens' ConnectDirectoryResponse Int
 cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a});
 
-instance NFData ConnectDirectoryResponse
+instance NFData ConnectDirectoryResponse where
diff --git a/gen/Network/AWS/DirectoryService/CreateAlias.hs b/gen/Network/AWS/DirectoryService/CreateAlias.hs
--- a/gen/Network/AWS/DirectoryService/CreateAlias.hs
+++ b/gen/Network/AWS/DirectoryService/CreateAlias.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.CreateAlias
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -41,12 +41,12 @@
     , carsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'CreateAlias' operation.
 --
@@ -54,10 +54,11 @@
 --
 -- /See:/ 'createAlias' smart constructor.
 data CreateAlias = CreateAlias'
-    { _caDirectoryId :: !Text
-    , _caAlias       :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _caDirectoryId :: !Text
+  , _caAlias       :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateAlias' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -70,11 +71,9 @@
     -> Text -- ^ 'caAlias'
     -> CreateAlias
 createAlias pDirectoryId_ pAlias_ =
-    CreateAlias'
-    { _caDirectoryId = pDirectoryId_
-    , _caAlias = pAlias_
-    }
+  CreateAlias' {_caDirectoryId = pDirectoryId_, _caAlias = pAlias_}
 
+
 -- | The identifier of the directory for which to create the alias.
 caDirectoryId :: Lens' CreateAlias Text
 caDirectoryId = lens _caDirectoryId (\ s a -> s{_caDirectoryId = a});
@@ -93,9 +92,9 @@
                    (x .?> "DirectoryId") <*> (x .?> "Alias") <*>
                      (pure (fromEnum s)))
 
-instance Hashable CreateAlias
+instance Hashable CreateAlias where
 
-instance NFData CreateAlias
+instance NFData CreateAlias where
 
 instance ToHeaders CreateAlias where
         toHeaders
@@ -126,11 +125,12 @@
 --
 -- /See:/ 'createAliasResponse' smart constructor.
 data CreateAliasResponse = CreateAliasResponse'
-    { _carsDirectoryId    :: !(Maybe Text)
-    , _carsAlias          :: !(Maybe Text)
-    , _carsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _carsDirectoryId    :: !(Maybe Text)
+  , _carsAlias          :: !(Maybe Text)
+  , _carsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateAliasResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -144,12 +144,13 @@
     :: Int -- ^ 'carsResponseStatus'
     -> CreateAliasResponse
 createAliasResponse pResponseStatus_ =
-    CreateAliasResponse'
-    { _carsDirectoryId = Nothing
-    , _carsAlias = Nothing
-    , _carsResponseStatus = pResponseStatus_
-    }
+  CreateAliasResponse'
+  { _carsDirectoryId = Nothing
+  , _carsAlias = Nothing
+  , _carsResponseStatus = pResponseStatus_
+  }
 
+
 -- | The identifier of the directory.
 carsDirectoryId :: Lens' CreateAliasResponse (Maybe Text)
 carsDirectoryId = lens _carsDirectoryId (\ s a -> s{_carsDirectoryId = a});
@@ -162,4 +163,4 @@
 carsResponseStatus :: Lens' CreateAliasResponse Int
 carsResponseStatus = lens _carsResponseStatus (\ s a -> s{_carsResponseStatus = a});
 
-instance NFData CreateAliasResponse
+instance NFData CreateAliasResponse where
diff --git a/gen/Network/AWS/DirectoryService/CreateComputer.hs b/gen/Network/AWS/DirectoryService/CreateComputer.hs
--- a/gen/Network/AWS/DirectoryService/CreateComputer.hs
+++ b/gen/Network/AWS/DirectoryService/CreateComputer.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.CreateComputer
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -41,12 +41,12 @@
     , ccrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'CreateComputer' operation.
 --
@@ -54,13 +54,14 @@
 --
 -- /See:/ 'createComputer' smart constructor.
 data CreateComputer = CreateComputer'
-    { _ccComputerAttributes                  :: !(Maybe [Attribute])
-    , _ccOrganizationalUnitDistinguishedName :: !(Maybe Text)
-    , _ccDirectoryId                         :: !Text
-    , _ccComputerName                        :: !Text
-    , _ccPassword                            :: !(Sensitive Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ccComputerAttributes                  :: !(Maybe [Attribute])
+  , _ccOrganizationalUnitDistinguishedName :: !(Maybe Text)
+  , _ccDirectoryId                         :: !Text
+  , _ccComputerName                        :: !Text
+  , _ccPassword                            :: !(Sensitive Text)
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateComputer' 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 @@
     -> Text -- ^ 'ccPassword'
     -> CreateComputer
 createComputer pDirectoryId_ pComputerName_ pPassword_ =
-    CreateComputer'
-    { _ccComputerAttributes = Nothing
-    , _ccOrganizationalUnitDistinguishedName = Nothing
-    , _ccDirectoryId = pDirectoryId_
-    , _ccComputerName = pComputerName_
-    , _ccPassword = _Sensitive # pPassword_
-    }
+  CreateComputer'
+  { _ccComputerAttributes = Nothing
+  , _ccOrganizationalUnitDistinguishedName = Nothing
+  , _ccDirectoryId = pDirectoryId_
+  , _ccComputerName = pComputerName_
+  , _ccPassword = _Sensitive # pPassword_
+  }
 
+
 -- | An array of 'Attribute' objects that contain any LDAP attributes to apply to the computer account.
 ccComputerAttributes :: Lens' CreateComputer [Attribute]
 ccComputerAttributes = lens _ccComputerAttributes (\ s a -> s{_ccComputerAttributes = a}) . _Default . _Coerce;
@@ -117,9 +119,9 @@
                  CreateComputerResponse' <$>
                    (x .?> "Computer") <*> (pure (fromEnum s)))
 
-instance Hashable CreateComputer
+instance Hashable CreateComputer where
 
-instance NFData CreateComputer
+instance NFData CreateComputer where
 
 instance ToHeaders CreateComputer where
         toHeaders
@@ -154,10 +156,11 @@
 --
 -- /See:/ 'createComputerResponse' smart constructor.
 data CreateComputerResponse = CreateComputerResponse'
-    { _ccrsComputer       :: !(Maybe Computer)
-    , _ccrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ccrsComputer       :: !(Maybe Computer)
+  , _ccrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateComputerResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -169,11 +172,10 @@
     :: Int -- ^ 'ccrsResponseStatus'
     -> CreateComputerResponse
 createComputerResponse pResponseStatus_ =
-    CreateComputerResponse'
-    { _ccrsComputer = Nothing
-    , _ccrsResponseStatus = pResponseStatus_
-    }
+  CreateComputerResponse'
+  {_ccrsComputer = Nothing, _ccrsResponseStatus = pResponseStatus_}
 
+
 -- | A 'Computer' object that represents the computer account.
 ccrsComputer :: Lens' CreateComputerResponse (Maybe Computer)
 ccrsComputer = lens _ccrsComputer (\ s a -> s{_ccrsComputer = a});
@@ -182,4 +184,4 @@
 ccrsResponseStatus :: Lens' CreateComputerResponse Int
 ccrsResponseStatus = lens _ccrsResponseStatus (\ s a -> s{_ccrsResponseStatus = a});
 
-instance NFData CreateComputerResponse
+instance NFData CreateComputerResponse where
diff --git a/gen/Network/AWS/DirectoryService/CreateConditionalForwarder.hs b/gen/Network/AWS/DirectoryService/CreateConditionalForwarder.hs
--- a/gen/Network/AWS/DirectoryService/CreateConditionalForwarder.hs
+++ b/gen/Network/AWS/DirectoryService/CreateConditionalForwarder.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.CreateConditionalForwarder
--- 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 @@
     , ccfrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Initiates the creation of a conditional forwarder for your AWS Directory Service for Microsoft Active Directory. Conditional forwarders are required in order to set up a trust relationship with another domain.
 --
@@ -51,11 +51,12 @@
 --
 -- /See:/ 'createConditionalForwarder' smart constructor.
 data CreateConditionalForwarder = CreateConditionalForwarder'
-    { _ccfDirectoryId      :: !Text
-    , _ccfRemoteDomainName :: !Text
-    , _ccfDNSIPAddrs       :: ![Text]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ccfDirectoryId      :: !Text
+  , _ccfRemoteDomainName :: !Text
+  , _ccfDNSIPAddrs       :: ![Text]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateConditionalForwarder' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -70,12 +71,13 @@
     -> Text -- ^ 'ccfRemoteDomainName'
     -> CreateConditionalForwarder
 createConditionalForwarder pDirectoryId_ pRemoteDomainName_ =
-    CreateConditionalForwarder'
-    { _ccfDirectoryId = pDirectoryId_
-    , _ccfRemoteDomainName = pRemoteDomainName_
-    , _ccfDNSIPAddrs = mempty
-    }
+  CreateConditionalForwarder'
+  { _ccfDirectoryId = pDirectoryId_
+  , _ccfRemoteDomainName = pRemoteDomainName_
+  , _ccfDNSIPAddrs = mempty
+  }
 
+
 -- | The directory ID of the AWS directory for which you are creating the conditional forwarder.
 ccfDirectoryId :: Lens' CreateConditionalForwarder Text
 ccfDirectoryId = lens _ccfDirectoryId (\ s a -> s{_ccfDirectoryId = a});
@@ -98,9 +100,9 @@
                  CreateConditionalForwarderResponse' <$>
                    (pure (fromEnum s)))
 
-instance Hashable CreateConditionalForwarder
+instance Hashable CreateConditionalForwarder where
 
-instance NFData CreateConditionalForwarder
+instance NFData CreateConditionalForwarder where
 
 instance ToHeaders CreateConditionalForwarder where
         toHeaders
@@ -132,9 +134,10 @@
 --
 -- /See:/ 'createConditionalForwarderResponse' smart constructor.
 newtype CreateConditionalForwarderResponse = CreateConditionalForwarderResponse'
-    { _ccfrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ccfrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateConditionalForwarderResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -144,12 +147,12 @@
     :: Int -- ^ 'ccfrsResponseStatus'
     -> CreateConditionalForwarderResponse
 createConditionalForwarderResponse pResponseStatus_ =
-    CreateConditionalForwarderResponse'
-    { _ccfrsResponseStatus = pResponseStatus_
-    }
+  CreateConditionalForwarderResponse' {_ccfrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 ccfrsResponseStatus :: Lens' CreateConditionalForwarderResponse Int
 ccfrsResponseStatus = lens _ccfrsResponseStatus (\ s a -> s{_ccfrsResponseStatus = a});
 
 instance NFData CreateConditionalForwarderResponse
+         where
diff --git a/gen/Network/AWS/DirectoryService/CreateDirectory.hs b/gen/Network/AWS/DirectoryService/CreateDirectory.hs
--- a/gen/Network/AWS/DirectoryService/CreateDirectory.hs
+++ b/gen/Network/AWS/DirectoryService/CreateDirectory.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.CreateDirectory
--- 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)
 --
@@ -44,12 +44,12 @@
     , crsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'CreateDirectory' operation.
 --
@@ -57,14 +57,15 @@
 --
 -- /See:/ 'createDirectory' smart constructor.
 data CreateDirectory = CreateDirectory'
-    { _cShortName   :: !(Maybe Text)
-    , _cVPCSettings :: !(Maybe DirectoryVPCSettings)
-    , _cDescription :: !(Maybe Text)
-    , _cName        :: !Text
-    , _cPassword    :: !(Sensitive Text)
-    , _cSize        :: !DirectorySize
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cShortName   :: !(Maybe Text)
+  , _cVPCSettings :: !(Maybe DirectoryVPCSettings)
+  , _cDescription :: !(Maybe Text)
+  , _cName        :: !Text
+  , _cPassword    :: !(Sensitive Text)
+  , _cSize        :: !DirectorySize
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateDirectory' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -86,15 +87,16 @@
     -> DirectorySize -- ^ 'cSize'
     -> CreateDirectory
 createDirectory pName_ pPassword_ pSize_ =
-    CreateDirectory'
-    { _cShortName = Nothing
-    , _cVPCSettings = Nothing
-    , _cDescription = Nothing
-    , _cName = pName_
-    , _cPassword = _Sensitive # pPassword_
-    , _cSize = pSize_
-    }
+  CreateDirectory'
+  { _cShortName = Nothing
+  , _cVPCSettings = Nothing
+  , _cDescription = Nothing
+  , _cName = pName_
+  , _cPassword = _Sensitive # pPassword_
+  , _cSize = pSize_
+  }
 
+
 -- | The short name of the directory, such as @CORP@ .
 cShortName :: Lens' CreateDirectory (Maybe Text)
 cShortName = lens _cShortName (\ s a -> s{_cShortName = a});
@@ -128,9 +130,9 @@
                  CreateDirectoryResponse' <$>
                    (x .?> "DirectoryId") <*> (pure (fromEnum s)))
 
-instance Hashable CreateDirectory
+instance Hashable CreateDirectory where
 
-instance NFData CreateDirectory
+instance NFData CreateDirectory where
 
 instance ToHeaders CreateDirectory where
         toHeaders
@@ -165,10 +167,11 @@
 --
 -- /See:/ 'createDirectoryResponse' smart constructor.
 data CreateDirectoryResponse = CreateDirectoryResponse'
-    { _crsDirectoryId    :: !(Maybe Text)
-    , _crsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _crsDirectoryId    :: !(Maybe Text)
+  , _crsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateDirectoryResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -180,11 +183,10 @@
     :: Int -- ^ 'crsResponseStatus'
     -> CreateDirectoryResponse
 createDirectoryResponse pResponseStatus_ =
-    CreateDirectoryResponse'
-    { _crsDirectoryId = Nothing
-    , _crsResponseStatus = pResponseStatus_
-    }
+  CreateDirectoryResponse'
+  {_crsDirectoryId = Nothing, _crsResponseStatus = pResponseStatus_}
 
+
 -- | The identifier of the directory that was created.
 crsDirectoryId :: Lens' CreateDirectoryResponse (Maybe Text)
 crsDirectoryId = lens _crsDirectoryId (\ s a -> s{_crsDirectoryId = a});
@@ -193,4 +195,4 @@
 crsResponseStatus :: Lens' CreateDirectoryResponse Int
 crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a});
 
-instance NFData CreateDirectoryResponse
+instance NFData CreateDirectoryResponse where
diff --git a/gen/Network/AWS/DirectoryService/CreateMicrosoftAD.hs b/gen/Network/AWS/DirectoryService/CreateMicrosoftAD.hs
--- a/gen/Network/AWS/DirectoryService/CreateMicrosoftAD.hs
+++ b/gen/Network/AWS/DirectoryService/CreateMicrosoftAD.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.CreateMicrosoftAD
--- 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,12 +43,12 @@
     , cmadrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Creates a Microsoft AD in the AWS cloud.
 --
@@ -56,13 +56,14 @@
 --
 -- /See:/ 'createMicrosoftAD' smart constructor.
 data CreateMicrosoftAD = CreateMicrosoftAD'
-    { _cmadShortName   :: !(Maybe Text)
-    , _cmadDescription :: !(Maybe Text)
-    , _cmadName        :: !Text
-    , _cmadPassword    :: !(Sensitive Text)
-    , _cmadVPCSettings :: !DirectoryVPCSettings
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cmadShortName   :: !(Maybe Text)
+  , _cmadDescription :: !(Maybe Text)
+  , _cmadName        :: !Text
+  , _cmadPassword    :: !(Sensitive Text)
+  , _cmadVPCSettings :: !DirectoryVPCSettings
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateMicrosoftAD' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -75,21 +76,22 @@
 --
 -- * 'cmadPassword' - The password for the default administrative user named @Admin@ .
 --
--- * 'cmadVPCSettings' - Undocumented member.
+-- * 'cmadVPCSettings' - Contains VPC information for the 'CreateDirectory' or 'CreateMicrosoftAD' operation.
 createMicrosoftAD
     :: Text -- ^ 'cmadName'
     -> Text -- ^ 'cmadPassword'
     -> DirectoryVPCSettings -- ^ 'cmadVPCSettings'
     -> CreateMicrosoftAD
 createMicrosoftAD pName_ pPassword_ pVPCSettings_ =
-    CreateMicrosoftAD'
-    { _cmadShortName = Nothing
-    , _cmadDescription = Nothing
-    , _cmadName = pName_
-    , _cmadPassword = _Sensitive # pPassword_
-    , _cmadVPCSettings = pVPCSettings_
-    }
+  CreateMicrosoftAD'
+  { _cmadShortName = Nothing
+  , _cmadDescription = Nothing
+  , _cmadName = pName_
+  , _cmadPassword = _Sensitive # pPassword_
+  , _cmadVPCSettings = pVPCSettings_
+  }
 
+
 -- | The NetBIOS name for your domain. A short identifier for your domain, such as @CORP@ . If you don't specify a NetBIOS name, it will default to the first part of your directory DNS. For example, @CORP@ for the directory DNS @corp.example.com@ .
 cmadShortName :: Lens' CreateMicrosoftAD (Maybe Text)
 cmadShortName = lens _cmadShortName (\ s a -> s{_cmadShortName = a});
@@ -106,7 +108,7 @@
 cmadPassword :: Lens' CreateMicrosoftAD Text
 cmadPassword = lens _cmadPassword (\ s a -> s{_cmadPassword = a}) . _Sensitive;
 
--- | Undocumented member.
+-- | Contains VPC information for the 'CreateDirectory' or 'CreateMicrosoftAD' operation.
 cmadVPCSettings :: Lens' CreateMicrosoftAD DirectoryVPCSettings
 cmadVPCSettings = lens _cmadVPCSettings (\ s a -> s{_cmadVPCSettings = a});
 
@@ -119,9 +121,9 @@
                  CreateMicrosoftADResponse' <$>
                    (x .?> "DirectoryId") <*> (pure (fromEnum s)))
 
-instance Hashable CreateMicrosoftAD
+instance Hashable CreateMicrosoftAD where
 
-instance NFData CreateMicrosoftAD
+instance NFData CreateMicrosoftAD where
 
 instance ToHeaders CreateMicrosoftAD where
         toHeaders
@@ -155,10 +157,11 @@
 --
 -- /See:/ 'createMicrosoftADResponse' smart constructor.
 data CreateMicrosoftADResponse = CreateMicrosoftADResponse'
-    { _cmadrsDirectoryId    :: !(Maybe Text)
-    , _cmadrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cmadrsDirectoryId    :: !(Maybe Text)
+  , _cmadrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateMicrosoftADResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -170,11 +173,10 @@
     :: Int -- ^ 'cmadrsResponseStatus'
     -> CreateMicrosoftADResponse
 createMicrosoftADResponse pResponseStatus_ =
-    CreateMicrosoftADResponse'
-    { _cmadrsDirectoryId = Nothing
-    , _cmadrsResponseStatus = pResponseStatus_
-    }
+  CreateMicrosoftADResponse'
+  {_cmadrsDirectoryId = Nothing, _cmadrsResponseStatus = pResponseStatus_}
 
+
 -- | The identifier of the directory that was created.
 cmadrsDirectoryId :: Lens' CreateMicrosoftADResponse (Maybe Text)
 cmadrsDirectoryId = lens _cmadrsDirectoryId (\ s a -> s{_cmadrsDirectoryId = a});
@@ -183,4 +185,4 @@
 cmadrsResponseStatus :: Lens' CreateMicrosoftADResponse Int
 cmadrsResponseStatus = lens _cmadrsResponseStatus (\ s a -> s{_cmadrsResponseStatus = a});
 
-instance NFData CreateMicrosoftADResponse
+instance NFData CreateMicrosoftADResponse where
diff --git a/gen/Network/AWS/DirectoryService/CreateSnapshot.hs b/gen/Network/AWS/DirectoryService/CreateSnapshot.hs
--- a/gen/Network/AWS/DirectoryService/CreateSnapshot.hs
+++ b/gen/Network/AWS/DirectoryService/CreateSnapshot.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.CreateSnapshot
--- 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 @@
     , csrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'CreateSnapshot' operation.
 --
@@ -51,10 +51,11 @@
 --
 -- /See:/ 'createSnapshot' smart constructor.
 data CreateSnapshot = CreateSnapshot'
-    { _csName        :: !(Maybe Text)
-    , _csDirectoryId :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _csName        :: !(Maybe Text)
+  , _csDirectoryId :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateSnapshot' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -66,11 +67,9 @@
     :: Text -- ^ 'csDirectoryId'
     -> CreateSnapshot
 createSnapshot pDirectoryId_ =
-    CreateSnapshot'
-    { _csName = Nothing
-    , _csDirectoryId = pDirectoryId_
-    }
+  CreateSnapshot' {_csName = Nothing, _csDirectoryId = pDirectoryId_}
 
+
 -- | The descriptive name to apply to the snapshot.
 csName :: Lens' CreateSnapshot (Maybe Text)
 csName = lens _csName (\ s a -> s{_csName = a});
@@ -88,9 +87,9 @@
                  CreateSnapshotResponse' <$>
                    (x .?> "SnapshotId") <*> (pure (fromEnum s)))
 
-instance Hashable CreateSnapshot
+instance Hashable CreateSnapshot where
 
-instance NFData CreateSnapshot
+instance NFData CreateSnapshot where
 
 instance ToHeaders CreateSnapshot where
         toHeaders
@@ -121,10 +120,11 @@
 --
 -- /See:/ 'createSnapshotResponse' smart constructor.
 data CreateSnapshotResponse = CreateSnapshotResponse'
-    { _csrsSnapshotId     :: !(Maybe Text)
-    , _csrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _csrsSnapshotId     :: !(Maybe Text)
+  , _csrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateSnapshotResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -136,11 +136,10 @@
     :: Int -- ^ 'csrsResponseStatus'
     -> CreateSnapshotResponse
 createSnapshotResponse pResponseStatus_ =
-    CreateSnapshotResponse'
-    { _csrsSnapshotId = Nothing
-    , _csrsResponseStatus = pResponseStatus_
-    }
+  CreateSnapshotResponse'
+  {_csrsSnapshotId = Nothing, _csrsResponseStatus = pResponseStatus_}
 
+
 -- | The identifier of the snapshot that was created.
 csrsSnapshotId :: Lens' CreateSnapshotResponse (Maybe Text)
 csrsSnapshotId = lens _csrsSnapshotId (\ s a -> s{_csrsSnapshotId = a});
@@ -149,4 +148,4 @@
 csrsResponseStatus :: Lens' CreateSnapshotResponse Int
 csrsResponseStatus = lens _csrsResponseStatus (\ s a -> s{_csrsResponseStatus = a});
 
-instance NFData CreateSnapshotResponse
+instance NFData CreateSnapshotResponse where
diff --git a/gen/Network/AWS/DirectoryService/CreateTrust.hs b/gen/Network/AWS/DirectoryService/CreateTrust.hs
--- a/gen/Network/AWS/DirectoryService/CreateTrust.hs
+++ b/gen/Network/AWS/DirectoryService/CreateTrust.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.CreateTrust
--- 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)
 --
@@ -44,12 +44,12 @@
     , ctrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | AWS Directory Service for Microsoft Active Directory allows you to configure trust relationships. For example, you can establish a trust between your Microsoft AD in the AWS cloud, and your existing on-premises Microsoft Active Directory. This would allow you to provide users and groups access to resources in either domain, with a single set of credentials.
 --
@@ -59,14 +59,15 @@
 --
 -- /See:/ 'createTrust' smart constructor.
 data CreateTrust = CreateTrust'
-    { _ctConditionalForwarderIPAddrs :: !(Maybe [Text])
-    , _ctTrustType                   :: !(Maybe TrustType)
-    , _ctDirectoryId                 :: !Text
-    , _ctRemoteDomainName            :: !Text
-    , _ctTrustPassword               :: !(Sensitive Text)
-    , _ctTrustDirection              :: !TrustDirection
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ctConditionalForwarderIPAddrs :: !(Maybe [Text])
+  , _ctTrustType                   :: !(Maybe TrustType)
+  , _ctDirectoryId                 :: !Text
+  , _ctRemoteDomainName            :: !Text
+  , _ctTrustPassword               :: !(Sensitive Text)
+  , _ctTrustDirection              :: !TrustDirection
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateTrust' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -89,15 +90,16 @@
     -> TrustDirection -- ^ 'ctTrustDirection'
     -> CreateTrust
 createTrust pDirectoryId_ pRemoteDomainName_ pTrustPassword_ pTrustDirection_ =
-    CreateTrust'
-    { _ctConditionalForwarderIPAddrs = Nothing
-    , _ctTrustType = Nothing
-    , _ctDirectoryId = pDirectoryId_
-    , _ctRemoteDomainName = pRemoteDomainName_
-    , _ctTrustPassword = _Sensitive # pTrustPassword_
-    , _ctTrustDirection = pTrustDirection_
-    }
+  CreateTrust'
+  { _ctConditionalForwarderIPAddrs = Nothing
+  , _ctTrustType = Nothing
+  , _ctDirectoryId = pDirectoryId_
+  , _ctRemoteDomainName = pRemoteDomainName_
+  , _ctTrustPassword = _Sensitive # pTrustPassword_
+  , _ctTrustDirection = pTrustDirection_
+  }
 
+
 -- | The IP addresses of the remote DNS server associated with RemoteDomainName.
 ctConditionalForwarderIPAddrs :: Lens' CreateTrust [Text]
 ctConditionalForwarderIPAddrs = lens _ctConditionalForwarderIPAddrs (\ s a -> s{_ctConditionalForwarderIPAddrs = a}) . _Default . _Coerce;
@@ -131,9 +133,9 @@
                  CreateTrustResponse' <$>
                    (x .?> "TrustId") <*> (pure (fromEnum s)))
 
-instance Hashable CreateTrust
+instance Hashable CreateTrust where
 
-instance NFData CreateTrust
+instance NFData CreateTrust where
 
 instance ToHeaders CreateTrust where
         toHeaders
@@ -169,10 +171,11 @@
 --
 -- /See:/ 'createTrustResponse' smart constructor.
 data CreateTrustResponse = CreateTrustResponse'
-    { _ctrsTrustId        :: !(Maybe Text)
-    , _ctrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ctrsTrustId        :: !(Maybe Text)
+  , _ctrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'CreateTrustResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -184,11 +187,10 @@
     :: Int -- ^ 'ctrsResponseStatus'
     -> CreateTrustResponse
 createTrustResponse pResponseStatus_ =
-    CreateTrustResponse'
-    { _ctrsTrustId = Nothing
-    , _ctrsResponseStatus = pResponseStatus_
-    }
+  CreateTrustResponse'
+  {_ctrsTrustId = Nothing, _ctrsResponseStatus = pResponseStatus_}
 
+
 -- | A unique identifier for the trust relationship that was created.
 ctrsTrustId :: Lens' CreateTrustResponse (Maybe Text)
 ctrsTrustId = lens _ctrsTrustId (\ s a -> s{_ctrsTrustId = a});
@@ -197,4 +199,4 @@
 ctrsResponseStatus :: Lens' CreateTrustResponse Int
 ctrsResponseStatus = lens _ctrsResponseStatus (\ s a -> s{_ctrsResponseStatus = a});
 
-instance NFData CreateTrustResponse
+instance NFData CreateTrustResponse where
diff --git a/gen/Network/AWS/DirectoryService/DeleteConditionalForwarder.hs b/gen/Network/AWS/DirectoryService/DeleteConditionalForwarder.hs
--- a/gen/Network/AWS/DirectoryService/DeleteConditionalForwarder.hs
+++ b/gen/Network/AWS/DirectoryService/DeleteConditionalForwarder.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DeleteConditionalForwarder
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , drsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Deletes a conditional forwarder.
 --
@@ -50,10 +50,11 @@
 --
 -- /See:/ 'deleteConditionalForwarder' smart constructor.
 data DeleteConditionalForwarder = DeleteConditionalForwarder'
-    { _delDirectoryId      :: !Text
-    , _delRemoteDomainName :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _delDirectoryId      :: !Text
+  , _delRemoteDomainName :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteConditionalForwarder' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -66,11 +67,10 @@
     -> Text -- ^ 'delRemoteDomainName'
     -> DeleteConditionalForwarder
 deleteConditionalForwarder pDirectoryId_ pRemoteDomainName_ =
-    DeleteConditionalForwarder'
-    { _delDirectoryId = pDirectoryId_
-    , _delRemoteDomainName = pRemoteDomainName_
-    }
+  DeleteConditionalForwarder'
+  {_delDirectoryId = pDirectoryId_, _delRemoteDomainName = pRemoteDomainName_}
 
+
 -- | The directory ID for which you are deleting the conditional forwarder.
 delDirectoryId :: Lens' DeleteConditionalForwarder Text
 delDirectoryId = lens _delDirectoryId (\ s a -> s{_delDirectoryId = a});
@@ -89,9 +89,9 @@
                  DeleteConditionalForwarderResponse' <$>
                    (pure (fromEnum s)))
 
-instance Hashable DeleteConditionalForwarder
+instance Hashable DeleteConditionalForwarder where
 
-instance NFData DeleteConditionalForwarder
+instance NFData DeleteConditionalForwarder where
 
 instance ToHeaders DeleteConditionalForwarder where
         toHeaders
@@ -122,9 +122,10 @@
 --
 -- /See:/ 'deleteConditionalForwarderResponse' smart constructor.
 newtype DeleteConditionalForwarderResponse = DeleteConditionalForwarderResponse'
-    { _drsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _drsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteConditionalForwarderResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -134,12 +135,12 @@
     :: Int -- ^ 'drsResponseStatus'
     -> DeleteConditionalForwarderResponse
 deleteConditionalForwarderResponse pResponseStatus_ =
-    DeleteConditionalForwarderResponse'
-    { _drsResponseStatus = pResponseStatus_
-    }
+  DeleteConditionalForwarderResponse' {_drsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 drsResponseStatus :: Lens' DeleteConditionalForwarderResponse Int
 drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
 
 instance NFData DeleteConditionalForwarderResponse
+         where
diff --git a/gen/Network/AWS/DirectoryService/DeleteDirectory.hs b/gen/Network/AWS/DirectoryService/DeleteDirectory.hs
--- a/gen/Network/AWS/DirectoryService/DeleteDirectory.hs
+++ b/gen/Network/AWS/DirectoryService/DeleteDirectory.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DeleteDirectory
--- 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)
 --
@@ -39,12 +39,12 @@
     , delrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'DeleteDirectory' operation.
 --
@@ -52,9 +52,10 @@
 --
 -- /See:/ 'deleteDirectory' smart constructor.
 newtype DeleteDirectory = DeleteDirectory'
-    { _dddDirectoryId :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dddDirectoryId :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteDirectory' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -64,10 +65,9 @@
     :: Text -- ^ 'dddDirectoryId'
     -> DeleteDirectory
 deleteDirectory pDirectoryId_ =
-    DeleteDirectory'
-    { _dddDirectoryId = pDirectoryId_
-    }
+  DeleteDirectory' {_dddDirectoryId = pDirectoryId_}
 
+
 -- | The identifier of the directory to delete.
 dddDirectoryId :: Lens' DeleteDirectory Text
 dddDirectoryId = lens _dddDirectoryId (\ s a -> s{_dddDirectoryId = a});
@@ -81,9 +81,9 @@
                  DeleteDirectoryResponse' <$>
                    (x .?> "DirectoryId") <*> (pure (fromEnum s)))
 
-instance Hashable DeleteDirectory
+instance Hashable DeleteDirectory where
 
-instance NFData DeleteDirectory
+instance NFData DeleteDirectory where
 
 instance ToHeaders DeleteDirectory where
         toHeaders
@@ -112,10 +112,11 @@
 --
 -- /See:/ 'deleteDirectoryResponse' smart constructor.
 data DeleteDirectoryResponse = DeleteDirectoryResponse'
-    { _delrsDirectoryId    :: !(Maybe Text)
-    , _delrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _delrsDirectoryId    :: !(Maybe Text)
+  , _delrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteDirectoryResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -127,11 +128,10 @@
     :: Int -- ^ 'delrsResponseStatus'
     -> DeleteDirectoryResponse
 deleteDirectoryResponse pResponseStatus_ =
-    DeleteDirectoryResponse'
-    { _delrsDirectoryId = Nothing
-    , _delrsResponseStatus = pResponseStatus_
-    }
+  DeleteDirectoryResponse'
+  {_delrsDirectoryId = Nothing, _delrsResponseStatus = pResponseStatus_}
 
+
 -- | The directory identifier.
 delrsDirectoryId :: Lens' DeleteDirectoryResponse (Maybe Text)
 delrsDirectoryId = lens _delrsDirectoryId (\ s a -> s{_delrsDirectoryId = a});
@@ -140,4 +140,4 @@
 delrsResponseStatus :: Lens' DeleteDirectoryResponse Int
 delrsResponseStatus = lens _delrsResponseStatus (\ s a -> s{_delrsResponseStatus = a});
 
-instance NFData DeleteDirectoryResponse
+instance NFData DeleteDirectoryResponse where
diff --git a/gen/Network/AWS/DirectoryService/DeleteSnapshot.hs b/gen/Network/AWS/DirectoryService/DeleteSnapshot.hs
--- a/gen/Network/AWS/DirectoryService/DeleteSnapshot.hs
+++ b/gen/Network/AWS/DirectoryService/DeleteSnapshot.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DeleteSnapshot
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , dsrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'DeleteSnapshot' operation.
 --
@@ -50,9 +50,10 @@
 --
 -- /See:/ 'deleteSnapshot' smart constructor.
 newtype DeleteSnapshot = DeleteSnapshot'
-    { _dsSnapshotId :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dsSnapshotId :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteSnapshot' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -61,11 +62,9 @@
 deleteSnapshot
     :: Text -- ^ 'dsSnapshotId'
     -> DeleteSnapshot
-deleteSnapshot pSnapshotId_ =
-    DeleteSnapshot'
-    { _dsSnapshotId = pSnapshotId_
-    }
+deleteSnapshot pSnapshotId_ = DeleteSnapshot' {_dsSnapshotId = pSnapshotId_}
 
+
 -- | The identifier of the directory snapshot to be deleted.
 dsSnapshotId :: Lens' DeleteSnapshot Text
 dsSnapshotId = lens _dsSnapshotId (\ s a -> s{_dsSnapshotId = a});
@@ -79,9 +78,9 @@
                  DeleteSnapshotResponse' <$>
                    (x .?> "SnapshotId") <*> (pure (fromEnum s)))
 
-instance Hashable DeleteSnapshot
+instance Hashable DeleteSnapshot where
 
-instance NFData DeleteSnapshot
+instance NFData DeleteSnapshot where
 
 instance ToHeaders DeleteSnapshot where
         toHeaders
@@ -110,10 +109,11 @@
 --
 -- /See:/ 'deleteSnapshotResponse' smart constructor.
 data DeleteSnapshotResponse = DeleteSnapshotResponse'
-    { _dsrsSnapshotId     :: !(Maybe Text)
-    , _dsrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dsrsSnapshotId     :: !(Maybe Text)
+  , _dsrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteSnapshotResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -125,11 +125,10 @@
     :: Int -- ^ 'dsrsResponseStatus'
     -> DeleteSnapshotResponse
 deleteSnapshotResponse pResponseStatus_ =
-    DeleteSnapshotResponse'
-    { _dsrsSnapshotId = Nothing
-    , _dsrsResponseStatus = pResponseStatus_
-    }
+  DeleteSnapshotResponse'
+  {_dsrsSnapshotId = Nothing, _dsrsResponseStatus = pResponseStatus_}
 
+
 -- | The identifier of the directory snapshot that was deleted.
 dsrsSnapshotId :: Lens' DeleteSnapshotResponse (Maybe Text)
 dsrsSnapshotId = lens _dsrsSnapshotId (\ s a -> s{_dsrsSnapshotId = a});
@@ -138,4 +137,4 @@
 dsrsResponseStatus :: Lens' DeleteSnapshotResponse Int
 dsrsResponseStatus = lens _dsrsResponseStatus (\ s a -> s{_dsrsResponseStatus = a});
 
-instance NFData DeleteSnapshotResponse
+instance NFData DeleteSnapshotResponse where
diff --git a/gen/Network/AWS/DirectoryService/DeleteTrust.hs b/gen/Network/AWS/DirectoryService/DeleteTrust.hs
--- a/gen/Network/AWS/DirectoryService/DeleteTrust.hs
+++ b/gen/Network/AWS/DirectoryService/DeleteTrust.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DeleteTrust
--- 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 @@
     , dttrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Deletes the local side of an existing trust relationship between the Microsoft AD in the AWS cloud and the external domain.
 --
@@ -51,10 +51,11 @@
 --
 -- /See:/ 'deleteTrust' smart constructor.
 data DeleteTrust = DeleteTrust'
-    { _dtDeleteAssociatedConditionalForwarder :: !(Maybe Bool)
-    , _dtTrustId                              :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dtDeleteAssociatedConditionalForwarder :: !(Maybe Bool)
+  , _dtTrustId                              :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteTrust' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -66,11 +67,10 @@
     :: Text -- ^ 'dtTrustId'
     -> DeleteTrust
 deleteTrust pTrustId_ =
-    DeleteTrust'
-    { _dtDeleteAssociatedConditionalForwarder = Nothing
-    , _dtTrustId = pTrustId_
-    }
+  DeleteTrust'
+  {_dtDeleteAssociatedConditionalForwarder = Nothing, _dtTrustId = pTrustId_}
 
+
 -- | Delete a conditional forwarder as part of a DeleteTrustRequest.
 dtDeleteAssociatedConditionalForwarder :: Lens' DeleteTrust (Maybe Bool)
 dtDeleteAssociatedConditionalForwarder = lens _dtDeleteAssociatedConditionalForwarder (\ s a -> s{_dtDeleteAssociatedConditionalForwarder = a});
@@ -88,9 +88,9 @@
                  DeleteTrustResponse' <$>
                    (x .?> "TrustId") <*> (pure (fromEnum s)))
 
-instance Hashable DeleteTrust
+instance Hashable DeleteTrust where
 
-instance NFData DeleteTrust
+instance NFData DeleteTrust where
 
 instance ToHeaders DeleteTrust where
         toHeaders
@@ -122,10 +122,11 @@
 --
 -- /See:/ 'deleteTrustResponse' smart constructor.
 data DeleteTrustResponse = DeleteTrustResponse'
-    { _dttrsTrustId        :: !(Maybe Text)
-    , _dttrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dttrsTrustId        :: !(Maybe Text)
+  , _dttrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeleteTrustResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -137,11 +138,10 @@
     :: Int -- ^ 'dttrsResponseStatus'
     -> DeleteTrustResponse
 deleteTrustResponse pResponseStatus_ =
-    DeleteTrustResponse'
-    { _dttrsTrustId = Nothing
-    , _dttrsResponseStatus = pResponseStatus_
-    }
+  DeleteTrustResponse'
+  {_dttrsTrustId = Nothing, _dttrsResponseStatus = pResponseStatus_}
 
+
 -- | The Trust ID of the trust relationship that was deleted.
 dttrsTrustId :: Lens' DeleteTrustResponse (Maybe Text)
 dttrsTrustId = lens _dttrsTrustId (\ s a -> s{_dttrsTrustId = a});
@@ -150,4 +150,4 @@
 dttrsResponseStatus :: Lens' DeleteTrustResponse Int
 dttrsResponseStatus = lens _dttrsResponseStatus (\ s a -> s{_dttrsResponseStatus = a});
 
-instance NFData DeleteTrustResponse
+instance NFData DeleteTrustResponse where
diff --git a/gen/Network/AWS/DirectoryService/DeregisterEventTopic.hs b/gen/Network/AWS/DirectoryService/DeregisterEventTopic.hs
--- a/gen/Network/AWS/DirectoryService/DeregisterEventTopic.hs
+++ b/gen/Network/AWS/DirectoryService/DeregisterEventTopic.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DeregisterEventTopic
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , derrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Removes the specified directory as a publisher to the specified SNS topic.
 --
@@ -50,10 +50,11 @@
 --
 -- /See:/ 'deregisterEventTopic' smart constructor.
 data DeregisterEventTopic = DeregisterEventTopic'
-    { _detDirectoryId :: !Text
-    , _detTopicName   :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _detDirectoryId :: !Text
+  , _detTopicName   :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeregisterEventTopic' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -66,11 +67,10 @@
     -> Text -- ^ 'detTopicName'
     -> DeregisterEventTopic
 deregisterEventTopic pDirectoryId_ pTopicName_ =
-    DeregisterEventTopic'
-    { _detDirectoryId = pDirectoryId_
-    , _detTopicName = pTopicName_
-    }
+  DeregisterEventTopic'
+  {_detDirectoryId = pDirectoryId_, _detTopicName = pTopicName_}
 
+
 -- | The Directory ID to remove as a publisher. This directory will no longer send messages to the specified SNS topic.
 detDirectoryId :: Lens' DeregisterEventTopic Text
 detDirectoryId = lens _detDirectoryId (\ s a -> s{_detDirectoryId = a});
@@ -89,9 +89,9 @@
                  DeregisterEventTopicResponse' <$>
                    (pure (fromEnum s)))
 
-instance Hashable DeregisterEventTopic
+instance Hashable DeregisterEventTopic where
 
-instance NFData DeregisterEventTopic
+instance NFData DeregisterEventTopic where
 
 instance ToHeaders DeregisterEventTopic where
         toHeaders
@@ -122,9 +122,10 @@
 --
 -- /See:/ 'deregisterEventTopicResponse' smart constructor.
 newtype DeregisterEventTopicResponse = DeregisterEventTopicResponse'
-    { _derrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _derrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DeregisterEventTopicResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -134,12 +135,11 @@
     :: Int -- ^ 'derrsResponseStatus'
     -> DeregisterEventTopicResponse
 deregisterEventTopicResponse pResponseStatus_ =
-    DeregisterEventTopicResponse'
-    { _derrsResponseStatus = pResponseStatus_
-    }
+  DeregisterEventTopicResponse' {_derrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 derrsResponseStatus :: Lens' DeregisterEventTopicResponse Int
 derrsResponseStatus = lens _derrsResponseStatus (\ s a -> s{_derrsResponseStatus = a});
 
-instance NFData DeregisterEventTopicResponse
+instance NFData DeregisterEventTopicResponse where
diff --git a/gen/Network/AWS/DirectoryService/DescribeConditionalForwarders.hs b/gen/Network/AWS/DirectoryService/DescribeConditionalForwarders.hs
--- a/gen/Network/AWS/DirectoryService/DescribeConditionalForwarders.hs
+++ b/gen/Network/AWS/DirectoryService/DescribeConditionalForwarders.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DescribeConditionalForwarders
--- 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)
 --
@@ -40,12 +40,12 @@
     , dcfrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Describes a conditional forwarder.
 --
@@ -53,10 +53,11 @@
 --
 -- /See:/ 'describeConditionalForwarders' smart constructor.
 data DescribeConditionalForwarders = DescribeConditionalForwarders'
-    { _dcfRemoteDomainNames :: !(Maybe [Text])
-    , _dcfDirectoryId       :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dcfRemoteDomainNames :: !(Maybe [Text])
+  , _dcfDirectoryId       :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeConditionalForwarders' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -68,11 +69,10 @@
     :: Text -- ^ 'dcfDirectoryId'
     -> DescribeConditionalForwarders
 describeConditionalForwarders pDirectoryId_ =
-    DescribeConditionalForwarders'
-    { _dcfRemoteDomainNames = Nothing
-    , _dcfDirectoryId = pDirectoryId_
-    }
+  DescribeConditionalForwarders'
+  {_dcfRemoteDomainNames = Nothing, _dcfDirectoryId = pDirectoryId_}
 
+
 -- | The fully qualified domain names (FQDN) of the remote domains for which to get the list of associated conditional forwarders. If this member is null, all conditional forwarders are returned.
 dcfRemoteDomainNames :: Lens' DescribeConditionalForwarders [Text]
 dcfRemoteDomainNames = lens _dcfRemoteDomainNames (\ s a -> s{_dcfRemoteDomainNames = a}) . _Default . _Coerce;
@@ -93,9 +93,9 @@
                    (x .?> "ConditionalForwarders" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
-instance Hashable DescribeConditionalForwarders
+instance Hashable DescribeConditionalForwarders where
 
-instance NFData DescribeConditionalForwarders
+instance NFData DescribeConditionalForwarders where
 
 instance ToHeaders DescribeConditionalForwarders
          where
@@ -127,10 +127,11 @@
 --
 -- /See:/ 'describeConditionalForwardersResponse' smart constructor.
 data DescribeConditionalForwardersResponse = DescribeConditionalForwardersResponse'
-    { _dcfrsConditionalForwarders :: !(Maybe [ConditionalForwarder])
-    , _dcfrsResponseStatus        :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dcfrsConditionalForwarders :: !(Maybe [ConditionalForwarder])
+  , _dcfrsResponseStatus        :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeConditionalForwardersResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -142,11 +143,12 @@
     :: Int -- ^ 'dcfrsResponseStatus'
     -> DescribeConditionalForwardersResponse
 describeConditionalForwardersResponse pResponseStatus_ =
-    DescribeConditionalForwardersResponse'
-    { _dcfrsConditionalForwarders = Nothing
-    , _dcfrsResponseStatus = pResponseStatus_
-    }
+  DescribeConditionalForwardersResponse'
+  { _dcfrsConditionalForwarders = Nothing
+  , _dcfrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | The list of conditional forwarders that have been created.
 dcfrsConditionalForwarders :: Lens' DescribeConditionalForwardersResponse [ConditionalForwarder]
 dcfrsConditionalForwarders = lens _dcfrsConditionalForwarders (\ s a -> s{_dcfrsConditionalForwarders = a}) . _Default . _Coerce;
@@ -156,3 +158,4 @@
 dcfrsResponseStatus = lens _dcfrsResponseStatus (\ s a -> s{_dcfrsResponseStatus = a});
 
 instance NFData DescribeConditionalForwardersResponse
+         where
diff --git a/gen/Network/AWS/DirectoryService/DescribeDirectories.hs b/gen/Network/AWS/DirectoryService/DescribeDirectories.hs
--- a/gen/Network/AWS/DirectoryService/DescribeDirectories.hs
+++ b/gen/Network/AWS/DirectoryService/DescribeDirectories.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DescribeDirectories
--- 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,12 +46,12 @@
     , ddrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'DescribeDirectories' operation.
 --
@@ -59,11 +59,12 @@
 --
 -- /See:/ 'describeDirectories' smart constructor.
 data DescribeDirectories = DescribeDirectories'
-    { _ddNextToken    :: !(Maybe Text)
-    , _ddDirectoryIds :: !(Maybe [Text])
-    , _ddLimit        :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ddNextToken    :: !(Maybe Text)
+  , _ddDirectoryIds :: !(Maybe [Text])
+  , _ddLimit        :: !(Maybe Nat)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeDirectories' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -76,12 +77,10 @@
 describeDirectories
     :: DescribeDirectories
 describeDirectories =
-    DescribeDirectories'
-    { _ddNextToken = Nothing
-    , _ddDirectoryIds = Nothing
-    , _ddLimit = Nothing
-    }
+  DescribeDirectories'
+  {_ddNextToken = Nothing, _ddDirectoryIds = Nothing, _ddLimit = Nothing}
 
+
 -- | The /DescribeDirectoriesResult.NextToken/ value from a previous call to 'DescribeDirectories' . Pass null if this is the first call.
 ddNextToken :: Lens' DescribeDirectories (Maybe Text)
 ddNextToken = lens _ddNextToken (\ s a -> s{_ddNextToken = a});
@@ -106,9 +105,9 @@
                      (x .?> "NextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable DescribeDirectories
+instance Hashable DescribeDirectories where
 
-instance NFData DescribeDirectories
+instance NFData DescribeDirectories where
 
 instance ToHeaders DescribeDirectories where
         toHeaders
@@ -140,11 +139,12 @@
 --
 -- /See:/ 'describeDirectoriesResponse' smart constructor.
 data DescribeDirectoriesResponse = DescribeDirectoriesResponse'
-    { _ddrsDirectoryDescriptions :: !(Maybe [DirectoryDescription])
-    , _ddrsNextToken             :: !(Maybe Text)
-    , _ddrsResponseStatus        :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ddrsDirectoryDescriptions :: !(Maybe [DirectoryDescription])
+  , _ddrsNextToken             :: !(Maybe Text)
+  , _ddrsResponseStatus        :: !Int
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeDirectoriesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -158,12 +158,13 @@
     :: Int -- ^ 'ddrsResponseStatus'
     -> DescribeDirectoriesResponse
 describeDirectoriesResponse pResponseStatus_ =
-    DescribeDirectoriesResponse'
-    { _ddrsDirectoryDescriptions = Nothing
-    , _ddrsNextToken = Nothing
-    , _ddrsResponseStatus = pResponseStatus_
-    }
+  DescribeDirectoriesResponse'
+  { _ddrsDirectoryDescriptions = Nothing
+  , _ddrsNextToken = Nothing
+  , _ddrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | The list of 'DirectoryDescription' objects that were retrieved. It is possible that this list contains less than the number of items specified in the /Limit/ member of the request. This occurs if there are less than the requested number of items left to retrieve, or if the limitations of the operation have been exceeded.
 ddrsDirectoryDescriptions :: Lens' DescribeDirectoriesResponse [DirectoryDescription]
 ddrsDirectoryDescriptions = lens _ddrsDirectoryDescriptions (\ s a -> s{_ddrsDirectoryDescriptions = a}) . _Default . _Coerce;
@@ -176,4 +177,4 @@
 ddrsResponseStatus :: Lens' DescribeDirectoriesResponse Int
 ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a});
 
-instance NFData DescribeDirectoriesResponse
+instance NFData DescribeDirectoriesResponse where
diff --git a/gen/Network/AWS/DirectoryService/DescribeDomainControllers.hs b/gen/Network/AWS/DirectoryService/DescribeDomainControllers.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/DirectoryService/DescribeDomainControllers.hs
@@ -0,0 +1,182 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.DirectoryService.DescribeDomainControllers
+-- Copyright   : (c) 2013-2017 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Provides information about any domain controllers in your directory.
+--
+--
+module Network.AWS.DirectoryService.DescribeDomainControllers
+    (
+    -- * Creating a Request
+      describeDomainControllers
+    , DescribeDomainControllers
+    -- * Request Lenses
+    , ddcNextToken
+    , ddcDomainControllerIds
+    , ddcLimit
+    , ddcDirectoryId
+
+    -- * Destructuring the Response
+    , describeDomainControllersResponse
+    , DescribeDomainControllersResponse
+    -- * Response Lenses
+    , ddcrsNextToken
+    , ddcrsDomainControllers
+    , ddcrsResponseStatus
+    ) where
+
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+
+-- | /See:/ 'describeDomainControllers' smart constructor.
+data DescribeDomainControllers = DescribeDomainControllers'
+  { _ddcNextToken           :: !(Maybe Text)
+  , _ddcDomainControllerIds :: !(Maybe [Text])
+  , _ddcLimit               :: !(Maybe Nat)
+  , _ddcDirectoryId         :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
+
+
+-- | Creates a value of 'DescribeDomainControllers' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ddcNextToken' - The /DescribeDomainControllers.NextToken/ value from a previous call to 'DescribeDomainControllers' . Pass null if this is the first call.
+--
+-- * 'ddcDomainControllerIds' - A list of identifiers for the domain controllers whose information will be provided.
+--
+-- * 'ddcLimit' - The maximum number of items to return.
+--
+-- * 'ddcDirectoryId' - Identifier of the directory for which to retrieve the domain controller information.
+describeDomainControllers
+    :: Text -- ^ 'ddcDirectoryId'
+    -> DescribeDomainControllers
+describeDomainControllers pDirectoryId_ =
+  DescribeDomainControllers'
+  { _ddcNextToken = Nothing
+  , _ddcDomainControllerIds = Nothing
+  , _ddcLimit = Nothing
+  , _ddcDirectoryId = pDirectoryId_
+  }
+
+
+-- | The /DescribeDomainControllers.NextToken/ value from a previous call to 'DescribeDomainControllers' . Pass null if this is the first call.
+ddcNextToken :: Lens' DescribeDomainControllers (Maybe Text)
+ddcNextToken = lens _ddcNextToken (\ s a -> s{_ddcNextToken = a});
+
+-- | A list of identifiers for the domain controllers whose information will be provided.
+ddcDomainControllerIds :: Lens' DescribeDomainControllers [Text]
+ddcDomainControllerIds = lens _ddcDomainControllerIds (\ s a -> s{_ddcDomainControllerIds = a}) . _Default . _Coerce;
+
+-- | The maximum number of items to return.
+ddcLimit :: Lens' DescribeDomainControllers (Maybe Natural)
+ddcLimit = lens _ddcLimit (\ s a -> s{_ddcLimit = a}) . mapping _Nat;
+
+-- | Identifier of the directory for which to retrieve the domain controller information.
+ddcDirectoryId :: Lens' DescribeDomainControllers Text
+ddcDirectoryId = lens _ddcDirectoryId (\ s a -> s{_ddcDirectoryId = a});
+
+instance AWSRequest DescribeDomainControllers where
+        type Rs DescribeDomainControllers =
+             DescribeDomainControllersResponse
+        request = postJSON directoryService
+        response
+          = receiveJSON
+              (\ s h x ->
+                 DescribeDomainControllersResponse' <$>
+                   (x .?> "NextToken") <*>
+                     (x .?> "DomainControllers" .!@ mempty)
+                     <*> (pure (fromEnum s)))
+
+instance Hashable DescribeDomainControllers where
+
+instance NFData DescribeDomainControllers where
+
+instance ToHeaders DescribeDomainControllers where
+        toHeaders
+          = const
+              (mconcat
+                 ["X-Amz-Target" =#
+                    ("DirectoryService_20150416.DescribeDomainControllers"
+                       :: ByteString),
+                  "Content-Type" =#
+                    ("application/x-amz-json-1.1" :: ByteString)])
+
+instance ToJSON DescribeDomainControllers where
+        toJSON DescribeDomainControllers'{..}
+          = object
+              (catMaybes
+                 [("NextToken" .=) <$> _ddcNextToken,
+                  ("DomainControllerIds" .=) <$>
+                    _ddcDomainControllerIds,
+                  ("Limit" .=) <$> _ddcLimit,
+                  Just ("DirectoryId" .= _ddcDirectoryId)])
+
+instance ToPath DescribeDomainControllers where
+        toPath = const "/"
+
+instance ToQuery DescribeDomainControllers where
+        toQuery = const mempty
+
+-- | /See:/ 'describeDomainControllersResponse' smart constructor.
+data DescribeDomainControllersResponse = DescribeDomainControllersResponse'
+  { _ddcrsNextToken         :: !(Maybe Text)
+  , _ddcrsDomainControllers :: !(Maybe [DomainController])
+  , _ddcrsResponseStatus    :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
+
+
+-- | Creates a value of 'DescribeDomainControllersResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'ddcrsNextToken' - If not null, more results are available. Pass this value for the @NextToken@ parameter in a subsequent call to 'DescribeDomainControllers' retrieve the next set of items.
+--
+-- * 'ddcrsDomainControllers' - List of the 'DomainController' objects that were retrieved.
+--
+-- * 'ddcrsResponseStatus' - -- | The response status code.
+describeDomainControllersResponse
+    :: Int -- ^ 'ddcrsResponseStatus'
+    -> DescribeDomainControllersResponse
+describeDomainControllersResponse pResponseStatus_ =
+  DescribeDomainControllersResponse'
+  { _ddcrsNextToken = Nothing
+  , _ddcrsDomainControllers = Nothing
+  , _ddcrsResponseStatus = pResponseStatus_
+  }
+
+
+-- | If not null, more results are available. Pass this value for the @NextToken@ parameter in a subsequent call to 'DescribeDomainControllers' retrieve the next set of items.
+ddcrsNextToken :: Lens' DescribeDomainControllersResponse (Maybe Text)
+ddcrsNextToken = lens _ddcrsNextToken (\ s a -> s{_ddcrsNextToken = a});
+
+-- | List of the 'DomainController' objects that were retrieved.
+ddcrsDomainControllers :: Lens' DescribeDomainControllersResponse [DomainController]
+ddcrsDomainControllers = lens _ddcrsDomainControllers (\ s a -> s{_ddcrsDomainControllers = a}) . _Default . _Coerce;
+
+-- | -- | The response status code.
+ddcrsResponseStatus :: Lens' DescribeDomainControllersResponse Int
+ddcrsResponseStatus = lens _ddcrsResponseStatus (\ s a -> s{_ddcrsResponseStatus = a});
+
+instance NFData DescribeDomainControllersResponse
+         where
diff --git a/gen/Network/AWS/DirectoryService/DescribeEventTopics.hs b/gen/Network/AWS/DirectoryService/DescribeEventTopics.hs
--- a/gen/Network/AWS/DirectoryService/DescribeEventTopics.hs
+++ b/gen/Network/AWS/DirectoryService/DescribeEventTopics.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DescribeEventTopics
--- 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)
 --
@@ -40,12 +40,12 @@
     , detrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Describes event topics.
 --
@@ -53,10 +53,11 @@
 --
 -- /See:/ 'describeEventTopics' smart constructor.
 data DescribeEventTopics = DescribeEventTopics'
-    { _dDirectoryId :: !(Maybe Text)
-    , _dTopicNames  :: !(Maybe [Text])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dDirectoryId :: !(Maybe Text)
+  , _dTopicNames  :: !(Maybe [Text])
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEventTopics' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -67,11 +68,9 @@
 describeEventTopics
     :: DescribeEventTopics
 describeEventTopics =
-    DescribeEventTopics'
-    { _dDirectoryId = Nothing
-    , _dTopicNames = Nothing
-    }
+  DescribeEventTopics' {_dDirectoryId = Nothing, _dTopicNames = Nothing}
 
+
 -- | The Directory ID for which to get the list of associated SNS topics. If this member is null, associations for all Directory IDs are returned.
 dDirectoryId :: Lens' DescribeEventTopics (Maybe Text)
 dDirectoryId = lens _dDirectoryId (\ s a -> s{_dDirectoryId = a});
@@ -91,9 +90,9 @@
                    (x .?> "EventTopics" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
-instance Hashable DescribeEventTopics
+instance Hashable DescribeEventTopics where
 
-instance NFData DescribeEventTopics
+instance NFData DescribeEventTopics where
 
 instance ToHeaders DescribeEventTopics where
         toHeaders
@@ -124,10 +123,11 @@
 --
 -- /See:/ 'describeEventTopicsResponse' smart constructor.
 data DescribeEventTopicsResponse = DescribeEventTopicsResponse'
-    { _detrsEventTopics    :: !(Maybe [EventTopic])
-    , _detrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _detrsEventTopics    :: !(Maybe [EventTopic])
+  , _detrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeEventTopicsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -139,11 +139,10 @@
     :: Int -- ^ 'detrsResponseStatus'
     -> DescribeEventTopicsResponse
 describeEventTopicsResponse pResponseStatus_ =
-    DescribeEventTopicsResponse'
-    { _detrsEventTopics = Nothing
-    , _detrsResponseStatus = pResponseStatus_
-    }
+  DescribeEventTopicsResponse'
+  {_detrsEventTopics = Nothing, _detrsResponseStatus = pResponseStatus_}
 
+
 -- | A list of SNS topic names that receive status messages from the specified Directory ID.
 detrsEventTopics :: Lens' DescribeEventTopicsResponse [EventTopic]
 detrsEventTopics = lens _detrsEventTopics (\ s a -> s{_detrsEventTopics = a}) . _Default . _Coerce;
@@ -152,4 +151,4 @@
 detrsResponseStatus :: Lens' DescribeEventTopicsResponse Int
 detrsResponseStatus = lens _detrsResponseStatus (\ s a -> s{_detrsResponseStatus = a});
 
-instance NFData DescribeEventTopicsResponse
+instance NFData DescribeEventTopicsResponse where
diff --git a/gen/Network/AWS/DirectoryService/DescribeSnapshots.hs b/gen/Network/AWS/DirectoryService/DescribeSnapshots.hs
--- a/gen/Network/AWS/DirectoryService/DescribeSnapshots.hs
+++ b/gen/Network/AWS/DirectoryService/DescribeSnapshots.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DescribeSnapshots
--- 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 @@
     , dssrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'DescribeSnapshots' operation.
 --
@@ -58,12 +58,13 @@
 --
 -- /See:/ 'describeSnapshots' smart constructor.
 data DescribeSnapshots = DescribeSnapshots'
-    { _dsDirectoryId :: !(Maybe Text)
-    , _dsNextToken   :: !(Maybe Text)
-    , _dsSnapshotIds :: !(Maybe [Text])
-    , _dsLimit       :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dsDirectoryId :: !(Maybe Text)
+  , _dsNextToken   :: !(Maybe Text)
+  , _dsSnapshotIds :: !(Maybe [Text])
+  , _dsLimit       :: !(Maybe Nat)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeSnapshots' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -78,13 +79,14 @@
 describeSnapshots
     :: DescribeSnapshots
 describeSnapshots =
-    DescribeSnapshots'
-    { _dsDirectoryId = Nothing
-    , _dsNextToken = Nothing
-    , _dsSnapshotIds = Nothing
-    , _dsLimit = Nothing
-    }
+  DescribeSnapshots'
+  { _dsDirectoryId = Nothing
+  , _dsNextToken = Nothing
+  , _dsSnapshotIds = Nothing
+  , _dsLimit = Nothing
+  }
 
+
 -- | The identifier of the directory for which to retrieve snapshot information.
 dsDirectoryId :: Lens' DescribeSnapshots (Maybe Text)
 dsDirectoryId = lens _dsDirectoryId (\ s a -> s{_dsDirectoryId = a});
@@ -112,9 +114,9 @@
                      (x .?> "Snapshots" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
-instance Hashable DescribeSnapshots
+instance Hashable DescribeSnapshots where
 
-instance NFData DescribeSnapshots
+instance NFData DescribeSnapshots where
 
 instance ToHeaders DescribeSnapshots where
         toHeaders
@@ -147,11 +149,12 @@
 --
 -- /See:/ 'describeSnapshotsResponse' smart constructor.
 data DescribeSnapshotsResponse = DescribeSnapshotsResponse'
-    { _dssrsNextToken      :: !(Maybe Text)
-    , _dssrsSnapshots      :: !(Maybe [Snapshot])
-    , _dssrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dssrsNextToken      :: !(Maybe Text)
+  , _dssrsSnapshots      :: !(Maybe [Snapshot])
+  , _dssrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeSnapshotsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -165,12 +168,13 @@
     :: Int -- ^ 'dssrsResponseStatus'
     -> DescribeSnapshotsResponse
 describeSnapshotsResponse pResponseStatus_ =
-    DescribeSnapshotsResponse'
-    { _dssrsNextToken = Nothing
-    , _dssrsSnapshots = Nothing
-    , _dssrsResponseStatus = pResponseStatus_
-    }
+  DescribeSnapshotsResponse'
+  { _dssrsNextToken = Nothing
+  , _dssrsSnapshots = Nothing
+  , _dssrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | If not null, more results are available. Pass this value in the /NextToken/ member of a subsequent call to 'DescribeSnapshots' .
 dssrsNextToken :: Lens' DescribeSnapshotsResponse (Maybe Text)
 dssrsNextToken = lens _dssrsNextToken (\ s a -> s{_dssrsNextToken = a});
@@ -183,4 +187,4 @@
 dssrsResponseStatus :: Lens' DescribeSnapshotsResponse Int
 dssrsResponseStatus = lens _dssrsResponseStatus (\ s a -> s{_dssrsResponseStatus = a});
 
-instance NFData DescribeSnapshotsResponse
+instance NFData DescribeSnapshotsResponse where
diff --git a/gen/Network/AWS/DirectoryService/DescribeTrusts.hs b/gen/Network/AWS/DirectoryService/DescribeTrusts.hs
--- a/gen/Network/AWS/DirectoryService/DescribeTrusts.hs
+++ b/gen/Network/AWS/DirectoryService/DescribeTrusts.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DescribeTrusts
--- 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,12 +43,12 @@
     , dtrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Describes the trust relationships for a particular Microsoft AD in the AWS cloud. If no input parameters are are provided, such as directory ID or trust ID, this request describes all the trust relationships.
 --
@@ -56,12 +56,13 @@
 --
 -- /See:/ 'describeTrusts' smart constructor.
 data DescribeTrusts = DescribeTrusts'
-    { _dtDirectoryId :: !(Maybe Text)
-    , _dtNextToken   :: !(Maybe Text)
-    , _dtTrustIds    :: !(Maybe [Text])
-    , _dtLimit       :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dtDirectoryId :: !(Maybe Text)
+  , _dtNextToken   :: !(Maybe Text)
+  , _dtTrustIds    :: !(Maybe [Text])
+  , _dtLimit       :: !(Maybe Nat)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeTrusts' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -76,13 +77,14 @@
 describeTrusts
     :: DescribeTrusts
 describeTrusts =
-    DescribeTrusts'
-    { _dtDirectoryId = Nothing
-    , _dtNextToken = Nothing
-    , _dtTrustIds = Nothing
-    , _dtLimit = Nothing
-    }
+  DescribeTrusts'
+  { _dtDirectoryId = Nothing
+  , _dtNextToken = Nothing
+  , _dtTrustIds = Nothing
+  , _dtLimit = Nothing
+  }
 
+
 -- | The Directory ID of the AWS directory that is a part of the requested trust relationship.
 dtDirectoryId :: Lens' DescribeTrusts (Maybe Text)
 dtDirectoryId = lens _dtDirectoryId (\ s a -> s{_dtDirectoryId = a});
@@ -109,9 +111,9 @@
                    (x .?> "NextToken") <*> (x .?> "Trusts" .!@ mempty)
                      <*> (pure (fromEnum s)))
 
-instance Hashable DescribeTrusts
+instance Hashable DescribeTrusts where
 
-instance NFData DescribeTrusts
+instance NFData DescribeTrusts where
 
 instance ToHeaders DescribeTrusts where
         toHeaders
@@ -144,11 +146,12 @@
 --
 -- /See:/ 'describeTrustsResponse' smart constructor.
 data DescribeTrustsResponse = DescribeTrustsResponse'
-    { _dtrsNextToken      :: !(Maybe Text)
-    , _dtrsTrusts         :: !(Maybe [Trust])
-    , _dtrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dtrsNextToken      :: !(Maybe Text)
+  , _dtrsTrusts         :: !(Maybe [Trust])
+  , _dtrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DescribeTrustsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -162,12 +165,13 @@
     :: Int -- ^ 'dtrsResponseStatus'
     -> DescribeTrustsResponse
 describeTrustsResponse pResponseStatus_ =
-    DescribeTrustsResponse'
-    { _dtrsNextToken = Nothing
-    , _dtrsTrusts = Nothing
-    , _dtrsResponseStatus = pResponseStatus_
-    }
+  DescribeTrustsResponse'
+  { _dtrsNextToken = Nothing
+  , _dtrsTrusts = Nothing
+  , _dtrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | If not null, more results are available. Pass this value for the /NextToken/ parameter in a subsequent call to 'DescribeTrusts' to retrieve the next set of items.
 dtrsNextToken :: Lens' DescribeTrustsResponse (Maybe Text)
 dtrsNextToken = lens _dtrsNextToken (\ s a -> s{_dtrsNextToken = a});
@@ -180,4 +184,4 @@
 dtrsResponseStatus :: Lens' DescribeTrustsResponse Int
 dtrsResponseStatus = lens _dtrsResponseStatus (\ s a -> s{_dtrsResponseStatus = a});
 
-instance NFData DescribeTrustsResponse
+instance NFData DescribeTrustsResponse where
diff --git a/gen/Network/AWS/DirectoryService/DisableRadius.hs b/gen/Network/AWS/DirectoryService/DisableRadius.hs
--- a/gen/Network/AWS/DirectoryService/DisableRadius.hs
+++ b/gen/Network/AWS/DirectoryService/DisableRadius.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DisableRadius
--- 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)
 --
@@ -36,12 +36,12 @@
     , drrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'DisableRadius' operation.
 --
@@ -49,9 +49,10 @@
 --
 -- /See:/ 'disableRadius' smart constructor.
 newtype DisableRadius = DisableRadius'
-    { _drDirectoryId :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _drDirectoryId :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DisableRadius' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -60,11 +61,9 @@
 disableRadius
     :: Text -- ^ 'drDirectoryId'
     -> DisableRadius
-disableRadius pDirectoryId_ =
-    DisableRadius'
-    { _drDirectoryId = pDirectoryId_
-    }
+disableRadius pDirectoryId_ = DisableRadius' {_drDirectoryId = pDirectoryId_}
 
+
 -- | The identifier of the directory for which to disable MFA.
 drDirectoryId :: Lens' DisableRadius Text
 drDirectoryId = lens _drDirectoryId (\ s a -> s{_drDirectoryId = a});
@@ -77,9 +76,9 @@
               (\ s h x ->
                  DisableRadiusResponse' <$> (pure (fromEnum s)))
 
-instance Hashable DisableRadius
+instance Hashable DisableRadius where
 
-instance NFData DisableRadius
+instance NFData DisableRadius where
 
 instance ToHeaders DisableRadius where
         toHeaders
@@ -108,9 +107,10 @@
 --
 -- /See:/ 'disableRadiusResponse' smart constructor.
 newtype DisableRadiusResponse = DisableRadiusResponse'
-    { _drrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _drrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DisableRadiusResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -120,12 +120,11 @@
     :: Int -- ^ 'drrsResponseStatus'
     -> DisableRadiusResponse
 disableRadiusResponse pResponseStatus_ =
-    DisableRadiusResponse'
-    { _drrsResponseStatus = pResponseStatus_
-    }
+  DisableRadiusResponse' {_drrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 drrsResponseStatus :: Lens' DisableRadiusResponse Int
 drrsResponseStatus = lens _drrsResponseStatus (\ s a -> s{_drrsResponseStatus = a});
 
-instance NFData DisableRadiusResponse
+instance NFData DisableRadiusResponse where
diff --git a/gen/Network/AWS/DirectoryService/DisableSSO.hs b/gen/Network/AWS/DirectoryService/DisableSSO.hs
--- a/gen/Network/AWS/DirectoryService/DisableSSO.hs
+++ b/gen/Network/AWS/DirectoryService/DisableSSO.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.DisableSSO
--- 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 @@
     , dssorsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'DisableSso' operation.
 --
@@ -51,11 +51,12 @@
 --
 -- /See:/ 'disableSSO' smart constructor.
 data DisableSSO = DisableSSO'
-    { _dssoUserName    :: !(Maybe Text)
-    , _dssoPassword    :: !(Maybe (Sensitive Text))
-    , _dssoDirectoryId :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dssoUserName    :: !(Maybe Text)
+  , _dssoPassword    :: !(Maybe (Sensitive Text))
+  , _dssoDirectoryId :: !Text
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DisableSSO' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -69,12 +70,13 @@
     :: Text -- ^ 'dssoDirectoryId'
     -> DisableSSO
 disableSSO pDirectoryId_ =
-    DisableSSO'
-    { _dssoUserName = Nothing
-    , _dssoPassword = Nothing
-    , _dssoDirectoryId = pDirectoryId_
-    }
+  DisableSSO'
+  { _dssoUserName = Nothing
+  , _dssoPassword = Nothing
+  , _dssoDirectoryId = pDirectoryId_
+  }
 
+
 -- | The username of an alternate account to use to disable single-sign on. This is only used for AD Connector directories. This account must have privileges to remove a service principal name. If the AD Connector service account does not have privileges to remove a service principal name, you can specify an alternate account with the /UserName/ and /Password/ parameters. These credentials are only used to disable single sign-on and are not stored by the service. The AD Connector service account is not changed.
 dssoUserName :: Lens' DisableSSO (Maybe Text)
 dssoUserName = lens _dssoUserName (\ s a -> s{_dssoUserName = a});
@@ -95,9 +97,9 @@
               (\ s h x ->
                  DisableSSOResponse' <$> (pure (fromEnum s)))
 
-instance Hashable DisableSSO
+instance Hashable DisableSSO where
 
-instance NFData DisableSSO
+instance NFData DisableSSO where
 
 instance ToHeaders DisableSSO where
         toHeaders
@@ -129,9 +131,10 @@
 --
 -- /See:/ 'disableSSOResponse' smart constructor.
 newtype DisableSSOResponse = DisableSSOResponse'
-    { _dssorsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dssorsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DisableSSOResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -141,12 +144,11 @@
     :: Int -- ^ 'dssorsResponseStatus'
     -> DisableSSOResponse
 disableSSOResponse pResponseStatus_ =
-    DisableSSOResponse'
-    { _dssorsResponseStatus = pResponseStatus_
-    }
+  DisableSSOResponse' {_dssorsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 dssorsResponseStatus :: Lens' DisableSSOResponse Int
 dssorsResponseStatus = lens _dssorsResponseStatus (\ s a -> s{_dssorsResponseStatus = a});
 
-instance NFData DisableSSOResponse
+instance NFData DisableSSOResponse where
diff --git a/gen/Network/AWS/DirectoryService/EnableRadius.hs b/gen/Network/AWS/DirectoryService/EnableRadius.hs
--- a/gen/Network/AWS/DirectoryService/EnableRadius.hs
+++ b/gen/Network/AWS/DirectoryService/EnableRadius.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.EnableRadius
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , errsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'EnableRadius' operation.
 --
@@ -50,10 +50,11 @@
 --
 -- /See:/ 'enableRadius' smart constructor.
 data EnableRadius = EnableRadius'
-    { _erDirectoryId    :: !Text
-    , _erRadiusSettings :: !RadiusSettings
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _erDirectoryId    :: !Text
+  , _erRadiusSettings :: !RadiusSettings
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EnableRadius' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -66,11 +67,10 @@
     -> RadiusSettings -- ^ 'erRadiusSettings'
     -> EnableRadius
 enableRadius pDirectoryId_ pRadiusSettings_ =
-    EnableRadius'
-    { _erDirectoryId = pDirectoryId_
-    , _erRadiusSettings = pRadiusSettings_
-    }
+  EnableRadius'
+  {_erDirectoryId = pDirectoryId_, _erRadiusSettings = pRadiusSettings_}
 
+
 -- | The identifier of the directory for which to enable MFA.
 erDirectoryId :: Lens' EnableRadius Text
 erDirectoryId = lens _erDirectoryId (\ s a -> s{_erDirectoryId = a});
@@ -87,9 +87,9 @@
               (\ s h x ->
                  EnableRadiusResponse' <$> (pure (fromEnum s)))
 
-instance Hashable EnableRadius
+instance Hashable EnableRadius where
 
-instance NFData EnableRadius
+instance NFData EnableRadius where
 
 instance ToHeaders EnableRadius where
         toHeaders
@@ -120,9 +120,10 @@
 --
 -- /See:/ 'enableRadiusResponse' smart constructor.
 newtype EnableRadiusResponse = EnableRadiusResponse'
-    { _errsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _errsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EnableRadiusResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -132,12 +133,11 @@
     :: Int -- ^ 'errsResponseStatus'
     -> EnableRadiusResponse
 enableRadiusResponse pResponseStatus_ =
-    EnableRadiusResponse'
-    { _errsResponseStatus = pResponseStatus_
-    }
+  EnableRadiusResponse' {_errsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 errsResponseStatus :: Lens' EnableRadiusResponse Int
 errsResponseStatus = lens _errsResponseStatus (\ s a -> s{_errsResponseStatus = a});
 
-instance NFData EnableRadiusResponse
+instance NFData EnableRadiusResponse where
diff --git a/gen/Network/AWS/DirectoryService/EnableSSO.hs b/gen/Network/AWS/DirectoryService/EnableSSO.hs
--- a/gen/Network/AWS/DirectoryService/EnableSSO.hs
+++ b/gen/Network/AWS/DirectoryService/EnableSSO.hs
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.EnableSSO
--- 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)
 --
--- Enables single-sign on for a directory.
+-- Enables single sign-on for a directory.
 --
 --
 module Network.AWS.DirectoryService.EnableSSO
@@ -38,12 +38,12 @@
     , esrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'EnableSso' operation.
 --
@@ -51,11 +51,12 @@
 --
 -- /See:/ 'enableSSO' smart constructor.
 data EnableSSO = EnableSSO'
-    { _esUserName    :: !(Maybe Text)
-    , _esPassword    :: !(Maybe (Sensitive Text))
-    , _esDirectoryId :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _esUserName    :: !(Maybe Text)
+  , _esPassword    :: !(Maybe (Sensitive Text))
+  , _esDirectoryId :: !Text
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EnableSSO' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -69,12 +70,10 @@
     :: Text -- ^ 'esDirectoryId'
     -> EnableSSO
 enableSSO pDirectoryId_ =
-    EnableSSO'
-    { _esUserName = Nothing
-    , _esPassword = Nothing
-    , _esDirectoryId = pDirectoryId_
-    }
+  EnableSSO'
+  {_esUserName = Nothing, _esPassword = Nothing, _esDirectoryId = pDirectoryId_}
 
+
 -- | The username of an alternate account to use to enable single-sign on. This is only used for AD Connector directories. This account must have privileges to add a service principal name. If the AD Connector service account does not have privileges to add a service principal name, you can specify an alternate account with the /UserName/ and /Password/ parameters. These credentials are only used to enable single sign-on and are not stored by the service. The AD Connector service account is not changed.
 esUserName :: Lens' EnableSSO (Maybe Text)
 esUserName = lens _esUserName (\ s a -> s{_esUserName = a});
@@ -95,9 +94,9 @@
               (\ s h x ->
                  EnableSSOResponse' <$> (pure (fromEnum s)))
 
-instance Hashable EnableSSO
+instance Hashable EnableSSO where
 
-instance NFData EnableSSO
+instance NFData EnableSSO where
 
 instance ToHeaders EnableSSO where
         toHeaders
@@ -129,9 +128,10 @@
 --
 -- /See:/ 'enableSSOResponse' smart constructor.
 newtype EnableSSOResponse = EnableSSOResponse'
-    { _esrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _esrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EnableSSOResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -141,12 +141,11 @@
     :: Int -- ^ 'esrsResponseStatus'
     -> EnableSSOResponse
 enableSSOResponse pResponseStatus_ =
-    EnableSSOResponse'
-    { _esrsResponseStatus = pResponseStatus_
-    }
+  EnableSSOResponse' {_esrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 esrsResponseStatus :: Lens' EnableSSOResponse Int
 esrsResponseStatus = lens _esrsResponseStatus (\ s a -> s{_esrsResponseStatus = a});
 
-instance NFData EnableSSOResponse
+instance NFData EnableSSOResponse where
diff --git a/gen/Network/AWS/DirectoryService/GetDirectoryLimits.hs b/gen/Network/AWS/DirectoryService/GetDirectoryLimits.hs
--- a/gen/Network/AWS/DirectoryService/GetDirectoryLimits.hs
+++ b/gen/Network/AWS/DirectoryService/GetDirectoryLimits.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.GetDirectoryLimits
--- 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)
 --
@@ -35,12 +35,12 @@
     , gdlrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'GetDirectoryLimits' operation.
 --
@@ -48,15 +48,17 @@
 --
 -- /See:/ 'getDirectoryLimits' smart constructor.
 data GetDirectoryLimits =
-    GetDirectoryLimits'
-    deriving (Eq,Read,Show,Data,Typeable,Generic)
+  GetDirectoryLimits'
+  deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetDirectoryLimits' with the minimum fields required to make a request.
 --
 getDirectoryLimits
     :: GetDirectoryLimits
 getDirectoryLimits = GetDirectoryLimits'
 
+
 instance AWSRequest GetDirectoryLimits where
         type Rs GetDirectoryLimits =
              GetDirectoryLimitsResponse
@@ -67,9 +69,9 @@
                  GetDirectoryLimitsResponse' <$>
                    (x .?> "DirectoryLimits") <*> (pure (fromEnum s)))
 
-instance Hashable GetDirectoryLimits
+instance Hashable GetDirectoryLimits where
 
-instance NFData GetDirectoryLimits
+instance NFData GetDirectoryLimits where
 
 instance ToHeaders GetDirectoryLimits where
         toHeaders
@@ -96,10 +98,11 @@
 --
 -- /See:/ 'getDirectoryLimitsResponse' smart constructor.
 data GetDirectoryLimitsResponse = GetDirectoryLimitsResponse'
-    { _gdlrsDirectoryLimits :: !(Maybe DirectoryLimits)
-    , _gdlrsResponseStatus  :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gdlrsDirectoryLimits :: !(Maybe DirectoryLimits)
+  , _gdlrsResponseStatus  :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetDirectoryLimitsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -111,11 +114,10 @@
     :: Int -- ^ 'gdlrsResponseStatus'
     -> GetDirectoryLimitsResponse
 getDirectoryLimitsResponse pResponseStatus_ =
-    GetDirectoryLimitsResponse'
-    { _gdlrsDirectoryLimits = Nothing
-    , _gdlrsResponseStatus = pResponseStatus_
-    }
+  GetDirectoryLimitsResponse'
+  {_gdlrsDirectoryLimits = Nothing, _gdlrsResponseStatus = pResponseStatus_}
 
+
 -- | A 'DirectoryLimits' object that contains the directory limits for the current region.
 gdlrsDirectoryLimits :: Lens' GetDirectoryLimitsResponse (Maybe DirectoryLimits)
 gdlrsDirectoryLimits = lens _gdlrsDirectoryLimits (\ s a -> s{_gdlrsDirectoryLimits = a});
@@ -124,4 +126,4 @@
 gdlrsResponseStatus :: Lens' GetDirectoryLimitsResponse Int
 gdlrsResponseStatus = lens _gdlrsResponseStatus (\ s a -> s{_gdlrsResponseStatus = a});
 
-instance NFData GetDirectoryLimitsResponse
+instance NFData GetDirectoryLimitsResponse where
diff --git a/gen/Network/AWS/DirectoryService/GetSnapshotLimits.hs b/gen/Network/AWS/DirectoryService/GetSnapshotLimits.hs
--- a/gen/Network/AWS/DirectoryService/GetSnapshotLimits.hs
+++ b/gen/Network/AWS/DirectoryService/GetSnapshotLimits.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.GetSnapshotLimits
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , gslrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'GetSnapshotLimits' operation.
 --
@@ -50,9 +50,10 @@
 --
 -- /See:/ 'getSnapshotLimits' smart constructor.
 newtype GetSnapshotLimits = GetSnapshotLimits'
-    { _gslDirectoryId :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gslDirectoryId :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetSnapshotLimits' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -62,10 +63,9 @@
     :: Text -- ^ 'gslDirectoryId'
     -> GetSnapshotLimits
 getSnapshotLimits pDirectoryId_ =
-    GetSnapshotLimits'
-    { _gslDirectoryId = pDirectoryId_
-    }
+  GetSnapshotLimits' {_gslDirectoryId = pDirectoryId_}
 
+
 -- | Contains the identifier of the directory to obtain the limits for.
 gslDirectoryId :: Lens' GetSnapshotLimits Text
 gslDirectoryId = lens _gslDirectoryId (\ s a -> s{_gslDirectoryId = a});
@@ -79,9 +79,9 @@
                  GetSnapshotLimitsResponse' <$>
                    (x .?> "SnapshotLimits") <*> (pure (fromEnum s)))
 
-instance Hashable GetSnapshotLimits
+instance Hashable GetSnapshotLimits where
 
-instance NFData GetSnapshotLimits
+instance NFData GetSnapshotLimits where
 
 instance ToHeaders GetSnapshotLimits where
         toHeaders
@@ -110,10 +110,11 @@
 --
 -- /See:/ 'getSnapshotLimitsResponse' smart constructor.
 data GetSnapshotLimitsResponse = GetSnapshotLimitsResponse'
-    { _gslrsSnapshotLimits :: !(Maybe SnapshotLimits)
-    , _gslrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _gslrsSnapshotLimits :: !(Maybe SnapshotLimits)
+  , _gslrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'GetSnapshotLimitsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -125,11 +126,10 @@
     :: Int -- ^ 'gslrsResponseStatus'
     -> GetSnapshotLimitsResponse
 getSnapshotLimitsResponse pResponseStatus_ =
-    GetSnapshotLimitsResponse'
-    { _gslrsSnapshotLimits = Nothing
-    , _gslrsResponseStatus = pResponseStatus_
-    }
+  GetSnapshotLimitsResponse'
+  {_gslrsSnapshotLimits = Nothing, _gslrsResponseStatus = pResponseStatus_}
 
+
 -- | A 'SnapshotLimits' object that contains the manual snapshot limits for the specified directory.
 gslrsSnapshotLimits :: Lens' GetSnapshotLimitsResponse (Maybe SnapshotLimits)
 gslrsSnapshotLimits = lens _gslrsSnapshotLimits (\ s a -> s{_gslrsSnapshotLimits = a});
@@ -138,4 +138,4 @@
 gslrsResponseStatus :: Lens' GetSnapshotLimitsResponse Int
 gslrsResponseStatus = lens _gslrsResponseStatus (\ s a -> s{_gslrsResponseStatus = a});
 
-instance NFData GetSnapshotLimitsResponse
+instance NFData GetSnapshotLimitsResponse where
diff --git a/gen/Network/AWS/DirectoryService/ListIPRoutes.hs b/gen/Network/AWS/DirectoryService/ListIPRoutes.hs
--- a/gen/Network/AWS/DirectoryService/ListIPRoutes.hs
+++ b/gen/Network/AWS/DirectoryService/ListIPRoutes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.ListIPRoutes
--- 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)
 --
@@ -40,20 +40,21 @@
     , lirrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'listIPRoutes' smart constructor.
 data ListIPRoutes = ListIPRoutes'
-    { _lirNextToken   :: !(Maybe Text)
-    , _lirLimit       :: !(Maybe Nat)
-    , _lirDirectoryId :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lirNextToken   :: !(Maybe Text)
+  , _lirLimit       :: !(Maybe Nat)
+  , _lirDirectoryId :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListIPRoutes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -67,12 +68,13 @@
     :: Text -- ^ 'lirDirectoryId'
     -> ListIPRoutes
 listIPRoutes pDirectoryId_ =
-    ListIPRoutes'
-    { _lirNextToken = Nothing
-    , _lirLimit = Nothing
-    , _lirDirectoryId = pDirectoryId_
-    }
+  ListIPRoutes'
+  { _lirNextToken = Nothing
+  , _lirLimit = Nothing
+  , _lirDirectoryId = pDirectoryId_
+  }
 
+
 -- | The /ListIpRoutes.NextToken/ value from a previous call to 'ListIpRoutes' . Pass null if this is the first call.
 lirNextToken :: Lens' ListIPRoutes (Maybe Text)
 lirNextToken = lens _lirNextToken (\ s a -> s{_lirNextToken = a});
@@ -96,9 +98,9 @@
                      (x .?> "NextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable ListIPRoutes
+instance Hashable ListIPRoutes where
 
-instance NFData ListIPRoutes
+instance NFData ListIPRoutes where
 
 instance ToHeaders ListIPRoutes where
         toHeaders
@@ -126,11 +128,12 @@
 
 -- | /See:/ 'listIPRoutesResponse' smart constructor.
 data ListIPRoutesResponse = ListIPRoutesResponse'
-    { _lirrsIPRoutesInfo   :: !(Maybe [IPRouteInfo])
-    , _lirrsNextToken      :: !(Maybe Text)
-    , _lirrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lirrsIPRoutesInfo   :: !(Maybe [IPRouteInfo])
+  , _lirrsNextToken      :: !(Maybe Text)
+  , _lirrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListIPRoutesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -144,12 +147,13 @@
     :: Int -- ^ 'lirrsResponseStatus'
     -> ListIPRoutesResponse
 listIPRoutesResponse pResponseStatus_ =
-    ListIPRoutesResponse'
-    { _lirrsIPRoutesInfo = Nothing
-    , _lirrsNextToken = Nothing
-    , _lirrsResponseStatus = pResponseStatus_
-    }
+  ListIPRoutesResponse'
+  { _lirrsIPRoutesInfo = Nothing
+  , _lirrsNextToken = Nothing
+  , _lirrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | A list of 'IpRoute' s.
 lirrsIPRoutesInfo :: Lens' ListIPRoutesResponse [IPRouteInfo]
 lirrsIPRoutesInfo = lens _lirrsIPRoutesInfo (\ s a -> s{_lirrsIPRoutesInfo = a}) . _Default . _Coerce;
@@ -162,4 +166,4 @@
 lirrsResponseStatus :: Lens' ListIPRoutesResponse Int
 lirrsResponseStatus = lens _lirrsResponseStatus (\ s a -> s{_lirrsResponseStatus = a});
 
-instance NFData ListIPRoutesResponse
+instance NFData ListIPRoutesResponse where
diff --git a/gen/Network/AWS/DirectoryService/ListSchemaExtensions.hs b/gen/Network/AWS/DirectoryService/ListSchemaExtensions.hs
--- a/gen/Network/AWS/DirectoryService/ListSchemaExtensions.hs
+++ b/gen/Network/AWS/DirectoryService/ListSchemaExtensions.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.ListSchemaExtensions
--- 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)
 --
@@ -40,20 +40,21 @@
     , lsersResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'listSchemaExtensions' smart constructor.
 data ListSchemaExtensions = ListSchemaExtensions'
-    { _lseNextToken   :: !(Maybe Text)
-    , _lseLimit       :: !(Maybe Nat)
-    , _lseDirectoryId :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lseNextToken   :: !(Maybe Text)
+  , _lseLimit       :: !(Maybe Nat)
+  , _lseDirectoryId :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListSchemaExtensions' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -67,12 +68,13 @@
     :: Text -- ^ 'lseDirectoryId'
     -> ListSchemaExtensions
 listSchemaExtensions pDirectoryId_ =
-    ListSchemaExtensions'
-    { _lseNextToken = Nothing
-    , _lseLimit = Nothing
-    , _lseDirectoryId = pDirectoryId_
-    }
+  ListSchemaExtensions'
+  { _lseNextToken = Nothing
+  , _lseLimit = Nothing
+  , _lseDirectoryId = pDirectoryId_
+  }
 
+
 -- | The @ListSchemaExtensions.NextToken@ value from a previous call to @ListSchemaExtensions@ . Pass null if this is the first call.
 lseNextToken :: Lens' ListSchemaExtensions (Maybe Text)
 lseNextToken = lens _lseNextToken (\ s a -> s{_lseNextToken = a});
@@ -97,9 +99,9 @@
                      (x .?> "NextToken")
                      <*> (pure (fromEnum s)))
 
-instance Hashable ListSchemaExtensions
+instance Hashable ListSchemaExtensions where
 
-instance NFData ListSchemaExtensions
+instance NFData ListSchemaExtensions where
 
 instance ToHeaders ListSchemaExtensions where
         toHeaders
@@ -127,11 +129,12 @@
 
 -- | /See:/ 'listSchemaExtensionsResponse' smart constructor.
 data ListSchemaExtensionsResponse = ListSchemaExtensionsResponse'
-    { _lsersSchemaExtensionsInfo :: !(Maybe [SchemaExtensionInfo])
-    , _lsersNextToken            :: !(Maybe Text)
-    , _lsersResponseStatus       :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _lsersSchemaExtensionsInfo :: !(Maybe [SchemaExtensionInfo])
+  , _lsersNextToken            :: !(Maybe Text)
+  , _lsersResponseStatus       :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListSchemaExtensionsResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -145,12 +148,13 @@
     :: Int -- ^ 'lsersResponseStatus'
     -> ListSchemaExtensionsResponse
 listSchemaExtensionsResponse pResponseStatus_ =
-    ListSchemaExtensionsResponse'
-    { _lsersSchemaExtensionsInfo = Nothing
-    , _lsersNextToken = Nothing
-    , _lsersResponseStatus = pResponseStatus_
-    }
+  ListSchemaExtensionsResponse'
+  { _lsersSchemaExtensionsInfo = Nothing
+  , _lsersNextToken = Nothing
+  , _lsersResponseStatus = pResponseStatus_
+  }
 
+
 -- | Information about the schema extensions applied to the directory.
 lsersSchemaExtensionsInfo :: Lens' ListSchemaExtensionsResponse [SchemaExtensionInfo]
 lsersSchemaExtensionsInfo = lens _lsersSchemaExtensionsInfo (\ s a -> s{_lsersSchemaExtensionsInfo = a}) . _Default . _Coerce;
@@ -163,4 +167,4 @@
 lsersResponseStatus :: Lens' ListSchemaExtensionsResponse Int
 lsersResponseStatus = lens _lsersResponseStatus (\ s a -> s{_lsersResponseStatus = a});
 
-instance NFData ListSchemaExtensionsResponse
+instance NFData ListSchemaExtensionsResponse where
diff --git a/gen/Network/AWS/DirectoryService/ListTagsForResource.hs b/gen/Network/AWS/DirectoryService/ListTagsForResource.hs
--- a/gen/Network/AWS/DirectoryService/ListTagsForResource.hs
+++ b/gen/Network/AWS/DirectoryService/ListTagsForResource.hs
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.ListTagsForResource
--- 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)
 --
--- Lists all tags on an Amazon Directory Services directory.
+-- Lists all tags on a directory.
 --
 --
 module Network.AWS.DirectoryService.ListTagsForResource
@@ -40,20 +40,21 @@
     , ltfrrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'listTagsForResource' smart constructor.
 data ListTagsForResource = ListTagsForResource'
-    { _ltfrNextToken  :: !(Maybe Text)
-    , _ltfrLimit      :: !(Maybe Nat)
-    , _ltfrResourceId :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ltfrNextToken  :: !(Maybe Text)
+  , _ltfrLimit      :: !(Maybe Nat)
+  , _ltfrResourceId :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListTagsForResource' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -67,12 +68,13 @@
     :: Text -- ^ 'ltfrResourceId'
     -> ListTagsForResource
 listTagsForResource pResourceId_ =
-    ListTagsForResource'
-    { _ltfrNextToken = Nothing
-    , _ltfrLimit = Nothing
-    , _ltfrResourceId = pResourceId_
-    }
+  ListTagsForResource'
+  { _ltfrNextToken = Nothing
+  , _ltfrLimit = Nothing
+  , _ltfrResourceId = pResourceId_
+  }
 
+
 -- | Reserved for future use.
 ltfrNextToken :: Lens' ListTagsForResource (Maybe Text)
 ltfrNextToken = lens _ltfrNextToken (\ s a -> s{_ltfrNextToken = a});
@@ -96,9 +98,9 @@
                    (x .?> "NextToken") <*> (x .?> "Tags" .!@ mempty) <*>
                      (pure (fromEnum s)))
 
-instance Hashable ListTagsForResource
+instance Hashable ListTagsForResource where
 
-instance NFData ListTagsForResource
+instance NFData ListTagsForResource where
 
 instance ToHeaders ListTagsForResource where
         toHeaders
@@ -126,11 +128,12 @@
 
 -- | /See:/ 'listTagsForResourceResponse' smart constructor.
 data ListTagsForResourceResponse = ListTagsForResourceResponse'
-    { _ltfrrsNextToken      :: !(Maybe Text)
-    , _ltfrrsTags           :: !(Maybe [Tag])
-    , _ltfrrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ltfrrsNextToken      :: !(Maybe Text)
+  , _ltfrrsTags           :: !(Maybe [Tag])
+  , _ltfrrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ListTagsForResourceResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -144,12 +147,13 @@
     :: Int -- ^ 'ltfrrsResponseStatus'
     -> ListTagsForResourceResponse
 listTagsForResourceResponse pResponseStatus_ =
-    ListTagsForResourceResponse'
-    { _ltfrrsNextToken = Nothing
-    , _ltfrrsTags = Nothing
-    , _ltfrrsResponseStatus = pResponseStatus_
-    }
+  ListTagsForResourceResponse'
+  { _ltfrrsNextToken = Nothing
+  , _ltfrrsTags = Nothing
+  , _ltfrrsResponseStatus = pResponseStatus_
+  }
 
+
 -- | Reserved for future use.
 ltfrrsNextToken :: Lens' ListTagsForResourceResponse (Maybe Text)
 ltfrrsNextToken = lens _ltfrrsNextToken (\ s a -> s{_ltfrrsNextToken = a});
@@ -162,4 +166,4 @@
 ltfrrsResponseStatus :: Lens' ListTagsForResourceResponse Int
 ltfrrsResponseStatus = lens _ltfrrsResponseStatus (\ s a -> s{_ltfrrsResponseStatus = a});
 
-instance NFData ListTagsForResourceResponse
+instance NFData ListTagsForResourceResponse where
diff --git a/gen/Network/AWS/DirectoryService/RegisterEventTopic.hs b/gen/Network/AWS/DirectoryService/RegisterEventTopic.hs
--- a/gen/Network/AWS/DirectoryService/RegisterEventTopic.hs
+++ b/gen/Network/AWS/DirectoryService/RegisterEventTopic.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.RegisterEventTopic
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , retrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Registers a new event topic.
 --
@@ -50,10 +50,11 @@
 --
 -- /See:/ 'registerEventTopic' smart constructor.
 data RegisterEventTopic = RegisterEventTopic'
-    { _retDirectoryId :: !Text
-    , _retTopicName   :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _retDirectoryId :: !Text
+  , _retTopicName   :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RegisterEventTopic' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -66,11 +67,10 @@
     -> Text -- ^ 'retTopicName'
     -> RegisterEventTopic
 registerEventTopic pDirectoryId_ pTopicName_ =
-    RegisterEventTopic'
-    { _retDirectoryId = pDirectoryId_
-    , _retTopicName = pTopicName_
-    }
+  RegisterEventTopic'
+  {_retDirectoryId = pDirectoryId_, _retTopicName = pTopicName_}
 
+
 -- | The Directory ID that will publish status messages to the SNS topic.
 retDirectoryId :: Lens' RegisterEventTopic Text
 retDirectoryId = lens _retDirectoryId (\ s a -> s{_retDirectoryId = a});
@@ -88,9 +88,9 @@
               (\ s h x ->
                  RegisterEventTopicResponse' <$> (pure (fromEnum s)))
 
-instance Hashable RegisterEventTopic
+instance Hashable RegisterEventTopic where
 
-instance NFData RegisterEventTopic
+instance NFData RegisterEventTopic where
 
 instance ToHeaders RegisterEventTopic where
         toHeaders
@@ -121,9 +121,10 @@
 --
 -- /See:/ 'registerEventTopicResponse' smart constructor.
 newtype RegisterEventTopicResponse = RegisterEventTopicResponse'
-    { _retrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _retrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RegisterEventTopicResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -133,12 +134,11 @@
     :: Int -- ^ 'retrsResponseStatus'
     -> RegisterEventTopicResponse
 registerEventTopicResponse pResponseStatus_ =
-    RegisterEventTopicResponse'
-    { _retrsResponseStatus = pResponseStatus_
-    }
+  RegisterEventTopicResponse' {_retrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 retrsResponseStatus :: Lens' RegisterEventTopicResponse Int
 retrsResponseStatus = lens _retrsResponseStatus (\ s a -> s{_retrsResponseStatus = a});
 
-instance NFData RegisterEventTopicResponse
+instance NFData RegisterEventTopicResponse where
diff --git a/gen/Network/AWS/DirectoryService/RemoveIPRoutes.hs b/gen/Network/AWS/DirectoryService/RemoveIPRoutes.hs
--- a/gen/Network/AWS/DirectoryService/RemoveIPRoutes.hs
+++ b/gen/Network/AWS/DirectoryService/RemoveIPRoutes.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.RemoveIPRoutes
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,19 +37,20 @@
     , rirrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'removeIPRoutes' smart constructor.
 data RemoveIPRoutes = RemoveIPRoutes'
-    { _rirDirectoryId :: !Text
-    , _rirCidrIPs     :: ![Text]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rirDirectoryId :: !Text
+  , _rirCidrIPs     :: ![Text]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RemoveIPRoutes' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -61,11 +62,9 @@
     :: Text -- ^ 'rirDirectoryId'
     -> RemoveIPRoutes
 removeIPRoutes pDirectoryId_ =
-    RemoveIPRoutes'
-    { _rirDirectoryId = pDirectoryId_
-    , _rirCidrIPs = mempty
-    }
+  RemoveIPRoutes' {_rirDirectoryId = pDirectoryId_, _rirCidrIPs = mempty}
 
+
 -- | Identifier (ID) of the directory from which you want to remove the IP addresses.
 rirDirectoryId :: Lens' RemoveIPRoutes Text
 rirDirectoryId = lens _rirDirectoryId (\ s a -> s{_rirDirectoryId = a});
@@ -82,9 +81,9 @@
               (\ s h x ->
                  RemoveIPRoutesResponse' <$> (pure (fromEnum s)))
 
-instance Hashable RemoveIPRoutes
+instance Hashable RemoveIPRoutes where
 
-instance NFData RemoveIPRoutes
+instance NFData RemoveIPRoutes where
 
 instance ToHeaders RemoveIPRoutes where
         toHeaders
@@ -111,9 +110,10 @@
 
 -- | /See:/ 'removeIPRoutesResponse' smart constructor.
 newtype RemoveIPRoutesResponse = RemoveIPRoutesResponse'
-    { _rirrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rirrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RemoveIPRoutesResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -123,12 +123,11 @@
     :: Int -- ^ 'rirrsResponseStatus'
     -> RemoveIPRoutesResponse
 removeIPRoutesResponse pResponseStatus_ =
-    RemoveIPRoutesResponse'
-    { _rirrsResponseStatus = pResponseStatus_
-    }
+  RemoveIPRoutesResponse' {_rirrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 rirrsResponseStatus :: Lens' RemoveIPRoutesResponse Int
 rirrsResponseStatus = lens _rirrsResponseStatus (\ s a -> s{_rirrsResponseStatus = a});
 
-instance NFData RemoveIPRoutesResponse
+instance NFData RemoveIPRoutesResponse where
diff --git a/gen/Network/AWS/DirectoryService/RemoveTagsFromResource.hs b/gen/Network/AWS/DirectoryService/RemoveTagsFromResource.hs
--- a/gen/Network/AWS/DirectoryService/RemoveTagsFromResource.hs
+++ b/gen/Network/AWS/DirectoryService/RemoveTagsFromResource.hs
@@ -12,13 +12,13 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.RemoveTagsFromResource
--- 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)
 --
--- Removes tags from an Amazon Directory Services directory.
+-- Removes tags from a directory.
 --
 --
 module Network.AWS.DirectoryService.RemoveTagsFromResource
@@ -37,19 +37,20 @@
     , rtfrrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'removeTagsFromResource' smart constructor.
 data RemoveTagsFromResource = RemoveTagsFromResource'
-    { _rtfrResourceId :: !Text
-    , _rtfrTagKeys    :: ![Text]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rtfrResourceId :: !Text
+  , _rtfrTagKeys    :: ![Text]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RemoveTagsFromResource' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -61,11 +62,10 @@
     :: Text -- ^ 'rtfrResourceId'
     -> RemoveTagsFromResource
 removeTagsFromResource pResourceId_ =
-    RemoveTagsFromResource'
-    { _rtfrResourceId = pResourceId_
-    , _rtfrTagKeys = mempty
-    }
+  RemoveTagsFromResource'
+  {_rtfrResourceId = pResourceId_, _rtfrTagKeys = mempty}
 
+
 -- | Identifier (ID) of the directory from which to remove the tag.
 rtfrResourceId :: Lens' RemoveTagsFromResource Text
 rtfrResourceId = lens _rtfrResourceId (\ s a -> s{_rtfrResourceId = a});
@@ -84,9 +84,9 @@
                  RemoveTagsFromResourceResponse' <$>
                    (pure (fromEnum s)))
 
-instance Hashable RemoveTagsFromResource
+instance Hashable RemoveTagsFromResource where
 
-instance NFData RemoveTagsFromResource
+instance NFData RemoveTagsFromResource where
 
 instance ToHeaders RemoveTagsFromResource where
         toHeaders
@@ -113,9 +113,10 @@
 
 -- | /See:/ 'removeTagsFromResourceResponse' smart constructor.
 newtype RemoveTagsFromResourceResponse = RemoveTagsFromResourceResponse'
-    { _rtfrrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rtfrrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RemoveTagsFromResourceResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -125,12 +126,11 @@
     :: Int -- ^ 'rtfrrsResponseStatus'
     -> RemoveTagsFromResourceResponse
 removeTagsFromResourceResponse pResponseStatus_ =
-    RemoveTagsFromResourceResponse'
-    { _rtfrrsResponseStatus = pResponseStatus_
-    }
+  RemoveTagsFromResourceResponse' {_rtfrrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 rtfrrsResponseStatus :: Lens' RemoveTagsFromResourceResponse Int
 rtfrrsResponseStatus = lens _rtfrrsResponseStatus (\ s a -> s{_rtfrrsResponseStatus = a});
 
-instance NFData RemoveTagsFromResourceResponse
+instance NFData RemoveTagsFromResourceResponse where
diff --git a/gen/Network/AWS/DirectoryService/RestoreFromSnapshot.hs b/gen/Network/AWS/DirectoryService/RestoreFromSnapshot.hs
--- a/gen/Network/AWS/DirectoryService/RestoreFromSnapshot.hs
+++ b/gen/Network/AWS/DirectoryService/RestoreFromSnapshot.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.RestoreFromSnapshot
--- 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)
 --
@@ -40,12 +40,12 @@
     , rfsrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | An object representing the inputs for the 'RestoreFromSnapshot' operation.
 --
@@ -53,9 +53,10 @@
 --
 -- /See:/ 'restoreFromSnapshot' smart constructor.
 newtype RestoreFromSnapshot = RestoreFromSnapshot'
-    { _rfsSnapshotId :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rfsSnapshotId :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RestoreFromSnapshot' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -65,10 +66,9 @@
     :: Text -- ^ 'rfsSnapshotId'
     -> RestoreFromSnapshot
 restoreFromSnapshot pSnapshotId_ =
-    RestoreFromSnapshot'
-    { _rfsSnapshotId = pSnapshotId_
-    }
+  RestoreFromSnapshot' {_rfsSnapshotId = pSnapshotId_}
 
+
 -- | The identifier of the snapshot to restore from.
 rfsSnapshotId :: Lens' RestoreFromSnapshot Text
 rfsSnapshotId = lens _rfsSnapshotId (\ s a -> s{_rfsSnapshotId = a});
@@ -82,9 +82,9 @@
               (\ s h x ->
                  RestoreFromSnapshotResponse' <$> (pure (fromEnum s)))
 
-instance Hashable RestoreFromSnapshot
+instance Hashable RestoreFromSnapshot where
 
-instance NFData RestoreFromSnapshot
+instance NFData RestoreFromSnapshot where
 
 instance ToHeaders RestoreFromSnapshot where
         toHeaders
@@ -113,9 +113,10 @@
 --
 -- /See:/ 'restoreFromSnapshotResponse' smart constructor.
 newtype RestoreFromSnapshotResponse = RestoreFromSnapshotResponse'
-    { _rfsrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rfsrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RestoreFromSnapshotResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -125,12 +126,11 @@
     :: Int -- ^ 'rfsrsResponseStatus'
     -> RestoreFromSnapshotResponse
 restoreFromSnapshotResponse pResponseStatus_ =
-    RestoreFromSnapshotResponse'
-    { _rfsrsResponseStatus = pResponseStatus_
-    }
+  RestoreFromSnapshotResponse' {_rfsrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 rfsrsResponseStatus :: Lens' RestoreFromSnapshotResponse Int
 rfsrsResponseStatus = lens _rfsrsResponseStatus (\ s a -> s{_rfsrsResponseStatus = a});
 
-instance NFData RestoreFromSnapshotResponse
+instance NFData RestoreFromSnapshotResponse where
diff --git a/gen/Network/AWS/DirectoryService/StartSchemaExtension.hs b/gen/Network/AWS/DirectoryService/StartSchemaExtension.hs
--- a/gen/Network/AWS/DirectoryService/StartSchemaExtension.hs
+++ b/gen/Network/AWS/DirectoryService/StartSchemaExtension.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.StartSchemaExtension
--- 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)
 --
@@ -40,21 +40,22 @@
     , ssersResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | /See:/ 'startSchemaExtension' smart constructor.
 data StartSchemaExtension = StartSchemaExtension'
-    { _sseDirectoryId                         :: !Text
-    , _sseCreateSnapshotBeforeSchemaExtension :: !Bool
-    , _sseLdifContent                         :: !Text
-    , _sseDescription                         :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _sseDirectoryId                         :: !Text
+  , _sseCreateSnapshotBeforeSchemaExtension :: !Bool
+  , _sseLdifContent                         :: !Text
+  , _sseDescription                         :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'StartSchemaExtension' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -63,7 +64,7 @@
 --
 -- * 'sseCreateSnapshotBeforeSchemaExtension' - If true, creates a snapshot of the directory before applying the schema extension.
 --
--- * 'sseLdifContent' - The LDIF file represented as a string. The file size can be no larger than 1MB.
+-- * 'sseLdifContent' - The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \n. See the example request below for more details. The file size can be no larger than 1MB.
 --
 -- * 'sseDescription' - A description of the schema extension.
 startSchemaExtension
@@ -73,13 +74,15 @@
     -> Text -- ^ 'sseDescription'
     -> StartSchemaExtension
 startSchemaExtension pDirectoryId_ pCreateSnapshotBeforeSchemaExtension_ pLdifContent_ pDescription_ =
-    StartSchemaExtension'
-    { _sseDirectoryId = pDirectoryId_
-    , _sseCreateSnapshotBeforeSchemaExtension = pCreateSnapshotBeforeSchemaExtension_
-    , _sseLdifContent = pLdifContent_
-    , _sseDescription = pDescription_
-    }
+  StartSchemaExtension'
+  { _sseDirectoryId = pDirectoryId_
+  , _sseCreateSnapshotBeforeSchemaExtension =
+      pCreateSnapshotBeforeSchemaExtension_
+  , _sseLdifContent = pLdifContent_
+  , _sseDescription = pDescription_
+  }
 
+
 -- | The identifier of the directory for which the schema extension will be applied to.
 sseDirectoryId :: Lens' StartSchemaExtension Text
 sseDirectoryId = lens _sseDirectoryId (\ s a -> s{_sseDirectoryId = a});
@@ -88,7 +91,7 @@
 sseCreateSnapshotBeforeSchemaExtension :: Lens' StartSchemaExtension Bool
 sseCreateSnapshotBeforeSchemaExtension = lens _sseCreateSnapshotBeforeSchemaExtension (\ s a -> s{_sseCreateSnapshotBeforeSchemaExtension = a});
 
--- | The LDIF file represented as a string. The file size can be no larger than 1MB.
+-- | The LDIF file represented as a string. To construct the LdifContent string, precede each line as it would be formatted in an ldif file with \n. See the example request below for more details. The file size can be no larger than 1MB.
 sseLdifContent :: Lens' StartSchemaExtension Text
 sseLdifContent = lens _sseLdifContent (\ s a -> s{_sseLdifContent = a});
 
@@ -106,9 +109,9 @@
                  StartSchemaExtensionResponse' <$>
                    (x .?> "SchemaExtensionId") <*> (pure (fromEnum s)))
 
-instance Hashable StartSchemaExtension
+instance Hashable StartSchemaExtension where
 
-instance NFData StartSchemaExtension
+instance NFData StartSchemaExtension where
 
 instance ToHeaders StartSchemaExtension where
         toHeaders
@@ -139,10 +142,11 @@
 
 -- | /See:/ 'startSchemaExtensionResponse' smart constructor.
 data StartSchemaExtensionResponse = StartSchemaExtensionResponse'
-    { _ssersSchemaExtensionId :: !(Maybe Text)
-    , _ssersResponseStatus    :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ssersSchemaExtensionId :: !(Maybe Text)
+  , _ssersResponseStatus    :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'StartSchemaExtensionResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -154,11 +158,10 @@
     :: Int -- ^ 'ssersResponseStatus'
     -> StartSchemaExtensionResponse
 startSchemaExtensionResponse pResponseStatus_ =
-    StartSchemaExtensionResponse'
-    { _ssersSchemaExtensionId = Nothing
-    , _ssersResponseStatus = pResponseStatus_
-    }
+  StartSchemaExtensionResponse'
+  {_ssersSchemaExtensionId = Nothing, _ssersResponseStatus = pResponseStatus_}
 
+
 -- | The identifier of the schema extension that will be applied.
 ssersSchemaExtensionId :: Lens' StartSchemaExtensionResponse (Maybe Text)
 ssersSchemaExtensionId = lens _ssersSchemaExtensionId (\ s a -> s{_ssersSchemaExtensionId = a});
@@ -167,4 +170,4 @@
 ssersResponseStatus :: Lens' StartSchemaExtensionResponse Int
 ssersResponseStatus = lens _ssersResponseStatus (\ s a -> s{_ssersResponseStatus = a});
 
-instance NFData StartSchemaExtensionResponse
+instance NFData StartSchemaExtensionResponse where
diff --git a/gen/Network/AWS/DirectoryService/Types.hs b/gen/Network/AWS/DirectoryService/Types.hs
--- a/gen/Network/AWS/DirectoryService/Types.hs
+++ b/gen/Network/AWS/DirectoryService/Types.hs
@@ -4,9 +4,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.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)
 --
@@ -28,6 +28,7 @@
     , _InvalidNextTokenException
     , _ServiceException
     , _SnapshotLimitExceededException
+    , _DomainControllerLimitExceededException
     , _TagLimitExceededException
     , _ClientException
 
@@ -40,6 +41,9 @@
     -- * DirectoryType
     , DirectoryType (..)
 
+    -- * DomainControllerStatus
+    , DomainControllerStatus (..)
+
     -- * IPRouteStatusMsg
     , IPRouteStatusMsg (..)
 
@@ -120,6 +124,7 @@
     , ddAccessURL
     , ddShortName
     , ddSize
+    , ddDesiredNumberOfDomainControllers
     , ddRadiusSettings
     , ddLaunchTime
     , ddAlias
@@ -160,6 +165,20 @@
     , dvsdSecurityGroupId
     , dvsdAvailabilityZones
 
+    -- * DomainController
+    , DomainController
+    , domainController
+    , dcStatus
+    , dcDirectoryId
+    , dcVPCId
+    , dcLaunchTime
+    , dcSubnetId
+    , dcAvailabilityZone
+    , dcStatusLastUpdatedDateTime
+    , dcStatusReason
+    , dcDNSIPAddr
+    , dcDomainControllerId
+
     -- * EventTopic
     , EventTopic
     , eventTopic
@@ -246,38 +265,40 @@
     , tCreatedDateTime
     ) where
 
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.DirectoryService.Types.Sum
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Sign.V4
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.DirectoryService.Types.Sum
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Sign.V4
 
 -- | API version @2015-04-16@ of the Amazon Directory Service SDK configuration.
 directoryService :: Service
 directoryService =
-    Service
-    { _svcAbbrev = "DirectoryService"
-    , _svcSigner = v4
-    , _svcPrefix = "ds"
-    , _svcVersion = "2015-04-16"
-    , _svcEndpoint = defaultEndpoint directoryService
-    , _svcTimeout = Just 70
-    , _svcCheck = statusSuccess
-    , _svcError = parseJSONError "DirectoryService"
-    , _svcRetry = retry
-    }
+  Service
+  { _svcAbbrev = "DirectoryService"
+  , _svcSigner = v4
+  , _svcPrefix = "ds"
+  , _svcVersion = "2015-04-16"
+  , _svcEndpoint = defaultEndpoint directoryService
+  , _svcTimeout = Just 70
+  , _svcCheck = statusSuccess
+  , _svcError = parseJSONError "DirectoryService"
+  , _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"
@@ -286,98 +307,121 @@
       | has (hasStatus 509) e = Just "limit_exceeded"
       | otherwise = Nothing
 
+
 -- | The specified directory is unavailable or could not be found.
 --
 --
 _DirectoryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
 _DirectoryUnavailableException =
-    _ServiceError . hasCode "DirectoryUnavailableException"
+  _MatchServiceError directoryService "DirectoryUnavailableException"
 
+
 -- | An authentication error occurred.
 --
 --
 _AuthenticationFailedException :: AsError a => Getting (First ServiceError) a ServiceError
 _AuthenticationFailedException =
-    _ServiceError . hasCode "AuthenticationFailedException"
+  _MatchServiceError directoryService "AuthenticationFailedException"
 
+
 -- | One or more parameters are not valid.
 --
 --
 _InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidParameterException =
-    _ServiceError . hasCode "InvalidParameterException"
+  _MatchServiceError directoryService "InvalidParameterException"
 
+
 -- | The operation is not supported.
 --
 --
 _UnsupportedOperationException :: AsError a => Getting (First ServiceError) a ServiceError
 _UnsupportedOperationException =
-    _ServiceError . hasCode "UnsupportedOperationException"
+  _MatchServiceError directoryService "UnsupportedOperationException"
 
+
 -- | The specified entity already exists.
 --
 --
 _EntityAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
 _EntityAlreadyExistsException =
-    _ServiceError . hasCode "EntityAlreadyExistsException"
+  _MatchServiceError directoryService "EntityAlreadyExistsException"
 
+
 -- | The maximum number of directories in the region has been reached. You can use the 'GetDirectoryLimits' operation to determine your directory limits in the region.
 --
 --
 _DirectoryLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
 _DirectoryLimitExceededException =
-    _ServiceError . hasCode "DirectoryLimitExceededException"
+  _MatchServiceError directoryService "DirectoryLimitExceededException"
 
+
 -- | The maximum allowed number of IP addresses was exceeded. The default limit is 100 IP address blocks.
 --
 --
 _IPRouteLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
 _IPRouteLimitExceededException =
-    _ServiceError . hasCode "IpRouteLimitExceededException"
+  _MatchServiceError directoryService "IpRouteLimitExceededException"
 
+
 -- | The specified entity could not be found.
 --
 --
 _EntityDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
 _EntityDoesNotExistException =
-    _ServiceError . hasCode "EntityDoesNotExistException"
+  _MatchServiceError directoryService "EntityDoesNotExistException"
 
+
 -- | The account does not have sufficient permission to perform the operation.
 --
 --
 _InsufficientPermissionsException :: AsError a => Getting (First ServiceError) a ServiceError
 _InsufficientPermissionsException =
-    _ServiceError . hasCode "InsufficientPermissionsException"
+  _MatchServiceError directoryService "InsufficientPermissionsException"
 
+
 -- | The /NextToken/ value is not valid.
 --
 --
 _InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
 _InvalidNextTokenException =
-    _ServiceError . hasCode "InvalidNextTokenException"
+  _MatchServiceError directoryService "InvalidNextTokenException"
 
+
 -- | An exception has occurred in AWS Directory Service.
 --
 --
 _ServiceException :: AsError a => Getting (First ServiceError) a ServiceError
-_ServiceException = _ServiceError . hasCode "ServiceException"
+_ServiceException = _MatchServiceError directoryService "ServiceException"
 
+
 -- | The maximum number of manual snapshots for the directory has been reached. You can use the 'GetSnapshotLimits' operation to determine the snapshot limits for a directory.
 --
 --
 _SnapshotLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
 _SnapshotLimitExceededException =
-    _ServiceError . hasCode "SnapshotLimitExceededException"
+  _MatchServiceError directoryService "SnapshotLimitExceededException"
 
+
+-- | The maximum allowed number of domain controllers per directory was exceeded. The default limit per directory is 20 domain controllers.
+--
+--
+_DomainControllerLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
+_DomainControllerLimitExceededException =
+  _MatchServiceError directoryService "DomainControllerLimitExceededException"
+
+
 -- | The maximum allowed number of tags was exceeded.
 --
 --
 _TagLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
 _TagLimitExceededException =
-    _ServiceError . hasCode "TagLimitExceededException"
+  _MatchServiceError directoryService "TagLimitExceededException"
 
+
 -- | A client exception has occurred.
 --
 --
 _ClientException :: AsError a => Getting (First ServiceError) a ServiceError
-_ClientException = _ServiceError . hasCode "ClientException"
+_ClientException = _MatchServiceError directoryService "ClientException"
+
diff --git a/gen/Network/AWS/DirectoryService/Types/Product.hs b/gen/Network/AWS/DirectoryService/Types/Product.hs
--- a/gen/Network/AWS/DirectoryService/Types/Product.hs
+++ b/gen/Network/AWS/DirectoryService/Types/Product.hs
@@ -9,17 +9,17 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.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.DirectoryService.Types.Product where
 
-import           Network.AWS.DirectoryService.Types.Sum
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
+import Network.AWS.DirectoryService.Types.Sum
+import Network.AWS.Lens
+import Network.AWS.Prelude
 
 -- | Represents a named directory attribute.
 --
@@ -27,10 +27,11 @@
 --
 -- /See:/ 'attribute' smart constructor.
 data Attribute = Attribute'
-    { _aValue :: !(Maybe Text)
-    , _aName  :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _aValue :: !(Maybe Text)
+  , _aName  :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Attribute' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -40,12 +41,9 @@
 -- * 'aName' - The name of the attribute.
 attribute
     :: Attribute
-attribute =
-    Attribute'
-    { _aValue = Nothing
-    , _aName = Nothing
-    }
+attribute = Attribute' {_aValue = Nothing, _aName = Nothing}
 
+
 -- | The value of the attribute.
 aValue :: Lens' Attribute (Maybe Text)
 aValue = lens _aValue (\ s a -> s{_aValue = a});
@@ -60,9 +58,9 @@
               (\ x ->
                  Attribute' <$> (x .:? "Value") <*> (x .:? "Name"))
 
-instance Hashable Attribute
+instance Hashable Attribute where
 
-instance NFData Attribute
+instance NFData Attribute where
 
 instance ToJSON Attribute where
         toJSON Attribute'{..}
@@ -76,11 +74,12 @@
 --
 -- /See:/ 'computer' smart constructor.
 data Computer = Computer'
-    { _cComputerId         :: !(Maybe Text)
-    , _cComputerAttributes :: !(Maybe [Attribute])
-    , _cComputerName       :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cComputerId         :: !(Maybe Text)
+  , _cComputerAttributes :: !(Maybe [Attribute])
+  , _cComputerName       :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Computer' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -93,12 +92,13 @@
 computer
     :: Computer
 computer =
-    Computer'
-    { _cComputerId = Nothing
-    , _cComputerAttributes = Nothing
-    , _cComputerName = Nothing
-    }
+  Computer'
+  { _cComputerId = Nothing
+  , _cComputerAttributes = Nothing
+  , _cComputerName = Nothing
+  }
 
+
 -- | The identifier of the computer.
 cComputerId :: Lens' Computer (Maybe Text)
 cComputerId = lens _cComputerId (\ s a -> s{_cComputerId = a});
@@ -120,9 +120,9 @@
                      (x .:? "ComputerAttributes" .!= mempty)
                      <*> (x .:? "ComputerName"))
 
-instance Hashable Computer
+instance Hashable Computer where
 
-instance NFData Computer
+instance NFData Computer where
 
 -- | Points to a remote domain with which you are setting up a trust relationship. Conditional forwarders are required in order to set up a trust relationship with another domain.
 --
@@ -130,11 +130,12 @@
 --
 -- /See:/ 'conditionalForwarder' smart constructor.
 data ConditionalForwarder = ConditionalForwarder'
-    { _cfDNSIPAddrs       :: !(Maybe [Text])
-    , _cfRemoteDomainName :: !(Maybe Text)
-    , _cfReplicationScope :: !(Maybe ReplicationScope)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _cfDNSIPAddrs       :: !(Maybe [Text])
+  , _cfRemoteDomainName :: !(Maybe Text)
+  , _cfReplicationScope :: !(Maybe ReplicationScope)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'ConditionalForwarder' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -147,12 +148,13 @@
 conditionalForwarder
     :: ConditionalForwarder
 conditionalForwarder =
-    ConditionalForwarder'
-    { _cfDNSIPAddrs = Nothing
-    , _cfRemoteDomainName = Nothing
-    , _cfReplicationScope = Nothing
-    }
+  ConditionalForwarder'
+  { _cfDNSIPAddrs = Nothing
+  , _cfRemoteDomainName = Nothing
+  , _cfReplicationScope = Nothing
+  }
 
+
 -- | The IP addresses of the remote DNS server associated with RemoteDomainName. This is the IP address of the DNS server that your conditional forwarder points to.
 cfDNSIPAddrs :: Lens' ConditionalForwarder [Text]
 cfDNSIPAddrs = lens _cfDNSIPAddrs (\ s a -> s{_cfDNSIPAddrs = a}) . _Default . _Coerce;
@@ -174,9 +176,9 @@
                      (x .:? "RemoteDomainName")
                      <*> (x .:? "ReplicationScope"))
 
-instance Hashable ConditionalForwarder
+instance Hashable ConditionalForwarder where
 
-instance NFData ConditionalForwarder
+instance NFData ConditionalForwarder where
 
 -- | Contains information for the 'ConnectDirectory' operation when an AD Connector directory is being created.
 --
@@ -184,12 +186,13 @@
 --
 -- /See:/ 'directoryConnectSettings' smart constructor.
 data DirectoryConnectSettings = DirectoryConnectSettings'
-    { _dcsVPCId            :: !Text
-    , _dcsSubnetIds        :: ![Text]
-    , _dcsCustomerDNSIPs   :: ![Text]
-    , _dcsCustomerUserName :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dcsVPCId            :: !Text
+  , _dcsSubnetIds        :: ![Text]
+  , _dcsCustomerDNSIPs   :: ![Text]
+  , _dcsCustomerUserName :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DirectoryConnectSettings' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -206,13 +209,14 @@
     -> Text -- ^ 'dcsCustomerUserName'
     -> DirectoryConnectSettings
 directoryConnectSettings pVPCId_ pCustomerUserName_ =
-    DirectoryConnectSettings'
-    { _dcsVPCId = pVPCId_
-    , _dcsSubnetIds = mempty
-    , _dcsCustomerDNSIPs = mempty
-    , _dcsCustomerUserName = pCustomerUserName_
-    }
+  DirectoryConnectSettings'
+  { _dcsVPCId = pVPCId_
+  , _dcsSubnetIds = mempty
+  , _dcsCustomerDNSIPs = mempty
+  , _dcsCustomerUserName = pCustomerUserName_
+  }
 
+
 -- | The identifier of the VPC in which the AD Connector is created.
 dcsVPCId :: Lens' DirectoryConnectSettings Text
 dcsVPCId = lens _dcsVPCId (\ s a -> s{_dcsVPCId = a});
@@ -229,9 +233,9 @@
 dcsCustomerUserName :: Lens' DirectoryConnectSettings Text
 dcsCustomerUserName = lens _dcsCustomerUserName (\ s a -> s{_dcsCustomerUserName = a});
 
-instance Hashable DirectoryConnectSettings
+instance Hashable DirectoryConnectSettings where
 
-instance NFData DirectoryConnectSettings
+instance NFData DirectoryConnectSettings where
 
 instance ToJSON DirectoryConnectSettings where
         toJSON DirectoryConnectSettings'{..}
@@ -248,14 +252,15 @@
 --
 -- /See:/ 'directoryConnectSettingsDescription' smart constructor.
 data DirectoryConnectSettingsDescription = DirectoryConnectSettingsDescription'
-    { _dcsdCustomerUserName  :: !(Maybe Text)
-    , _dcsdSubnetIds         :: !(Maybe [Text])
-    , _dcsdVPCId             :: !(Maybe Text)
-    , _dcsdSecurityGroupId   :: !(Maybe Text)
-    , _dcsdConnectIPs        :: !(Maybe [Text])
-    , _dcsdAvailabilityZones :: !(Maybe [Text])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dcsdCustomerUserName  :: !(Maybe Text)
+  , _dcsdSubnetIds         :: !(Maybe [Text])
+  , _dcsdVPCId             :: !(Maybe Text)
+  , _dcsdSecurityGroupId   :: !(Maybe Text)
+  , _dcsdConnectIPs        :: !(Maybe [Text])
+  , _dcsdAvailabilityZones :: !(Maybe [Text])
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DirectoryConnectSettingsDescription' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -274,15 +279,16 @@
 directoryConnectSettingsDescription
     :: DirectoryConnectSettingsDescription
 directoryConnectSettingsDescription =
-    DirectoryConnectSettingsDescription'
-    { _dcsdCustomerUserName = Nothing
-    , _dcsdSubnetIds = Nothing
-    , _dcsdVPCId = Nothing
-    , _dcsdSecurityGroupId = Nothing
-    , _dcsdConnectIPs = Nothing
-    , _dcsdAvailabilityZones = Nothing
-    }
+  DirectoryConnectSettingsDescription'
+  { _dcsdCustomerUserName = Nothing
+  , _dcsdSubnetIds = Nothing
+  , _dcsdVPCId = Nothing
+  , _dcsdSecurityGroupId = Nothing
+  , _dcsdConnectIPs = Nothing
+  , _dcsdAvailabilityZones = Nothing
+  }
 
+
 -- | The username of the service account in the on-premises directory.
 dcsdCustomerUserName :: Lens' DirectoryConnectSettingsDescription (Maybe Text)
 dcsdCustomerUserName = lens _dcsdCustomerUserName (\ s a -> s{_dcsdCustomerUserName = a});
@@ -321,8 +327,10 @@
                      <*> (x .:? "AvailabilityZones" .!= mempty))
 
 instance Hashable DirectoryConnectSettingsDescription
+         where
 
 instance NFData DirectoryConnectSettingsDescription
+         where
 
 -- | Contains information about an AWS Directory Service directory.
 --
@@ -330,26 +338,28 @@
 --
 -- /See:/ 'directoryDescription' smart constructor.
 data DirectoryDescription = DirectoryDescription'
-    { _ddRadiusStatus             :: !(Maybe RadiusStatus)
-    , _ddStage                    :: !(Maybe DirectoryStage)
-    , _ddDirectoryId              :: !(Maybe Text)
-    , _ddAccessURL                :: !(Maybe Text)
-    , _ddShortName                :: !(Maybe Text)
-    , _ddSize                     :: !(Maybe DirectorySize)
-    , _ddRadiusSettings           :: !(Maybe RadiusSettings)
-    , _ddLaunchTime               :: !(Maybe POSIX)
-    , _ddAlias                    :: !(Maybe Text)
-    , _ddName                     :: !(Maybe Text)
-    , _ddStageLastUpdatedDateTime :: !(Maybe POSIX)
-    , _ddSSOEnabled               :: !(Maybe Bool)
-    , _ddDNSIPAddrs               :: !(Maybe [Text])
-    , _ddVPCSettings              :: !(Maybe DirectoryVPCSettingsDescription)
-    , _ddType                     :: !(Maybe DirectoryType)
-    , _ddStageReason              :: !(Maybe Text)
-    , _ddConnectSettings          :: !(Maybe DirectoryConnectSettingsDescription)
-    , _ddDescription              :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ddRadiusStatus :: !(Maybe RadiusStatus)
+  , _ddStage :: !(Maybe DirectoryStage)
+  , _ddDirectoryId :: !(Maybe Text)
+  , _ddAccessURL :: !(Maybe Text)
+  , _ddShortName :: !(Maybe Text)
+  , _ddSize :: !(Maybe DirectorySize)
+  , _ddDesiredNumberOfDomainControllers :: !(Maybe Nat)
+  , _ddRadiusSettings :: !(Maybe RadiusSettings)
+  , _ddLaunchTime :: !(Maybe POSIX)
+  , _ddAlias :: !(Maybe Text)
+  , _ddName :: !(Maybe Text)
+  , _ddStageLastUpdatedDateTime :: !(Maybe POSIX)
+  , _ddSSOEnabled :: !(Maybe Bool)
+  , _ddDNSIPAddrs :: !(Maybe [Text])
+  , _ddVPCSettings :: !(Maybe DirectoryVPCSettingsDescription)
+  , _ddType :: !(Maybe DirectoryType)
+  , _ddStageReason :: !(Maybe Text)
+  , _ddConnectSettings :: !(Maybe DirectoryConnectSettingsDescription)
+  , _ddDescription :: !(Maybe Text)
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DirectoryDescription' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -366,6 +376,8 @@
 --
 -- * 'ddSize' - The directory size.
 --
+-- * 'ddDesiredNumberOfDomainControllers' - The desired number of domain controllers in the directory if the directory is Microsoft AD.
+--
 -- * 'ddRadiusSettings' - A 'RadiusSettings' object that contains information about the RADIUS server configured for this directory.
 --
 -- * 'ddLaunchTime' - Specifies when the directory was created.
@@ -392,27 +404,29 @@
 directoryDescription
     :: DirectoryDescription
 directoryDescription =
-    DirectoryDescription'
-    { _ddRadiusStatus = Nothing
-    , _ddStage = Nothing
-    , _ddDirectoryId = Nothing
-    , _ddAccessURL = Nothing
-    , _ddShortName = Nothing
-    , _ddSize = Nothing
-    , _ddRadiusSettings = Nothing
-    , _ddLaunchTime = Nothing
-    , _ddAlias = Nothing
-    , _ddName = Nothing
-    , _ddStageLastUpdatedDateTime = Nothing
-    , _ddSSOEnabled = Nothing
-    , _ddDNSIPAddrs = Nothing
-    , _ddVPCSettings = Nothing
-    , _ddType = Nothing
-    , _ddStageReason = Nothing
-    , _ddConnectSettings = Nothing
-    , _ddDescription = Nothing
-    }
+  DirectoryDescription'
+  { _ddRadiusStatus = Nothing
+  , _ddStage = Nothing
+  , _ddDirectoryId = Nothing
+  , _ddAccessURL = Nothing
+  , _ddShortName = Nothing
+  , _ddSize = Nothing
+  , _ddDesiredNumberOfDomainControllers = Nothing
+  , _ddRadiusSettings = Nothing
+  , _ddLaunchTime = Nothing
+  , _ddAlias = Nothing
+  , _ddName = Nothing
+  , _ddStageLastUpdatedDateTime = Nothing
+  , _ddSSOEnabled = Nothing
+  , _ddDNSIPAddrs = Nothing
+  , _ddVPCSettings = Nothing
+  , _ddType = Nothing
+  , _ddStageReason = Nothing
+  , _ddConnectSettings = Nothing
+  , _ddDescription = Nothing
+  }
 
+
 -- | The status of the RADIUS MFA server connection.
 ddRadiusStatus :: Lens' DirectoryDescription (Maybe RadiusStatus)
 ddRadiusStatus = lens _ddRadiusStatus (\ s a -> s{_ddRadiusStatus = a});
@@ -437,6 +451,10 @@
 ddSize :: Lens' DirectoryDescription (Maybe DirectorySize)
 ddSize = lens _ddSize (\ s a -> s{_ddSize = a});
 
+-- | The desired number of domain controllers in the directory if the directory is Microsoft AD.
+ddDesiredNumberOfDomainControllers :: Lens' DirectoryDescription (Maybe Natural)
+ddDesiredNumberOfDomainControllers = lens _ddDesiredNumberOfDomainControllers (\ s a -> s{_ddDesiredNumberOfDomainControllers = a}) . mapping _Nat;
+
 -- | A 'RadiusSettings' object that contains information about the RADIUS server configured for this directory.
 ddRadiusSettings :: Lens' DirectoryDescription (Maybe RadiusSettings)
 ddRadiusSettings = lens _ddRadiusSettings (\ s a -> s{_ddRadiusSettings = a});
@@ -495,6 +513,7 @@
                      <*> (x .:? "AccessUrl")
                      <*> (x .:? "ShortName")
                      <*> (x .:? "Size")
+                     <*> (x .:? "DesiredNumberOfDomainControllers")
                      <*> (x .:? "RadiusSettings")
                      <*> (x .:? "LaunchTime")
                      <*> (x .:? "Alias")
@@ -508,9 +527,9 @@
                      <*> (x .:? "ConnectSettings")
                      <*> (x .:? "Description"))
 
-instance Hashable DirectoryDescription
+instance Hashable DirectoryDescription where
 
-instance NFData DirectoryDescription
+instance NFData DirectoryDescription where
 
 -- | Contains directory limit information for a region.
 --
@@ -518,17 +537,18 @@
 --
 -- /See:/ 'directoryLimits' smart constructor.
 data DirectoryLimits = DirectoryLimits'
-    { _dlConnectedDirectoriesCurrentCount :: !(Maybe Nat)
-    , _dlCloudOnlyMicrosoftADLimitReached :: !(Maybe Bool)
-    , _dlConnectedDirectoriesLimit        :: !(Maybe Nat)
-    , _dlConnectedDirectoriesLimitReached :: !(Maybe Bool)
-    , _dlCloudOnlyMicrosoftADLimit        :: !(Maybe Nat)
-    , _dlCloudOnlyDirectoriesLimit        :: !(Maybe Nat)
-    , _dlCloudOnlyDirectoriesCurrentCount :: !(Maybe Nat)
-    , _dlCloudOnlyDirectoriesLimitReached :: !(Maybe Bool)
-    , _dlCloudOnlyMicrosoftADCurrentCount :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dlConnectedDirectoriesCurrentCount :: !(Maybe Nat)
+  , _dlCloudOnlyMicrosoftADLimitReached :: !(Maybe Bool)
+  , _dlConnectedDirectoriesLimit        :: !(Maybe Nat)
+  , _dlConnectedDirectoriesLimitReached :: !(Maybe Bool)
+  , _dlCloudOnlyMicrosoftADLimit        :: !(Maybe Nat)
+  , _dlCloudOnlyDirectoriesLimit        :: !(Maybe Nat)
+  , _dlCloudOnlyDirectoriesCurrentCount :: !(Maybe Nat)
+  , _dlCloudOnlyDirectoriesLimitReached :: !(Maybe Bool)
+  , _dlCloudOnlyMicrosoftADCurrentCount :: !(Maybe Nat)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DirectoryLimits' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -553,18 +573,19 @@
 directoryLimits
     :: DirectoryLimits
 directoryLimits =
-    DirectoryLimits'
-    { _dlConnectedDirectoriesCurrentCount = Nothing
-    , _dlCloudOnlyMicrosoftADLimitReached = Nothing
-    , _dlConnectedDirectoriesLimit = Nothing
-    , _dlConnectedDirectoriesLimitReached = Nothing
-    , _dlCloudOnlyMicrosoftADLimit = Nothing
-    , _dlCloudOnlyDirectoriesLimit = Nothing
-    , _dlCloudOnlyDirectoriesCurrentCount = Nothing
-    , _dlCloudOnlyDirectoriesLimitReached = Nothing
-    , _dlCloudOnlyMicrosoftADCurrentCount = Nothing
-    }
+  DirectoryLimits'
+  { _dlConnectedDirectoriesCurrentCount = Nothing
+  , _dlCloudOnlyMicrosoftADLimitReached = Nothing
+  , _dlConnectedDirectoriesLimit = Nothing
+  , _dlConnectedDirectoriesLimitReached = Nothing
+  , _dlCloudOnlyMicrosoftADLimit = Nothing
+  , _dlCloudOnlyDirectoriesLimit = Nothing
+  , _dlCloudOnlyDirectoriesCurrentCount = Nothing
+  , _dlCloudOnlyDirectoriesLimitReached = Nothing
+  , _dlCloudOnlyMicrosoftADCurrentCount = Nothing
+  }
 
+
 -- | The current number of connected directories in the region.
 dlConnectedDirectoriesCurrentCount :: Lens' DirectoryLimits (Maybe Natural)
 dlConnectedDirectoriesCurrentCount = lens _dlConnectedDirectoriesCurrentCount (\ s a -> s{_dlConnectedDirectoriesCurrentCount = a}) . mapping _Nat;
@@ -616,9 +637,9 @@
                      <*> (x .:? "CloudOnlyDirectoriesLimitReached")
                      <*> (x .:? "CloudOnlyMicrosoftADCurrentCount"))
 
-instance Hashable DirectoryLimits
+instance Hashable DirectoryLimits where
 
-instance NFData DirectoryLimits
+instance NFData DirectoryLimits where
 
 -- | Contains VPC information for the 'CreateDirectory' or 'CreateMicrosoftAD' operation.
 --
@@ -626,10 +647,11 @@
 --
 -- /See:/ 'directoryVPCSettings' smart constructor.
 data DirectoryVPCSettings = DirectoryVPCSettings'
-    { _dvsVPCId     :: !Text
-    , _dvsSubnetIds :: ![Text]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dvsVPCId     :: !Text
+  , _dvsSubnetIds :: ![Text]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DirectoryVPCSettings' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -641,11 +663,9 @@
     :: Text -- ^ 'dvsVPCId'
     -> DirectoryVPCSettings
 directoryVPCSettings pVPCId_ =
-    DirectoryVPCSettings'
-    { _dvsVPCId = pVPCId_
-    , _dvsSubnetIds = mempty
-    }
+  DirectoryVPCSettings' {_dvsVPCId = pVPCId_, _dvsSubnetIds = mempty}
 
+
 -- | The identifier of the VPC in which to create the directory.
 dvsVPCId :: Lens' DirectoryVPCSettings Text
 dvsVPCId = lens _dvsVPCId (\ s a -> s{_dvsVPCId = a});
@@ -654,9 +674,9 @@
 dvsSubnetIds :: Lens' DirectoryVPCSettings [Text]
 dvsSubnetIds = lens _dvsSubnetIds (\ s a -> s{_dvsSubnetIds = a}) . _Coerce;
 
-instance Hashable DirectoryVPCSettings
+instance Hashable DirectoryVPCSettings where
 
-instance NFData DirectoryVPCSettings
+instance NFData DirectoryVPCSettings where
 
 instance ToJSON DirectoryVPCSettings where
         toJSON DirectoryVPCSettings'{..}
@@ -671,12 +691,13 @@
 --
 -- /See:/ 'directoryVPCSettingsDescription' smart constructor.
 data DirectoryVPCSettingsDescription = DirectoryVPCSettingsDescription'
-    { _dvsdSubnetIds         :: !(Maybe [Text])
-    , _dvsdVPCId             :: !(Maybe Text)
-    , _dvsdSecurityGroupId   :: !(Maybe Text)
-    , _dvsdAvailabilityZones :: !(Maybe [Text])
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _dvsdSubnetIds         :: !(Maybe [Text])
+  , _dvsdVPCId             :: !(Maybe Text)
+  , _dvsdSecurityGroupId   :: !(Maybe Text)
+  , _dvsdAvailabilityZones :: !(Maybe [Text])
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'DirectoryVPCSettingsDescription' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -691,13 +712,14 @@
 directoryVPCSettingsDescription
     :: DirectoryVPCSettingsDescription
 directoryVPCSettingsDescription =
-    DirectoryVPCSettingsDescription'
-    { _dvsdSubnetIds = Nothing
-    , _dvsdVPCId = Nothing
-    , _dvsdSecurityGroupId = Nothing
-    , _dvsdAvailabilityZones = Nothing
-    }
+  DirectoryVPCSettingsDescription'
+  { _dvsdSubnetIds = Nothing
+  , _dvsdVPCId = Nothing
+  , _dvsdSecurityGroupId = Nothing
+  , _dvsdAvailabilityZones = Nothing
+  }
 
+
 -- | The identifiers of the subnets for the directory servers.
 dvsdSubnetIds :: Lens' DirectoryVPCSettingsDescription [Text]
 dvsdSubnetIds = lens _dvsdSubnetIds (\ s a -> s{_dvsdSubnetIds = a}) . _Default . _Coerce;
@@ -725,22 +747,142 @@
                      <*> (x .:? "AvailabilityZones" .!= mempty))
 
 instance Hashable DirectoryVPCSettingsDescription
+         where
 
-instance NFData DirectoryVPCSettingsDescription
+instance NFData DirectoryVPCSettingsDescription where
 
+-- | Contains information about the domain controllers for a specified directory.
+--
+--
+--
+-- /See:/ 'domainController' smart constructor.
+data DomainController = DomainController'
+  { _dcStatus                    :: !(Maybe DomainControllerStatus)
+  , _dcDirectoryId               :: !(Maybe Text)
+  , _dcVPCId                     :: !(Maybe Text)
+  , _dcLaunchTime                :: !(Maybe POSIX)
+  , _dcSubnetId                  :: !(Maybe Text)
+  , _dcAvailabilityZone          :: !(Maybe Text)
+  , _dcStatusLastUpdatedDateTime :: !(Maybe POSIX)
+  , _dcStatusReason              :: !(Maybe Text)
+  , _dcDNSIPAddr                 :: !(Maybe Text)
+  , _dcDomainControllerId        :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
+
+
+-- | Creates a value of 'DomainController' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'dcStatus' - The status of the domain controller.
+--
+-- * 'dcDirectoryId' - Identifier of the directory where the domain controller resides.
+--
+-- * 'dcVPCId' - The identifier of the VPC that contains the domain controller.
+--
+-- * 'dcLaunchTime' - Specifies when the domain controller was created.
+--
+-- * 'dcSubnetId' - Identifier of the subnet in the VPC that contains the domain controller.
+--
+-- * 'dcAvailabilityZone' - The Availability Zone where the domain controller is located.
+--
+-- * 'dcStatusLastUpdatedDateTime' - The date and time that the status was last updated.
+--
+-- * 'dcStatusReason' - A description of the domain controller state.
+--
+-- * 'dcDNSIPAddr' - The IP address of the domain controller.
+--
+-- * 'dcDomainControllerId' - Identifies a specific domain controller in the directory.
+domainController
+    :: DomainController
+domainController =
+  DomainController'
+  { _dcStatus = Nothing
+  , _dcDirectoryId = Nothing
+  , _dcVPCId = Nothing
+  , _dcLaunchTime = Nothing
+  , _dcSubnetId = Nothing
+  , _dcAvailabilityZone = Nothing
+  , _dcStatusLastUpdatedDateTime = Nothing
+  , _dcStatusReason = Nothing
+  , _dcDNSIPAddr = Nothing
+  , _dcDomainControllerId = Nothing
+  }
+
+
+-- | The status of the domain controller.
+dcStatus :: Lens' DomainController (Maybe DomainControllerStatus)
+dcStatus = lens _dcStatus (\ s a -> s{_dcStatus = a});
+
+-- | Identifier of the directory where the domain controller resides.
+dcDirectoryId :: Lens' DomainController (Maybe Text)
+dcDirectoryId = lens _dcDirectoryId (\ s a -> s{_dcDirectoryId = a});
+
+-- | The identifier of the VPC that contains the domain controller.
+dcVPCId :: Lens' DomainController (Maybe Text)
+dcVPCId = lens _dcVPCId (\ s a -> s{_dcVPCId = a});
+
+-- | Specifies when the domain controller was created.
+dcLaunchTime :: Lens' DomainController (Maybe UTCTime)
+dcLaunchTime = lens _dcLaunchTime (\ s a -> s{_dcLaunchTime = a}) . mapping _Time;
+
+-- | Identifier of the subnet in the VPC that contains the domain controller.
+dcSubnetId :: Lens' DomainController (Maybe Text)
+dcSubnetId = lens _dcSubnetId (\ s a -> s{_dcSubnetId = a});
+
+-- | The Availability Zone where the domain controller is located.
+dcAvailabilityZone :: Lens' DomainController (Maybe Text)
+dcAvailabilityZone = lens _dcAvailabilityZone (\ s a -> s{_dcAvailabilityZone = a});
+
+-- | The date and time that the status was last updated.
+dcStatusLastUpdatedDateTime :: Lens' DomainController (Maybe UTCTime)
+dcStatusLastUpdatedDateTime = lens _dcStatusLastUpdatedDateTime (\ s a -> s{_dcStatusLastUpdatedDateTime = a}) . mapping _Time;
+
+-- | A description of the domain controller state.
+dcStatusReason :: Lens' DomainController (Maybe Text)
+dcStatusReason = lens _dcStatusReason (\ s a -> s{_dcStatusReason = a});
+
+-- | The IP address of the domain controller.
+dcDNSIPAddr :: Lens' DomainController (Maybe Text)
+dcDNSIPAddr = lens _dcDNSIPAddr (\ s a -> s{_dcDNSIPAddr = a});
+
+-- | Identifies a specific domain controller in the directory.
+dcDomainControllerId :: Lens' DomainController (Maybe Text)
+dcDomainControllerId = lens _dcDomainControllerId (\ s a -> s{_dcDomainControllerId = a});
+
+instance FromJSON DomainController where
+        parseJSON
+          = withObject "DomainController"
+              (\ x ->
+                 DomainController' <$>
+                   (x .:? "Status") <*> (x .:? "DirectoryId") <*>
+                     (x .:? "VpcId")
+                     <*> (x .:? "LaunchTime")
+                     <*> (x .:? "SubnetId")
+                     <*> (x .:? "AvailabilityZone")
+                     <*> (x .:? "StatusLastUpdatedDateTime")
+                     <*> (x .:? "StatusReason")
+                     <*> (x .:? "DnsIpAddr")
+                     <*> (x .:? "DomainControllerId"))
+
+instance Hashable DomainController where
+
+instance NFData DomainController where
+
 -- | Information about SNS topic and AWS Directory Service directory associations.
 --
 --
 --
 -- /See:/ 'eventTopic' smart constructor.
 data EventTopic = EventTopic'
-    { _etStatus          :: !(Maybe TopicStatus)
-    , _etDirectoryId     :: !(Maybe Text)
-    , _etTopicName       :: !(Maybe Text)
-    , _etTopicARN        :: !(Maybe Text)
-    , _etCreatedDateTime :: !(Maybe POSIX)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _etStatus          :: !(Maybe TopicStatus)
+  , _etDirectoryId     :: !(Maybe Text)
+  , _etTopicName       :: !(Maybe Text)
+  , _etTopicARN        :: !(Maybe Text)
+  , _etCreatedDateTime :: !(Maybe POSIX)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'EventTopic' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -757,14 +899,15 @@
 eventTopic
     :: EventTopic
 eventTopic =
-    EventTopic'
-    { _etStatus = Nothing
-    , _etDirectoryId = Nothing
-    , _etTopicName = Nothing
-    , _etTopicARN = Nothing
-    , _etCreatedDateTime = Nothing
-    }
+  EventTopic'
+  { _etStatus = Nothing
+  , _etDirectoryId = Nothing
+  , _etTopicName = Nothing
+  , _etTopicARN = Nothing
+  , _etCreatedDateTime = Nothing
+  }
 
+
 -- | The topic registration status.
 etStatus :: Lens' EventTopic (Maybe TopicStatus)
 etStatus = lens _etStatus (\ s a -> s{_etStatus = a});
@@ -795,9 +938,9 @@
                      <*> (x .:? "TopicArn")
                      <*> (x .:? "CreatedDateTime"))
 
-instance Hashable EventTopic
+instance Hashable EventTopic where
 
-instance NFData EventTopic
+instance NFData EventTopic where
 
 -- | IP address block. This is often the address block of the DNS server used for your on-premises domain.
 --
@@ -805,10 +948,11 @@
 --
 -- /See:/ 'ipRoute' smart constructor.
 data IPRoute = IPRoute'
-    { _irCidrIP      :: !(Maybe Text)
-    , _irDescription :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _irCidrIP      :: !(Maybe Text)
+  , _irDescription :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'IPRoute' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -818,12 +962,9 @@
 -- * 'irDescription' - Description of the address block.
 ipRoute
     :: IPRoute
-ipRoute =
-    IPRoute'
-    { _irCidrIP = Nothing
-    , _irDescription = Nothing
-    }
+ipRoute = IPRoute' {_irCidrIP = Nothing, _irDescription = Nothing}
 
+
 -- | IP address block using CIDR format, for example 10.0.0.0/24. This is often the address block of the DNS server used for your on-premises domain. For a single IP address use a CIDR address block with /32. For example 10.0.0.0/32.
 irCidrIP :: Lens' IPRoute (Maybe Text)
 irCidrIP = lens _irCidrIP (\ s a -> s{_irCidrIP = a});
@@ -832,9 +973,9 @@
 irDescription :: Lens' IPRoute (Maybe Text)
 irDescription = lens _irDescription (\ s a -> s{_irDescription = a});
 
-instance Hashable IPRoute
+instance Hashable IPRoute where
 
-instance NFData IPRoute
+instance NFData IPRoute where
 
 instance ToJSON IPRoute where
         toJSON IPRoute'{..}
@@ -849,14 +990,15 @@
 --
 -- /See:/ 'ipRouteInfo' smart constructor.
 data IPRouteInfo = IPRouteInfo'
-    { _iriDirectoryId         :: !(Maybe Text)
-    , _iriIPRouteStatusReason :: !(Maybe Text)
-    , _iriAddedDateTime       :: !(Maybe POSIX)
-    , _iriCidrIP              :: !(Maybe Text)
-    , _iriIPRouteStatusMsg    :: !(Maybe IPRouteStatusMsg)
-    , _iriDescription         :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _iriDirectoryId         :: !(Maybe Text)
+  , _iriIPRouteStatusReason :: !(Maybe Text)
+  , _iriAddedDateTime       :: !(Maybe POSIX)
+  , _iriCidrIP              :: !(Maybe Text)
+  , _iriIPRouteStatusMsg    :: !(Maybe IPRouteStatusMsg)
+  , _iriDescription         :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'IPRouteInfo' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -875,15 +1017,16 @@
 ipRouteInfo
     :: IPRouteInfo
 ipRouteInfo =
-    IPRouteInfo'
-    { _iriDirectoryId = Nothing
-    , _iriIPRouteStatusReason = Nothing
-    , _iriAddedDateTime = Nothing
-    , _iriCidrIP = Nothing
-    , _iriIPRouteStatusMsg = Nothing
-    , _iriDescription = Nothing
-    }
+  IPRouteInfo'
+  { _iriDirectoryId = Nothing
+  , _iriIPRouteStatusReason = Nothing
+  , _iriAddedDateTime = Nothing
+  , _iriCidrIP = Nothing
+  , _iriIPRouteStatusMsg = Nothing
+  , _iriDescription = Nothing
+  }
 
+
 -- | Identifier (ID) of the directory associated with the IP addresses.
 iriDirectoryId :: Lens' IPRouteInfo (Maybe Text)
 iriDirectoryId = lens _iriDirectoryId (\ s a -> s{_iriDirectoryId = a});
@@ -920,9 +1063,9 @@
                      <*> (x .:? "IpRouteStatusMsg")
                      <*> (x .:? "Description"))
 
-instance Hashable IPRouteInfo
+instance Hashable IPRouteInfo where
 
-instance NFData IPRouteInfo
+instance NFData IPRouteInfo where
 
 -- | Contains information about a Remote Authentication Dial In User Service (RADIUS) server.
 --
@@ -930,16 +1073,17 @@
 --
 -- /See:/ 'radiusSettings' smart constructor.
 data RadiusSettings = RadiusSettings'
-    { _rsDisplayLabel           :: !(Maybe Text)
-    , _rsRadiusRetries          :: !(Maybe Nat)
-    , _rsAuthenticationProtocol :: !(Maybe RadiusAuthenticationProtocol)
-    , _rsRadiusServers          :: !(Maybe [Text])
-    , _rsUseSameUsername        :: !(Maybe Bool)
-    , _rsSharedSecret           :: !(Maybe (Sensitive Text))
-    , _rsRadiusTimeout          :: !(Maybe Nat)
-    , _rsRadiusPort             :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _rsDisplayLabel           :: !(Maybe Text)
+  , _rsRadiusRetries          :: !(Maybe Nat)
+  , _rsAuthenticationProtocol :: !(Maybe RadiusAuthenticationProtocol)
+  , _rsRadiusServers          :: !(Maybe [Text])
+  , _rsUseSameUsername        :: !(Maybe Bool)
+  , _rsSharedSecret           :: !(Maybe (Sensitive Text))
+  , _rsRadiusTimeout          :: !(Maybe Nat)
+  , _rsRadiusPort             :: !(Maybe Nat)
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'RadiusSettings' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -962,17 +1106,18 @@
 radiusSettings
     :: RadiusSettings
 radiusSettings =
-    RadiusSettings'
-    { _rsDisplayLabel = Nothing
-    , _rsRadiusRetries = Nothing
-    , _rsAuthenticationProtocol = Nothing
-    , _rsRadiusServers = Nothing
-    , _rsUseSameUsername = Nothing
-    , _rsSharedSecret = Nothing
-    , _rsRadiusTimeout = Nothing
-    , _rsRadiusPort = Nothing
-    }
+  RadiusSettings'
+  { _rsDisplayLabel = Nothing
+  , _rsRadiusRetries = Nothing
+  , _rsAuthenticationProtocol = Nothing
+  , _rsRadiusServers = Nothing
+  , _rsUseSameUsername = Nothing
+  , _rsSharedSecret = Nothing
+  , _rsRadiusTimeout = Nothing
+  , _rsRadiusPort = Nothing
+  }
 
+
 -- | Not currently used.
 rsDisplayLabel :: Lens' RadiusSettings (Maybe Text)
 rsDisplayLabel = lens _rsDisplayLabel (\ s a -> s{_rsDisplayLabel = a});
@@ -1018,9 +1163,9 @@
                      <*> (x .:? "RadiusTimeout")
                      <*> (x .:? "RadiusPort"))
 
-instance Hashable RadiusSettings
+instance Hashable RadiusSettings where
 
-instance NFData RadiusSettings
+instance NFData RadiusSettings where
 
 instance ToJSON RadiusSettings where
         toJSON RadiusSettings'{..}
@@ -1042,15 +1187,16 @@
 --
 -- /See:/ 'schemaExtensionInfo' smart constructor.
 data SchemaExtensionInfo = SchemaExtensionInfo'
-    { _seiDirectoryId                 :: !(Maybe Text)
-    , _seiSchemaExtensionId           :: !(Maybe Text)
-    , _seiSchemaExtensionStatusReason :: !(Maybe Text)
-    , _seiSchemaExtensionStatus       :: !(Maybe SchemaExtensionStatus)
-    , _seiDescription                 :: !(Maybe Text)
-    , _seiEndDateTime                 :: !(Maybe POSIX)
-    , _seiStartDateTime               :: !(Maybe POSIX)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _seiDirectoryId                 :: !(Maybe Text)
+  , _seiSchemaExtensionId           :: !(Maybe Text)
+  , _seiSchemaExtensionStatusReason :: !(Maybe Text)
+  , _seiSchemaExtensionStatus       :: !(Maybe SchemaExtensionStatus)
+  , _seiDescription                 :: !(Maybe Text)
+  , _seiEndDateTime                 :: !(Maybe POSIX)
+  , _seiStartDateTime               :: !(Maybe POSIX)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SchemaExtensionInfo' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1071,16 +1217,17 @@
 schemaExtensionInfo
     :: SchemaExtensionInfo
 schemaExtensionInfo =
-    SchemaExtensionInfo'
-    { _seiDirectoryId = Nothing
-    , _seiSchemaExtensionId = Nothing
-    , _seiSchemaExtensionStatusReason = Nothing
-    , _seiSchemaExtensionStatus = Nothing
-    , _seiDescription = Nothing
-    , _seiEndDateTime = Nothing
-    , _seiStartDateTime = Nothing
-    }
+  SchemaExtensionInfo'
+  { _seiDirectoryId = Nothing
+  , _seiSchemaExtensionId = Nothing
+  , _seiSchemaExtensionStatusReason = Nothing
+  , _seiSchemaExtensionStatus = Nothing
+  , _seiDescription = Nothing
+  , _seiEndDateTime = Nothing
+  , _seiStartDateTime = Nothing
+  }
 
+
 -- | The identifier of the directory to which the schema extension is applied.
 seiDirectoryId :: Lens' SchemaExtensionInfo (Maybe Text)
 seiDirectoryId = lens _seiDirectoryId (\ s a -> s{_seiDirectoryId = a});
@@ -1121,9 +1268,9 @@
                      <*> (x .:? "EndDateTime")
                      <*> (x .:? "StartDateTime"))
 
-instance Hashable SchemaExtensionInfo
+instance Hashable SchemaExtensionInfo where
 
-instance NFData SchemaExtensionInfo
+instance NFData SchemaExtensionInfo where
 
 -- | Describes a directory snapshot.
 --
@@ -1131,14 +1278,15 @@
 --
 -- /See:/ 'snapshot' smart constructor.
 data Snapshot = Snapshot'
-    { _sStatus      :: !(Maybe SnapshotStatus)
-    , _sDirectoryId :: !(Maybe Text)
-    , _sStartTime   :: !(Maybe POSIX)
-    , _sName        :: !(Maybe Text)
-    , _sType        :: !(Maybe SnapshotType)
-    , _sSnapshotId  :: !(Maybe Text)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _sStatus      :: !(Maybe SnapshotStatus)
+  , _sDirectoryId :: !(Maybe Text)
+  , _sStartTime   :: !(Maybe POSIX)
+  , _sName        :: !(Maybe Text)
+  , _sType        :: !(Maybe SnapshotType)
+  , _sSnapshotId  :: !(Maybe Text)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Snapshot' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1157,15 +1305,16 @@
 snapshot
     :: Snapshot
 snapshot =
-    Snapshot'
-    { _sStatus = Nothing
-    , _sDirectoryId = Nothing
-    , _sStartTime = Nothing
-    , _sName = Nothing
-    , _sType = Nothing
-    , _sSnapshotId = Nothing
-    }
+  Snapshot'
+  { _sStatus = Nothing
+  , _sDirectoryId = Nothing
+  , _sStartTime = Nothing
+  , _sName = Nothing
+  , _sType = Nothing
+  , _sSnapshotId = Nothing
+  }
 
+
 -- | The snapshot status.
 sStatus :: Lens' Snapshot (Maybe SnapshotStatus)
 sStatus = lens _sStatus (\ s a -> s{_sStatus = a});
@@ -1201,9 +1350,9 @@
                      <*> (x .:? "Type")
                      <*> (x .:? "SnapshotId"))
 
-instance Hashable Snapshot
+instance Hashable Snapshot where
 
-instance NFData Snapshot
+instance NFData Snapshot where
 
 -- | Contains manual snapshot limit information for a directory.
 --
@@ -1211,11 +1360,12 @@
 --
 -- /See:/ 'snapshotLimits' smart constructor.
 data SnapshotLimits = SnapshotLimits'
-    { _slManualSnapshotsLimitReached :: !(Maybe Bool)
-    , _slManualSnapshotsCurrentCount :: !(Maybe Nat)
-    , _slManualSnapshotsLimit        :: !(Maybe Nat)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _slManualSnapshotsLimitReached :: !(Maybe Bool)
+  , _slManualSnapshotsCurrentCount :: !(Maybe Nat)
+  , _slManualSnapshotsLimit        :: !(Maybe Nat)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'SnapshotLimits' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1228,12 +1378,13 @@
 snapshotLimits
     :: SnapshotLimits
 snapshotLimits =
-    SnapshotLimits'
-    { _slManualSnapshotsLimitReached = Nothing
-    , _slManualSnapshotsCurrentCount = Nothing
-    , _slManualSnapshotsLimit = Nothing
-    }
+  SnapshotLimits'
+  { _slManualSnapshotsLimitReached = Nothing
+  , _slManualSnapshotsCurrentCount = Nothing
+  , _slManualSnapshotsLimit = Nothing
+  }
 
+
 -- | Indicates if the manual snapshot limit has been reached.
 slManualSnapshotsLimitReached :: Lens' SnapshotLimits (Maybe Bool)
 slManualSnapshotsLimitReached = lens _slManualSnapshotsLimitReached (\ s a -> s{_slManualSnapshotsLimitReached = a});
@@ -1255,20 +1406,21 @@
                      (x .:? "ManualSnapshotsCurrentCount")
                      <*> (x .:? "ManualSnapshotsLimit"))
 
-instance Hashable SnapshotLimits
+instance Hashable SnapshotLimits where
 
-instance NFData SnapshotLimits
+instance NFData SnapshotLimits where
 
--- | Metadata assigned to an Amazon Directory Services directory consisting of a key-value pair.
+-- | Metadata assigned to a directory consisting of a key-value pair.
 --
 --
 --
 -- /See:/ 'tag' smart constructor.
 data Tag = Tag'
-    { _tagKey   :: !Text
-    , _tagValue :: !Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _tagKey   :: !Text
+  , _tagValue :: !Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Tag' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1280,12 +1432,9 @@
     :: Text -- ^ 'tagKey'
     -> Text -- ^ 'tagValue'
     -> Tag
-tag pKey_ pValue_ =
-    Tag'
-    { _tagKey = pKey_
-    , _tagValue = pValue_
-    }
+tag pKey_ pValue_ = Tag' {_tagKey = pKey_, _tagValue = pValue_}
 
+
 -- | Required name of the tag. The string value can be Unicode characters and cannot be prefixed with "aws:". The string can contain only the set of Unicode letters, digits, white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
 tagKey :: Lens' Tag Text
 tagKey = lens _tagKey (\ s a -> s{_tagKey = a});
@@ -1299,9 +1448,9 @@
           = withObject "Tag"
               (\ x -> Tag' <$> (x .: "Key") <*> (x .: "Value"))
 
-instance Hashable Tag
+instance Hashable Tag where
 
-instance NFData Tag
+instance NFData Tag where
 
 instance ToJSON Tag where
         toJSON Tag'{..}
@@ -1316,18 +1465,19 @@
 --
 -- /See:/ 'trust' smart constructor.
 data Trust = Trust'
-    { _tDirectoryId              :: !(Maybe Text)
-    , _tTrustState               :: !(Maybe TrustState)
-    , _tLastUpdatedDateTime      :: !(Maybe POSIX)
-    , _tTrustDirection           :: !(Maybe TrustDirection)
-    , _tStateLastUpdatedDateTime :: !(Maybe POSIX)
-    , _tTrustType                :: !(Maybe TrustType)
-    , _tTrustStateReason         :: !(Maybe Text)
-    , _tRemoteDomainName         :: !(Maybe Text)
-    , _tTrustId                  :: !(Maybe Text)
-    , _tCreatedDateTime          :: !(Maybe POSIX)
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _tDirectoryId              :: !(Maybe Text)
+  , _tTrustState               :: !(Maybe TrustState)
+  , _tLastUpdatedDateTime      :: !(Maybe POSIX)
+  , _tTrustDirection           :: !(Maybe TrustDirection)
+  , _tStateLastUpdatedDateTime :: !(Maybe POSIX)
+  , _tTrustType                :: !(Maybe TrustType)
+  , _tTrustStateReason         :: !(Maybe Text)
+  , _tRemoteDomainName         :: !(Maybe Text)
+  , _tTrustId                  :: !(Maybe Text)
+  , _tCreatedDateTime          :: !(Maybe POSIX)
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'Trust' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -1354,19 +1504,20 @@
 trust
     :: Trust
 trust =
-    Trust'
-    { _tDirectoryId = Nothing
-    , _tTrustState = Nothing
-    , _tLastUpdatedDateTime = Nothing
-    , _tTrustDirection = Nothing
-    , _tStateLastUpdatedDateTime = Nothing
-    , _tTrustType = Nothing
-    , _tTrustStateReason = Nothing
-    , _tRemoteDomainName = Nothing
-    , _tTrustId = Nothing
-    , _tCreatedDateTime = Nothing
-    }
+  Trust'
+  { _tDirectoryId = Nothing
+  , _tTrustState = Nothing
+  , _tLastUpdatedDateTime = Nothing
+  , _tTrustDirection = Nothing
+  , _tStateLastUpdatedDateTime = Nothing
+  , _tTrustType = Nothing
+  , _tTrustStateReason = Nothing
+  , _tRemoteDomainName = Nothing
+  , _tTrustId = Nothing
+  , _tCreatedDateTime = Nothing
+  }
 
+
 -- | The Directory ID of the AWS directory involved in the trust relationship.
 tDirectoryId :: Lens' Trust (Maybe Text)
 tDirectoryId = lens _tDirectoryId (\ s a -> s{_tDirectoryId = a});
@@ -1422,6 +1573,6 @@
                      <*> (x .:? "TrustId")
                      <*> (x .:? "CreatedDateTime"))
 
-instance Hashable Trust
+instance Hashable Trust where
 
-instance NFData Trust
+instance NFData Trust where
diff --git a/gen/Network/AWS/DirectoryService/Types/Sum.hs b/gen/Network/AWS/DirectoryService/Types/Sum.hs
--- a/gen/Network/AWS/DirectoryService/Types/Sum.hs
+++ b/gen/Network/AWS/DirectoryService/Types/Sum.hs
@@ -9,21 +9,22 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.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.DirectoryService.Types.Sum where
 
-import           Network.AWS.Prelude
+import Network.AWS.Prelude
 
 data DirectorySize
-    = Large
-    | Small
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = Large
+  | Small
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText DirectorySize where
     parser = takeLowerText >>= \case
         "large" -> pure Large
@@ -49,19 +50,20 @@
     parseJSON = parseJSONText "DirectorySize"
 
 data DirectoryStage
-    = DSActive
-    | DSCreated
-    | DSCreating
-    | DSDeleted
-    | DSDeleting
-    | DSFailed
-    | DSImpaired
-    | DSInoperable
-    | DSRequested
-    | DSRestoreFailed
-    | DSRestoring
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = DSActive
+  | DSCreated
+  | DSCreating
+  | DSDeleted
+  | DSDeleting
+  | DSFailed
+  | DSImpaired
+  | DSInoperable
+  | DSRequested
+  | DSRestoreFailed
+  | DSRestoring
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText DirectoryStage where
     parser = takeLowerText >>= \case
         "active" -> pure DSActive
@@ -102,11 +104,12 @@
     parseJSON = parseJSONText "DirectoryStage"
 
 data DirectoryType
-    = ADConnector
-    | MicrosoftAD
-    | SimpleAD
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = ADConnector
+  | MicrosoftAD
+  | SimpleAD
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText DirectoryType where
     parser = takeLowerText >>= \case
         "adconnector" -> pure ADConnector
@@ -130,15 +133,58 @@
 instance FromJSON DirectoryType where
     parseJSON = parseJSONText "DirectoryType"
 
+data DomainControllerStatus
+  = Active
+  | Creating
+  | Deleted
+  | Deleting
+  | Failed
+  | Impaired
+  | Restoring
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
+
+
+instance FromText DomainControllerStatus where
+    parser = takeLowerText >>= \case
+        "active" -> pure Active
+        "creating" -> pure Creating
+        "deleted" -> pure Deleted
+        "deleting" -> pure Deleting
+        "failed" -> pure Failed
+        "impaired" -> pure Impaired
+        "restoring" -> pure Restoring
+        e -> fromTextError $ "Failure parsing DomainControllerStatus from value: '" <> e
+           <> "'. Accepted values: active, creating, deleted, deleting, failed, impaired, restoring"
+
+instance ToText DomainControllerStatus where
+    toText = \case
+        Active -> "Active"
+        Creating -> "Creating"
+        Deleted -> "Deleted"
+        Deleting -> "Deleting"
+        Failed -> "Failed"
+        Impaired -> "Impaired"
+        Restoring -> "Restoring"
+
+instance Hashable     DomainControllerStatus
+instance NFData       DomainControllerStatus
+instance ToByteString DomainControllerStatus
+instance ToQuery      DomainControllerStatus
+instance ToHeader     DomainControllerStatus
+
+instance FromJSON DomainControllerStatus where
+    parseJSON = parseJSONText "DomainControllerStatus"
+
 data IPRouteStatusMsg
-    = AddFailed
-    | Added
-    | Adding
-    | RemoveFailed
-    | Removed
-    | Removing
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = AddFailed
+  | Added
+  | Adding
+  | RemoveFailed
+  | Removed
+  | Removing
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText IPRouteStatusMsg where
     parser = takeLowerText >>= \case
         "addfailed" -> pure AddFailed
@@ -169,12 +215,13 @@
     parseJSON = parseJSONText "IPRouteStatusMsg"
 
 data RadiusAuthenticationProtocol
-    = Chap
-    | MsCHAPV1
-    | MsCHAPV2
-    | Pap
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = Chap
+  | MsCHAPV1
+  | MsCHAPV2
+  | Pap
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText RadiusAuthenticationProtocol where
     parser = takeLowerText >>= \case
         "chap" -> pure Chap
@@ -204,24 +251,25 @@
     parseJSON = parseJSONText "RadiusAuthenticationProtocol"
 
 data RadiusStatus
-    = Completed
-    | Creating
-    | Failed
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = RSCompleted
+  | RSCreating
+  | RSFailed
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText RadiusStatus where
     parser = takeLowerText >>= \case
-        "completed" -> pure Completed
-        "creating" -> pure Creating
-        "failed" -> pure Failed
+        "completed" -> pure RSCompleted
+        "creating" -> pure RSCreating
+        "failed" -> pure RSFailed
         e -> fromTextError $ "Failure parsing RadiusStatus from value: '" <> e
            <> "'. Accepted values: completed, creating, failed"
 
 instance ToText RadiusStatus where
     toText = \case
-        Completed -> "Completed"
-        Creating -> "Creating"
-        Failed -> "Failed"
+        RSCompleted -> "Completed"
+        RSCreating -> "Creating"
+        RSFailed -> "Failed"
 
 instance Hashable     RadiusStatus
 instance NFData       RadiusStatus
@@ -233,9 +281,10 @@
     parseJSON = parseJSONText "RadiusStatus"
 
 data ReplicationScope =
-    Domain
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  Domain
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText ReplicationScope where
     parser = takeLowerText >>= \case
         "domain" -> pure Domain
@@ -256,17 +305,18 @@
     parseJSON = parseJSONText "ReplicationScope"
 
 data SchemaExtensionStatus
-    = SESCancelInProgress
-    | SESCancelled
-    | SESCompleted
-    | SESCreatingSnapshot
-    | SESFailed
-    | SESInitializing
-    | SESReplicating
-    | SESRollbackInProgress
-    | SESUpdatingSchema
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = SESCancelInProgress
+  | SESCancelled
+  | SESCompleted
+  | SESCreatingSnapshot
+  | SESFailed
+  | SESInitializing
+  | SESReplicating
+  | SESRollbackInProgress
+  | SESUpdatingSchema
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText SchemaExtensionStatus where
     parser = takeLowerText >>= \case
         "cancelinprogress" -> pure SESCancelInProgress
@@ -303,11 +353,12 @@
     parseJSON = parseJSONText "SchemaExtensionStatus"
 
 data SnapshotStatus
-    = SSCompleted
-    | SSCreating
-    | SSFailed
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = SSCompleted
+  | SSCreating
+  | SSFailed
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText SnapshotStatus where
     parser = takeLowerText >>= \case
         "completed" -> pure SSCompleted
@@ -332,10 +383,11 @@
     parseJSON = parseJSONText "SnapshotStatus"
 
 data SnapshotType
-    = Auto
-    | Manual
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = Auto
+  | Manual
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText SnapshotType where
     parser = takeLowerText >>= \case
         "auto" -> pure Auto
@@ -358,12 +410,13 @@
     parseJSON = parseJSONText "SnapshotType"
 
 data TopicStatus
-    = TDeleted
-    | TFailed
-    | TRegistered
-    | TTopicNotFound
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = TDeleted
+  | TFailed
+  | TRegistered
+  | TTopicNotFound
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText TopicStatus where
     parser = takeLowerText >>= \case
         "deleted" -> pure TDeleted
@@ -390,11 +443,12 @@
     parseJSON = parseJSONText "TopicStatus"
 
 data TrustDirection
-    = OneWayIncoming
-    | OneWayOutgoing
-    | TwoWay
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = OneWayIncoming
+  | OneWayOutgoing
+  | TwoWay
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText TrustDirection where
     parser = takeLowerText >>= \case
         "one-way: incoming" -> pure OneWayIncoming
@@ -422,16 +476,17 @@
     parseJSON = parseJSONText "TrustDirection"
 
 data TrustState
-    = TSCreated
-    | TSCreating
-    | TSDeleted
-    | TSDeleting
-    | TSFailed
-    | TSVerified
-    | TSVerifyFailed
-    | TSVerifying
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  = TSCreated
+  | TSCreating
+  | TSDeleted
+  | TSDeleting
+  | TSFailed
+  | TSVerified
+  | TSVerifyFailed
+  | TSVerifying
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
 
+
 instance FromText TrustState where
     parser = takeLowerText >>= \case
         "created" -> pure TSCreated
@@ -466,8 +521,9 @@
     parseJSON = parseJSONText "TrustState"
 
 data TrustType =
-    Forest
-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)
+  Forest
+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)
+
 
 instance FromText TrustType where
     parser = takeLowerText >>= \case
diff --git a/gen/Network/AWS/DirectoryService/UpdateConditionalForwarder.hs b/gen/Network/AWS/DirectoryService/UpdateConditionalForwarder.hs
--- a/gen/Network/AWS/DirectoryService/UpdateConditionalForwarder.hs
+++ b/gen/Network/AWS/DirectoryService/UpdateConditionalForwarder.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.UpdateConditionalForwarder
--- 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 @@
     , ucfrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Updates a conditional forwarder.
 --
@@ -51,11 +51,12 @@
 --
 -- /See:/ 'updateConditionalForwarder' smart constructor.
 data UpdateConditionalForwarder = UpdateConditionalForwarder'
-    { _ucfDirectoryId      :: !Text
-    , _ucfRemoteDomainName :: !Text
-    , _ucfDNSIPAddrs       :: ![Text]
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ucfDirectoryId      :: !Text
+  , _ucfRemoteDomainName :: !Text
+  , _ucfDNSIPAddrs       :: ![Text]
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UpdateConditionalForwarder' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -70,12 +71,13 @@
     -> Text -- ^ 'ucfRemoteDomainName'
     -> UpdateConditionalForwarder
 updateConditionalForwarder pDirectoryId_ pRemoteDomainName_ =
-    UpdateConditionalForwarder'
-    { _ucfDirectoryId = pDirectoryId_
-    , _ucfRemoteDomainName = pRemoteDomainName_
-    , _ucfDNSIPAddrs = mempty
-    }
+  UpdateConditionalForwarder'
+  { _ucfDirectoryId = pDirectoryId_
+  , _ucfRemoteDomainName = pRemoteDomainName_
+  , _ucfDNSIPAddrs = mempty
+  }
 
+
 -- | The directory ID of the AWS directory for which to update the conditional forwarder.
 ucfDirectoryId :: Lens' UpdateConditionalForwarder Text
 ucfDirectoryId = lens _ucfDirectoryId (\ s a -> s{_ucfDirectoryId = a});
@@ -98,9 +100,9 @@
                  UpdateConditionalForwarderResponse' <$>
                    (pure (fromEnum s)))
 
-instance Hashable UpdateConditionalForwarder
+instance Hashable UpdateConditionalForwarder where
 
-instance NFData UpdateConditionalForwarder
+instance NFData UpdateConditionalForwarder where
 
 instance ToHeaders UpdateConditionalForwarder where
         toHeaders
@@ -132,9 +134,10 @@
 --
 -- /See:/ 'updateConditionalForwarderResponse' smart constructor.
 newtype UpdateConditionalForwarderResponse = UpdateConditionalForwarderResponse'
-    { _ucfrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _ucfrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UpdateConditionalForwarderResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -144,12 +147,12 @@
     :: Int -- ^ 'ucfrsResponseStatus'
     -> UpdateConditionalForwarderResponse
 updateConditionalForwarderResponse pResponseStatus_ =
-    UpdateConditionalForwarderResponse'
-    { _ucfrsResponseStatus = pResponseStatus_
-    }
+  UpdateConditionalForwarderResponse' {_ucfrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 ucfrsResponseStatus :: Lens' UpdateConditionalForwarderResponse Int
 ucfrsResponseStatus = lens _ucfrsResponseStatus (\ s a -> s{_ucfrsResponseStatus = a});
 
 instance NFData UpdateConditionalForwarderResponse
+         where
diff --git a/gen/Network/AWS/DirectoryService/UpdateNumberOfDomainControllers.hs b/gen/Network/AWS/DirectoryService/UpdateNumberOfDomainControllers.hs
new file mode 100644
--- /dev/null
+++ b/gen/Network/AWS/DirectoryService/UpdateNumberOfDomainControllers.hs
@@ -0,0 +1,146 @@
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveGeneric      #-}
+{-# LANGUAGE OverloadedStrings  #-}
+{-# LANGUAGE RecordWildCards    #-}
+{-# LANGUAGE TypeFamilies       #-}
+
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}
+{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+
+-- Derived from AWS service descriptions, licensed under Apache 2.0.
+
+-- |
+-- Module      : Network.AWS.DirectoryService.UpdateNumberOfDomainControllers
+-- Copyright   : (c) 2013-2017 Brendan Hay
+-- License     : Mozilla Public License, v. 2.0.
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
+-- Stability   : auto-generated
+-- Portability : non-portable (GHC extensions)
+--
+-- Adds or removes domain controllers to or from the directory. Based on the difference between current value and new value (provided through this API call), domain controllers will be added or removed. It may take up to 45 minutes for any new domain controllers to become fully active once the requested number of domain controllers is updated. During this time, you cannot make another update request.
+--
+--
+module Network.AWS.DirectoryService.UpdateNumberOfDomainControllers
+    (
+    -- * Creating a Request
+      updateNumberOfDomainControllers
+    , UpdateNumberOfDomainControllers
+    -- * Request Lenses
+    , unodcDirectoryId
+    , unodcDesiredNumber
+
+    -- * Destructuring the Response
+    , updateNumberOfDomainControllersResponse
+    , UpdateNumberOfDomainControllersResponse
+    -- * Response Lenses
+    , unodcrsResponseStatus
+    ) where
+
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
+
+-- | /See:/ 'updateNumberOfDomainControllers' smart constructor.
+data UpdateNumberOfDomainControllers = UpdateNumberOfDomainControllers'
+  { _unodcDirectoryId   :: !Text
+  , _unodcDesiredNumber :: !Nat
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
+
+
+-- | Creates a value of 'UpdateNumberOfDomainControllers' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'unodcDirectoryId' - Identifier of the directory to which the domain controllers will be added or removed.
+--
+-- * 'unodcDesiredNumber' - The number of domain controllers desired in the directory.
+updateNumberOfDomainControllers
+    :: Text -- ^ 'unodcDirectoryId'
+    -> Natural -- ^ 'unodcDesiredNumber'
+    -> UpdateNumberOfDomainControllers
+updateNumberOfDomainControllers pDirectoryId_ pDesiredNumber_ =
+  UpdateNumberOfDomainControllers'
+  { _unodcDirectoryId = pDirectoryId_
+  , _unodcDesiredNumber = _Nat # pDesiredNumber_
+  }
+
+
+-- | Identifier of the directory to which the domain controllers will be added or removed.
+unodcDirectoryId :: Lens' UpdateNumberOfDomainControllers Text
+unodcDirectoryId = lens _unodcDirectoryId (\ s a -> s{_unodcDirectoryId = a});
+
+-- | The number of domain controllers desired in the directory.
+unodcDesiredNumber :: Lens' UpdateNumberOfDomainControllers Natural
+unodcDesiredNumber = lens _unodcDesiredNumber (\ s a -> s{_unodcDesiredNumber = a}) . _Nat;
+
+instance AWSRequest UpdateNumberOfDomainControllers
+         where
+        type Rs UpdateNumberOfDomainControllers =
+             UpdateNumberOfDomainControllersResponse
+        request = postJSON directoryService
+        response
+          = receiveEmpty
+              (\ s h x ->
+                 UpdateNumberOfDomainControllersResponse' <$>
+                   (pure (fromEnum s)))
+
+instance Hashable UpdateNumberOfDomainControllers
+         where
+
+instance NFData UpdateNumberOfDomainControllers where
+
+instance ToHeaders UpdateNumberOfDomainControllers
+         where
+        toHeaders
+          = const
+              (mconcat
+                 ["X-Amz-Target" =#
+                    ("DirectoryService_20150416.UpdateNumberOfDomainControllers"
+                       :: ByteString),
+                  "Content-Type" =#
+                    ("application/x-amz-json-1.1" :: ByteString)])
+
+instance ToJSON UpdateNumberOfDomainControllers where
+        toJSON UpdateNumberOfDomainControllers'{..}
+          = object
+              (catMaybes
+                 [Just ("DirectoryId" .= _unodcDirectoryId),
+                  Just ("DesiredNumber" .= _unodcDesiredNumber)])
+
+instance ToPath UpdateNumberOfDomainControllers where
+        toPath = const "/"
+
+instance ToQuery UpdateNumberOfDomainControllers
+         where
+        toQuery = const mempty
+
+-- | /See:/ 'updateNumberOfDomainControllersResponse' smart constructor.
+newtype UpdateNumberOfDomainControllersResponse = UpdateNumberOfDomainControllersResponse'
+  { _unodcrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
+
+
+-- | Creates a value of 'UpdateNumberOfDomainControllersResponse' with the minimum fields required to make a request.
+--
+-- Use one of the following lenses to modify other fields as desired:
+--
+-- * 'unodcrsResponseStatus' - -- | The response status code.
+updateNumberOfDomainControllersResponse
+    :: Int -- ^ 'unodcrsResponseStatus'
+    -> UpdateNumberOfDomainControllersResponse
+updateNumberOfDomainControllersResponse pResponseStatus_ =
+  UpdateNumberOfDomainControllersResponse'
+  {_unodcrsResponseStatus = pResponseStatus_}
+
+
+-- | -- | The response status code.
+unodcrsResponseStatus :: Lens' UpdateNumberOfDomainControllersResponse Int
+unodcrsResponseStatus = lens _unodcrsResponseStatus (\ s a -> s{_unodcrsResponseStatus = a});
+
+instance NFData
+           UpdateNumberOfDomainControllersResponse
+         where
diff --git a/gen/Network/AWS/DirectoryService/UpdateRadius.hs b/gen/Network/AWS/DirectoryService/UpdateRadius.hs
--- a/gen/Network/AWS/DirectoryService/UpdateRadius.hs
+++ b/gen/Network/AWS/DirectoryService/UpdateRadius.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.UpdateRadius
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
@@ -37,12 +37,12 @@
     , urrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Contains the inputs for the 'UpdateRadius' operation.
 --
@@ -50,10 +50,11 @@
 --
 -- /See:/ 'updateRadius' smart constructor.
 data UpdateRadius = UpdateRadius'
-    { _urDirectoryId    :: !Text
-    , _urRadiusSettings :: !RadiusSettings
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _urDirectoryId    :: !Text
+  , _urRadiusSettings :: !RadiusSettings
+  } deriving (Eq, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UpdateRadius' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -66,11 +67,10 @@
     -> RadiusSettings -- ^ 'urRadiusSettings'
     -> UpdateRadius
 updateRadius pDirectoryId_ pRadiusSettings_ =
-    UpdateRadius'
-    { _urDirectoryId = pDirectoryId_
-    , _urRadiusSettings = pRadiusSettings_
-    }
+  UpdateRadius'
+  {_urDirectoryId = pDirectoryId_, _urRadiusSettings = pRadiusSettings_}
 
+
 -- | The identifier of the directory for which to update the RADIUS server information.
 urDirectoryId :: Lens' UpdateRadius Text
 urDirectoryId = lens _urDirectoryId (\ s a -> s{_urDirectoryId = a});
@@ -87,9 +87,9 @@
               (\ s h x ->
                  UpdateRadiusResponse' <$> (pure (fromEnum s)))
 
-instance Hashable UpdateRadius
+instance Hashable UpdateRadius where
 
-instance NFData UpdateRadius
+instance NFData UpdateRadius where
 
 instance ToHeaders UpdateRadius where
         toHeaders
@@ -120,9 +120,10 @@
 --
 -- /See:/ 'updateRadiusResponse' smart constructor.
 newtype UpdateRadiusResponse = UpdateRadiusResponse'
-    { _urrsResponseStatus :: Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _urrsResponseStatus :: Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'UpdateRadiusResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -132,12 +133,11 @@
     :: Int -- ^ 'urrsResponseStatus'
     -> UpdateRadiusResponse
 updateRadiusResponse pResponseStatus_ =
-    UpdateRadiusResponse'
-    { _urrsResponseStatus = pResponseStatus_
-    }
+  UpdateRadiusResponse' {_urrsResponseStatus = pResponseStatus_}
 
+
 -- | -- | The response status code.
 urrsResponseStatus :: Lens' UpdateRadiusResponse Int
 urrsResponseStatus = lens _urrsResponseStatus (\ s a -> s{_urrsResponseStatus = a});
 
-instance NFData UpdateRadiusResponse
+instance NFData UpdateRadiusResponse where
diff --git a/gen/Network/AWS/DirectoryService/VerifyTrust.hs b/gen/Network/AWS/DirectoryService/VerifyTrust.hs
--- a/gen/Network/AWS/DirectoryService/VerifyTrust.hs
+++ b/gen/Network/AWS/DirectoryService/VerifyTrust.hs
@@ -12,9 +12,9 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.VerifyTrust
--- 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)
 --
@@ -39,12 +39,12 @@
     , vtrsResponseStatus
     ) where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.DirectoryService.Types.Product
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Request
-import           Network.AWS.Response
+import Network.AWS.DirectoryService.Types
+import Network.AWS.DirectoryService.Types.Product
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Request
+import Network.AWS.Response
 
 -- | Initiates the verification of an existing trust relationship between a Microsoft AD in the AWS cloud and an external domain.
 --
@@ -52,9 +52,10 @@
 --
 -- /See:/ 'verifyTrust' smart constructor.
 newtype VerifyTrust = VerifyTrust'
-    { _vtTrustId :: Text
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _vtTrustId :: Text
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'VerifyTrust' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -63,11 +64,9 @@
 verifyTrust
     :: Text -- ^ 'vtTrustId'
     -> VerifyTrust
-verifyTrust pTrustId_ =
-    VerifyTrust'
-    { _vtTrustId = pTrustId_
-    }
+verifyTrust pTrustId_ = VerifyTrust' {_vtTrustId = pTrustId_}
 
+
 -- | The unique Trust ID of the trust relationship to verify.
 vtTrustId :: Lens' VerifyTrust Text
 vtTrustId = lens _vtTrustId (\ s a -> s{_vtTrustId = a});
@@ -81,9 +80,9 @@
                  VerifyTrustResponse' <$>
                    (x .?> "TrustId") <*> (pure (fromEnum s)))
 
-instance Hashable VerifyTrust
+instance Hashable VerifyTrust where
 
-instance NFData VerifyTrust
+instance NFData VerifyTrust where
 
 instance ToHeaders VerifyTrust where
         toHeaders
@@ -111,10 +110,11 @@
 --
 -- /See:/ 'verifyTrustResponse' smart constructor.
 data VerifyTrustResponse = VerifyTrustResponse'
-    { _vtrsTrustId        :: !(Maybe Text)
-    , _vtrsResponseStatus :: !Int
-    } deriving (Eq,Read,Show,Data,Typeable,Generic)
+  { _vtrsTrustId        :: !(Maybe Text)
+  , _vtrsResponseStatus :: !Int
+  } deriving (Eq, Read, Show, Data, Typeable, Generic)
 
+
 -- | Creates a value of 'VerifyTrustResponse' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
@@ -126,11 +126,10 @@
     :: Int -- ^ 'vtrsResponseStatus'
     -> VerifyTrustResponse
 verifyTrustResponse pResponseStatus_ =
-    VerifyTrustResponse'
-    { _vtrsTrustId = Nothing
-    , _vtrsResponseStatus = pResponseStatus_
-    }
+  VerifyTrustResponse'
+  {_vtrsTrustId = Nothing, _vtrsResponseStatus = pResponseStatus_}
 
+
 -- | The unique Trust ID of the trust relationship that was verified.
 vtrsTrustId :: Lens' VerifyTrustResponse (Maybe Text)
 vtrsTrustId = lens _vtrsTrustId (\ s a -> s{_vtrsTrustId = a});
@@ -139,4 +138,4 @@
 vtrsResponseStatus :: Lens' VerifyTrustResponse Int
 vtrsResponseStatus = lens _vtrsResponseStatus (\ s a -> s{_vtrsResponseStatus = a});
 
-instance NFData VerifyTrustResponse
+instance NFData VerifyTrustResponse where
diff --git a/gen/Network/AWS/DirectoryService/Waiters.hs b/gen/Network/AWS/DirectoryService/Waiters.hs
--- a/gen/Network/AWS/DirectoryService/Waiters.hs
+++ b/gen/Network/AWS/DirectoryService/Waiters.hs
@@ -7,15 +7,15 @@
 
 -- |
 -- Module      : Network.AWS.DirectoryService.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.DirectoryService.Waiters where
 
-import           Network.AWS.DirectoryService.Types
-import           Network.AWS.Lens
-import           Network.AWS.Prelude
-import           Network.AWS.Waiter
+import Network.AWS.DirectoryService.Types
+import Network.AWS.Lens
+import Network.AWS.Prelude
+import Network.AWS.Waiter
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -2,9 +2,9 @@
 
 -- |
 -- Module      : Main
--- Copyright   : (c) 2013-2016 Brendan Hay
+-- Copyright   : (c) 2013-2017 Brendan Hay
 -- License     : Mozilla Public License, v. 2.0.
--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>
+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
 -- Stability   : auto-generated
 -- Portability : non-portable (GHC extensions)
 --
diff --git a/test/Test/AWS/Gen/DirectoryService.hs b/test/Test/AWS/Gen/DirectoryService.hs
--- a/test/Test/AWS/Gen/DirectoryService.hs
+++ b/test/Test/AWS/Gen/DirectoryService.hs
@@ -5,20 +5,20 @@
 
 -- |
 -- Module      : Test.AWS.Gen.DirectoryService
--- 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.DirectoryService where
 
 import Data.Proxy
+import Network.AWS.DirectoryService
+import Test.AWS.DirectoryService.Internal
 import Test.AWS.Fixture
 import Test.AWS.Prelude
 import Test.Tasty
-import Network.AWS.DirectoryService
-import Test.AWS.DirectoryService.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.
@@ -28,7 +28,10 @@
 -- fixtures :: TestTree
 -- fixtures =
 --     [ testGroup "request"
---         [ requestDescribeConditionalForwarders $
+--         [ requestUpdateNumberOfDomainControllers $
+--             updateNumberOfDomainControllers
+--
+--         , requestDescribeConditionalForwarders $
 --             describeConditionalForwarders
 --
 --         , requestGetSnapshotLimits $
@@ -103,6 +106,9 @@
 --         , requestRestoreFromSnapshot $
 --             restoreFromSnapshot
 --
+--         , requestDescribeDomainControllers $
+--             describeDomainControllers
+--
 --         , requestDescribeSnapshots $
 --             describeSnapshots
 --
@@ -145,7 +151,10 @@
 --           ]
 
 --     , testGroup "response"
---         [ responseDescribeConditionalForwarders $
+--         [ responseUpdateNumberOfDomainControllers $
+--             updateNumberOfDomainControllersResponse
+--
+--         , responseDescribeConditionalForwarders $
 --             describeConditionalForwardersResponse
 --
 --         , responseGetSnapshotLimits $
@@ -220,6 +229,9 @@
 --         , responseRestoreFromSnapshot $
 --             restoreFromSnapshotResponse
 --
+--         , responseDescribeDomainControllers $
+--             describeDomainControllersResponse
+--
 --         , responseDescribeSnapshots $
 --             describeSnapshotsResponse
 --
@@ -264,6 +276,11 @@
 
 -- Requests
 
+requestUpdateNumberOfDomainControllers :: UpdateNumberOfDomainControllers -> TestTree
+requestUpdateNumberOfDomainControllers = req
+    "UpdateNumberOfDomainControllers"
+    "fixture/UpdateNumberOfDomainControllers.yaml"
+
 requestDescribeConditionalForwarders :: DescribeConditionalForwarders -> TestTree
 requestDescribeConditionalForwarders = req
     "DescribeConditionalForwarders"
@@ -389,6 +406,11 @@
     "RestoreFromSnapshot"
     "fixture/RestoreFromSnapshot.yaml"
 
+requestDescribeDomainControllers :: DescribeDomainControllers -> TestTree
+requestDescribeDomainControllers = req
+    "DescribeDomainControllers"
+    "fixture/DescribeDomainControllers.yaml"
+
 requestDescribeSnapshots :: DescribeSnapshots -> TestTree
 requestDescribeSnapshots = req
     "DescribeSnapshots"
@@ -456,6 +478,13 @@
 
 -- Responses
 
+responseUpdateNumberOfDomainControllers :: UpdateNumberOfDomainControllersResponse -> TestTree
+responseUpdateNumberOfDomainControllers = res
+    "UpdateNumberOfDomainControllersResponse"
+    "fixture/UpdateNumberOfDomainControllersResponse.proto"
+    directoryService
+    (Proxy :: Proxy UpdateNumberOfDomainControllers)
+
 responseDescribeConditionalForwarders :: DescribeConditionalForwardersResponse -> TestTree
 responseDescribeConditionalForwarders = res
     "DescribeConditionalForwardersResponse"
@@ -630,6 +659,13 @@
     "fixture/RestoreFromSnapshotResponse.proto"
     directoryService
     (Proxy :: Proxy RestoreFromSnapshot)
+
+responseDescribeDomainControllers :: DescribeDomainControllersResponse -> TestTree
+responseDescribeDomainControllers = res
+    "DescribeDomainControllersResponse"
+    "fixture/DescribeDomainControllersResponse.proto"
+    directoryService
+    (Proxy :: Proxy DescribeDomainControllers)
 
 responseDescribeSnapshots :: DescribeSnapshotsResponse -> TestTree
 responseDescribeSnapshots = res
