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-codedeploy.cabal b/amazonka-codedeploy.cabal
--- a/amazonka-codedeploy.cabal
+++ b/amazonka-codedeploy.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-codedeploy
-version:               1.1.0
+version:               1.2.0
 synopsis:              Amazon CodeDeploy SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -140,7 +140,7 @@
         , Network.AWS.CodeDeploy.Types.Sum
 
     build-depends:
-          amazonka-core == 1.1.0.*
+          amazonka-core == 1.2.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-codedeploy-test
@@ -159,9 +159,9 @@
         , Test.AWS.CodeDeploy.Internal
 
     build-depends:
-          amazonka-core == 1.1.0
-        , amazonka-test == 1.1.0
-        , amazonka-codedeploy == 1.1.0
+          amazonka-core == 1.2.0
+        , amazonka-test == 1.2.0
+        , amazonka-codedeploy == 1.2.0
         , base
         , bytestring
         , lens
diff --git a/gen/Network/AWS/CodeDeploy.hs b/gen/Network/AWS/CodeDeploy.hs
--- a/gen/Network/AWS/CodeDeploy.hs
+++ b/gen/Network/AWS/CodeDeploy.hs
@@ -76,8 +76,8 @@
 -- /See:/ <http://docs.aws.amazon.com/codedeploy/latest/APIReference/Welcome.html AWS API Reference>
 module Network.AWS.CodeDeploy
     (
-    -- * Service
-      CodeDeploy
+    -- * Service Configuration
+      codeDeploy
 
     -- * Errors
     -- $errors
diff --git a/gen/Network/AWS/CodeDeploy/AddTagsToOnPremisesInstances.hs b/gen/Network/AWS/CodeDeploy/AddTagsToOnPremisesInstances.hs
--- a/gen/Network/AWS/CodeDeploy/AddTagsToOnPremisesInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/AddTagsToOnPremisesInstances.hs
@@ -77,10 +77,9 @@
 
 instance AWSRequest AddTagsToOnPremisesInstances
          where
-        type Sv AddTagsToOnPremisesInstances = CodeDeploy
         type Rs AddTagsToOnPremisesInstances =
              AddTagsToOnPremisesInstancesResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveNull AddTagsToOnPremisesInstancesResponse'
 
@@ -97,8 +96,9 @@
 instance ToJSON AddTagsToOnPremisesInstances where
         toJSON AddTagsToOnPremisesInstances'{..}
           = object
-              ["tags" .= _attopiTags,
-               "instanceNames" .= _attopiInstanceNames]
+              (catMaybes
+                 [Just ("tags" .= _attopiTags),
+                  Just ("instanceNames" .= _attopiInstanceNames)])
 
 instance ToPath AddTagsToOnPremisesInstances where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/BatchGetApplications.hs b/gen/Network/AWS/CodeDeploy/BatchGetApplications.hs
--- a/gen/Network/AWS/CodeDeploy/BatchGetApplications.hs
+++ b/gen/Network/AWS/CodeDeploy/BatchGetApplications.hs
@@ -68,10 +68,9 @@
 bgaApplicationNames = lens _bgaApplicationNames (\ s a -> s{_bgaApplicationNames = a}) . _Default . _Coerce;
 
 instance AWSRequest BatchGetApplications where
-        type Sv BatchGetApplications = CodeDeploy
         type Rs BatchGetApplications =
              BatchGetApplicationsResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -91,7 +90,9 @@
 
 instance ToJSON BatchGetApplications where
         toJSON BatchGetApplications'{..}
-          = object ["applicationNames" .= _bgaApplicationNames]
+          = object
+              (catMaybes
+                 [("applicationNames" .=) <$> _bgaApplicationNames])
 
 instance ToPath BatchGetApplications where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/BatchGetDeployments.hs b/gen/Network/AWS/CodeDeploy/BatchGetDeployments.hs
--- a/gen/Network/AWS/CodeDeploy/BatchGetDeployments.hs
+++ b/gen/Network/AWS/CodeDeploy/BatchGetDeployments.hs
@@ -68,10 +68,9 @@
 bgdDeploymentIds = lens _bgdDeploymentIds (\ s a -> s{_bgdDeploymentIds = a}) . _Default . _Coerce;
 
 instance AWSRequest BatchGetDeployments where
-        type Sv BatchGetDeployments = CodeDeploy
         type Rs BatchGetDeployments =
              BatchGetDeploymentsResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -91,7 +90,9 @@
 
 instance ToJSON BatchGetDeployments where
         toJSON BatchGetDeployments'{..}
-          = object ["deploymentIds" .= _bgdDeploymentIds]
+          = object
+              (catMaybes
+                 [("deploymentIds" .=) <$> _bgdDeploymentIds])
 
 instance ToPath BatchGetDeployments where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/BatchGetOnPremisesInstances.hs b/gen/Network/AWS/CodeDeploy/BatchGetOnPremisesInstances.hs
--- a/gen/Network/AWS/CodeDeploy/BatchGetOnPremisesInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/BatchGetOnPremisesInstances.hs
@@ -67,10 +67,9 @@
 bgopiInstanceNames = lens _bgopiInstanceNames (\ s a -> s{_bgopiInstanceNames = a}) . _Default . _Coerce;
 
 instance AWSRequest BatchGetOnPremisesInstances where
-        type Sv BatchGetOnPremisesInstances = CodeDeploy
         type Rs BatchGetOnPremisesInstances =
              BatchGetOnPremisesInstancesResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -90,7 +89,9 @@
 
 instance ToJSON BatchGetOnPremisesInstances where
         toJSON BatchGetOnPremisesInstances'{..}
-          = object ["instanceNames" .= _bgopiInstanceNames]
+          = object
+              (catMaybes
+                 [("instanceNames" .=) <$> _bgopiInstanceNames])
 
 instance ToPath BatchGetOnPremisesInstances where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/CreateApplication.hs b/gen/Network/AWS/CodeDeploy/CreateApplication.hs
--- a/gen/Network/AWS/CodeDeploy/CreateApplication.hs
+++ b/gen/Network/AWS/CodeDeploy/CreateApplication.hs
@@ -69,9 +69,8 @@
 caApplicationName = lens _caApplicationName (\ s a -> s{_caApplicationName = a});
 
 instance AWSRequest CreateApplication where
-        type Sv CreateApplication = CodeDeploy
         type Rs CreateApplication = CreateApplicationResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -90,7 +89,9 @@
 
 instance ToJSON CreateApplication where
         toJSON CreateApplication'{..}
-          = object ["applicationName" .= _caApplicationName]
+          = object
+              (catMaybes
+                 [Just ("applicationName" .= _caApplicationName)])
 
 instance ToPath CreateApplication where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/CreateDeployment.hs b/gen/Network/AWS/CodeDeploy/CreateDeployment.hs
--- a/gen/Network/AWS/CodeDeploy/CreateDeployment.hs
+++ b/gen/Network/AWS/CodeDeploy/CreateDeployment.hs
@@ -130,9 +130,8 @@
 cdApplicationName = lens _cdApplicationName (\ s a -> s{_cdApplicationName = a});
 
 instance AWSRequest CreateDeployment where
-        type Sv CreateDeployment = CodeDeploy
         type Rs CreateDeployment = CreateDeploymentResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -152,13 +151,16 @@
 instance ToJSON CreateDeployment where
         toJSON CreateDeployment'{..}
           = object
-              ["deploymentConfigName" .= _cdDeploymentConfigName,
-               "revision" .= _cdRevision,
-               "description" .= _cdDescription,
-               "ignoreApplicationStopFailures" .=
-                 _cdIgnoreApplicationStopFailures,
-               "deploymentGroupName" .= _cdDeploymentGroupName,
-               "applicationName" .= _cdApplicationName]
+              (catMaybes
+                 [("deploymentConfigName" .=) <$>
+                    _cdDeploymentConfigName,
+                  ("revision" .=) <$> _cdRevision,
+                  ("description" .=) <$> _cdDescription,
+                  ("ignoreApplicationStopFailures" .=) <$>
+                    _cdIgnoreApplicationStopFailures,
+                  ("deploymentGroupName" .=) <$>
+                    _cdDeploymentGroupName,
+                  Just ("applicationName" .= _cdApplicationName)])
 
 instance ToPath CreateDeployment where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/CreateDeploymentConfig.hs b/gen/Network/AWS/CodeDeploy/CreateDeploymentConfig.hs
--- a/gen/Network/AWS/CodeDeploy/CreateDeploymentConfig.hs
+++ b/gen/Network/AWS/CodeDeploy/CreateDeploymentConfig.hs
@@ -94,10 +94,9 @@
 cdcDeploymentConfigName = lens _cdcDeploymentConfigName (\ s a -> s{_cdcDeploymentConfigName = a});
 
 instance AWSRequest CreateDeploymentConfig where
-        type Sv CreateDeploymentConfig = CodeDeploy
         type Rs CreateDeploymentConfig =
              CreateDeploymentConfigResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -117,8 +116,12 @@
 instance ToJSON CreateDeploymentConfig where
         toJSON CreateDeploymentConfig'{..}
           = object
-              ["minimumHealthyHosts" .= _cdcMinimumHealthyHosts,
-               "deploymentConfigName" .= _cdcDeploymentConfigName]
+              (catMaybes
+                 [("minimumHealthyHosts" .=) <$>
+                    _cdcMinimumHealthyHosts,
+                  Just
+                    ("deploymentConfigName" .=
+                       _cdcDeploymentConfigName)])
 
 instance ToPath CreateDeploymentConfig where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/CreateDeploymentGroup.hs b/gen/Network/AWS/CodeDeploy/CreateDeploymentGroup.hs
--- a/gen/Network/AWS/CodeDeploy/CreateDeploymentGroup.hs
+++ b/gen/Network/AWS/CodeDeploy/CreateDeploymentGroup.hs
@@ -161,10 +161,9 @@
 cdgServiceRoleARN = lens _cdgServiceRoleARN (\ s a -> s{_cdgServiceRoleARN = a});
 
 instance AWSRequest CreateDeploymentGroup where
-        type Sv CreateDeploymentGroup = CodeDeploy
         type Rs CreateDeploymentGroup =
              CreateDeploymentGroupResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -184,14 +183,17 @@
 instance ToJSON CreateDeploymentGroup where
         toJSON CreateDeploymentGroup'{..}
           = object
-              ["deploymentConfigName" .= _cdgDeploymentConfigName,
-               "ec2TagFilters" .= _cdgEc2TagFilters,
-               "onPremisesInstanceTagFilters" .=
-                 _cdgOnPremisesInstanceTagFilters,
-               "autoScalingGroups" .= _cdgAutoScalingGroups,
-               "applicationName" .= _cdgApplicationName,
-               "deploymentGroupName" .= _cdgDeploymentGroupName,
-               "serviceRoleArn" .= _cdgServiceRoleARN]
+              (catMaybes
+                 [("deploymentConfigName" .=) <$>
+                    _cdgDeploymentConfigName,
+                  ("ec2TagFilters" .=) <$> _cdgEc2TagFilters,
+                  ("onPremisesInstanceTagFilters" .=) <$>
+                    _cdgOnPremisesInstanceTagFilters,
+                  ("autoScalingGroups" .=) <$> _cdgAutoScalingGroups,
+                  Just ("applicationName" .= _cdgApplicationName),
+                  Just
+                    ("deploymentGroupName" .= _cdgDeploymentGroupName),
+                  Just ("serviceRoleArn" .= _cdgServiceRoleARN)])
 
 instance ToPath CreateDeploymentGroup where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/DeleteApplication.hs b/gen/Network/AWS/CodeDeploy/DeleteApplication.hs
--- a/gen/Network/AWS/CodeDeploy/DeleteApplication.hs
+++ b/gen/Network/AWS/CodeDeploy/DeleteApplication.hs
@@ -66,9 +66,8 @@
 daApplicationName = lens _daApplicationName (\ s a -> s{_daApplicationName = a});
 
 instance AWSRequest DeleteApplication where
-        type Sv DeleteApplication = CodeDeploy
         type Rs DeleteApplication = DeleteApplicationResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response = receiveNull DeleteApplicationResponse'
 
 instance ToHeaders DeleteApplication where
@@ -83,7 +82,9 @@
 
 instance ToJSON DeleteApplication where
         toJSON DeleteApplication'{..}
-          = object ["applicationName" .= _daApplicationName]
+          = object
+              (catMaybes
+                 [Just ("applicationName" .= _daApplicationName)])
 
 instance ToPath DeleteApplication where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/DeleteDeploymentConfig.hs b/gen/Network/AWS/CodeDeploy/DeleteDeploymentConfig.hs
--- a/gen/Network/AWS/CodeDeploy/DeleteDeploymentConfig.hs
+++ b/gen/Network/AWS/CodeDeploy/DeleteDeploymentConfig.hs
@@ -69,10 +69,9 @@
 ddcDeploymentConfigName = lens _ddcDeploymentConfigName (\ s a -> s{_ddcDeploymentConfigName = a});
 
 instance AWSRequest DeleteDeploymentConfig where
-        type Sv DeleteDeploymentConfig = CodeDeploy
         type Rs DeleteDeploymentConfig =
              DeleteDeploymentConfigResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveNull DeleteDeploymentConfigResponse'
 
@@ -89,7 +88,10 @@
 instance ToJSON DeleteDeploymentConfig where
         toJSON DeleteDeploymentConfig'{..}
           = object
-              ["deploymentConfigName" .= _ddcDeploymentConfigName]
+              (catMaybes
+                 [Just
+                    ("deploymentConfigName" .=
+                       _ddcDeploymentConfigName)])
 
 instance ToPath DeleteDeploymentConfig where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/DeleteDeploymentGroup.hs b/gen/Network/AWS/CodeDeploy/DeleteDeploymentGroup.hs
--- a/gen/Network/AWS/CodeDeploy/DeleteDeploymentGroup.hs
+++ b/gen/Network/AWS/CodeDeploy/DeleteDeploymentGroup.hs
@@ -79,10 +79,9 @@
 ddgDeploymentGroupName = lens _ddgDeploymentGroupName (\ s a -> s{_ddgDeploymentGroupName = a});
 
 instance AWSRequest DeleteDeploymentGroup where
-        type Sv DeleteDeploymentGroup = CodeDeploy
         type Rs DeleteDeploymentGroup =
              DeleteDeploymentGroupResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -103,8 +102,10 @@
 instance ToJSON DeleteDeploymentGroup where
         toJSON DeleteDeploymentGroup'{..}
           = object
-              ["applicationName" .= _ddgApplicationName,
-               "deploymentGroupName" .= _ddgDeploymentGroupName]
+              (catMaybes
+                 [Just ("applicationName" .= _ddgApplicationName),
+                  Just
+                    ("deploymentGroupName" .= _ddgDeploymentGroupName)])
 
 instance ToPath DeleteDeploymentGroup where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/DeregisterOnPremisesInstance.hs b/gen/Network/AWS/CodeDeploy/DeregisterOnPremisesInstance.hs
--- a/gen/Network/AWS/CodeDeploy/DeregisterOnPremisesInstance.hs
+++ b/gen/Network/AWS/CodeDeploy/DeregisterOnPremisesInstance.hs
@@ -66,10 +66,9 @@
 
 instance AWSRequest DeregisterOnPremisesInstance
          where
-        type Sv DeregisterOnPremisesInstance = CodeDeploy
         type Rs DeregisterOnPremisesInstance =
              DeregisterOnPremisesInstanceResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveNull DeregisterOnPremisesInstanceResponse'
 
@@ -85,7 +84,9 @@
 
 instance ToJSON DeregisterOnPremisesInstance where
         toJSON DeregisterOnPremisesInstance'{..}
-          = object ["instanceName" .= _dopiInstanceName]
+          = object
+              (catMaybes
+                 [Just ("instanceName" .= _dopiInstanceName)])
 
 instance ToPath DeregisterOnPremisesInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/GetApplication.hs b/gen/Network/AWS/CodeDeploy/GetApplication.hs
--- a/gen/Network/AWS/CodeDeploy/GetApplication.hs
+++ b/gen/Network/AWS/CodeDeploy/GetApplication.hs
@@ -69,9 +69,8 @@
 gaApplicationName = lens _gaApplicationName (\ s a -> s{_gaApplicationName = a});
 
 instance AWSRequest GetApplication where
-        type Sv GetApplication = CodeDeploy
         type Rs GetApplication = GetApplicationResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -89,7 +88,9 @@
 
 instance ToJSON GetApplication where
         toJSON GetApplication'{..}
-          = object ["applicationName" .= _gaApplicationName]
+          = object
+              (catMaybes
+                 [Just ("applicationName" .= _gaApplicationName)])
 
 instance ToPath GetApplication where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/GetApplicationRevision.hs b/gen/Network/AWS/CodeDeploy/GetApplicationRevision.hs
--- a/gen/Network/AWS/CodeDeploy/GetApplicationRevision.hs
+++ b/gen/Network/AWS/CodeDeploy/GetApplicationRevision.hs
@@ -81,10 +81,9 @@
 garRevision = lens _garRevision (\ s a -> s{_garRevision = a});
 
 instance AWSRequest GetApplicationRevision where
-        type Sv GetApplicationRevision = CodeDeploy
         type Rs GetApplicationRevision =
              GetApplicationRevisionResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -106,8 +105,9 @@
 instance ToJSON GetApplicationRevision where
         toJSON GetApplicationRevision'{..}
           = object
-              ["applicationName" .= _garApplicationName,
-               "revision" .= _garRevision]
+              (catMaybes
+                 [Just ("applicationName" .= _garApplicationName),
+                  Just ("revision" .= _garRevision)])
 
 instance ToPath GetApplicationRevision where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/GetDeployment.hs b/gen/Network/AWS/CodeDeploy/GetDeployment.hs
--- a/gen/Network/AWS/CodeDeploy/GetDeployment.hs
+++ b/gen/Network/AWS/CodeDeploy/GetDeployment.hs
@@ -69,9 +69,8 @@
 gdDeploymentId = lens _gdDeploymentId (\ s a -> s{_gdDeploymentId = a});
 
 instance AWSRequest GetDeployment where
-        type Sv GetDeployment = CodeDeploy
         type Rs GetDeployment = GetDeploymentResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -89,7 +88,9 @@
 
 instance ToJSON GetDeployment where
         toJSON GetDeployment'{..}
-          = object ["deploymentId" .= _gdDeploymentId]
+          = object
+              (catMaybes
+                 [Just ("deploymentId" .= _gdDeploymentId)])
 
 instance ToPath GetDeployment where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/GetDeploymentConfig.hs b/gen/Network/AWS/CodeDeploy/GetDeploymentConfig.hs
--- a/gen/Network/AWS/CodeDeploy/GetDeploymentConfig.hs
+++ b/gen/Network/AWS/CodeDeploy/GetDeploymentConfig.hs
@@ -69,10 +69,9 @@
 gdcDeploymentConfigName = lens _gdcDeploymentConfigName (\ s a -> s{_gdcDeploymentConfigName = a});
 
 instance AWSRequest GetDeploymentConfig where
-        type Sv GetDeploymentConfig = CodeDeploy
         type Rs GetDeploymentConfig =
              GetDeploymentConfigResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -93,7 +92,10 @@
 instance ToJSON GetDeploymentConfig where
         toJSON GetDeploymentConfig'{..}
           = object
-              ["deploymentConfigName" .= _gdcDeploymentConfigName]
+              (catMaybes
+                 [Just
+                    ("deploymentConfigName" .=
+                       _gdcDeploymentConfigName)])
 
 instance ToPath GetDeploymentConfig where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/GetDeploymentGroup.hs b/gen/Network/AWS/CodeDeploy/GetDeploymentGroup.hs
--- a/gen/Network/AWS/CodeDeploy/GetDeploymentGroup.hs
+++ b/gen/Network/AWS/CodeDeploy/GetDeploymentGroup.hs
@@ -79,10 +79,9 @@
 gdgDeploymentGroupName = lens _gdgDeploymentGroupName (\ s a -> s{_gdgDeploymentGroupName = a});
 
 instance AWSRequest GetDeploymentGroup where
-        type Sv GetDeploymentGroup = CodeDeploy
         type Rs GetDeploymentGroup =
              GetDeploymentGroupResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -103,8 +102,10 @@
 instance ToJSON GetDeploymentGroup where
         toJSON GetDeploymentGroup'{..}
           = object
-              ["applicationName" .= _gdgApplicationName,
-               "deploymentGroupName" .= _gdgDeploymentGroupName]
+              (catMaybes
+                 [Just ("applicationName" .= _gdgApplicationName),
+                  Just
+                    ("deploymentGroupName" .= _gdgDeploymentGroupName)])
 
 instance ToPath GetDeploymentGroup where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/GetDeploymentInstance.hs b/gen/Network/AWS/CodeDeploy/GetDeploymentInstance.hs
--- a/gen/Network/AWS/CodeDeploy/GetDeploymentInstance.hs
+++ b/gen/Network/AWS/CodeDeploy/GetDeploymentInstance.hs
@@ -78,10 +78,9 @@
 gdiInstanceId = lens _gdiInstanceId (\ s a -> s{_gdiInstanceId = a});
 
 instance AWSRequest GetDeploymentInstance where
-        type Sv GetDeploymentInstance = CodeDeploy
         type Rs GetDeploymentInstance =
              GetDeploymentInstanceResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -101,8 +100,9 @@
 instance ToJSON GetDeploymentInstance where
         toJSON GetDeploymentInstance'{..}
           = object
-              ["deploymentId" .= _gdiDeploymentId,
-               "instanceId" .= _gdiInstanceId]
+              (catMaybes
+                 [Just ("deploymentId" .= _gdiDeploymentId),
+                  Just ("instanceId" .= _gdiInstanceId)])
 
 instance ToPath GetDeploymentInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/GetOnPremisesInstance.hs b/gen/Network/AWS/CodeDeploy/GetOnPremisesInstance.hs
--- a/gen/Network/AWS/CodeDeploy/GetOnPremisesInstance.hs
+++ b/gen/Network/AWS/CodeDeploy/GetOnPremisesInstance.hs
@@ -68,10 +68,9 @@
 gopiInstanceName = lens _gopiInstanceName (\ s a -> s{_gopiInstanceName = a});
 
 instance AWSRequest GetOnPremisesInstance where
-        type Sv GetOnPremisesInstance = CodeDeploy
         type Rs GetOnPremisesInstance =
              GetOnPremisesInstanceResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -90,7 +89,9 @@
 
 instance ToJSON GetOnPremisesInstance where
         toJSON GetOnPremisesInstance'{..}
-          = object ["instanceName" .= _gopiInstanceName]
+          = object
+              (catMaybes
+                 [Just ("instanceName" .= _gopiInstanceName)])
 
 instance ToPath GetOnPremisesInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/ListApplicationRevisions.hs b/gen/Network/AWS/CodeDeploy/ListApplicationRevisions.hs
--- a/gen/Network/AWS/CodeDeploy/ListApplicationRevisions.hs
+++ b/gen/Network/AWS/CodeDeploy/ListApplicationRevisions.hs
@@ -154,10 +154,9 @@
 larApplicationName = lens _larApplicationName (\ s a -> s{_larApplicationName = a});
 
 instance AWSRequest ListApplicationRevisions where
-        type Sv ListApplicationRevisions = CodeDeploy
         type Rs ListApplicationRevisions =
              ListApplicationRevisionsResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -179,12 +178,14 @@
 instance ToJSON ListApplicationRevisions where
         toJSON ListApplicationRevisions'{..}
           = object
-              ["s3KeyPrefix" .= _larS3KeyPrefix,
-               "deployed" .= _larDeployed,
-               "nextToken" .= _larNextToken,
-               "sortOrder" .= _larSortOrder,
-               "s3Bucket" .= _larS3Bucket, "sortBy" .= _larSortBy,
-               "applicationName" .= _larApplicationName]
+              (catMaybes
+                 [("s3KeyPrefix" .=) <$> _larS3KeyPrefix,
+                  ("deployed" .=) <$> _larDeployed,
+                  ("nextToken" .=) <$> _larNextToken,
+                  ("sortOrder" .=) <$> _larSortOrder,
+                  ("s3Bucket" .=) <$> _larS3Bucket,
+                  ("sortBy" .=) <$> _larSortBy,
+                  Just ("applicationName" .= _larApplicationName)])
 
 instance ToPath ListApplicationRevisions where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/ListApplications.hs b/gen/Network/AWS/CodeDeploy/ListApplications.hs
--- a/gen/Network/AWS/CodeDeploy/ListApplications.hs
+++ b/gen/Network/AWS/CodeDeploy/ListApplications.hs
@@ -71,9 +71,8 @@
 laNextToken = lens _laNextToken (\ s a -> s{_laNextToken = a});
 
 instance AWSRequest ListApplications where
-        type Sv ListApplications = CodeDeploy
         type Rs ListApplications = ListApplicationsResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -94,7 +93,8 @@
 
 instance ToJSON ListApplications where
         toJSON ListApplications'{..}
-          = object ["nextToken" .= _laNextToken]
+          = object
+              (catMaybes [("nextToken" .=) <$> _laNextToken])
 
 instance ToPath ListApplications where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/ListDeploymentConfigs.hs b/gen/Network/AWS/CodeDeploy/ListDeploymentConfigs.hs
--- a/gen/Network/AWS/CodeDeploy/ListDeploymentConfigs.hs
+++ b/gen/Network/AWS/CodeDeploy/ListDeploymentConfigs.hs
@@ -71,10 +71,9 @@
 ldcNextToken = lens _ldcNextToken (\ s a -> s{_ldcNextToken = a});
 
 instance AWSRequest ListDeploymentConfigs where
-        type Sv ListDeploymentConfigs = CodeDeploy
         type Rs ListDeploymentConfigs =
              ListDeploymentConfigsResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -95,7 +94,8 @@
 
 instance ToJSON ListDeploymentConfigs where
         toJSON ListDeploymentConfigs'{..}
-          = object ["nextToken" .= _ldcNextToken]
+          = object
+              (catMaybes [("nextToken" .=) <$> _ldcNextToken])
 
 instance ToPath ListDeploymentConfigs where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/ListDeploymentGroups.hs b/gen/Network/AWS/CodeDeploy/ListDeploymentGroups.hs
--- a/gen/Network/AWS/CodeDeploy/ListDeploymentGroups.hs
+++ b/gen/Network/AWS/CodeDeploy/ListDeploymentGroups.hs
@@ -83,10 +83,9 @@
 ldgApplicationName = lens _ldgApplicationName (\ s a -> s{_ldgApplicationName = a});
 
 instance AWSRequest ListDeploymentGroups where
-        type Sv ListDeploymentGroups = CodeDeploy
         type Rs ListDeploymentGroups =
              ListDeploymentGroupsResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -108,8 +107,9 @@
 instance ToJSON ListDeploymentGroups where
         toJSON ListDeploymentGroups'{..}
           = object
-              ["nextToken" .= _ldgNextToken,
-               "applicationName" .= _ldgApplicationName]
+              (catMaybes
+                 [("nextToken" .=) <$> _ldgNextToken,
+                  Just ("applicationName" .= _ldgApplicationName)])
 
 instance ToPath ListDeploymentGroups where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/ListDeploymentInstances.hs b/gen/Network/AWS/CodeDeploy/ListDeploymentInstances.hs
--- a/gen/Network/AWS/CodeDeploy/ListDeploymentInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/ListDeploymentInstances.hs
@@ -103,10 +103,9 @@
 ldiDeploymentId = lens _ldiDeploymentId (\ s a -> s{_ldiDeploymentId = a});
 
 instance AWSRequest ListDeploymentInstances where
-        type Sv ListDeploymentInstances = CodeDeploy
         type Rs ListDeploymentInstances =
              ListDeploymentInstancesResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -128,9 +127,11 @@
 instance ToJSON ListDeploymentInstances where
         toJSON ListDeploymentInstances'{..}
           = object
-              ["instanceStatusFilter" .= _ldiInstanceStatusFilter,
-               "nextToken" .= _ldiNextToken,
-               "deploymentId" .= _ldiDeploymentId]
+              (catMaybes
+                 [("instanceStatusFilter" .=) <$>
+                    _ldiInstanceStatusFilter,
+                  ("nextToken" .=) <$> _ldiNextToken,
+                  Just ("deploymentId" .= _ldiDeploymentId)])
 
 instance ToPath ListDeploymentInstances where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/ListDeployments.hs b/gen/Network/AWS/CodeDeploy/ListDeployments.hs
--- a/gen/Network/AWS/CodeDeploy/ListDeployments.hs
+++ b/gen/Network/AWS/CodeDeploy/ListDeployments.hs
@@ -115,9 +115,8 @@
 ldDeploymentGroupName = lens _ldDeploymentGroupName (\ s a -> s{_ldDeploymentGroupName = a});
 
 instance AWSRequest ListDeployments where
-        type Sv ListDeployments = CodeDeploy
         type Rs ListDeployments = ListDeploymentsResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -139,11 +138,14 @@
 instance ToJSON ListDeployments where
         toJSON ListDeployments'{..}
           = object
-              ["createTimeRange" .= _ldCreateTimeRange,
-               "nextToken" .= _ldNextToken,
-               "includeOnlyStatuses" .= _ldIncludeOnlyStatuses,
-               "applicationName" .= _ldApplicationName,
-               "deploymentGroupName" .= _ldDeploymentGroupName]
+              (catMaybes
+                 [("createTimeRange" .=) <$> _ldCreateTimeRange,
+                  ("nextToken" .=) <$> _ldNextToken,
+                  ("includeOnlyStatuses" .=) <$>
+                    _ldIncludeOnlyStatuses,
+                  ("applicationName" .=) <$> _ldApplicationName,
+                  ("deploymentGroupName" .=) <$>
+                    _ldDeploymentGroupName])
 
 instance ToPath ListDeployments where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/ListOnPremisesInstances.hs b/gen/Network/AWS/CodeDeploy/ListOnPremisesInstances.hs
--- a/gen/Network/AWS/CodeDeploy/ListOnPremisesInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/ListOnPremisesInstances.hs
@@ -100,10 +100,9 @@
 lopiRegistrationStatus = lens _lopiRegistrationStatus (\ s a -> s{_lopiRegistrationStatus = a});
 
 instance AWSRequest ListOnPremisesInstances where
-        type Sv ListOnPremisesInstances = CodeDeploy
         type Rs ListOnPremisesInstances =
              ListOnPremisesInstancesResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -125,9 +124,11 @@
 instance ToJSON ListOnPremisesInstances where
         toJSON ListOnPremisesInstances'{..}
           = object
-              ["tagFilters" .= _lopiTagFilters,
-               "nextToken" .= _lopiNextToken,
-               "registrationStatus" .= _lopiRegistrationStatus]
+              (catMaybes
+                 [("tagFilters" .=) <$> _lopiTagFilters,
+                  ("nextToken" .=) <$> _lopiNextToken,
+                  ("registrationStatus" .=) <$>
+                    _lopiRegistrationStatus])
 
 instance ToPath ListOnPremisesInstances where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/RegisterApplicationRevision.hs b/gen/Network/AWS/CodeDeploy/RegisterApplicationRevision.hs
--- a/gen/Network/AWS/CodeDeploy/RegisterApplicationRevision.hs
+++ b/gen/Network/AWS/CodeDeploy/RegisterApplicationRevision.hs
@@ -86,10 +86,9 @@
 rarRevision = lens _rarRevision (\ s a -> s{_rarRevision = a});
 
 instance AWSRequest RegisterApplicationRevision where
-        type Sv RegisterApplicationRevision = CodeDeploy
         type Rs RegisterApplicationRevision =
              RegisterApplicationRevisionResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveNull RegisterApplicationRevisionResponse'
 
@@ -106,9 +105,10 @@
 instance ToJSON RegisterApplicationRevision where
         toJSON RegisterApplicationRevision'{..}
           = object
-              ["description" .= _rarDescription,
-               "applicationName" .= _rarApplicationName,
-               "revision" .= _rarRevision]
+              (catMaybes
+                 [("description" .=) <$> _rarDescription,
+                  Just ("applicationName" .= _rarApplicationName),
+                  Just ("revision" .= _rarRevision)])
 
 instance ToPath RegisterApplicationRevision where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/RegisterOnPremisesInstance.hs b/gen/Network/AWS/CodeDeploy/RegisterOnPremisesInstance.hs
--- a/gen/Network/AWS/CodeDeploy/RegisterOnPremisesInstance.hs
+++ b/gen/Network/AWS/CodeDeploy/RegisterOnPremisesInstance.hs
@@ -75,10 +75,9 @@
 ropiIamUserARN = lens _ropiIamUserARN (\ s a -> s{_ropiIamUserARN = a});
 
 instance AWSRequest RegisterOnPremisesInstance where
-        type Sv RegisterOnPremisesInstance = CodeDeploy
         type Rs RegisterOnPremisesInstance =
              RegisterOnPremisesInstanceResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveNull RegisterOnPremisesInstanceResponse'
 
@@ -95,8 +94,9 @@
 instance ToJSON RegisterOnPremisesInstance where
         toJSON RegisterOnPremisesInstance'{..}
           = object
-              ["instanceName" .= _ropiInstanceName,
-               "iamUserArn" .= _ropiIamUserARN]
+              (catMaybes
+                 [Just ("instanceName" .= _ropiInstanceName),
+                  Just ("iamUserArn" .= _ropiIamUserARN)])
 
 instance ToPath RegisterOnPremisesInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/RemoveTagsFromOnPremisesInstances.hs b/gen/Network/AWS/CodeDeploy/RemoveTagsFromOnPremisesInstances.hs
--- a/gen/Network/AWS/CodeDeploy/RemoveTagsFromOnPremisesInstances.hs
+++ b/gen/Network/AWS/CodeDeploy/RemoveTagsFromOnPremisesInstances.hs
@@ -75,11 +75,9 @@
 
 instance AWSRequest RemoveTagsFromOnPremisesInstances
          where
-        type Sv RemoveTagsFromOnPremisesInstances =
-             CodeDeploy
         type Rs RemoveTagsFromOnPremisesInstances =
              RemoveTagsFromOnPremisesInstancesResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveNull
               RemoveTagsFromOnPremisesInstancesResponse'
@@ -99,8 +97,9 @@
          where
         toJSON RemoveTagsFromOnPremisesInstances'{..}
           = object
-              ["tags" .= _rtfopiTags,
-               "instanceNames" .= _rtfopiInstanceNames]
+              (catMaybes
+                 [Just ("tags" .= _rtfopiTags),
+                  Just ("instanceNames" .= _rtfopiInstanceNames)])
 
 instance ToPath RemoveTagsFromOnPremisesInstances
          where
diff --git a/gen/Network/AWS/CodeDeploy/StopDeployment.hs b/gen/Network/AWS/CodeDeploy/StopDeployment.hs
--- a/gen/Network/AWS/CodeDeploy/StopDeployment.hs
+++ b/gen/Network/AWS/CodeDeploy/StopDeployment.hs
@@ -68,9 +68,8 @@
 sdDeploymentId = lens _sdDeploymentId (\ s a -> s{_sdDeploymentId = a});
 
 instance AWSRequest StopDeployment where
-        type Sv StopDeployment = CodeDeploy
         type Rs StopDeployment = StopDeploymentResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -88,7 +87,9 @@
 
 instance ToJSON StopDeployment where
         toJSON StopDeployment'{..}
-          = object ["deploymentId" .= _sdDeploymentId]
+          = object
+              (catMaybes
+                 [Just ("deploymentId" .= _sdDeploymentId)])
 
 instance ToPath StopDeployment where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/Types.hs b/gen/Network/AWS/CodeDeploy/Types.hs
--- a/gen/Network/AWS/CodeDeploy/Types.hs
+++ b/gen/Network/AWS/CodeDeploy/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.CodeDeploy.Types
     (
-    -- * Service
-      CodeDeploy
+    -- * Service Configuration
+      codeDeploy
 
     -- * Errors
     , _InvalidTimeRangeException
@@ -296,39 +295,36 @@
 import           Network.AWS.Prelude
 import           Network.AWS.Sign.V4
 
--- | Version @2014-10-06@ of the Amazon CodeDeploy SDK.
-data CodeDeploy
-
-instance AWSService CodeDeploy where
-    type Sg CodeDeploy = V4
-    service = const svc
-      where
-        svc =
-            Service
-            { _svcAbbrev = "CodeDeploy"
-            , _svcPrefix = "codedeploy"
-            , _svcVersion = "2014-10-06"
-            , _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 '2014-10-06' of the Amazon CodeDeploy SDK configuration.
+codeDeploy :: Service
+codeDeploy =
+    Service
+    { _svcAbbrev = "CodeDeploy"
+    , _svcSigner = v4
+    , _svcPrefix = "codedeploy"
+    , _svcVersion = "2014-10-06"
+    , _svcEndpoint = defaultEndpoint codeDeploy
+    , _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 time range was specified in an invalid format.
 _InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError
diff --git a/gen/Network/AWS/CodeDeploy/Types/Product.hs b/gen/Network/AWS/CodeDeploy/Types/Product.hs
--- a/gen/Network/AWS/CodeDeploy/Types/Product.hs
+++ b/gen/Network/AWS/CodeDeploy/Types/Product.hs
@@ -2,7 +2,6 @@
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE OverloadedStrings  #-}
 {-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
 
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
@@ -627,8 +626,9 @@
 instance ToJSON EC2TagFilter where
         toJSON EC2TagFilter'{..}
           = object
-              ["Value" .= _etfValue, "Key" .= _etfKey,
-               "Type" .= _etfType]
+              (catMaybes
+                 [("Value" .=) <$> _etfValue, ("Key" .=) <$> _etfKey,
+                  ("Type" .=) <$> _etfType])
 
 -- | Information about a deployment error.
 --
@@ -808,8 +808,9 @@
 instance ToJSON GitHubLocation where
         toJSON GitHubLocation'{..}
           = object
-              ["commitId" .= _ghlCommitId,
-               "repository" .= _ghlRepository]
+              (catMaybes
+                 [("commitId" .=) <$> _ghlCommitId,
+                  ("repository" .=) <$> _ghlRepository])
 
 -- | Information about an on-premises instance.
 --
@@ -1089,7 +1090,10 @@
 
 instance ToJSON MinimumHealthyHosts where
         toJSON MinimumHealthyHosts'{..}
-          = object ["value" .= _mhhValue, "type" .= _mhhType]
+          = object
+              (catMaybes
+                 [("value" .=) <$> _mhhValue,
+                  ("type" .=) <$> _mhhType])
 
 -- | Information about an application revision\'s location.
 --
@@ -1144,9 +1148,10 @@
 instance ToJSON RevisionLocation where
         toJSON RevisionLocation'{..}
           = object
-              ["revisionType" .= _rlRevisionType,
-               "s3Location" .= _rlS3Location,
-               "gitHubLocation" .= _rlGitHubLocation]
+              (catMaybes
+                 [("revisionType" .=) <$> _rlRevisionType,
+                  ("s3Location" .=) <$> _rlS3Location,
+                  ("gitHubLocation" .=) <$> _rlGitHubLocation])
 
 -- | Information about the location of application artifacts that are stored
 -- in Amazon S3.
@@ -1231,9 +1236,11 @@
 instance ToJSON S3Location where
         toJSON S3Location'{..}
           = object
-              ["bundleType" .= _slBundleType, "eTag" .= _slETag,
-               "bucket" .= _slBucket, "key" .= _slKey,
-               "version" .= _slVersion]
+              (catMaybes
+                 [("bundleType" .=) <$> _slBundleType,
+                  ("eTag" .=) <$> _slETag, ("bucket" .=) <$> _slBucket,
+                  ("key" .=) <$> _slKey,
+                  ("version" .=) <$> _slVersion])
 
 -- | Information about a tag.
 --
@@ -1273,7 +1280,9 @@
 
 instance ToJSON Tag where
         toJSON Tag'{..}
-          = object ["Value" .= _tagValue, "Key" .= _tagKey]
+          = object
+              (catMaybes
+                 [("Value" .=) <$> _tagValue, ("Key" .=) <$> _tagKey])
 
 -- | Information about an on-premises instance tag filter.
 --
@@ -1328,8 +1337,9 @@
 instance ToJSON TagFilter where
         toJSON TagFilter'{..}
           = object
-              ["Value" .= _tfValue, "Key" .= _tfKey,
-               "Type" .= _tfType]
+              (catMaybes
+                 [("Value" .=) <$> _tfValue, ("Key" .=) <$> _tfKey,
+                  ("Type" .=) <$> _tfType])
 
 -- | Information about a time range.
 --
@@ -1368,4 +1378,6 @@
 
 instance ToJSON TimeRange where
         toJSON TimeRange'{..}
-          = object ["start" .= _trStart, "end" .= _trEnd]
+          = object
+              (catMaybes
+                 [("start" .=) <$> _trStart, ("end" .=) <$> _trEnd])
diff --git a/gen/Network/AWS/CodeDeploy/UpdateApplication.hs b/gen/Network/AWS/CodeDeploy/UpdateApplication.hs
--- a/gen/Network/AWS/CodeDeploy/UpdateApplication.hs
+++ b/gen/Network/AWS/CodeDeploy/UpdateApplication.hs
@@ -73,9 +73,8 @@
 uaApplicationName = lens _uaApplicationName (\ s a -> s{_uaApplicationName = a});
 
 instance AWSRequest UpdateApplication where
-        type Sv UpdateApplication = CodeDeploy
         type Rs UpdateApplication = UpdateApplicationResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response = receiveNull UpdateApplicationResponse'
 
 instance ToHeaders UpdateApplication where
@@ -91,8 +90,9 @@
 instance ToJSON UpdateApplication where
         toJSON UpdateApplication'{..}
           = object
-              ["newApplicationName" .= _uaNewApplicationName,
-               "applicationName" .= _uaApplicationName]
+              (catMaybes
+                 [("newApplicationName" .=) <$> _uaNewApplicationName,
+                  ("applicationName" .=) <$> _uaApplicationName])
 
 instance ToPath UpdateApplication where
         toPath = const "/"
diff --git a/gen/Network/AWS/CodeDeploy/UpdateDeploymentGroup.hs b/gen/Network/AWS/CodeDeploy/UpdateDeploymentGroup.hs
--- a/gen/Network/AWS/CodeDeploy/UpdateDeploymentGroup.hs
+++ b/gen/Network/AWS/CodeDeploy/UpdateDeploymentGroup.hs
@@ -136,10 +136,9 @@
 udgCurrentDeploymentGroupName = lens _udgCurrentDeploymentGroupName (\ s a -> s{_udgCurrentDeploymentGroupName = a});
 
 instance AWSRequest UpdateDeploymentGroup where
-        type Sv UpdateDeploymentGroup = CodeDeploy
         type Rs UpdateDeploymentGroup =
              UpdateDeploymentGroupResponse
-        request = postJSON
+        request = postJSON codeDeploy
         response
           = receiveJSON
               (\ s h x ->
@@ -160,17 +159,20 @@
 instance ToJSON UpdateDeploymentGroup where
         toJSON UpdateDeploymentGroup'{..}
           = object
-              ["serviceRoleArn" .= _udgServiceRoleARN,
-               "deploymentConfigName" .= _udgDeploymentConfigName,
-               "ec2TagFilters" .= _udgEc2TagFilters,
-               "newDeploymentGroupName" .=
-                 _udgNewDeploymentGroupName,
-               "onPremisesInstanceTagFilters" .=
-                 _udgOnPremisesInstanceTagFilters,
-               "autoScalingGroups" .= _udgAutoScalingGroups,
-               "applicationName" .= _udgApplicationName,
-               "currentDeploymentGroupName" .=
-                 _udgCurrentDeploymentGroupName]
+              (catMaybes
+                 [("serviceRoleArn" .=) <$> _udgServiceRoleARN,
+                  ("deploymentConfigName" .=) <$>
+                    _udgDeploymentConfigName,
+                  ("ec2TagFilters" .=) <$> _udgEc2TagFilters,
+                  ("newDeploymentGroupName" .=) <$>
+                    _udgNewDeploymentGroupName,
+                  ("onPremisesInstanceTagFilters" .=) <$>
+                    _udgOnPremisesInstanceTagFilters,
+                  ("autoScalingGroups" .=) <$> _udgAutoScalingGroups,
+                  Just ("applicationName" .= _udgApplicationName),
+                  Just
+                    ("currentDeploymentGroupName" .=
+                       _udgCurrentDeploymentGroupName)])
 
 instance ToPath UpdateDeploymentGroup where
         toPath = const "/"
diff --git a/test/Test/AWS/Gen/CodeDeploy.hs b/test/Test/AWS/Gen/CodeDeploy.hs
--- a/test/Test/AWS/Gen/CodeDeploy.hs
+++ b/test/Test/AWS/Gen/CodeDeploy.hs
@@ -394,190 +394,222 @@
 testRemoveTagsFromOnPremisesInstancesResponse = res
     "RemoveTagsFromOnPremisesInstancesResponse"
     "fixture/RemoveTagsFromOnPremisesInstancesResponse"
+    codeDeploy
     (Proxy :: Proxy RemoveTagsFromOnPremisesInstances)
 
 testGetDeploymentResponse :: GetDeploymentResponse -> TestTree
 testGetDeploymentResponse = res
     "GetDeploymentResponse"
     "fixture/GetDeploymentResponse"
+    codeDeploy
     (Proxy :: Proxy GetDeployment)
 
 testCreateDeploymentConfigResponse :: CreateDeploymentConfigResponse -> TestTree
 testCreateDeploymentConfigResponse = res
     "CreateDeploymentConfigResponse"
     "fixture/CreateDeploymentConfigResponse"
+    codeDeploy
     (Proxy :: Proxy CreateDeploymentConfig)
 
 testUpdateDeploymentGroupResponse :: UpdateDeploymentGroupResponse -> TestTree
 testUpdateDeploymentGroupResponse = res
     "UpdateDeploymentGroupResponse"
     "fixture/UpdateDeploymentGroupResponse"
+    codeDeploy
     (Proxy :: Proxy UpdateDeploymentGroup)
 
 testDeleteDeploymentGroupResponse :: DeleteDeploymentGroupResponse -> TestTree
 testDeleteDeploymentGroupResponse = res
     "DeleteDeploymentGroupResponse"
     "fixture/DeleteDeploymentGroupResponse"
+    codeDeploy
     (Proxy :: Proxy DeleteDeploymentGroup)
 
 testListOnPremisesInstancesResponse :: ListOnPremisesInstancesResponse -> TestTree
 testListOnPremisesInstancesResponse = res
     "ListOnPremisesInstancesResponse"
     "fixture/ListOnPremisesInstancesResponse"
+    codeDeploy
     (Proxy :: Proxy ListOnPremisesInstances)
 
 testGetApplicationRevisionResponse :: GetApplicationRevisionResponse -> TestTree
 testGetApplicationRevisionResponse = res
     "GetApplicationRevisionResponse"
     "fixture/GetApplicationRevisionResponse"
+    codeDeploy
     (Proxy :: Proxy GetApplicationRevision)
 
 testDeleteDeploymentConfigResponse :: DeleteDeploymentConfigResponse -> TestTree
 testDeleteDeploymentConfigResponse = res
     "DeleteDeploymentConfigResponse"
     "fixture/DeleteDeploymentConfigResponse"
+    codeDeploy
     (Proxy :: Proxy DeleteDeploymentConfig)
 
 testGetDeploymentConfigResponse :: GetDeploymentConfigResponse -> TestTree
 testGetDeploymentConfigResponse = res
     "GetDeploymentConfigResponse"
     "fixture/GetDeploymentConfigResponse"
+    codeDeploy
     (Proxy :: Proxy GetDeploymentConfig)
 
 testCreateDeploymentResponse :: CreateDeploymentResponse -> TestTree
 testCreateDeploymentResponse = res
     "CreateDeploymentResponse"
     "fixture/CreateDeploymentResponse"
+    codeDeploy
     (Proxy :: Proxy CreateDeployment)
 
 testGetOnPremisesInstanceResponse :: GetOnPremisesInstanceResponse -> TestTree
 testGetOnPremisesInstanceResponse = res
     "GetOnPremisesInstanceResponse"
     "fixture/GetOnPremisesInstanceResponse"
+    codeDeploy
     (Proxy :: Proxy GetOnPremisesInstance)
 
 testBatchGetDeploymentsResponse :: BatchGetDeploymentsResponse -> TestTree
 testBatchGetDeploymentsResponse = res
     "BatchGetDeploymentsResponse"
     "fixture/BatchGetDeploymentsResponse"
+    codeDeploy
     (Proxy :: Proxy BatchGetDeployments)
 
 testRegisterApplicationRevisionResponse :: RegisterApplicationRevisionResponse -> TestTree
 testRegisterApplicationRevisionResponse = res
     "RegisterApplicationRevisionResponse"
     "fixture/RegisterApplicationRevisionResponse"
+    codeDeploy
     (Proxy :: Proxy RegisterApplicationRevision)
 
 testDeleteApplicationResponse :: DeleteApplicationResponse -> TestTree
 testDeleteApplicationResponse = res
     "DeleteApplicationResponse"
     "fixture/DeleteApplicationResponse"
+    codeDeploy
     (Proxy :: Proxy DeleteApplication)
 
 testUpdateApplicationResponse :: UpdateApplicationResponse -> TestTree
 testUpdateApplicationResponse = res
     "UpdateApplicationResponse"
     "fixture/UpdateApplicationResponse"
+    codeDeploy
     (Proxy :: Proxy UpdateApplication)
 
 testBatchGetApplicationsResponse :: BatchGetApplicationsResponse -> TestTree
 testBatchGetApplicationsResponse = res
     "BatchGetApplicationsResponse"
     "fixture/BatchGetApplicationsResponse"
+    codeDeploy
     (Proxy :: Proxy BatchGetApplications)
 
 testCreateApplicationResponse :: CreateApplicationResponse -> TestTree
 testCreateApplicationResponse = res
     "CreateApplicationResponse"
     "fixture/CreateApplicationResponse"
+    codeDeploy
     (Proxy :: Proxy CreateApplication)
 
 testDeregisterOnPremisesInstanceResponse :: DeregisterOnPremisesInstanceResponse -> TestTree
 testDeregisterOnPremisesInstanceResponse = res
     "DeregisterOnPremisesInstanceResponse"
     "fixture/DeregisterOnPremisesInstanceResponse"
+    codeDeploy
     (Proxy :: Proxy DeregisterOnPremisesInstance)
 
 testGetDeploymentInstanceResponse :: GetDeploymentInstanceResponse -> TestTree
 testGetDeploymentInstanceResponse = res
     "GetDeploymentInstanceResponse"
     "fixture/GetDeploymentInstanceResponse"
+    codeDeploy
     (Proxy :: Proxy GetDeploymentInstance)
 
 testStopDeploymentResponse :: StopDeploymentResponse -> TestTree
 testStopDeploymentResponse = res
     "StopDeploymentResponse"
     "fixture/StopDeploymentResponse"
+    codeDeploy
     (Proxy :: Proxy StopDeployment)
 
 testGetApplicationResponse :: GetApplicationResponse -> TestTree
 testGetApplicationResponse = res
     "GetApplicationResponse"
     "fixture/GetApplicationResponse"
+    codeDeploy
     (Proxy :: Proxy GetApplication)
 
 testListDeploymentGroupsResponse :: ListDeploymentGroupsResponse -> TestTree
 testListDeploymentGroupsResponse = res
     "ListDeploymentGroupsResponse"
     "fixture/ListDeploymentGroupsResponse"
+    codeDeploy
     (Proxy :: Proxy ListDeploymentGroups)
 
 testRegisterOnPremisesInstanceResponse :: RegisterOnPremisesInstanceResponse -> TestTree
 testRegisterOnPremisesInstanceResponse = res
     "RegisterOnPremisesInstanceResponse"
     "fixture/RegisterOnPremisesInstanceResponse"
+    codeDeploy
     (Proxy :: Proxy RegisterOnPremisesInstance)
 
 testBatchGetOnPremisesInstancesResponse :: BatchGetOnPremisesInstancesResponse -> TestTree
 testBatchGetOnPremisesInstancesResponse = res
     "BatchGetOnPremisesInstancesResponse"
     "fixture/BatchGetOnPremisesInstancesResponse"
+    codeDeploy
     (Proxy :: Proxy BatchGetOnPremisesInstances)
 
 testListDeploymentConfigsResponse :: ListDeploymentConfigsResponse -> TestTree
 testListDeploymentConfigsResponse = res
     "ListDeploymentConfigsResponse"
     "fixture/ListDeploymentConfigsResponse"
+    codeDeploy
     (Proxy :: Proxy ListDeploymentConfigs)
 
 testCreateDeploymentGroupResponse :: CreateDeploymentGroupResponse -> TestTree
 testCreateDeploymentGroupResponse = res
     "CreateDeploymentGroupResponse"
     "fixture/CreateDeploymentGroupResponse"
+    codeDeploy
     (Proxy :: Proxy CreateDeploymentGroup)
 
 testGetDeploymentGroupResponse :: GetDeploymentGroupResponse -> TestTree
 testGetDeploymentGroupResponse = res
     "GetDeploymentGroupResponse"
     "fixture/GetDeploymentGroupResponse"
+    codeDeploy
     (Proxy :: Proxy GetDeploymentGroup)
 
 testListDeploymentsResponse :: ListDeploymentsResponse -> TestTree
 testListDeploymentsResponse = res
     "ListDeploymentsResponse"
     "fixture/ListDeploymentsResponse"
+    codeDeploy
     (Proxy :: Proxy ListDeployments)
 
 testListApplicationRevisionsResponse :: ListApplicationRevisionsResponse -> TestTree
 testListApplicationRevisionsResponse = res
     "ListApplicationRevisionsResponse"
     "fixture/ListApplicationRevisionsResponse"
+    codeDeploy
     (Proxy :: Proxy ListApplicationRevisions)
 
 testListApplicationsResponse :: ListApplicationsResponse -> TestTree
 testListApplicationsResponse = res
     "ListApplicationsResponse"
     "fixture/ListApplicationsResponse"
+    codeDeploy
     (Proxy :: Proxy ListApplications)
 
 testAddTagsToOnPremisesInstancesResponse :: AddTagsToOnPremisesInstancesResponse -> TestTree
 testAddTagsToOnPremisesInstancesResponse = res
     "AddTagsToOnPremisesInstancesResponse"
     "fixture/AddTagsToOnPremisesInstancesResponse"
+    codeDeploy
     (Proxy :: Proxy AddTagsToOnPremisesInstances)
 
 testListDeploymentInstancesResponse :: ListDeploymentInstancesResponse -> TestTree
 testListDeploymentInstancesResponse = res
     "ListDeploymentInstancesResponse"
     "fixture/ListDeploymentInstancesResponse"
+    codeDeploy
     (Proxy :: Proxy ListDeploymentInstances)
