diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.1.0`
+`1.2.0`
 
 
 ## Description
diff --git a/amazonka-codecommit.cabal b/amazonka-codecommit.cabal
--- a/amazonka-codecommit.cabal
+++ b/amazonka-codecommit.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-codecommit
-version:               1.1.0
+version:               1.2.0
 synopsis:              Amazon CodeCommit SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -72,7 +72,7 @@
         , Network.AWS.CodeCommit.Types.Sum
 
     build-depends:
-          amazonka-core == 1.1.0.*
+          amazonka-core == 1.2.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-codecommit-test
@@ -91,9 +91,9 @@
         , Test.AWS.CodeCommit.Internal
 
     build-depends:
-          amazonka-core == 1.1.0
-        , amazonka-test == 1.1.0
-        , amazonka-codecommit == 1.1.0
+          amazonka-core == 1.2.0
+        , amazonka-test == 1.2.0
+        , amazonka-codecommit == 1.2.0
         , base
         , bytestring
         , lens
diff --git a/gen/Network/AWS/CodeCommit.hs b/gen/Network/AWS/CodeCommit.hs
--- a/gen/Network/AWS/CodeCommit.hs
+++ b/gen/Network/AWS/CodeCommit.hs
@@ -28,8 +28,8 @@
 -- /See:/ <http://docs.aws.amazon.com/codecommit/latest/APIReference/Welcome.html AWS API Reference>
 module Network.AWS.CodeCommit
     (
-    -- * Service
-      CodeCommit
+    -- * Service Configuration
+      codeCommit
 
     -- * Errors
     -- $errors
diff --git a/gen/Network/AWS/CodeCommit/BatchGetRepositories.hs b/gen/Network/AWS/CodeCommit/BatchGetRepositories.hs
--- a/gen/Network/AWS/CodeCommit/BatchGetRepositories.hs
+++ b/gen/Network/AWS/CodeCommit/BatchGetRepositories.hs
@@ -75,10 +75,9 @@
 bgrRepositoryNames = lens _bgrRepositoryNames (\ s a -> s{_bgrRepositoryNames = a}) . _Coerce;
 
 instance AWSRequest BatchGetRepositories where
-        type Sv BatchGetRepositories = CodeCommit
         type Rs BatchGetRepositories =
              BatchGetRepositoriesResponse
-        request = postJSON
+        request = postJSON codeCommit
         response
           = receiveJSON
               (\ s h x ->
@@ -99,7 +98,9 @@
 
 instance ToJSON BatchGetRepositories where
         toJSON BatchGetRepositories'{..}
-          = object ["repositoryNames" .= _bgrRepositoryNames]
+          = object
+              (catMaybes
+                 [Just ("repositoryNames" .= _bgrRepositoryNames)])
 
 instance ToPath BatchGetRepositories where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/CreateBranch.hs b/gen/Network/AWS/CodeCommit/CreateBranch.hs
--- a/gen/Network/AWS/CodeCommit/CreateBranch.hs
+++ b/gen/Network/AWS/CodeCommit/CreateBranch.hs
@@ -91,9 +91,8 @@
 cbCommitId = lens _cbCommitId (\ s a -> s{_cbCommitId = a});
 
 instance AWSRequest CreateBranch where
-        type Sv CreateBranch = CodeCommit
         type Rs CreateBranch = CreateBranchResponse
-        request = postJSON
+        request = postJSON codeCommit
         response = receiveNull CreateBranchResponse'
 
 instance ToHeaders CreateBranch where
@@ -108,9 +107,10 @@
 instance ToJSON CreateBranch where
         toJSON CreateBranch'{..}
           = object
-              ["repositoryName" .= _cbRepositoryName,
-               "branchName" .= _cbBranchName,
-               "commitId" .= _cbCommitId]
+              (catMaybes
+                 [Just ("repositoryName" .= _cbRepositoryName),
+                  Just ("branchName" .= _cbBranchName),
+                  Just ("commitId" .= _cbCommitId)])
 
 instance ToPath CreateBranch where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/CreateRepository.hs b/gen/Network/AWS/CodeCommit/CreateRepository.hs
--- a/gen/Network/AWS/CodeCommit/CreateRepository.hs
+++ b/gen/Network/AWS/CodeCommit/CreateRepository.hs
@@ -81,9 +81,8 @@
 crRepositoryName = lens _crRepositoryName (\ s a -> s{_crRepositoryName = a});
 
 instance AWSRequest CreateRepository where
-        type Sv CreateRepository = CodeCommit
         type Rs CreateRepository = CreateRepositoryResponse
-        request = postJSON
+        request = postJSON codeCommit
         response
           = receiveJSON
               (\ s h x ->
@@ -103,8 +102,10 @@
 instance ToJSON CreateRepository where
         toJSON CreateRepository'{..}
           = object
-              ["repositoryDescription" .= _crRepositoryDescription,
-               "repositoryName" .= _crRepositoryName]
+              (catMaybes
+                 [("repositoryDescription" .=) <$>
+                    _crRepositoryDescription,
+                  Just ("repositoryName" .= _crRepositoryName)])
 
 instance ToPath CreateRepository where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/DeleteRepository.hs b/gen/Network/AWS/CodeCommit/DeleteRepository.hs
--- a/gen/Network/AWS/CodeCommit/DeleteRepository.hs
+++ b/gen/Network/AWS/CodeCommit/DeleteRepository.hs
@@ -73,9 +73,8 @@
 drRepositoryName = lens _drRepositoryName (\ s a -> s{_drRepositoryName = a});
 
 instance AWSRequest DeleteRepository where
-        type Sv DeleteRepository = CodeCommit
         type Rs DeleteRepository = DeleteRepositoryResponse
-        request = postJSON
+        request = postJSON codeCommit
         response
           = receiveJSON
               (\ s h x ->
@@ -94,7 +93,9 @@
 
 instance ToJSON DeleteRepository where
         toJSON DeleteRepository'{..}
-          = object ["repositoryName" .= _drRepositoryName]
+          = object
+              (catMaybes
+                 [Just ("repositoryName" .= _drRepositoryName)])
 
 instance ToPath DeleteRepository where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/GetBranch.hs b/gen/Network/AWS/CodeCommit/GetBranch.hs
--- a/gen/Network/AWS/CodeCommit/GetBranch.hs
+++ b/gen/Network/AWS/CodeCommit/GetBranch.hs
@@ -77,9 +77,8 @@
 gbRepositoryName = lens _gbRepositoryName (\ s a -> s{_gbRepositoryName = a});
 
 instance AWSRequest GetBranch where
-        type Sv GetBranch = CodeCommit
         type Rs GetBranch = GetBranchResponse
-        request = postJSON
+        request = postJSON codeCommit
         response
           = receiveJSON
               (\ s h x ->
@@ -98,8 +97,9 @@
 instance ToJSON GetBranch where
         toJSON GetBranch'{..}
           = object
-              ["branchName" .= _gbBranchName,
-               "repositoryName" .= _gbRepositoryName]
+              (catMaybes
+                 [("branchName" .=) <$> _gbBranchName,
+                  ("repositoryName" .=) <$> _gbRepositoryName])
 
 instance ToPath GetBranch where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/GetRepository.hs b/gen/Network/AWS/CodeCommit/GetRepository.hs
--- a/gen/Network/AWS/CodeCommit/GetRepository.hs
+++ b/gen/Network/AWS/CodeCommit/GetRepository.hs
@@ -75,9 +75,8 @@
 grRepositoryName = lens _grRepositoryName (\ s a -> s{_grRepositoryName = a});
 
 instance AWSRequest GetRepository where
-        type Sv GetRepository = CodeCommit
         type Rs GetRepository = GetRepositoryResponse
-        request = postJSON
+        request = postJSON codeCommit
         response
           = receiveJSON
               (\ s h x ->
@@ -95,7 +94,9 @@
 
 instance ToJSON GetRepository where
         toJSON GetRepository'{..}
-          = object ["repositoryName" .= _grRepositoryName]
+          = object
+              (catMaybes
+                 [Just ("repositoryName" .= _grRepositoryName)])
 
 instance ToPath GetRepository where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/ListBranches.hs b/gen/Network/AWS/CodeCommit/ListBranches.hs
--- a/gen/Network/AWS/CodeCommit/ListBranches.hs
+++ b/gen/Network/AWS/CodeCommit/ListBranches.hs
@@ -78,9 +78,8 @@
 lbRepositoryName = lens _lbRepositoryName (\ s a -> s{_lbRepositoryName = a});
 
 instance AWSRequest ListBranches where
-        type Sv ListBranches = CodeCommit
         type Rs ListBranches = ListBranchesResponse
-        request = postJSON
+        request = postJSON codeCommit
         response
           = receiveJSON
               (\ s h x ->
@@ -100,8 +99,9 @@
 instance ToJSON ListBranches where
         toJSON ListBranches'{..}
           = object
-              ["nextToken" .= _lbNextToken,
-               "repositoryName" .= _lbRepositoryName]
+              (catMaybes
+                 [("nextToken" .=) <$> _lbNextToken,
+                  Just ("repositoryName" .= _lbRepositoryName)])
 
 instance ToPath ListBranches where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/ListRepositories.hs b/gen/Network/AWS/CodeCommit/ListRepositories.hs
--- a/gen/Network/AWS/CodeCommit/ListRepositories.hs
+++ b/gen/Network/AWS/CodeCommit/ListRepositories.hs
@@ -89,9 +89,8 @@
 lrSortBy = lens _lrSortBy (\ s a -> s{_lrSortBy = a});
 
 instance AWSRequest ListRepositories where
-        type Sv ListRepositories = CodeCommit
         type Rs ListRepositories = ListRepositoriesResponse
-        request = postJSON
+        request = postJSON codeCommit
         response
           = receiveJSON
               (\ s h x ->
@@ -113,8 +112,10 @@
 instance ToJSON ListRepositories where
         toJSON ListRepositories'{..}
           = object
-              ["nextToken" .= _lrNextToken, "order" .= _lrOrder,
-               "sortBy" .= _lrSortBy]
+              (catMaybes
+                 [("nextToken" .=) <$> _lrNextToken,
+                  ("order" .=) <$> _lrOrder,
+                  ("sortBy" .=) <$> _lrSortBy])
 
 instance ToPath ListRepositories where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/Types.hs b/gen/Network/AWS/CodeCommit/Types.hs
--- a/gen/Network/AWS/CodeCommit/Types.hs
+++ b/gen/Network/AWS/CodeCommit/Types.hs
@@ -1,5 +1,4 @@
 {-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE TypeFamilies      #-}
 
 -- Derived from AWS service descriptions, licensed under Apache 2.0.
 
@@ -13,8 +12,8 @@
 --
 module Network.AWS.CodeCommit.Types
     (
-    -- * Service
-      CodeCommit
+    -- * Service Configuration
+      codeCommit
 
     -- * Errors
     , _InvalidContinuationTokenException
@@ -79,39 +78,36 @@
 import           Network.AWS.Prelude
 import           Network.AWS.Sign.V4
 
--- | Version @2015-04-13@ of the Amazon CodeCommit SDK.
-data CodeCommit
-
-instance AWSService CodeCommit where
-    type Sg CodeCommit = V4
-    service = const svc
-      where
-        svc =
-            Service
-            { _svcAbbrev = "CodeCommit"
-            , _svcPrefix = "codecommit"
-            , _svcVersion = "2015-04-13"
-            , _svcEndpoint = defaultEndpoint svc
-            , _svcTimeout = Just 70
-            , _svcStatus = statusSuccess
-            , _svcError = parseJSONError
-            , _svcRetry = retry
-            }
-        retry =
-            Exponential
-            { _retryBase = 5.0e-2
-            , _retryGrowth = 2
-            , _retryAttempts = 5
-            , _retryCheck = check
-            }
-        check e
-          | has (hasCode "ThrottlingException" . hasStatus 400) e =
-              Just "throttling_exception"
-          | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
-          | has (hasStatus 503) e = Just "service_unavailable"
-          | has (hasStatus 500) e = Just "general_server_error"
-          | has (hasStatus 509) e = Just "limit_exceeded"
-          | otherwise = Nothing
+-- | API version '2015-04-13' of the Amazon CodeCommit SDK configuration.
+codeCommit :: Service
+codeCommit =
+    Service
+    { _svcAbbrev = "CodeCommit"
+    , _svcSigner = v4
+    , _svcPrefix = "codecommit"
+    , _svcVersion = "2015-04-13"
+    , _svcEndpoint = defaultEndpoint codeCommit
+    , _svcTimeout = Just 70
+    , _svcCheck = statusSuccess
+    , _svcError = parseJSONError
+    , _svcRetry = retry
+    }
+  where
+    retry =
+        Exponential
+        { _retryBase = 5.0e-2
+        , _retryGrowth = 2
+        , _retryAttempts = 5
+        , _retryCheck = check
+        }
+    check e
+      | has (hasCode "ThrottlingException" . hasStatus 400) e =
+          Just "throttling_exception"
+      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
+      | has (hasStatus 503) e = Just "service_unavailable"
+      | has (hasStatus 500) e = Just "general_server_error"
+      | has (hasStatus 509) e = Just "limit_exceeded"
+      | otherwise = Nothing
 
 -- | The specified continuation token is not valid.
 _InvalidContinuationTokenException :: AsError a => Getting (First ServiceError) a ServiceError
diff --git a/gen/Network/AWS/CodeCommit/Types/Product.hs b/gen/Network/AWS/CodeCommit/Types/Product.hs
--- a/gen/Network/AWS/CodeCommit/Types/Product.hs
+++ b/gen/Network/AWS/CodeCommit/Types/Product.hs
@@ -2,7 +2,6 @@
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE OverloadedStrings  #-}
 {-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
 
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
diff --git a/gen/Network/AWS/CodeCommit/UpdateDefaultBranch.hs b/gen/Network/AWS/CodeCommit/UpdateDefaultBranch.hs
--- a/gen/Network/AWS/CodeCommit/UpdateDefaultBranch.hs
+++ b/gen/Network/AWS/CodeCommit/UpdateDefaultBranch.hs
@@ -79,10 +79,9 @@
 udbDefaultBranchName = lens _udbDefaultBranchName (\ s a -> s{_udbDefaultBranchName = a});
 
 instance AWSRequest UpdateDefaultBranch where
-        type Sv UpdateDefaultBranch = CodeCommit
         type Rs UpdateDefaultBranch =
              UpdateDefaultBranchResponse
-        request = postJSON
+        request = postJSON codeCommit
         response = receiveNull UpdateDefaultBranchResponse'
 
 instance ToHeaders UpdateDefaultBranch where
@@ -98,8 +97,9 @@
 instance ToJSON UpdateDefaultBranch where
         toJSON UpdateDefaultBranch'{..}
           = object
-              ["repositoryName" .= _udbRepositoryName,
-               "defaultBranchName" .= _udbDefaultBranchName]
+              (catMaybes
+                 [Just ("repositoryName" .= _udbRepositoryName),
+                  Just ("defaultBranchName" .= _udbDefaultBranchName)])
 
 instance ToPath UpdateDefaultBranch where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/UpdateRepositoryDescription.hs b/gen/Network/AWS/CodeCommit/UpdateRepositoryDescription.hs
--- a/gen/Network/AWS/CodeCommit/UpdateRepositoryDescription.hs
+++ b/gen/Network/AWS/CodeCommit/UpdateRepositoryDescription.hs
@@ -82,10 +82,9 @@
 urdRepositoryName = lens _urdRepositoryName (\ s a -> s{_urdRepositoryName = a});
 
 instance AWSRequest UpdateRepositoryDescription where
-        type Sv UpdateRepositoryDescription = CodeCommit
         type Rs UpdateRepositoryDescription =
              UpdateRepositoryDescriptionResponse
-        request = postJSON
+        request = postJSON codeCommit
         response
           = receiveNull UpdateRepositoryDescriptionResponse'
 
@@ -102,9 +101,10 @@
 instance ToJSON UpdateRepositoryDescription where
         toJSON UpdateRepositoryDescription'{..}
           = object
-              ["repositoryDescription" .=
-                 _urdRepositoryDescription,
-               "repositoryName" .= _urdRepositoryName]
+              (catMaybes
+                 [("repositoryDescription" .=) <$>
+                    _urdRepositoryDescription,
+                  Just ("repositoryName" .= _urdRepositoryName)])
 
 instance ToPath UpdateRepositoryDescription where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeCommit/UpdateRepositoryName.hs b/gen/Network/AWS/CodeCommit/UpdateRepositoryName.hs
--- a/gen/Network/AWS/CodeCommit/UpdateRepositoryName.hs
+++ b/gen/Network/AWS/CodeCommit/UpdateRepositoryName.hs
@@ -75,10 +75,9 @@
 urnNewName = lens _urnNewName (\ s a -> s{_urnNewName = a});
 
 instance AWSRequest UpdateRepositoryName where
-        type Sv UpdateRepositoryName = CodeCommit
         type Rs UpdateRepositoryName =
              UpdateRepositoryNameResponse
-        request = postJSON
+        request = postJSON codeCommit
         response = receiveNull UpdateRepositoryNameResponse'
 
 instance ToHeaders UpdateRepositoryName where
@@ -94,7 +93,9 @@
 instance ToJSON UpdateRepositoryName where
         toJSON UpdateRepositoryName'{..}
           = object
-              ["oldName" .= _urnOldName, "newName" .= _urnNewName]
+              (catMaybes
+                 [Just ("oldName" .= _urnOldName),
+                  Just ("newName" .= _urnNewName)])
 
 instance ToPath UpdateRepositoryName where
         toPath = const "/"
diff --git a/test/Test/AWS/Gen/CodeCommit.hs b/test/Test/AWS/Gen/CodeCommit.hs
--- a/test/Test/AWS/Gen/CodeCommit.hs
+++ b/test/Test/AWS/Gen/CodeCommit.hs
@@ -163,64 +163,75 @@
 testUpdateRepositoryNameResponse = res
     "UpdateRepositoryNameResponse"
     "fixture/UpdateRepositoryNameResponse"
+    codeCommit
     (Proxy :: Proxy UpdateRepositoryName)
 
 testGetBranchResponse :: GetBranchResponse -> TestTree
 testGetBranchResponse = res
     "GetBranchResponse"
     "fixture/GetBranchResponse"
+    codeCommit
     (Proxy :: Proxy GetBranch)
 
 testUpdateRepositoryDescriptionResponse :: UpdateRepositoryDescriptionResponse -> TestTree
 testUpdateRepositoryDescriptionResponse = res
     "UpdateRepositoryDescriptionResponse"
     "fixture/UpdateRepositoryDescriptionResponse"
+    codeCommit
     (Proxy :: Proxy UpdateRepositoryDescription)
 
 testListBranchesResponse :: ListBranchesResponse -> TestTree
 testListBranchesResponse = res
     "ListBranchesResponse"
     "fixture/ListBranchesResponse"
+    codeCommit
     (Proxy :: Proxy ListBranches)
 
 testCreateBranchResponse :: CreateBranchResponse -> TestTree
 testCreateBranchResponse = res
     "CreateBranchResponse"
     "fixture/CreateBranchResponse"
+    codeCommit
     (Proxy :: Proxy CreateBranch)
 
 testUpdateDefaultBranchResponse :: UpdateDefaultBranchResponse -> TestTree
 testUpdateDefaultBranchResponse = res
     "UpdateDefaultBranchResponse"
     "fixture/UpdateDefaultBranchResponse"
+    codeCommit
     (Proxy :: Proxy UpdateDefaultBranch)
 
 testCreateRepositoryResponse :: CreateRepositoryResponse -> TestTree
 testCreateRepositoryResponse = res
     "CreateRepositoryResponse"
     "fixture/CreateRepositoryResponse"
+    codeCommit
     (Proxy :: Proxy CreateRepository)
 
 testListRepositoriesResponse :: ListRepositoriesResponse -> TestTree
 testListRepositoriesResponse = res
     "ListRepositoriesResponse"
     "fixture/ListRepositoriesResponse"
+    codeCommit
     (Proxy :: Proxy ListRepositories)
 
 testGetRepositoryResponse :: GetRepositoryResponse -> TestTree
 testGetRepositoryResponse = res
     "GetRepositoryResponse"
     "fixture/GetRepositoryResponse"
+    codeCommit
     (Proxy :: Proxy GetRepository)
 
 testDeleteRepositoryResponse :: DeleteRepositoryResponse -> TestTree
 testDeleteRepositoryResponse = res
     "DeleteRepositoryResponse"
     "fixture/DeleteRepositoryResponse"
+    codeCommit
     (Proxy :: Proxy DeleteRepository)
 
 testBatchGetRepositoriesResponse :: BatchGetRepositoriesResponse -> TestTree
 testBatchGetRepositoriesResponse = res
     "BatchGetRepositoriesResponse"
     "fixture/BatchGetRepositoriesResponse"
+    codeCommit
     (Proxy :: Proxy BatchGetRepositories)
