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-opsworks.cabal b/amazonka-opsworks.cabal
--- a/amazonka-opsworks.cabal
+++ b/amazonka-opsworks.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-opsworks
-version:               1.1.0
+version:               1.2.0
 synopsis:              Amazon OpsWorks SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -164,7 +164,7 @@
         , Network.AWS.OpsWorks.Types.Sum
 
     build-depends:
-          amazonka-core == 1.1.0.*
+          amazonka-core == 1.2.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-opsworks-test
@@ -183,9 +183,9 @@
         , Test.AWS.OpsWorks.Internal
 
     build-depends:
-          amazonka-core == 1.1.0
-        , amazonka-test == 1.1.0
-        , amazonka-opsworks == 1.1.0
+          amazonka-core == 1.2.0
+        , amazonka-test == 1.2.0
+        , amazonka-opsworks == 1.2.0
         , base
         , bytestring
         , lens
diff --git a/gen/Network/AWS/OpsWorks.hs b/gen/Network/AWS/OpsWorks.hs
--- a/gen/Network/AWS/OpsWorks.hs
+++ b/gen/Network/AWS/OpsWorks.hs
@@ -61,8 +61,8 @@
 -- /See:/ <http://docs.aws.amazon.com/opsworks/latest/APIReference/Welcome.html AWS API Reference>
 module Network.AWS.OpsWorks
     (
-    -- * Service
-      OpsWorks
+    -- * Service Configuration
+      opsWorks
 
     -- * Errors
     -- $errors
diff --git a/gen/Network/AWS/OpsWorks/AssignInstance.hs b/gen/Network/AWS/OpsWorks/AssignInstance.hs
--- a/gen/Network/AWS/OpsWorks/AssignInstance.hs
+++ b/gen/Network/AWS/OpsWorks/AssignInstance.hs
@@ -85,9 +85,8 @@
 aiLayerIds = lens _aiLayerIds (\ s a -> s{_aiLayerIds = a}) . _Coerce;
 
 instance AWSRequest AssignInstance where
-        type Sv AssignInstance = OpsWorks
         type Rs AssignInstance = AssignInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull AssignInstanceResponse'
 
 instance ToHeaders AssignInstance where
@@ -102,8 +101,9 @@
 instance ToJSON AssignInstance where
         toJSON AssignInstance'{..}
           = object
-              ["InstanceId" .= _aiInstanceId,
-               "LayerIds" .= _aiLayerIds]
+              (catMaybes
+                 [Just ("InstanceId" .= _aiInstanceId),
+                  Just ("LayerIds" .= _aiLayerIds)])
 
 instance ToPath AssignInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/AssignVolume.hs b/gen/Network/AWS/OpsWorks/AssignVolume.hs
--- a/gen/Network/AWS/OpsWorks/AssignVolume.hs
+++ b/gen/Network/AWS/OpsWorks/AssignVolume.hs
@@ -83,9 +83,8 @@
 avVolumeId = lens _avVolumeId (\ s a -> s{_avVolumeId = a});
 
 instance AWSRequest AssignVolume where
-        type Sv AssignVolume = OpsWorks
         type Rs AssignVolume = AssignVolumeResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull AssignVolumeResponse'
 
 instance ToHeaders AssignVolume where
@@ -100,8 +99,9 @@
 instance ToJSON AssignVolume where
         toJSON AssignVolume'{..}
           = object
-              ["InstanceId" .= _avInstanceId,
-               "VolumeId" .= _avVolumeId]
+              (catMaybes
+                 [("InstanceId" .=) <$> _avInstanceId,
+                  Just ("VolumeId" .= _avVolumeId)])
 
 instance ToPath AssignVolume where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/AssociateElasticIP.hs b/gen/Network/AWS/OpsWorks/AssociateElasticIP.hs
--- a/gen/Network/AWS/OpsWorks/AssociateElasticIP.hs
+++ b/gen/Network/AWS/OpsWorks/AssociateElasticIP.hs
@@ -81,10 +81,9 @@
 aeiElasticIP = lens _aeiElasticIP (\ s a -> s{_aeiElasticIP = a});
 
 instance AWSRequest AssociateElasticIP where
-        type Sv AssociateElasticIP = OpsWorks
         type Rs AssociateElasticIP =
              AssociateElasticIPResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull AssociateElasticIPResponse'
 
 instance ToHeaders AssociateElasticIP where
@@ -100,8 +99,9 @@
 instance ToJSON AssociateElasticIP where
         toJSON AssociateElasticIP'{..}
           = object
-              ["InstanceId" .= _aeiInstanceId,
-               "ElasticIp" .= _aeiElasticIP]
+              (catMaybes
+                 [("InstanceId" .=) <$> _aeiInstanceId,
+                  Just ("ElasticIp" .= _aeiElasticIP)])
 
 instance ToPath AssociateElasticIP where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/AttachElasticLoadBalancer.hs b/gen/Network/AWS/OpsWorks/AttachElasticLoadBalancer.hs
--- a/gen/Network/AWS/OpsWorks/AttachElasticLoadBalancer.hs
+++ b/gen/Network/AWS/OpsWorks/AttachElasticLoadBalancer.hs
@@ -87,10 +87,9 @@
 aelbLayerId = lens _aelbLayerId (\ s a -> s{_aelbLayerId = a});
 
 instance AWSRequest AttachElasticLoadBalancer where
-        type Sv AttachElasticLoadBalancer = OpsWorks
         type Rs AttachElasticLoadBalancer =
              AttachElasticLoadBalancerResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveNull AttachElasticLoadBalancerResponse'
 
@@ -107,9 +106,11 @@
 instance ToJSON AttachElasticLoadBalancer where
         toJSON AttachElasticLoadBalancer'{..}
           = object
-              ["ElasticLoadBalancerName" .=
-                 _aelbElasticLoadBalancerName,
-               "LayerId" .= _aelbLayerId]
+              (catMaybes
+                 [Just
+                    ("ElasticLoadBalancerName" .=
+                       _aelbElasticLoadBalancerName),
+                  Just ("LayerId" .= _aelbLayerId)])
 
 instance ToPath AttachElasticLoadBalancer where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/CloneStack.hs b/gen/Network/AWS/OpsWorks/CloneStack.hs
--- a/gen/Network/AWS/OpsWorks/CloneStack.hs
+++ b/gen/Network/AWS/OpsWorks/CloneStack.hs
@@ -413,9 +413,8 @@
 cServiceRoleARN = lens _cServiceRoleARN (\ s a -> s{_cServiceRoleARN = a});
 
 instance AWSRequest CloneStack where
-        type Sv CloneStack = OpsWorks
         type Rs CloneStack = CloneStackResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -434,30 +433,35 @@
 instance ToJSON CloneStack where
         toJSON CloneStack'{..}
           = object
-              ["CloneAppIds" .= _cCloneAppIds,
-               "DefaultInstanceProfileArn" .=
-                 _cDefaultInstanceProfileARN,
-               "DefaultRootDeviceType" .= _cDefaultRootDeviceType,
-               "ChefConfiguration" .= _cChefConfiguration,
-               "VpcId" .= _cVPCId, "AgentVersion" .= _cAgentVersion,
-               "DefaultSshKeyName" .= _cDefaultSSHKeyName,
-               "CustomJson" .= _cCustomJSON,
-               "ClonePermissions" .= _cClonePermissions,
-               "CustomCookbooksSource" .= _cCustomCookbooksSource,
-               "DefaultAvailabilityZone" .=
-                 _cDefaultAvailabilityZone,
-               "Name" .= _cName,
-               "UseOpsworksSecurityGroups" .=
-                 _cUseOpsworksSecurityGroups,
-               "DefaultOs" .= _cDefaultOS,
-               "Attributes" .= _cAttributes,
-               "UseCustomCookbooks" .= _cUseCustomCookbooks,
-               "DefaultSubnetId" .= _cDefaultSubnetId,
-               "Region" .= _cRegion,
-               "ConfigurationManager" .= _cConfigurationManager,
-               "HostnameTheme" .= _cHostnameTheme,
-               "SourceStackId" .= _cSourceStackId,
-               "ServiceRoleArn" .= _cServiceRoleARN]
+              (catMaybes
+                 [("CloneAppIds" .=) <$> _cCloneAppIds,
+                  ("DefaultInstanceProfileArn" .=) <$>
+                    _cDefaultInstanceProfileARN,
+                  ("DefaultRootDeviceType" .=) <$>
+                    _cDefaultRootDeviceType,
+                  ("ChefConfiguration" .=) <$> _cChefConfiguration,
+                  ("VpcId" .=) <$> _cVPCId,
+                  ("AgentVersion" .=) <$> _cAgentVersion,
+                  ("DefaultSshKeyName" .=) <$> _cDefaultSSHKeyName,
+                  ("CustomJson" .=) <$> _cCustomJSON,
+                  ("ClonePermissions" .=) <$> _cClonePermissions,
+                  ("CustomCookbooksSource" .=) <$>
+                    _cCustomCookbooksSource,
+                  ("DefaultAvailabilityZone" .=) <$>
+                    _cDefaultAvailabilityZone,
+                  ("Name" .=) <$> _cName,
+                  ("UseOpsworksSecurityGroups" .=) <$>
+                    _cUseOpsworksSecurityGroups,
+                  ("DefaultOs" .=) <$> _cDefaultOS,
+                  ("Attributes" .=) <$> _cAttributes,
+                  ("UseCustomCookbooks" .=) <$> _cUseCustomCookbooks,
+                  ("DefaultSubnetId" .=) <$> _cDefaultSubnetId,
+                  ("Region" .=) <$> _cRegion,
+                  ("ConfigurationManager" .=) <$>
+                    _cConfigurationManager,
+                  ("HostnameTheme" .=) <$> _cHostnameTheme,
+                  Just ("SourceStackId" .= _cSourceStackId),
+                  Just ("ServiceRoleArn" .= _cServiceRoleARN)])
 
 instance ToPath CloneStack where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/CreateApp.hs b/gen/Network/AWS/OpsWorks/CreateApp.hs
--- a/gen/Network/AWS/OpsWorks/CreateApp.hs
+++ b/gen/Network/AWS/OpsWorks/CreateApp.hs
@@ -195,9 +195,8 @@
 caType = lens _caType (\ s a -> s{_caType = a});
 
 instance AWSRequest CreateApp where
-        type Sv CreateApp = OpsWorks
         type Rs CreateApp = CreateAppResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -216,17 +215,18 @@
 instance ToJSON CreateApp where
         toJSON CreateApp'{..}
           = object
-              ["SslConfiguration" .= _caSSLConfiguration,
-               "Shortname" .= _caShortname,
-               "EnableSsl" .= _caEnableSSL,
-               "Environment" .= _caEnvironment,
-               "DataSources" .= _caDataSources,
-               "AppSource" .= _caAppSource,
-               "Attributes" .= _caAttributes,
-               "Domains" .= _caDomains,
-               "Description" .= _caDescription,
-               "StackId" .= _caStackId, "Name" .= _caName,
-               "Type" .= _caType]
+              (catMaybes
+                 [("SslConfiguration" .=) <$> _caSSLConfiguration,
+                  ("Shortname" .=) <$> _caShortname,
+                  ("EnableSsl" .=) <$> _caEnableSSL,
+                  ("Environment" .=) <$> _caEnvironment,
+                  ("DataSources" .=) <$> _caDataSources,
+                  ("AppSource" .=) <$> _caAppSource,
+                  ("Attributes" .=) <$> _caAttributes,
+                  ("Domains" .=) <$> _caDomains,
+                  ("Description" .=) <$> _caDescription,
+                  Just ("StackId" .= _caStackId),
+                  Just ("Name" .= _caName), Just ("Type" .= _caType)])
 
 instance ToPath CreateApp where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/CreateDeployment.hs b/gen/Network/AWS/OpsWorks/CreateDeployment.hs
--- a/gen/Network/AWS/OpsWorks/CreateDeployment.hs
+++ b/gen/Network/AWS/OpsWorks/CreateDeployment.hs
@@ -131,9 +131,8 @@
 cdCommand = lens _cdCommand (\ s a -> s{_cdCommand = a});
 
 instance AWSRequest CreateDeployment where
-        type Sv CreateDeployment = OpsWorks
         type Rs CreateDeployment = CreateDeploymentResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -152,10 +151,13 @@
 instance ToJSON CreateDeployment where
         toJSON CreateDeployment'{..}
           = object
-              ["CustomJson" .= _cdCustomJSON, "AppId" .= _cdAppId,
-               "InstanceIds" .= _cdInstanceIds,
-               "Comment" .= _cdComment, "StackId" .= _cdStackId,
-               "Command" .= _cdCommand]
+              (catMaybes
+                 [("CustomJson" .=) <$> _cdCustomJSON,
+                  ("AppId" .=) <$> _cdAppId,
+                  ("InstanceIds" .=) <$> _cdInstanceIds,
+                  ("Comment" .=) <$> _cdComment,
+                  Just ("StackId" .= _cdStackId),
+                  Just ("Command" .= _cdCommand)])
 
 instance ToPath CreateDeployment where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/CreateInstance.hs b/gen/Network/AWS/OpsWorks/CreateInstance.hs
--- a/gen/Network/AWS/OpsWorks/CreateInstance.hs
+++ b/gen/Network/AWS/OpsWorks/CreateInstance.hs
@@ -276,9 +276,8 @@
 ciInstanceType = lens _ciInstanceType (\ s a -> s{_ciInstanceType = a});
 
 instance AWSRequest CreateInstance where
-        type Sv CreateInstance = OpsWorks
         type Rs CreateInstance = CreateInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -297,21 +296,26 @@
 instance ToJSON CreateInstance where
         toJSON CreateInstance'{..}
           = object
-              ["InstallUpdatesOnBoot" .= _ciInstallUpdatesOnBoot,
-               "VirtualizationType" .= _ciVirtualizationType,
-               "Hostname" .= _ciHostname,
-               "SshKeyName" .= _ciSSHKeyName,
-               "AgentVersion" .= _ciAgentVersion,
-               "SubnetId" .= _ciSubnetId,
-               "EbsOptimized" .= _ciEBSOptimized, "Os" .= _ciOS,
-               "AvailabilityZone" .= _ciAvailabilityZone,
-               "AutoScalingType" .= _ciAutoScalingType,
-               "Architecture" .= _ciArchitecture,
-               "AmiId" .= _ciAMIId,
-               "BlockDeviceMappings" .= _ciBlockDeviceMappings,
-               "RootDeviceType" .= _ciRootDeviceType,
-               "StackId" .= _ciStackId, "LayerIds" .= _ciLayerIds,
-               "InstanceType" .= _ciInstanceType]
+              (catMaybes
+                 [("InstallUpdatesOnBoot" .=) <$>
+                    _ciInstallUpdatesOnBoot,
+                  ("VirtualizationType" .=) <$> _ciVirtualizationType,
+                  ("Hostname" .=) <$> _ciHostname,
+                  ("SshKeyName" .=) <$> _ciSSHKeyName,
+                  ("AgentVersion" .=) <$> _ciAgentVersion,
+                  ("SubnetId" .=) <$> _ciSubnetId,
+                  ("EbsOptimized" .=) <$> _ciEBSOptimized,
+                  ("Os" .=) <$> _ciOS,
+                  ("AvailabilityZone" .=) <$> _ciAvailabilityZone,
+                  ("AutoScalingType" .=) <$> _ciAutoScalingType,
+                  ("Architecture" .=) <$> _ciArchitecture,
+                  ("AmiId" .=) <$> _ciAMIId,
+                  ("BlockDeviceMappings" .=) <$>
+                    _ciBlockDeviceMappings,
+                  ("RootDeviceType" .=) <$> _ciRootDeviceType,
+                  Just ("StackId" .= _ciStackId),
+                  Just ("LayerIds" .= _ciLayerIds),
+                  Just ("InstanceType" .= _ciInstanceType)])
 
 instance ToPath CreateInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/CreateLayer.hs b/gen/Network/AWS/OpsWorks/CreateLayer.hs
--- a/gen/Network/AWS/OpsWorks/CreateLayer.hs
+++ b/gen/Network/AWS/OpsWorks/CreateLayer.hs
@@ -261,9 +261,8 @@
 clShortname = lens _clShortname (\ s a -> s{_clShortname = a});
 
 instance AWSRequest CreateLayer where
-        type Sv CreateLayer = OpsWorks
         type Rs CreateLayer = CreateLayerResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -282,25 +281,31 @@
 instance ToJSON CreateLayer where
         toJSON CreateLayer'{..}
           = object
-              ["CustomInstanceProfileArn" .=
-                 _clCustomInstanceProfileARN,
-               "InstallUpdatesOnBoot" .= _clInstallUpdatesOnBoot,
-               "CustomSecurityGroupIds" .=
-                 _clCustomSecurityGroupIds,
-               "LifecycleEventConfiguration" .=
-                 _clLifecycleEventConfiguration,
-               "CustomRecipes" .= _clCustomRecipes,
-               "VolumeConfigurations" .= _clVolumeConfigurations,
-               "CustomJson" .= _clCustomJSON,
-               "EnableAutoHealing" .= _clEnableAutoHealing,
-               "Packages" .= _clPackages,
-               "Attributes" .= _clAttributes,
-               "AutoAssignPublicIps" .= _clAutoAssignPublicIPs,
-               "UseEbsOptimizedInstances" .=
-                 _clUseEBSOptimizedInstances,
-               "AutoAssignElasticIps" .= _clAutoAssignElasticIPs,
-               "StackId" .= _clStackId, "Type" .= _clType,
-               "Name" .= _clName, "Shortname" .= _clShortname]
+              (catMaybes
+                 [("CustomInstanceProfileArn" .=) <$>
+                    _clCustomInstanceProfileARN,
+                  ("InstallUpdatesOnBoot" .=) <$>
+                    _clInstallUpdatesOnBoot,
+                  ("CustomSecurityGroupIds" .=) <$>
+                    _clCustomSecurityGroupIds,
+                  ("LifecycleEventConfiguration" .=) <$>
+                    _clLifecycleEventConfiguration,
+                  ("CustomRecipes" .=) <$> _clCustomRecipes,
+                  ("VolumeConfigurations" .=) <$>
+                    _clVolumeConfigurations,
+                  ("CustomJson" .=) <$> _clCustomJSON,
+                  ("EnableAutoHealing" .=) <$> _clEnableAutoHealing,
+                  ("Packages" .=) <$> _clPackages,
+                  ("Attributes" .=) <$> _clAttributes,
+                  ("AutoAssignPublicIps" .=) <$>
+                    _clAutoAssignPublicIPs,
+                  ("UseEbsOptimizedInstances" .=) <$>
+                    _clUseEBSOptimizedInstances,
+                  ("AutoAssignElasticIps" .=) <$>
+                    _clAutoAssignElasticIPs,
+                  Just ("StackId" .= _clStackId),
+                  Just ("Type" .= _clType), Just ("Name" .= _clName),
+                  Just ("Shortname" .= _clShortname)])
 
 instance ToPath CreateLayer where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/CreateStack.hs b/gen/Network/AWS/OpsWorks/CreateStack.hs
--- a/gen/Network/AWS/OpsWorks/CreateStack.hs
+++ b/gen/Network/AWS/OpsWorks/CreateStack.hs
@@ -376,9 +376,8 @@
 csDefaultInstanceProfileARN = lens _csDefaultInstanceProfileARN (\ s a -> s{_csDefaultInstanceProfileARN = a});
 
 instance AWSRequest CreateStack where
-        type Sv CreateStack = OpsWorks
         type Rs CreateStack = CreateStackResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -397,27 +396,33 @@
 instance ToJSON CreateStack where
         toJSON CreateStack'{..}
           = object
-              ["DefaultRootDeviceType" .= _csDefaultRootDeviceType,
-               "ChefConfiguration" .= _csChefConfiguration,
-               "VpcId" .= _csVPCId,
-               "AgentVersion" .= _csAgentVersion,
-               "DefaultSshKeyName" .= _csDefaultSSHKeyName,
-               "CustomJson" .= _csCustomJSON,
-               "CustomCookbooksSource" .= _csCustomCookbooksSource,
-               "DefaultAvailabilityZone" .=
-                 _csDefaultAvailabilityZone,
-               "UseOpsworksSecurityGroups" .=
-                 _csUseOpsworksSecurityGroups,
-               "DefaultOs" .= _csDefaultOS,
-               "Attributes" .= _csAttributes,
-               "UseCustomCookbooks" .= _csUseCustomCookbooks,
-               "DefaultSubnetId" .= _csDefaultSubnetId,
-               "ConfigurationManager" .= _csConfigurationManager,
-               "HostnameTheme" .= _csHostnameTheme,
-               "Name" .= _csName, "Region" .= _csRegion,
-               "ServiceRoleArn" .= _csServiceRoleARN,
-               "DefaultInstanceProfileArn" .=
-                 _csDefaultInstanceProfileARN]
+              (catMaybes
+                 [("DefaultRootDeviceType" .=) <$>
+                    _csDefaultRootDeviceType,
+                  ("ChefConfiguration" .=) <$> _csChefConfiguration,
+                  ("VpcId" .=) <$> _csVPCId,
+                  ("AgentVersion" .=) <$> _csAgentVersion,
+                  ("DefaultSshKeyName" .=) <$> _csDefaultSSHKeyName,
+                  ("CustomJson" .=) <$> _csCustomJSON,
+                  ("CustomCookbooksSource" .=) <$>
+                    _csCustomCookbooksSource,
+                  ("DefaultAvailabilityZone" .=) <$>
+                    _csDefaultAvailabilityZone,
+                  ("UseOpsworksSecurityGroups" .=) <$>
+                    _csUseOpsworksSecurityGroups,
+                  ("DefaultOs" .=) <$> _csDefaultOS,
+                  ("Attributes" .=) <$> _csAttributes,
+                  ("UseCustomCookbooks" .=) <$> _csUseCustomCookbooks,
+                  ("DefaultSubnetId" .=) <$> _csDefaultSubnetId,
+                  ("ConfigurationManager" .=) <$>
+                    _csConfigurationManager,
+                  ("HostnameTheme" .=) <$> _csHostnameTheme,
+                  Just ("Name" .= _csName),
+                  Just ("Region" .= _csRegion),
+                  Just ("ServiceRoleArn" .= _csServiceRoleARN),
+                  Just
+                    ("DefaultInstanceProfileArn" .=
+                       _csDefaultInstanceProfileARN)])
 
 instance ToPath CreateStack where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/CreateUserProfile.hs b/gen/Network/AWS/OpsWorks/CreateUserProfile.hs
--- a/gen/Network/AWS/OpsWorks/CreateUserProfile.hs
+++ b/gen/Network/AWS/OpsWorks/CreateUserProfile.hs
@@ -104,9 +104,8 @@
 cupIAMUserARN = lens _cupIAMUserARN (\ s a -> s{_cupIAMUserARN = a});
 
 instance AWSRequest CreateUserProfile where
-        type Sv CreateUserProfile = OpsWorks
         type Rs CreateUserProfile = CreateUserProfileResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -126,10 +125,12 @@
 instance ToJSON CreateUserProfile where
         toJSON CreateUserProfile'{..}
           = object
-              ["SshUsername" .= _cupSSHUsername,
-               "SshPublicKey" .= _cupSSHPublicKey,
-               "AllowSelfManagement" .= _cupAllowSelfManagement,
-               "IamUserArn" .= _cupIAMUserARN]
+              (catMaybes
+                 [("SshUsername" .=) <$> _cupSSHUsername,
+                  ("SshPublicKey" .=) <$> _cupSSHPublicKey,
+                  ("AllowSelfManagement" .=) <$>
+                    _cupAllowSelfManagement,
+                  Just ("IamUserArn" .= _cupIAMUserARN)])
 
 instance ToPath CreateUserProfile where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeleteApp.hs b/gen/Network/AWS/OpsWorks/DeleteApp.hs
--- a/gen/Network/AWS/OpsWorks/DeleteApp.hs
+++ b/gen/Network/AWS/OpsWorks/DeleteApp.hs
@@ -69,9 +69,8 @@
 daAppId = lens _daAppId (\ s a -> s{_daAppId = a});
 
 instance AWSRequest DeleteApp where
-        type Sv DeleteApp = OpsWorks
         type Rs DeleteApp = DeleteAppResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DeleteAppResponse'
 
 instance ToHeaders DeleteApp where
@@ -84,7 +83,8 @@
                     ("application/x-amz-json-1.1" :: ByteString)])
 
 instance ToJSON DeleteApp where
-        toJSON DeleteApp'{..} = object ["AppId" .= _daAppId]
+        toJSON DeleteApp'{..}
+          = object (catMaybes [Just ("AppId" .= _daAppId)])
 
 instance ToPath DeleteApp where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeleteInstance.hs b/gen/Network/AWS/OpsWorks/DeleteInstance.hs
--- a/gen/Network/AWS/OpsWorks/DeleteInstance.hs
+++ b/gen/Network/AWS/OpsWorks/DeleteInstance.hs
@@ -91,9 +91,8 @@
 diInstanceId = lens _diInstanceId (\ s a -> s{_diInstanceId = a});
 
 instance AWSRequest DeleteInstance where
-        type Sv DeleteInstance = OpsWorks
         type Rs DeleteInstance = DeleteInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DeleteInstanceResponse'
 
 instance ToHeaders DeleteInstance where
@@ -108,9 +107,10 @@
 instance ToJSON DeleteInstance where
         toJSON DeleteInstance'{..}
           = object
-              ["DeleteVolumes" .= _diDeleteVolumes,
-               "DeleteElasticIp" .= _diDeleteElasticIP,
-               "InstanceId" .= _diInstanceId]
+              (catMaybes
+                 [("DeleteVolumes" .=) <$> _diDeleteVolumes,
+                  ("DeleteElasticIp" .=) <$> _diDeleteElasticIP,
+                  Just ("InstanceId" .= _diInstanceId)])
 
 instance ToPath DeleteInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeleteLayer.hs b/gen/Network/AWS/OpsWorks/DeleteLayer.hs
--- a/gen/Network/AWS/OpsWorks/DeleteLayer.hs
+++ b/gen/Network/AWS/OpsWorks/DeleteLayer.hs
@@ -72,9 +72,8 @@
 dlLayerId = lens _dlLayerId (\ s a -> s{_dlLayerId = a});
 
 instance AWSRequest DeleteLayer where
-        type Sv DeleteLayer = OpsWorks
         type Rs DeleteLayer = DeleteLayerResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DeleteLayerResponse'
 
 instance ToHeaders DeleteLayer where
@@ -88,7 +87,7 @@
 
 instance ToJSON DeleteLayer where
         toJSON DeleteLayer'{..}
-          = object ["LayerId" .= _dlLayerId]
+          = object (catMaybes [Just ("LayerId" .= _dlLayerId)])
 
 instance ToPath DeleteLayer where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeleteStack.hs b/gen/Network/AWS/OpsWorks/DeleteStack.hs
--- a/gen/Network/AWS/OpsWorks/DeleteStack.hs
+++ b/gen/Network/AWS/OpsWorks/DeleteStack.hs
@@ -71,9 +71,8 @@
 dsStackId = lens _dsStackId (\ s a -> s{_dsStackId = a});
 
 instance AWSRequest DeleteStack where
-        type Sv DeleteStack = OpsWorks
         type Rs DeleteStack = DeleteStackResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DeleteStackResponse'
 
 instance ToHeaders DeleteStack where
@@ -87,7 +86,7 @@
 
 instance ToJSON DeleteStack where
         toJSON DeleteStack'{..}
-          = object ["StackId" .= _dsStackId]
+          = object (catMaybes [Just ("StackId" .= _dsStackId)])
 
 instance ToPath DeleteStack where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeleteUserProfile.hs b/gen/Network/AWS/OpsWorks/DeleteUserProfile.hs
--- a/gen/Network/AWS/OpsWorks/DeleteUserProfile.hs
+++ b/gen/Network/AWS/OpsWorks/DeleteUserProfile.hs
@@ -68,9 +68,8 @@
 dupIAMUserARN = lens _dupIAMUserARN (\ s a -> s{_dupIAMUserARN = a});
 
 instance AWSRequest DeleteUserProfile where
-        type Sv DeleteUserProfile = OpsWorks
         type Rs DeleteUserProfile = DeleteUserProfileResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DeleteUserProfileResponse'
 
 instance ToHeaders DeleteUserProfile where
@@ -85,7 +84,8 @@
 
 instance ToJSON DeleteUserProfile where
         toJSON DeleteUserProfile'{..}
-          = object ["IamUserArn" .= _dupIAMUserARN]
+          = object
+              (catMaybes [Just ("IamUserArn" .= _dupIAMUserARN)])
 
 instance ToPath DeleteUserProfile where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeregisterEcsCluster.hs b/gen/Network/AWS/OpsWorks/DeregisterEcsCluster.hs
--- a/gen/Network/AWS/OpsWorks/DeregisterEcsCluster.hs
+++ b/gen/Network/AWS/OpsWorks/DeregisterEcsCluster.hs
@@ -71,10 +71,9 @@
 decEcsClusterARN = lens _decEcsClusterARN (\ s a -> s{_decEcsClusterARN = a});
 
 instance AWSRequest DeregisterEcsCluster where
-        type Sv DeregisterEcsCluster = OpsWorks
         type Rs DeregisterEcsCluster =
              DeregisterEcsClusterResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DeregisterEcsClusterResponse'
 
 instance ToHeaders DeregisterEcsCluster where
@@ -89,7 +88,9 @@
 
 instance ToJSON DeregisterEcsCluster where
         toJSON DeregisterEcsCluster'{..}
-          = object ["EcsClusterArn" .= _decEcsClusterARN]
+          = object
+              (catMaybes
+                 [Just ("EcsClusterArn" .= _decEcsClusterARN)])
 
 instance ToPath DeregisterEcsCluster where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeregisterElasticIP.hs b/gen/Network/AWS/OpsWorks/DeregisterElasticIP.hs
--- a/gen/Network/AWS/OpsWorks/DeregisterElasticIP.hs
+++ b/gen/Network/AWS/OpsWorks/DeregisterElasticIP.hs
@@ -71,10 +71,9 @@
 deipElasticIP = lens _deipElasticIP (\ s a -> s{_deipElasticIP = a});
 
 instance AWSRequest DeregisterElasticIP where
-        type Sv DeregisterElasticIP = OpsWorks
         type Rs DeregisterElasticIP =
              DeregisterElasticIPResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DeregisterElasticIPResponse'
 
 instance ToHeaders DeregisterElasticIP where
@@ -89,7 +88,8 @@
 
 instance ToJSON DeregisterElasticIP where
         toJSON DeregisterElasticIP'{..}
-          = object ["ElasticIp" .= _deipElasticIP]
+          = object
+              (catMaybes [Just ("ElasticIp" .= _deipElasticIP)])
 
 instance ToPath DeregisterElasticIP where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeregisterInstance.hs b/gen/Network/AWS/OpsWorks/DeregisterInstance.hs
--- a/gen/Network/AWS/OpsWorks/DeregisterInstance.hs
+++ b/gen/Network/AWS/OpsWorks/DeregisterInstance.hs
@@ -72,10 +72,9 @@
 dInstanceId = lens _dInstanceId (\ s a -> s{_dInstanceId = a});
 
 instance AWSRequest DeregisterInstance where
-        type Sv DeregisterInstance = OpsWorks
         type Rs DeregisterInstance =
              DeregisterInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DeregisterInstanceResponse'
 
 instance ToHeaders DeregisterInstance where
@@ -90,7 +89,8 @@
 
 instance ToJSON DeregisterInstance where
         toJSON DeregisterInstance'{..}
-          = object ["InstanceId" .= _dInstanceId]
+          = object
+              (catMaybes [Just ("InstanceId" .= _dInstanceId)])
 
 instance ToPath DeregisterInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeregisterRDSDBInstance.hs b/gen/Network/AWS/OpsWorks/DeregisterRDSDBInstance.hs
--- a/gen/Network/AWS/OpsWorks/DeregisterRDSDBInstance.hs
+++ b/gen/Network/AWS/OpsWorks/DeregisterRDSDBInstance.hs
@@ -69,10 +69,9 @@
 drdiRDSDBInstanceARN = lens _drdiRDSDBInstanceARN (\ s a -> s{_drdiRDSDBInstanceARN = a});
 
 instance AWSRequest DeregisterRDSDBInstance where
-        type Sv DeregisterRDSDBInstance = OpsWorks
         type Rs DeregisterRDSDBInstance =
              DeregisterRDSDBInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveNull DeregisterRDSDBInstanceResponse'
 
@@ -89,7 +88,8 @@
 instance ToJSON DeregisterRDSDBInstance where
         toJSON DeregisterRDSDBInstance'{..}
           = object
-              ["RdsDbInstanceArn" .= _drdiRDSDBInstanceARN]
+              (catMaybes
+                 [Just ("RdsDbInstanceArn" .= _drdiRDSDBInstanceARN)])
 
 instance ToPath DeregisterRDSDBInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DeregisterVolume.hs b/gen/Network/AWS/OpsWorks/DeregisterVolume.hs
--- a/gen/Network/AWS/OpsWorks/DeregisterVolume.hs
+++ b/gen/Network/AWS/OpsWorks/DeregisterVolume.hs
@@ -73,9 +73,8 @@
 dvVolumeId = lens _dvVolumeId (\ s a -> s{_dvVolumeId = a});
 
 instance AWSRequest DeregisterVolume where
-        type Sv DeregisterVolume = OpsWorks
         type Rs DeregisterVolume = DeregisterVolumeResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DeregisterVolumeResponse'
 
 instance ToHeaders DeregisterVolume where
@@ -89,7 +88,8 @@
 
 instance ToJSON DeregisterVolume where
         toJSON DeregisterVolume'{..}
-          = object ["VolumeId" .= _dvVolumeId]
+          = object
+              (catMaybes [Just ("VolumeId" .= _dvVolumeId)])
 
 instance ToPath DeregisterVolume where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeAgentVersions.hs b/gen/Network/AWS/OpsWorks/DescribeAgentVersions.hs
--- a/gen/Network/AWS/OpsWorks/DescribeAgentVersions.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeAgentVersions.hs
@@ -77,10 +77,9 @@
 davStackId = lens _davStackId (\ s a -> s{_davStackId = a});
 
 instance AWSRequest DescribeAgentVersions where
-        type Sv DescribeAgentVersions = OpsWorks
         type Rs DescribeAgentVersions =
              DescribeAgentVersionsResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -101,8 +100,10 @@
 instance ToJSON DescribeAgentVersions where
         toJSON DescribeAgentVersions'{..}
           = object
-              ["ConfigurationManager" .= _davConfigurationManager,
-               "StackId" .= _davStackId]
+              (catMaybes
+                 [("ConfigurationManager" .=) <$>
+                    _davConfigurationManager,
+                  ("StackId" .=) <$> _davStackId])
 
 instance ToPath DescribeAgentVersions where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeApps.hs b/gen/Network/AWS/OpsWorks/DescribeApps.hs
--- a/gen/Network/AWS/OpsWorks/DescribeApps.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeApps.hs
@@ -85,9 +85,8 @@
 daStackId = lens _daStackId (\ s a -> s{_daStackId = a});
 
 instance AWSRequest DescribeApps where
-        type Sv DescribeApps = OpsWorks
         type Rs DescribeApps = DescribeAppsResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -106,7 +105,9 @@
 instance ToJSON DescribeApps where
         toJSON DescribeApps'{..}
           = object
-              ["AppIds" .= _daAppIds, "StackId" .= _daStackId]
+              (catMaybes
+                 [("AppIds" .=) <$> _daAppIds,
+                  ("StackId" .=) <$> _daStackId])
 
 instance ToPath DescribeApps where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeCommands.hs b/gen/Network/AWS/OpsWorks/DescribeCommands.hs
--- a/gen/Network/AWS/OpsWorks/DescribeCommands.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeCommands.hs
@@ -97,9 +97,8 @@
 dcCommandIds = lens _dcCommandIds (\ s a -> s{_dcCommandIds = a}) . _Default . _Coerce;
 
 instance AWSRequest DescribeCommands where
-        type Sv DescribeCommands = OpsWorks
         type Rs DescribeCommands = DescribeCommandsResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -119,9 +118,10 @@
 instance ToJSON DescribeCommands where
         toJSON DescribeCommands'{..}
           = object
-              ["InstanceId" .= _dcInstanceId,
-               "DeploymentId" .= _dcDeploymentId,
-               "CommandIds" .= _dcCommandIds]
+              (catMaybes
+                 [("InstanceId" .=) <$> _dcInstanceId,
+                  ("DeploymentId" .=) <$> _dcDeploymentId,
+                  ("CommandIds" .=) <$> _dcCommandIds])
 
 instance ToPath DescribeCommands where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeDeployments.hs b/gen/Network/AWS/OpsWorks/DescribeDeployments.hs
--- a/gen/Network/AWS/OpsWorks/DescribeDeployments.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeDeployments.hs
@@ -96,10 +96,9 @@
 ddStackId = lens _ddStackId (\ s a -> s{_ddStackId = a});
 
 instance AWSRequest DescribeDeployments where
-        type Sv DescribeDeployments = OpsWorks
         type Rs DescribeDeployments =
              DescribeDeploymentsResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -120,9 +119,10 @@
 instance ToJSON DescribeDeployments where
         toJSON DescribeDeployments'{..}
           = object
-              ["AppId" .= _ddAppId,
-               "DeploymentIds" .= _ddDeploymentIds,
-               "StackId" .= _ddStackId]
+              (catMaybes
+                 [("AppId" .=) <$> _ddAppId,
+                  ("DeploymentIds" .=) <$> _ddDeploymentIds,
+                  ("StackId" .=) <$> _ddStackId])
 
 instance ToPath DescribeDeployments where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeEcsClusters.hs b/gen/Network/AWS/OpsWorks/DescribeEcsClusters.hs
--- a/gen/Network/AWS/OpsWorks/DescribeEcsClusters.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeEcsClusters.hs
@@ -113,10 +113,9 @@
 decEcsClusterARNs = lens _decEcsClusterARNs (\ s a -> s{_decEcsClusterARNs = a}) . _Default . _Coerce;
 
 instance AWSRequest DescribeEcsClusters where
-        type Sv DescribeEcsClusters = OpsWorks
         type Rs DescribeEcsClusters =
              DescribeEcsClustersResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -138,10 +137,11 @@
 instance ToJSON DescribeEcsClusters where
         toJSON DescribeEcsClusters'{..}
           = object
-              ["NextToken" .= _decNextToken,
-               "StackId" .= _decStackId,
-               "MaxResults" .= _decMaxResults,
-               "EcsClusterArns" .= _decEcsClusterARNs]
+              (catMaybes
+                 [("NextToken" .=) <$> _decNextToken,
+                  ("StackId" .=) <$> _decStackId,
+                  ("MaxResults" .=) <$> _decMaxResults,
+                  ("EcsClusterArns" .=) <$> _decEcsClusterARNs])
 
 instance ToPath DescribeEcsClusters where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeElasticIPs.hs b/gen/Network/AWS/OpsWorks/DescribeElasticIPs.hs
--- a/gen/Network/AWS/OpsWorks/DescribeElasticIPs.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeElasticIPs.hs
@@ -99,10 +99,9 @@
 deiStackId = lens _deiStackId (\ s a -> s{_deiStackId = a});
 
 instance AWSRequest DescribeElasticIPs where
-        type Sv DescribeElasticIPs = OpsWorks
         type Rs DescribeElasticIPs =
              DescribeElasticIPsResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -123,8 +122,10 @@
 instance ToJSON DescribeElasticIPs where
         toJSON DescribeElasticIPs'{..}
           = object
-              ["InstanceId" .= _deiInstanceId, "Ips" .= _deiIPs,
-               "StackId" .= _deiStackId]
+              (catMaybes
+                 [("InstanceId" .=) <$> _deiInstanceId,
+                  ("Ips" .=) <$> _deiIPs,
+                  ("StackId" .=) <$> _deiStackId])
 
 instance ToPath DescribeElasticIPs where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeElasticLoadBalancers.hs b/gen/Network/AWS/OpsWorks/DescribeElasticLoadBalancers.hs
--- a/gen/Network/AWS/OpsWorks/DescribeElasticLoadBalancers.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeElasticLoadBalancers.hs
@@ -85,10 +85,9 @@
 
 instance AWSRequest DescribeElasticLoadBalancers
          where
-        type Sv DescribeElasticLoadBalancers = OpsWorks
         type Rs DescribeElasticLoadBalancers =
              DescribeElasticLoadBalancersResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -109,8 +108,9 @@
 instance ToJSON DescribeElasticLoadBalancers where
         toJSON DescribeElasticLoadBalancers'{..}
           = object
-              ["LayerIds" .= _delbLayerIds,
-               "StackId" .= _delbStackId]
+              (catMaybes
+                 [("LayerIds" .=) <$> _delbLayerIds,
+                  ("StackId" .=) <$> _delbStackId])
 
 instance ToPath DescribeElasticLoadBalancers where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeInstances.hs b/gen/Network/AWS/OpsWorks/DescribeInstances.hs
--- a/gen/Network/AWS/OpsWorks/DescribeInstances.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeInstances.hs
@@ -95,9 +95,8 @@
 diLayerId = lens _diLayerId (\ s a -> s{_diLayerId = a});
 
 instance AWSRequest DescribeInstances where
-        type Sv DescribeInstances = OpsWorks
         type Rs DescribeInstances = DescribeInstancesResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -118,8 +117,10 @@
 instance ToJSON DescribeInstances where
         toJSON DescribeInstances'{..}
           = object
-              ["InstanceIds" .= _diInstanceIds,
-               "StackId" .= _diStackId, "LayerId" .= _diLayerId]
+              (catMaybes
+                 [("InstanceIds" .=) <$> _diInstanceIds,
+                  ("StackId" .=) <$> _diStackId,
+                  ("LayerId" .=) <$> _diLayerId])
 
 instance ToPath DescribeInstances where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeLayers.hs b/gen/Network/AWS/OpsWorks/DescribeLayers.hs
--- a/gen/Network/AWS/OpsWorks/DescribeLayers.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeLayers.hs
@@ -84,9 +84,8 @@
 dlStackId = lens _dlStackId (\ s a -> s{_dlStackId = a});
 
 instance AWSRequest DescribeLayers where
-        type Sv DescribeLayers = OpsWorks
         type Rs DescribeLayers = DescribeLayersResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -105,7 +104,9 @@
 instance ToJSON DescribeLayers where
         toJSON DescribeLayers'{..}
           = object
-              ["LayerIds" .= _dlLayerIds, "StackId" .= _dlStackId]
+              (catMaybes
+                 [("LayerIds" .=) <$> _dlLayerIds,
+                  ("StackId" .=) <$> _dlStackId])
 
 instance ToPath DescribeLayers where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeLoadBasedAutoScaling.hs b/gen/Network/AWS/OpsWorks/DescribeLoadBasedAutoScaling.hs
--- a/gen/Network/AWS/OpsWorks/DescribeLoadBasedAutoScaling.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeLoadBasedAutoScaling.hs
@@ -74,10 +74,9 @@
 
 instance AWSRequest DescribeLoadBasedAutoScaling
          where
-        type Sv DescribeLoadBasedAutoScaling = OpsWorks
         type Rs DescribeLoadBasedAutoScaling =
              DescribeLoadBasedAutoScalingResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -98,7 +97,8 @@
 
 instance ToJSON DescribeLoadBasedAutoScaling where
         toJSON DescribeLoadBasedAutoScaling'{..}
-          = object ["LayerIds" .= _dlbasLayerIds]
+          = object
+              (catMaybes [Just ("LayerIds" .= _dlbasLayerIds)])
 
 instance ToPath DescribeLoadBasedAutoScaling where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeMyUserProfile.hs b/gen/Network/AWS/OpsWorks/DescribeMyUserProfile.hs
--- a/gen/Network/AWS/OpsWorks/DescribeMyUserProfile.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeMyUserProfile.hs
@@ -58,10 +58,9 @@
 describeMyUserProfile = DescribeMyUserProfile'
 
 instance AWSRequest DescribeMyUserProfile where
-        type Sv DescribeMyUserProfile = OpsWorks
         type Rs DescribeMyUserProfile =
              DescribeMyUserProfileResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
diff --git a/gen/Network/AWS/OpsWorks/DescribePermissions.hs b/gen/Network/AWS/OpsWorks/DescribePermissions.hs
--- a/gen/Network/AWS/OpsWorks/DescribePermissions.hs
+++ b/gen/Network/AWS/OpsWorks/DescribePermissions.hs
@@ -81,10 +81,9 @@
 dpStackId = lens _dpStackId (\ s a -> s{_dpStackId = a});
 
 instance AWSRequest DescribePermissions where
-        type Sv DescribePermissions = OpsWorks
         type Rs DescribePermissions =
              DescribePermissionsResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -105,8 +104,9 @@
 instance ToJSON DescribePermissions where
         toJSON DescribePermissions'{..}
           = object
-              ["IamUserArn" .= _dpIAMUserARN,
-               "StackId" .= _dpStackId]
+              (catMaybes
+                 [("IamUserArn" .=) <$> _dpIAMUserARN,
+                  ("StackId" .=) <$> _dpStackId])
 
 instance ToPath DescribePermissions where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeRAIdArrays.hs b/gen/Network/AWS/OpsWorks/DescribeRAIdArrays.hs
--- a/gen/Network/AWS/OpsWorks/DescribeRAIdArrays.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeRAIdArrays.hs
@@ -94,10 +94,9 @@
 draiaStackId = lens _draiaStackId (\ s a -> s{_draiaStackId = a});
 
 instance AWSRequest DescribeRAIdArrays where
-        type Sv DescribeRAIdArrays = OpsWorks
         type Rs DescribeRAIdArrays =
              DescribeRAIdArraysResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -118,9 +117,10 @@
 instance ToJSON DescribeRAIdArrays where
         toJSON DescribeRAIdArrays'{..}
           = object
-              ["InstanceId" .= _draiaInstanceId,
-               "RaidArrayIds" .= _draiaRAIdArrayIds,
-               "StackId" .= _draiaStackId]
+              (catMaybes
+                 [("InstanceId" .=) <$> _draiaInstanceId,
+                  ("RaidArrayIds" .=) <$> _draiaRAIdArrayIds,
+                  ("StackId" .=) <$> _draiaStackId])
 
 instance ToPath DescribeRAIdArrays where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeRDSDBInstances.hs b/gen/Network/AWS/OpsWorks/DescribeRDSDBInstances.hs
--- a/gen/Network/AWS/OpsWorks/DescribeRDSDBInstances.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeRDSDBInstances.hs
@@ -82,10 +82,9 @@
 drdiStackId = lens _drdiStackId (\ s a -> s{_drdiStackId = a});
 
 instance AWSRequest DescribeRDSDBInstances where
-        type Sv DescribeRDSDBInstances = OpsWorks
         type Rs DescribeRDSDBInstances =
              DescribeRDSDBInstancesResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -106,8 +105,9 @@
 instance ToJSON DescribeRDSDBInstances where
         toJSON DescribeRDSDBInstances'{..}
           = object
-              ["RdsDbInstanceArns" .= _drdiRDSDBInstanceARNs,
-               "StackId" .= _drdiStackId]
+              (catMaybes
+                 [("RdsDbInstanceArns" .=) <$> _drdiRDSDBInstanceARNs,
+                  Just ("StackId" .= _drdiStackId)])
 
 instance ToPath DescribeRDSDBInstances where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeServiceErrors.hs b/gen/Network/AWS/OpsWorks/DescribeServiceErrors.hs
--- a/gen/Network/AWS/OpsWorks/DescribeServiceErrors.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeServiceErrors.hs
@@ -94,10 +94,9 @@
 dseStackId = lens _dseStackId (\ s a -> s{_dseStackId = a});
 
 instance AWSRequest DescribeServiceErrors where
-        type Sv DescribeServiceErrors = OpsWorks
         type Rs DescribeServiceErrors =
              DescribeServiceErrorsResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -118,9 +117,10 @@
 instance ToJSON DescribeServiceErrors where
         toJSON DescribeServiceErrors'{..}
           = object
-              ["InstanceId" .= _dseInstanceId,
-               "ServiceErrorIds" .= _dseServiceErrorIds,
-               "StackId" .= _dseStackId]
+              (catMaybes
+                 [("InstanceId" .=) <$> _dseInstanceId,
+                  ("ServiceErrorIds" .=) <$> _dseServiceErrorIds,
+                  ("StackId" .=) <$> _dseStackId])
 
 instance ToPath DescribeServiceErrors where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeStackProvisioningParameters.hs b/gen/Network/AWS/OpsWorks/DescribeStackProvisioningParameters.hs
--- a/gen/Network/AWS/OpsWorks/DescribeStackProvisioningParameters.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeStackProvisioningParameters.hs
@@ -74,11 +74,9 @@
 
 instance AWSRequest
          DescribeStackProvisioningParameters where
-        type Sv DescribeStackProvisioningParameters =
-             OpsWorks
         type Rs DescribeStackProvisioningParameters =
              DescribeStackProvisioningParametersResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -101,7 +99,8 @@
 instance ToJSON DescribeStackProvisioningParameters
          where
         toJSON DescribeStackProvisioningParameters'{..}
-          = object ["StackId" .= _dsppStackId]
+          = object
+              (catMaybes [Just ("StackId" .= _dsppStackId)])
 
 instance ToPath DescribeStackProvisioningParameters
          where
diff --git a/gen/Network/AWS/OpsWorks/DescribeStackSummary.hs b/gen/Network/AWS/OpsWorks/DescribeStackSummary.hs
--- a/gen/Network/AWS/OpsWorks/DescribeStackSummary.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeStackSummary.hs
@@ -73,10 +73,9 @@
 dssStackId = lens _dssStackId (\ s a -> s{_dssStackId = a});
 
 instance AWSRequest DescribeStackSummary where
-        type Sv DescribeStackSummary = OpsWorks
         type Rs DescribeStackSummary =
              DescribeStackSummaryResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -95,7 +94,8 @@
 
 instance ToJSON DescribeStackSummary where
         toJSON DescribeStackSummary'{..}
-          = object ["StackId" .= _dssStackId]
+          = object
+              (catMaybes [Just ("StackId" .= _dssStackId)])
 
 instance ToPath DescribeStackSummary where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeStacks.hs b/gen/Network/AWS/OpsWorks/DescribeStacks.hs
--- a/gen/Network/AWS/OpsWorks/DescribeStacks.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeStacks.hs
@@ -73,9 +73,8 @@
 dsStackIds = lens _dsStackIds (\ s a -> s{_dsStackIds = a}) . _Default . _Coerce;
 
 instance AWSRequest DescribeStacks where
-        type Sv DescribeStacks = OpsWorks
         type Rs DescribeStacks = DescribeStacksResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -93,7 +92,8 @@
 
 instance ToJSON DescribeStacks where
         toJSON DescribeStacks'{..}
-          = object ["StackIds" .= _dsStackIds]
+          = object
+              (catMaybes [("StackIds" .=) <$> _dsStackIds])
 
 instance ToPath DescribeStacks where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeTimeBasedAutoScaling.hs b/gen/Network/AWS/OpsWorks/DescribeTimeBasedAutoScaling.hs
--- a/gen/Network/AWS/OpsWorks/DescribeTimeBasedAutoScaling.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeTimeBasedAutoScaling.hs
@@ -75,10 +75,9 @@
 
 instance AWSRequest DescribeTimeBasedAutoScaling
          where
-        type Sv DescribeTimeBasedAutoScaling = OpsWorks
         type Rs DescribeTimeBasedAutoScaling =
              DescribeTimeBasedAutoScalingResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -99,7 +98,9 @@
 
 instance ToJSON DescribeTimeBasedAutoScaling where
         toJSON DescribeTimeBasedAutoScaling'{..}
-          = object ["InstanceIds" .= _dtbasInstanceIds]
+          = object
+              (catMaybes
+                 [Just ("InstanceIds" .= _dtbasInstanceIds)])
 
 instance ToPath DescribeTimeBasedAutoScaling where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeUserProfiles.hs b/gen/Network/AWS/OpsWorks/DescribeUserProfiles.hs
--- a/gen/Network/AWS/OpsWorks/DescribeUserProfiles.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeUserProfiles.hs
@@ -70,10 +70,9 @@
 dupIAMUserARNs = lens _dupIAMUserARNs (\ s a -> s{_dupIAMUserARNs = a}) . _Default . _Coerce;
 
 instance AWSRequest DescribeUserProfiles where
-        type Sv DescribeUserProfiles = OpsWorks
         type Rs DescribeUserProfiles =
              DescribeUserProfilesResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -93,7 +92,8 @@
 
 instance ToJSON DescribeUserProfiles where
         toJSON DescribeUserProfiles'{..}
-          = object ["IamUserArns" .= _dupIAMUserARNs]
+          = object
+              (catMaybes [("IamUserArns" .=) <$> _dupIAMUserARNs])
 
 instance ToPath DescribeUserProfiles where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DescribeVolumes.hs b/gen/Network/AWS/OpsWorks/DescribeVolumes.hs
--- a/gen/Network/AWS/OpsWorks/DescribeVolumes.hs
+++ b/gen/Network/AWS/OpsWorks/DescribeVolumes.hs
@@ -105,9 +105,8 @@
 dvStackId = lens _dvStackId (\ s a -> s{_dvStackId = a});
 
 instance AWSRequest DescribeVolumes where
-        type Sv DescribeVolumes = OpsWorks
         type Rs DescribeVolumes = DescribeVolumesResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -126,10 +125,11 @@
 instance ToJSON DescribeVolumes where
         toJSON DescribeVolumes'{..}
           = object
-              ["InstanceId" .= _dvInstanceId,
-               "VolumeIds" .= _dvVolumeIds,
-               "RaidArrayId" .= _dvRAIdArrayId,
-               "StackId" .= _dvStackId]
+              (catMaybes
+                 [("InstanceId" .=) <$> _dvInstanceId,
+                  ("VolumeIds" .=) <$> _dvVolumeIds,
+                  ("RaidArrayId" .=) <$> _dvRAIdArrayId,
+                  ("StackId" .=) <$> _dvStackId])
 
 instance ToPath DescribeVolumes where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DetachElasticLoadBalancer.hs b/gen/Network/AWS/OpsWorks/DetachElasticLoadBalancer.hs
--- a/gen/Network/AWS/OpsWorks/DetachElasticLoadBalancer.hs
+++ b/gen/Network/AWS/OpsWorks/DetachElasticLoadBalancer.hs
@@ -80,10 +80,9 @@
 delbLayerId = lens _delbLayerId (\ s a -> s{_delbLayerId = a});
 
 instance AWSRequest DetachElasticLoadBalancer where
-        type Sv DetachElasticLoadBalancer = OpsWorks
         type Rs DetachElasticLoadBalancer =
              DetachElasticLoadBalancerResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveNull DetachElasticLoadBalancerResponse'
 
@@ -100,9 +99,11 @@
 instance ToJSON DetachElasticLoadBalancer where
         toJSON DetachElasticLoadBalancer'{..}
           = object
-              ["ElasticLoadBalancerName" .=
-                 _delbElasticLoadBalancerName,
-               "LayerId" .= _delbLayerId]
+              (catMaybes
+                 [Just
+                    ("ElasticLoadBalancerName" .=
+                       _delbElasticLoadBalancerName),
+                  Just ("LayerId" .= _delbLayerId)])
 
 instance ToPath DetachElasticLoadBalancer where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/DisassociateElasticIP.hs b/gen/Network/AWS/OpsWorks/DisassociateElasticIP.hs
--- a/gen/Network/AWS/OpsWorks/DisassociateElasticIP.hs
+++ b/gen/Network/AWS/OpsWorks/DisassociateElasticIP.hs
@@ -71,10 +71,9 @@
 deiElasticIP = lens _deiElasticIP (\ s a -> s{_deiElasticIP = a});
 
 instance AWSRequest DisassociateElasticIP where
-        type Sv DisassociateElasticIP = OpsWorks
         type Rs DisassociateElasticIP =
              DisassociateElasticIPResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull DisassociateElasticIPResponse'
 
 instance ToHeaders DisassociateElasticIP where
@@ -89,7 +88,8 @@
 
 instance ToJSON DisassociateElasticIP where
         toJSON DisassociateElasticIP'{..}
-          = object ["ElasticIp" .= _deiElasticIP]
+          = object
+              (catMaybes [Just ("ElasticIp" .= _deiElasticIP)])
 
 instance ToPath DisassociateElasticIP where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/GetHostnameSuggestion.hs b/gen/Network/AWS/OpsWorks/GetHostnameSuggestion.hs
--- a/gen/Network/AWS/OpsWorks/GetHostnameSuggestion.hs
+++ b/gen/Network/AWS/OpsWorks/GetHostnameSuggestion.hs
@@ -74,10 +74,9 @@
 ghsLayerId = lens _ghsLayerId (\ s a -> s{_ghsLayerId = a});
 
 instance AWSRequest GetHostnameSuggestion where
-        type Sv GetHostnameSuggestion = OpsWorks
         type Rs GetHostnameSuggestion =
              GetHostnameSuggestionResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -97,7 +96,8 @@
 
 instance ToJSON GetHostnameSuggestion where
         toJSON GetHostnameSuggestion'{..}
-          = object ["LayerId" .= _ghsLayerId]
+          = object
+              (catMaybes [Just ("LayerId" .= _ghsLayerId)])
 
 instance ToPath GetHostnameSuggestion where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/GrantAccess.hs b/gen/Network/AWS/OpsWorks/GrantAccess.hs
--- a/gen/Network/AWS/OpsWorks/GrantAccess.hs
+++ b/gen/Network/AWS/OpsWorks/GrantAccess.hs
@@ -80,9 +80,8 @@
 gaInstanceId = lens _gaInstanceId (\ s a -> s{_gaInstanceId = a});
 
 instance AWSRequest GrantAccess where
-        type Sv GrantAccess = OpsWorks
         type Rs GrantAccess = GrantAccessResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -102,8 +101,9 @@
 instance ToJSON GrantAccess where
         toJSON GrantAccess'{..}
           = object
-              ["ValidForInMinutes" .= _gaValidForInMinutes,
-               "InstanceId" .= _gaInstanceId]
+              (catMaybes
+                 [("ValidForInMinutes" .=) <$> _gaValidForInMinutes,
+                  Just ("InstanceId" .= _gaInstanceId)])
 
 instance ToPath GrantAccess where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/RebootInstance.hs b/gen/Network/AWS/OpsWorks/RebootInstance.hs
--- a/gen/Network/AWS/OpsWorks/RebootInstance.hs
+++ b/gen/Network/AWS/OpsWorks/RebootInstance.hs
@@ -70,9 +70,8 @@
 riInstanceId = lens _riInstanceId (\ s a -> s{_riInstanceId = a});
 
 instance AWSRequest RebootInstance where
-        type Sv RebootInstance = OpsWorks
         type Rs RebootInstance = RebootInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull RebootInstanceResponse'
 
 instance ToHeaders RebootInstance where
@@ -86,7 +85,8 @@
 
 instance ToJSON RebootInstance where
         toJSON RebootInstance'{..}
-          = object ["InstanceId" .= _riInstanceId]
+          = object
+              (catMaybes [Just ("InstanceId" .= _riInstanceId)])
 
 instance ToPath RebootInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/RegisterEcsCluster.hs b/gen/Network/AWS/OpsWorks/RegisterEcsCluster.hs
--- a/gen/Network/AWS/OpsWorks/RegisterEcsCluster.hs
+++ b/gen/Network/AWS/OpsWorks/RegisterEcsCluster.hs
@@ -85,10 +85,9 @@
 recStackId = lens _recStackId (\ s a -> s{_recStackId = a});
 
 instance AWSRequest RegisterEcsCluster where
-        type Sv RegisterEcsCluster = OpsWorks
         type Rs RegisterEcsCluster =
              RegisterEcsClusterResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -108,8 +107,9 @@
 instance ToJSON RegisterEcsCluster where
         toJSON RegisterEcsCluster'{..}
           = object
-              ["EcsClusterArn" .= _recEcsClusterARN,
-               "StackId" .= _recStackId]
+              (catMaybes
+                 [Just ("EcsClusterArn" .= _recEcsClusterARN),
+                  Just ("StackId" .= _recStackId)])
 
 instance ToPath RegisterEcsCluster where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/RegisterElasticIP.hs b/gen/Network/AWS/OpsWorks/RegisterElasticIP.hs
--- a/gen/Network/AWS/OpsWorks/RegisterElasticIP.hs
+++ b/gen/Network/AWS/OpsWorks/RegisterElasticIP.hs
@@ -86,9 +86,8 @@
 reiStackId = lens _reiStackId (\ s a -> s{_reiStackId = a});
 
 instance AWSRequest RegisterElasticIP where
-        type Sv RegisterElasticIP = OpsWorks
         type Rs RegisterElasticIP = RegisterElasticIPResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -108,8 +107,9 @@
 instance ToJSON RegisterElasticIP where
         toJSON RegisterElasticIP'{..}
           = object
-              ["ElasticIp" .= _reiElasticIP,
-               "StackId" .= _reiStackId]
+              (catMaybes
+                 [Just ("ElasticIp" .= _reiElasticIP),
+                  Just ("StackId" .= _reiStackId)])
 
 instance ToPath RegisterElasticIP where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/RegisterInstance.hs b/gen/Network/AWS/OpsWorks/RegisterInstance.hs
--- a/gen/Network/AWS/OpsWorks/RegisterInstance.hs
+++ b/gen/Network/AWS/OpsWorks/RegisterInstance.hs
@@ -136,9 +136,8 @@
 riStackId = lens _riStackId (\ s a -> s{_riStackId = a});
 
 instance AWSRequest RegisterInstance where
-        type Sv RegisterInstance = OpsWorks
         type Rs RegisterInstance = RegisterInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -157,14 +156,15 @@
 instance ToJSON RegisterInstance where
         toJSON RegisterInstance'{..}
           = object
-              ["PrivateIp" .= _riPrivateIP,
-               "Hostname" .= _riHostname,
-               "InstanceIdentity" .= _riInstanceIdentity,
-               "PublicIp" .= _riPublicIP,
-               "RsaPublicKeyFingerprint" .=
-                 _riRsaPublicKeyFingerprint,
-               "RsaPublicKey" .= _riRsaPublicKey,
-               "StackId" .= _riStackId]
+              (catMaybes
+                 [("PrivateIp" .=) <$> _riPrivateIP,
+                  ("Hostname" .=) <$> _riHostname,
+                  ("InstanceIdentity" .=) <$> _riInstanceIdentity,
+                  ("PublicIp" .=) <$> _riPublicIP,
+                  ("RsaPublicKeyFingerprint" .=) <$>
+                    _riRsaPublicKeyFingerprint,
+                  ("RsaPublicKey" .=) <$> _riRsaPublicKey,
+                  Just ("StackId" .= _riStackId)])
 
 instance ToPath RegisterInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/RegisterRDSDBInstance.hs b/gen/Network/AWS/OpsWorks/RegisterRDSDBInstance.hs
--- a/gen/Network/AWS/OpsWorks/RegisterRDSDBInstance.hs
+++ b/gen/Network/AWS/OpsWorks/RegisterRDSDBInstance.hs
@@ -99,10 +99,9 @@
 rrdiDBPassword = lens _rrdiDBPassword (\ s a -> s{_rrdiDBPassword = a});
 
 instance AWSRequest RegisterRDSDBInstance where
-        type Sv RegisterRDSDBInstance = OpsWorks
         type Rs RegisterRDSDBInstance =
              RegisterRDSDBInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull RegisterRDSDBInstanceResponse'
 
 instance ToHeaders RegisterRDSDBInstance where
@@ -118,10 +117,11 @@
 instance ToJSON RegisterRDSDBInstance where
         toJSON RegisterRDSDBInstance'{..}
           = object
-              ["StackId" .= _rrdiStackId,
-               "RdsDbInstanceArn" .= _rrdiRDSDBInstanceARN,
-               "DbUser" .= _rrdiDBUser,
-               "DbPassword" .= _rrdiDBPassword]
+              (catMaybes
+                 [Just ("StackId" .= _rrdiStackId),
+                  Just ("RdsDbInstanceArn" .= _rrdiRDSDBInstanceARN),
+                  Just ("DbUser" .= _rrdiDBUser),
+                  Just ("DbPassword" .= _rrdiDBPassword)])
 
 instance ToPath RegisterRDSDBInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/RegisterVolume.hs b/gen/Network/AWS/OpsWorks/RegisterVolume.hs
--- a/gen/Network/AWS/OpsWorks/RegisterVolume.hs
+++ b/gen/Network/AWS/OpsWorks/RegisterVolume.hs
@@ -85,9 +85,8 @@
 rvStackId = lens _rvStackId (\ s a -> s{_rvStackId = a});
 
 instance AWSRequest RegisterVolume where
-        type Sv RegisterVolume = OpsWorks
         type Rs RegisterVolume = RegisterVolumeResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveJSON
               (\ s h x ->
@@ -106,8 +105,9 @@
 instance ToJSON RegisterVolume where
         toJSON RegisterVolume'{..}
           = object
-              ["Ec2VolumeId" .= _rvEC2VolumeId,
-               "StackId" .= _rvStackId]
+              (catMaybes
+                 [("Ec2VolumeId" .=) <$> _rvEC2VolumeId,
+                  Just ("StackId" .= _rvStackId)])
 
 instance ToPath RegisterVolume where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/SetLoadBasedAutoScaling.hs b/gen/Network/AWS/OpsWorks/SetLoadBasedAutoScaling.hs
--- a/gen/Network/AWS/OpsWorks/SetLoadBasedAutoScaling.hs
+++ b/gen/Network/AWS/OpsWorks/SetLoadBasedAutoScaling.hs
@@ -107,10 +107,9 @@
 slbasLayerId = lens _slbasLayerId (\ s a -> s{_slbasLayerId = a});
 
 instance AWSRequest SetLoadBasedAutoScaling where
-        type Sv SetLoadBasedAutoScaling = OpsWorks
         type Rs SetLoadBasedAutoScaling =
              SetLoadBasedAutoScalingResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveNull SetLoadBasedAutoScalingResponse'
 
@@ -127,10 +126,11 @@
 instance ToJSON SetLoadBasedAutoScaling where
         toJSON SetLoadBasedAutoScaling'{..}
           = object
-              ["UpScaling" .= _slbasUpScaling,
-               "Enable" .= _slbasEnable,
-               "DownScaling" .= _slbasDownScaling,
-               "LayerId" .= _slbasLayerId]
+              (catMaybes
+                 [("UpScaling" .=) <$> _slbasUpScaling,
+                  ("Enable" .=) <$> _slbasEnable,
+                  ("DownScaling" .=) <$> _slbasDownScaling,
+                  Just ("LayerId" .= _slbasLayerId)])
 
 instance ToPath SetLoadBasedAutoScaling where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/SetPermission.hs b/gen/Network/AWS/OpsWorks/SetPermission.hs
--- a/gen/Network/AWS/OpsWorks/SetPermission.hs
+++ b/gen/Network/AWS/OpsWorks/SetPermission.hs
@@ -118,9 +118,8 @@
 spIAMUserARN = lens _spIAMUserARN (\ s a -> s{_spIAMUserARN = a});
 
 instance AWSRequest SetPermission where
-        type Sv SetPermission = OpsWorks
         type Rs SetPermission = SetPermissionResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull SetPermissionResponse'
 
 instance ToHeaders SetPermission where
@@ -135,9 +134,12 @@
 instance ToJSON SetPermission where
         toJSON SetPermission'{..}
           = object
-              ["AllowSudo" .= _spAllowSudo, "Level" .= _spLevel,
-               "AllowSsh" .= _spAllowSSH, "StackId" .= _spStackId,
-               "IamUserArn" .= _spIAMUserARN]
+              (catMaybes
+                 [("AllowSudo" .=) <$> _spAllowSudo,
+                  ("Level" .=) <$> _spLevel,
+                  ("AllowSsh" .=) <$> _spAllowSSH,
+                  Just ("StackId" .= _spStackId),
+                  Just ("IamUserArn" .= _spIAMUserARN)])
 
 instance ToPath SetPermission where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/SetTimeBasedAutoScaling.hs b/gen/Network/AWS/OpsWorks/SetTimeBasedAutoScaling.hs
--- a/gen/Network/AWS/OpsWorks/SetTimeBasedAutoScaling.hs
+++ b/gen/Network/AWS/OpsWorks/SetTimeBasedAutoScaling.hs
@@ -80,10 +80,9 @@
 stbasInstanceId = lens _stbasInstanceId (\ s a -> s{_stbasInstanceId = a});
 
 instance AWSRequest SetTimeBasedAutoScaling where
-        type Sv SetTimeBasedAutoScaling = OpsWorks
         type Rs SetTimeBasedAutoScaling =
              SetTimeBasedAutoScalingResponse
-        request = postJSON
+        request = postJSON opsWorks
         response
           = receiveNull SetTimeBasedAutoScalingResponse'
 
@@ -100,8 +99,10 @@
 instance ToJSON SetTimeBasedAutoScaling where
         toJSON SetTimeBasedAutoScaling'{..}
           = object
-              ["AutoScalingSchedule" .= _stbasAutoScalingSchedule,
-               "InstanceId" .= _stbasInstanceId]
+              (catMaybes
+                 [("AutoScalingSchedule" .=) <$>
+                    _stbasAutoScalingSchedule,
+                  Just ("InstanceId" .= _stbasInstanceId)])
 
 instance ToPath SetTimeBasedAutoScaling where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/StartInstance.hs b/gen/Network/AWS/OpsWorks/StartInstance.hs
--- a/gen/Network/AWS/OpsWorks/StartInstance.hs
+++ b/gen/Network/AWS/OpsWorks/StartInstance.hs
@@ -70,9 +70,8 @@
 sInstanceId = lens _sInstanceId (\ s a -> s{_sInstanceId = a});
 
 instance AWSRequest StartInstance where
-        type Sv StartInstance = OpsWorks
         type Rs StartInstance = StartInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull StartInstanceResponse'
 
 instance ToHeaders StartInstance where
@@ -86,7 +85,8 @@
 
 instance ToJSON StartInstance where
         toJSON StartInstance'{..}
-          = object ["InstanceId" .= _sInstanceId]
+          = object
+              (catMaybes [Just ("InstanceId" .= _sInstanceId)])
 
 instance ToPath StartInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/StartStack.hs b/gen/Network/AWS/OpsWorks/StartStack.hs
--- a/gen/Network/AWS/OpsWorks/StartStack.hs
+++ b/gen/Network/AWS/OpsWorks/StartStack.hs
@@ -69,9 +69,8 @@
 staStackId = lens _staStackId (\ s a -> s{_staStackId = a});
 
 instance AWSRequest StartStack where
-        type Sv StartStack = OpsWorks
         type Rs StartStack = StartStackResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull StartStackResponse'
 
 instance ToHeaders StartStack where
@@ -85,7 +84,8 @@
 
 instance ToJSON StartStack where
         toJSON StartStack'{..}
-          = object ["StackId" .= _staStackId]
+          = object
+              (catMaybes [Just ("StackId" .= _staStackId)])
 
 instance ToPath StartStack where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/StopInstance.hs b/gen/Network/AWS/OpsWorks/StopInstance.hs
--- a/gen/Network/AWS/OpsWorks/StopInstance.hs
+++ b/gen/Network/AWS/OpsWorks/StopInstance.hs
@@ -73,9 +73,8 @@
 siInstanceId = lens _siInstanceId (\ s a -> s{_siInstanceId = a});
 
 instance AWSRequest StopInstance where
-        type Sv StopInstance = OpsWorks
         type Rs StopInstance = StopInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull StopInstanceResponse'
 
 instance ToHeaders StopInstance where
@@ -89,7 +88,8 @@
 
 instance ToJSON StopInstance where
         toJSON StopInstance'{..}
-          = object ["InstanceId" .= _siInstanceId]
+          = object
+              (catMaybes [Just ("InstanceId" .= _siInstanceId)])
 
 instance ToPath StopInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/StopStack.hs b/gen/Network/AWS/OpsWorks/StopStack.hs
--- a/gen/Network/AWS/OpsWorks/StopStack.hs
+++ b/gen/Network/AWS/OpsWorks/StopStack.hs
@@ -69,9 +69,8 @@
 stoStackId = lens _stoStackId (\ s a -> s{_stoStackId = a});
 
 instance AWSRequest StopStack where
-        type Sv StopStack = OpsWorks
         type Rs StopStack = StopStackResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull StopStackResponse'
 
 instance ToHeaders StopStack where
@@ -85,7 +84,8 @@
 
 instance ToJSON StopStack where
         toJSON StopStack'{..}
-          = object ["StackId" .= _stoStackId]
+          = object
+              (catMaybes [Just ("StackId" .= _stoStackId)])
 
 instance ToPath StopStack where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/Types.hs b/gen/Network/AWS/OpsWorks/Types.hs
--- a/gen/Network/AWS/OpsWorks/Types.hs
+++ b/gen/Network/AWS/OpsWorks/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.OpsWorks.Types
     (
-    -- * Service
-      OpsWorks
+    -- * Service Configuration
+      opsWorks
 
     -- * Errors
     , _ValidationException
@@ -509,39 +508,36 @@
 import           Network.AWS.Prelude
 import           Network.AWS.Sign.V4
 
--- | Version @2013-02-18@ of the Amazon OpsWorks SDK.
-data OpsWorks
-
-instance AWSService OpsWorks where
-    type Sg OpsWorks = V4
-    service = const svc
-      where
-        svc =
-            Service
-            { _svcAbbrev = "OpsWorks"
-            , _svcPrefix = "opsworks"
-            , _svcVersion = "2013-02-18"
-            , _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 '2013-02-18' of the Amazon OpsWorks SDK configuration.
+opsWorks :: Service
+opsWorks =
+    Service
+    { _svcAbbrev = "OpsWorks"
+    , _svcSigner = v4
+    , _svcPrefix = "opsworks"
+    , _svcVersion = "2013-02-18"
+    , _svcEndpoint = defaultEndpoint opsWorks
+    , _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
 
 -- | Indicates that a request was invalid.
 _ValidationException :: AsError a => Getting (First ServiceError) a ServiceError
diff --git a/gen/Network/AWS/OpsWorks/Types/Product.hs b/gen/Network/AWS/OpsWorks/Types/Product.hs
--- a/gen/Network/AWS/OpsWorks/Types/Product.hs
+++ b/gen/Network/AWS/OpsWorks/Types/Product.hs
@@ -2,7 +2,6 @@
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE OverloadedStrings  #-}
 {-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
 
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
@@ -324,13 +323,14 @@
 instance ToJSON AutoScalingThresholds where
         toJSON AutoScalingThresholds'{..}
           = object
-              ["InstanceCount" .= _astInstanceCount,
-               "IgnoreMetricsTime" .= _astIgnoreMetricsTime,
-               "LoadThreshold" .= _astLoadThreshold,
-               "ThresholdsWaitTime" .= _astThresholdsWaitTime,
-               "Alarms" .= _astAlarms,
-               "MemoryThreshold" .= _astMemoryThreshold,
-               "CpuThreshold" .= _astCPUThreshold]
+              (catMaybes
+                 [("InstanceCount" .=) <$> _astInstanceCount,
+                  ("IgnoreMetricsTime" .=) <$> _astIgnoreMetricsTime,
+                  ("LoadThreshold" .=) <$> _astLoadThreshold,
+                  ("ThresholdsWaitTime" .=) <$> _astThresholdsWaitTime,
+                  ("Alarms" .=) <$> _astAlarms,
+                  ("MemoryThreshold" .=) <$> _astMemoryThreshold,
+                  ("CpuThreshold" .=) <$> _astCPUThreshold])
 
 -- | Describes a block device mapping. This data type maps directly to the
 -- Amazon EC2
@@ -400,9 +400,11 @@
 instance ToJSON BlockDeviceMapping where
         toJSON BlockDeviceMapping'{..}
           = object
-              ["VirtualName" .= _bdmVirtualName,
-               "NoDevice" .= _bdmNoDevice, "Ebs" .= _bdmEBS,
-               "DeviceName" .= _bdmDeviceName]
+              (catMaybes
+                 [("VirtualName" .=) <$> _bdmVirtualName,
+                  ("NoDevice" .=) <$> _bdmNoDevice,
+                  ("Ebs" .=) <$> _bdmEBS,
+                  ("DeviceName" .=) <$> _bdmDeviceName])
 
 -- | Describes the Chef configuration.
 --
@@ -446,8 +448,9 @@
 instance ToJSON ChefConfiguration where
         toJSON ChefConfiguration'{..}
           = object
-              ["BerkshelfVersion" .= _ccBerkshelfVersion,
-               "ManageBerkshelf" .= _ccManageBerkshelf]
+              (catMaybes
+                 [("BerkshelfVersion" .=) <$> _ccBerkshelfVersion,
+                  ("ManageBerkshelf" .=) <$> _ccManageBerkshelf])
 
 -- | Describes a command.
 --
@@ -626,8 +629,10 @@
 instance ToJSON DataSource where
         toJSON DataSource'{..}
           = object
-              ["Arn" .= _dsARN, "DatabaseName" .= _dsDatabaseName,
-               "Type" .= _dsType]
+              (catMaybes
+                 [("Arn" .=) <$> _dsARN,
+                  ("DatabaseName" .=) <$> _dsDatabaseName,
+                  ("Type" .=) <$> _dsType])
 
 -- | Describes a deployment of a stack or app.
 --
@@ -858,7 +863,9 @@
 
 instance ToJSON DeploymentCommand where
         toJSON DeploymentCommand'{..}
-          = object ["Args" .= _dcArgs, "Name" .= _dcName]
+          = object
+              (catMaybes
+                 [("Args" .=) <$> _dcArgs, Just ("Name" .= _dcName)])
 
 -- | Describes an Amazon EBS volume. This data type maps directly to the
 -- Amazon EC2
@@ -936,10 +943,13 @@
 instance ToJSON EBSBlockDevice where
         toJSON EBSBlockDevice'{..}
           = object
-              ["DeleteOnTermination" .= _ebdDeleteOnTermination,
-               "VolumeSize" .= _ebdVolumeSize, "Iops" .= _ebdIOPS,
-               "VolumeType" .= _ebdVolumeType,
-               "SnapshotId" .= _ebdSnapshotId]
+              (catMaybes
+                 [("DeleteOnTermination" .=) <$>
+                    _ebdDeleteOnTermination,
+                  ("VolumeSize" .=) <$> _ebdVolumeSize,
+                  ("Iops" .=) <$> _ebdIOPS,
+                  ("VolumeType" .=) <$> _ebdVolumeType,
+                  ("SnapshotId" .=) <$> _ebdSnapshotId])
 
 -- | Describes a registered Amazon ECS cluster.
 --
@@ -1224,8 +1234,9 @@
 instance ToJSON EnvironmentVariable where
         toJSON EnvironmentVariable'{..}
           = object
-              ["Secure" .= _evSecure, "Key" .= _evKey,
-               "Value" .= _evValue]
+              (catMaybes
+                 [("Secure" .=) <$> _evSecure, Just ("Key" .= _evKey),
+                  Just ("Value" .= _evValue)])
 
 -- | Describes an instance.
 --
@@ -1671,8 +1682,9 @@
 instance ToJSON InstanceIdentity where
         toJSON InstanceIdentity'{..}
           = object
-              ["Signature" .= _iiSignature,
-               "Document" .= _iiDocument]
+              (catMaybes
+                 [("Signature" .=) <$> _iiSignature,
+                  ("Document" .=) <$> _iiDocument])
 
 -- | Describes how many instances a stack has for each status.
 --
@@ -2133,7 +2145,8 @@
 
 instance ToJSON LifecycleEventConfiguration where
         toJSON LifecycleEventConfiguration'{..}
-          = object ["Shutdown" .= _lecShutdown]
+          = object
+              (catMaybes [("Shutdown" .=) <$> _lecShutdown])
 
 -- | Describes a layer\'s load-based auto scaling configuration.
 --
@@ -2596,9 +2609,12 @@
 instance ToJSON Recipes where
         toJSON Recipes'{..}
           = object
-              ["Setup" .= _rSetup, "Undeploy" .= _rUndeploy,
-               "Shutdown" .= _rShutdown, "Configure" .= _rConfigure,
-               "Deploy" .= _rDeploy]
+              (catMaybes
+                 [("Setup" .=) <$> _rSetup,
+                  ("Undeploy" .=) <$> _rUndeploy,
+                  ("Shutdown" .=) <$> _rShutdown,
+                  ("Configure" .=) <$> _rConfigure,
+                  ("Deploy" .=) <$> _rDeploy])
 
 -- | A registered instance\'s reported operating system.
 --
@@ -2700,9 +2716,10 @@
 instance ToJSON SSLConfiguration where
         toJSON SSLConfiguration'{..}
           = object
-              ["Chain" .= _scChain,
-               "Certificate" .= _scCertificate,
-               "PrivateKey" .= _scPrivateKey]
+              (catMaybes
+                 [("Chain" .=) <$> _scChain,
+                  Just ("Certificate" .= _scCertificate),
+                  Just ("PrivateKey" .= _scPrivateKey)])
 
 -- | Describes a user\'s SSH information.
 --
@@ -2879,9 +2896,10 @@
 instance ToJSON ShutdownEventConfiguration where
         toJSON ShutdownEventConfiguration'{..}
           = object
-              ["ExecutionTimeout" .= _secExecutionTimeout,
-               "DelayUntilElbConnectionsDrained" .=
-                 _secDelayUntilElbConnectionsDrained]
+              (catMaybes
+                 [("ExecutionTimeout" .=) <$> _secExecutionTimeout,
+                  ("DelayUntilElbConnectionsDrained" .=) <$>
+                    _secDelayUntilElbConnectionsDrained])
 
 -- | Contains the information required to retrieve an app or cookbook from a
 -- repository. For more information, see
@@ -2987,9 +3005,13 @@
 instance ToJSON Source where
         toJSON Source'{..}
           = object
-              ["Url" .= _sURL, "Username" .= _sUsername,
-               "SshKey" .= _sSSHKey, "Password" .= _sPassword,
-               "Type" .= _sType, "Revision" .= _sRevision]
+              (catMaybes
+                 [("Url" .=) <$> _sURL,
+                  ("Username" .=) <$> _sUsername,
+                  ("SshKey" .=) <$> _sSSHKey,
+                  ("Password" .=) <$> _sPassword,
+                  ("Type" .=) <$> _sType,
+                  ("Revision" .=) <$> _sRevision])
 
 -- | Describes a stack.
 --
@@ -3274,7 +3296,9 @@
 instance ToJSON StackConfigurationManager where
         toJSON StackConfigurationManager'{..}
           = object
-              ["Name" .= _scmName, "Version" .= _scmVersion]
+              (catMaybes
+                 [("Name" .=) <$> _scmName,
+                  ("Version" .=) <$> _scmVersion])
 
 -- | Summarizes the number of layers, instances, and apps in a stack.
 --
@@ -3742,11 +3766,13 @@
 instance ToJSON VolumeConfiguration where
         toJSON VolumeConfiguration'{..}
           = object
-              ["Iops" .= _vcIOPS, "RaidLevel" .= _vcRAIdLevel,
-               "VolumeType" .= _vcVolumeType,
-               "MountPoint" .= _vcMountPoint,
-               "NumberOfDisks" .= _vcNumberOfDisks,
-               "Size" .= _vcSize]
+              (catMaybes
+                 [("Iops" .=) <$> _vcIOPS,
+                  ("RaidLevel" .=) <$> _vcRAIdLevel,
+                  ("VolumeType" .=) <$> _vcVolumeType,
+                  Just ("MountPoint" .= _vcMountPoint),
+                  Just ("NumberOfDisks" .= _vcNumberOfDisks),
+                  Just ("Size" .= _vcSize)])
 
 -- | Describes a time-based instance\'s auto scaling schedule. The schedule
 -- consists of a set of key-value pairs.
@@ -3852,8 +3878,11 @@
 instance ToJSON WeeklyAutoScalingSchedule where
         toJSON WeeklyAutoScalingSchedule'{..}
           = object
-              ["Thursday" .= _wassThursday,
-               "Wednesday" .= _wassWednesday,
-               "Saturday" .= _wassSaturday, "Monday" .= _wassMonday,
-               "Friday" .= _wassFriday, "Sunday" .= _wassSunday,
-               "Tuesday" .= _wassTuesday]
+              (catMaybes
+                 [("Thursday" .=) <$> _wassThursday,
+                  ("Wednesday" .=) <$> _wassWednesday,
+                  ("Saturday" .=) <$> _wassSaturday,
+                  ("Monday" .=) <$> _wassMonday,
+                  ("Friday" .=) <$> _wassFriday,
+                  ("Sunday" .=) <$> _wassSunday,
+                  ("Tuesday" .=) <$> _wassTuesday])
diff --git a/gen/Network/AWS/OpsWorks/UnassignInstance.hs b/gen/Network/AWS/OpsWorks/UnassignInstance.hs
--- a/gen/Network/AWS/OpsWorks/UnassignInstance.hs
+++ b/gen/Network/AWS/OpsWorks/UnassignInstance.hs
@@ -72,9 +72,8 @@
 uInstanceId = lens _uInstanceId (\ s a -> s{_uInstanceId = a});
 
 instance AWSRequest UnassignInstance where
-        type Sv UnassignInstance = OpsWorks
         type Rs UnassignInstance = UnassignInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UnassignInstanceResponse'
 
 instance ToHeaders UnassignInstance where
@@ -88,7 +87,8 @@
 
 instance ToJSON UnassignInstance where
         toJSON UnassignInstance'{..}
-          = object ["InstanceId" .= _uInstanceId]
+          = object
+              (catMaybes [Just ("InstanceId" .= _uInstanceId)])
 
 instance ToPath UnassignInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UnassignVolume.hs b/gen/Network/AWS/OpsWorks/UnassignVolume.hs
--- a/gen/Network/AWS/OpsWorks/UnassignVolume.hs
+++ b/gen/Network/AWS/OpsWorks/UnassignVolume.hs
@@ -71,9 +71,8 @@
 uvVolumeId = lens _uvVolumeId (\ s a -> s{_uvVolumeId = a});
 
 instance AWSRequest UnassignVolume where
-        type Sv UnassignVolume = OpsWorks
         type Rs UnassignVolume = UnassignVolumeResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UnassignVolumeResponse'
 
 instance ToHeaders UnassignVolume where
@@ -87,7 +86,8 @@
 
 instance ToJSON UnassignVolume where
         toJSON UnassignVolume'{..}
-          = object ["VolumeId" .= _uvVolumeId]
+          = object
+              (catMaybes [Just ("VolumeId" .= _uvVolumeId)])
 
 instance ToPath UnassignVolume where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UpdateApp.hs b/gen/Network/AWS/OpsWorks/UpdateApp.hs
--- a/gen/Network/AWS/OpsWorks/UpdateApp.hs
+++ b/gen/Network/AWS/OpsWorks/UpdateApp.hs
@@ -176,9 +176,8 @@
 uaAppId = lens _uaAppId (\ s a -> s{_uaAppId = a});
 
 instance AWSRequest UpdateApp where
-        type Sv UpdateApp = OpsWorks
         type Rs UpdateApp = UpdateAppResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UpdateAppResponse'
 
 instance ToHeaders UpdateApp where
@@ -193,14 +192,18 @@
 instance ToJSON UpdateApp where
         toJSON UpdateApp'{..}
           = object
-              ["SslConfiguration" .= _uaSSLConfiguration,
-               "EnableSsl" .= _uaEnableSSL,
-               "Environment" .= _uaEnvironment,
-               "DataSources" .= _uaDataSources,
-               "AppSource" .= _uaAppSource, "Name" .= _uaName,
-               "Attributes" .= _uaAttributes, "Type" .= _uaType,
-               "Domains" .= _uaDomains,
-               "Description" .= _uaDescription, "AppId" .= _uaAppId]
+              (catMaybes
+                 [("SslConfiguration" .=) <$> _uaSSLConfiguration,
+                  ("EnableSsl" .=) <$> _uaEnableSSL,
+                  ("Environment" .=) <$> _uaEnvironment,
+                  ("DataSources" .=) <$> _uaDataSources,
+                  ("AppSource" .=) <$> _uaAppSource,
+                  ("Name" .=) <$> _uaName,
+                  ("Attributes" .=) <$> _uaAttributes,
+                  ("Type" .=) <$> _uaType,
+                  ("Domains" .=) <$> _uaDomains,
+                  ("Description" .=) <$> _uaDescription,
+                  Just ("AppId" .= _uaAppId)])
 
 instance ToPath UpdateApp where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UpdateElasticIP.hs b/gen/Network/AWS/OpsWorks/UpdateElasticIP.hs
--- a/gen/Network/AWS/OpsWorks/UpdateElasticIP.hs
+++ b/gen/Network/AWS/OpsWorks/UpdateElasticIP.hs
@@ -80,9 +80,8 @@
 ueiElasticIP = lens _ueiElasticIP (\ s a -> s{_ueiElasticIP = a});
 
 instance AWSRequest UpdateElasticIP where
-        type Sv UpdateElasticIP = OpsWorks
         type Rs UpdateElasticIP = UpdateElasticIPResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UpdateElasticIPResponse'
 
 instance ToHeaders UpdateElasticIP where
@@ -97,7 +96,9 @@
 instance ToJSON UpdateElasticIP where
         toJSON UpdateElasticIP'{..}
           = object
-              ["Name" .= _ueiName, "ElasticIp" .= _ueiElasticIP]
+              (catMaybes
+                 [("Name" .=) <$> _ueiName,
+                  Just ("ElasticIp" .= _ueiElasticIP)])
 
 instance ToPath UpdateElasticIP where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UpdateInstance.hs b/gen/Network/AWS/OpsWorks/UpdateInstance.hs
--- a/gen/Network/AWS/OpsWorks/UpdateInstance.hs
+++ b/gen/Network/AWS/OpsWorks/UpdateInstance.hs
@@ -223,9 +223,8 @@
 uiInstanceId = lens _uiInstanceId (\ s a -> s{_uiInstanceId = a});
 
 instance AWSRequest UpdateInstance where
-        type Sv UpdateInstance = OpsWorks
         type Rs UpdateInstance = UpdateInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UpdateInstanceResponse'
 
 instance ToHeaders UpdateInstance where
@@ -240,16 +239,20 @@
 instance ToJSON UpdateInstance where
         toJSON UpdateInstance'{..}
           = object
-              ["InstallUpdatesOnBoot" .= _uiInstallUpdatesOnBoot,
-               "Hostname" .= _uiHostname,
-               "SshKeyName" .= _uiSSHKeyName,
-               "AgentVersion" .= _uiAgentVersion,
-               "InstanceType" .= _uiInstanceType,
-               "EbsOptimized" .= _uiEBSOptimized, "Os" .= _uiOS,
-               "AutoScalingType" .= _uiAutoScalingType,
-               "LayerIds" .= _uiLayerIds,
-               "Architecture" .= _uiArchitecture,
-               "AmiId" .= _uiAMIId, "InstanceId" .= _uiInstanceId]
+              (catMaybes
+                 [("InstallUpdatesOnBoot" .=) <$>
+                    _uiInstallUpdatesOnBoot,
+                  ("Hostname" .=) <$> _uiHostname,
+                  ("SshKeyName" .=) <$> _uiSSHKeyName,
+                  ("AgentVersion" .=) <$> _uiAgentVersion,
+                  ("InstanceType" .=) <$> _uiInstanceType,
+                  ("EbsOptimized" .=) <$> _uiEBSOptimized,
+                  ("Os" .=) <$> _uiOS,
+                  ("AutoScalingType" .=) <$> _uiAutoScalingType,
+                  ("LayerIds" .=) <$> _uiLayerIds,
+                  ("Architecture" .=) <$> _uiArchitecture,
+                  ("AmiId" .=) <$> _uiAMIId,
+                  Just ("InstanceId" .= _uiInstanceId)])
 
 instance ToPath UpdateInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UpdateLayer.hs b/gen/Network/AWS/OpsWorks/UpdateLayer.hs
--- a/gen/Network/AWS/OpsWorks/UpdateLayer.hs
+++ b/gen/Network/AWS/OpsWorks/UpdateLayer.hs
@@ -233,9 +233,8 @@
 ulLayerId = lens _ulLayerId (\ s a -> s{_ulLayerId = a});
 
 instance AWSRequest UpdateLayer where
-        type Sv UpdateLayer = OpsWorks
         type Rs UpdateLayer = UpdateLayerResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UpdateLayerResponse'
 
 instance ToHeaders UpdateLayer where
@@ -250,25 +249,31 @@
 instance ToJSON UpdateLayer where
         toJSON UpdateLayer'{..}
           = object
-              ["CustomInstanceProfileArn" .=
-                 _ulCustomInstanceProfileARN,
-               "InstallUpdatesOnBoot" .= _ulInstallUpdatesOnBoot,
-               "CustomSecurityGroupIds" .=
-                 _ulCustomSecurityGroupIds,
-               "LifecycleEventConfiguration" .=
-                 _ulLifecycleEventConfiguration,
-               "Shortname" .= _ulShortname,
-               "CustomRecipes" .= _ulCustomRecipes,
-               "VolumeConfigurations" .= _ulVolumeConfigurations,
-               "CustomJson" .= _ulCustomJSON,
-               "EnableAutoHealing" .= _ulEnableAutoHealing,
-               "Packages" .= _ulPackages, "Name" .= _ulName,
-               "Attributes" .= _ulAttributes,
-               "AutoAssignPublicIps" .= _ulAutoAssignPublicIPs,
-               "UseEbsOptimizedInstances" .=
-                 _ulUseEBSOptimizedInstances,
-               "AutoAssignElasticIps" .= _ulAutoAssignElasticIPs,
-               "LayerId" .= _ulLayerId]
+              (catMaybes
+                 [("CustomInstanceProfileArn" .=) <$>
+                    _ulCustomInstanceProfileARN,
+                  ("InstallUpdatesOnBoot" .=) <$>
+                    _ulInstallUpdatesOnBoot,
+                  ("CustomSecurityGroupIds" .=) <$>
+                    _ulCustomSecurityGroupIds,
+                  ("LifecycleEventConfiguration" .=) <$>
+                    _ulLifecycleEventConfiguration,
+                  ("Shortname" .=) <$> _ulShortname,
+                  ("CustomRecipes" .=) <$> _ulCustomRecipes,
+                  ("VolumeConfigurations" .=) <$>
+                    _ulVolumeConfigurations,
+                  ("CustomJson" .=) <$> _ulCustomJSON,
+                  ("EnableAutoHealing" .=) <$> _ulEnableAutoHealing,
+                  ("Packages" .=) <$> _ulPackages,
+                  ("Name" .=) <$> _ulName,
+                  ("Attributes" .=) <$> _ulAttributes,
+                  ("AutoAssignPublicIps" .=) <$>
+                    _ulAutoAssignPublicIPs,
+                  ("UseEbsOptimizedInstances" .=) <$>
+                    _ulUseEBSOptimizedInstances,
+                  ("AutoAssignElasticIps" .=) <$>
+                    _ulAutoAssignElasticIPs,
+                  Just ("LayerId" .= _ulLayerId)])
 
 instance ToPath UpdateLayer where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UpdateMyUserProfile.hs b/gen/Network/AWS/OpsWorks/UpdateMyUserProfile.hs
--- a/gen/Network/AWS/OpsWorks/UpdateMyUserProfile.hs
+++ b/gen/Network/AWS/OpsWorks/UpdateMyUserProfile.hs
@@ -67,10 +67,9 @@
 umupSSHPublicKey = lens _umupSSHPublicKey (\ s a -> s{_umupSSHPublicKey = a});
 
 instance AWSRequest UpdateMyUserProfile where
-        type Sv UpdateMyUserProfile = OpsWorks
         type Rs UpdateMyUserProfile =
              UpdateMyUserProfileResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UpdateMyUserProfileResponse'
 
 instance ToHeaders UpdateMyUserProfile where
@@ -85,7 +84,9 @@
 
 instance ToJSON UpdateMyUserProfile where
         toJSON UpdateMyUserProfile'{..}
-          = object ["SshPublicKey" .= _umupSSHPublicKey]
+          = object
+              (catMaybes
+                 [("SshPublicKey" .=) <$> _umupSSHPublicKey])
 
 instance ToPath UpdateMyUserProfile where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UpdateRDSDBInstance.hs b/gen/Network/AWS/OpsWorks/UpdateRDSDBInstance.hs
--- a/gen/Network/AWS/OpsWorks/UpdateRDSDBInstance.hs
+++ b/gen/Network/AWS/OpsWorks/UpdateRDSDBInstance.hs
@@ -87,10 +87,9 @@
 urdiRDSDBInstanceARN = lens _urdiRDSDBInstanceARN (\ s a -> s{_urdiRDSDBInstanceARN = a});
 
 instance AWSRequest UpdateRDSDBInstance where
-        type Sv UpdateRDSDBInstance = OpsWorks
         type Rs UpdateRDSDBInstance =
              UpdateRDSDBInstanceResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UpdateRDSDBInstanceResponse'
 
 instance ToHeaders UpdateRDSDBInstance where
@@ -106,9 +105,10 @@
 instance ToJSON UpdateRDSDBInstance where
         toJSON UpdateRDSDBInstance'{..}
           = object
-              ["DbUser" .= _urdiDBUser,
-               "DbPassword" .= _urdiDBPassword,
-               "RdsDbInstanceArn" .= _urdiRDSDBInstanceARN]
+              (catMaybes
+                 [("DbUser" .=) <$> _urdiDBUser,
+                  ("DbPassword" .=) <$> _urdiDBPassword,
+                  Just ("RdsDbInstanceArn" .= _urdiRDSDBInstanceARN)])
 
 instance ToPath UpdateRDSDBInstance where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UpdateStack.hs b/gen/Network/AWS/OpsWorks/UpdateStack.hs
--- a/gen/Network/AWS/OpsWorks/UpdateStack.hs
+++ b/gen/Network/AWS/OpsWorks/UpdateStack.hs
@@ -329,9 +329,8 @@
 usStackId = lens _usStackId (\ s a -> s{_usStackId = a});
 
 instance AWSRequest UpdateStack where
-        type Sv UpdateStack = OpsWorks
         type Rs UpdateStack = UpdateStackResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UpdateStackResponse'
 
 instance ToHeaders UpdateStack where
@@ -346,27 +345,31 @@
 instance ToJSON UpdateStack where
         toJSON UpdateStack'{..}
           = object
-              ["DefaultInstanceProfileArn" .=
-                 _usDefaultInstanceProfileARN,
-               "ServiceRoleArn" .= _usServiceRoleARN,
-               "DefaultRootDeviceType" .= _usDefaultRootDeviceType,
-               "ChefConfiguration" .= _usChefConfiguration,
-               "AgentVersion" .= _usAgentVersion,
-               "DefaultSshKeyName" .= _usDefaultSSHKeyName,
-               "CustomJson" .= _usCustomJSON,
-               "CustomCookbooksSource" .= _usCustomCookbooksSource,
-               "DefaultAvailabilityZone" .=
-                 _usDefaultAvailabilityZone,
-               "Name" .= _usName,
-               "UseOpsworksSecurityGroups" .=
-                 _usUseOpsworksSecurityGroups,
-               "DefaultOs" .= _usDefaultOS,
-               "Attributes" .= _usAttributes,
-               "UseCustomCookbooks" .= _usUseCustomCookbooks,
-               "DefaultSubnetId" .= _usDefaultSubnetId,
-               "ConfigurationManager" .= _usConfigurationManager,
-               "HostnameTheme" .= _usHostnameTheme,
-               "StackId" .= _usStackId]
+              (catMaybes
+                 [("DefaultInstanceProfileArn" .=) <$>
+                    _usDefaultInstanceProfileARN,
+                  ("ServiceRoleArn" .=) <$> _usServiceRoleARN,
+                  ("DefaultRootDeviceType" .=) <$>
+                    _usDefaultRootDeviceType,
+                  ("ChefConfiguration" .=) <$> _usChefConfiguration,
+                  ("AgentVersion" .=) <$> _usAgentVersion,
+                  ("DefaultSshKeyName" .=) <$> _usDefaultSSHKeyName,
+                  ("CustomJson" .=) <$> _usCustomJSON,
+                  ("CustomCookbooksSource" .=) <$>
+                    _usCustomCookbooksSource,
+                  ("DefaultAvailabilityZone" .=) <$>
+                    _usDefaultAvailabilityZone,
+                  ("Name" .=) <$> _usName,
+                  ("UseOpsworksSecurityGroups" .=) <$>
+                    _usUseOpsworksSecurityGroups,
+                  ("DefaultOs" .=) <$> _usDefaultOS,
+                  ("Attributes" .=) <$> _usAttributes,
+                  ("UseCustomCookbooks" .=) <$> _usUseCustomCookbooks,
+                  ("DefaultSubnetId" .=) <$> _usDefaultSubnetId,
+                  ("ConfigurationManager" .=) <$>
+                    _usConfigurationManager,
+                  ("HostnameTheme" .=) <$> _usHostnameTheme,
+                  Just ("StackId" .= _usStackId)])
 
 instance ToPath UpdateStack where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UpdateUserProfile.hs b/gen/Network/AWS/OpsWorks/UpdateUserProfile.hs
--- a/gen/Network/AWS/OpsWorks/UpdateUserProfile.hs
+++ b/gen/Network/AWS/OpsWorks/UpdateUserProfile.hs
@@ -101,9 +101,8 @@
 uupIAMUserARN = lens _uupIAMUserARN (\ s a -> s{_uupIAMUserARN = a});
 
 instance AWSRequest UpdateUserProfile where
-        type Sv UpdateUserProfile = OpsWorks
         type Rs UpdateUserProfile = UpdateUserProfileResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UpdateUserProfileResponse'
 
 instance ToHeaders UpdateUserProfile where
@@ -119,10 +118,12 @@
 instance ToJSON UpdateUserProfile where
         toJSON UpdateUserProfile'{..}
           = object
-              ["SshUsername" .= _uupSSHUsername,
-               "SshPublicKey" .= _uupSSHPublicKey,
-               "AllowSelfManagement" .= _uupAllowSelfManagement,
-               "IamUserArn" .= _uupIAMUserARN]
+              (catMaybes
+                 [("SshUsername" .=) <$> _uupSSHUsername,
+                  ("SshPublicKey" .=) <$> _uupSSHPublicKey,
+                  ("AllowSelfManagement" .=) <$>
+                    _uupAllowSelfManagement,
+                  Just ("IamUserArn" .= _uupIAMUserARN)])
 
 instance ToPath UpdateUserProfile where
         toPath = const "/"
diff --git a/gen/Network/AWS/OpsWorks/UpdateVolume.hs b/gen/Network/AWS/OpsWorks/UpdateVolume.hs
--- a/gen/Network/AWS/OpsWorks/UpdateVolume.hs
+++ b/gen/Network/AWS/OpsWorks/UpdateVolume.hs
@@ -89,9 +89,8 @@
 uVolumeId = lens _uVolumeId (\ s a -> s{_uVolumeId = a});
 
 instance AWSRequest UpdateVolume where
-        type Sv UpdateVolume = OpsWorks
         type Rs UpdateVolume = UpdateVolumeResponse
-        request = postJSON
+        request = postJSON opsWorks
         response = receiveNull UpdateVolumeResponse'
 
 instance ToHeaders UpdateVolume where
@@ -106,8 +105,10 @@
 instance ToJSON UpdateVolume where
         toJSON UpdateVolume'{..}
           = object
-              ["Name" .= _uName, "MountPoint" .= _uMountPoint,
-               "VolumeId" .= _uVolumeId]
+              (catMaybes
+                 [("Name" .=) <$> _uName,
+                  ("MountPoint" .=) <$> _uMountPoint,
+                  Just ("VolumeId" .= _uVolumeId)])
 
 instance ToPath UpdateVolume where
         toPath = const "/"
diff --git a/test/Test/AWS/Gen/OpsWorks.hs b/test/Test/AWS/Gen/OpsWorks.hs
--- a/test/Test/AWS/Gen/OpsWorks.hs
+++ b/test/Test/AWS/Gen/OpsWorks.hs
@@ -812,418 +812,488 @@
 testDescribeRDSDBInstancesResponse = res
     "DescribeRDSDBInstancesResponse"
     "fixture/DescribeRDSDBInstancesResponse"
+    opsWorks
     (Proxy :: Proxy DescribeRDSDBInstances)
 
 testDeleteStackResponse :: DeleteStackResponse -> TestTree
 testDeleteStackResponse = res
     "DeleteStackResponse"
     "fixture/DeleteStackResponse"
+    opsWorks
     (Proxy :: Proxy DeleteStack)
 
 testUpdateStackResponse :: UpdateStackResponse -> TestTree
 testUpdateStackResponse = res
     "UpdateStackResponse"
     "fixture/UpdateStackResponse"
+    opsWorks
     (Proxy :: Proxy UpdateStack)
 
 testCreateLayerResponse :: CreateLayerResponse -> TestTree
 testCreateLayerResponse = res
     "CreateLayerResponse"
     "fixture/CreateLayerResponse"
+    opsWorks
     (Proxy :: Proxy CreateLayer)
 
 testSetLoadBasedAutoScalingResponse :: SetLoadBasedAutoScalingResponse -> TestTree
 testSetLoadBasedAutoScalingResponse = res
     "SetLoadBasedAutoScalingResponse"
     "fixture/SetLoadBasedAutoScalingResponse"
+    opsWorks
     (Proxy :: Proxy SetLoadBasedAutoScaling)
 
 testUnassignVolumeResponse :: UnassignVolumeResponse -> TestTree
 testUnassignVolumeResponse = res
     "UnassignVolumeResponse"
     "fixture/UnassignVolumeResponse"
+    opsWorks
     (Proxy :: Proxy UnassignVolume)
 
 testDeregisterRDSDBInstanceResponse :: DeregisterRDSDBInstanceResponse -> TestTree
 testDeregisterRDSDBInstanceResponse = res
     "DeregisterRDSDBInstanceResponse"
     "fixture/DeregisterRDSDBInstanceResponse"
+    opsWorks
     (Proxy :: Proxy DeregisterRDSDBInstance)
 
 testCreateInstanceResponse :: CreateInstanceResponse -> TestTree
 testCreateInstanceResponse = res
     "CreateInstanceResponse"
     "fixture/CreateInstanceResponse"
+    opsWorks
     (Proxy :: Proxy CreateInstance)
 
 testRegisterElasticIPResponse :: RegisterElasticIPResponse -> TestTree
 testRegisterElasticIPResponse = res
     "RegisterElasticIPResponse"
     "fixture/RegisterElasticIPResponse"
+    opsWorks
     (Proxy :: Proxy RegisterElasticIP)
 
 testDescribeAgentVersionsResponse :: DescribeAgentVersionsResponse -> TestTree
 testDescribeAgentVersionsResponse = res
     "DescribeAgentVersionsResponse"
     "fixture/DescribeAgentVersionsResponse"
+    opsWorks
     (Proxy :: Proxy DescribeAgentVersions)
 
 testDescribeLayersResponse :: DescribeLayersResponse -> TestTree
 testDescribeLayersResponse = res
     "DescribeLayersResponse"
     "fixture/DescribeLayersResponse"
+    opsWorks
     (Proxy :: Proxy DescribeLayers)
 
 testCreateDeploymentResponse :: CreateDeploymentResponse -> TestTree
 testCreateDeploymentResponse = res
     "CreateDeploymentResponse"
     "fixture/CreateDeploymentResponse"
+    opsWorks
     (Proxy :: Proxy CreateDeployment)
 
 testDeleteAppResponse :: DeleteAppResponse -> TestTree
 testDeleteAppResponse = res
     "DeleteAppResponse"
     "fixture/DeleteAppResponse"
+    opsWorks
     (Proxy :: Proxy DeleteApp)
 
 testUpdateAppResponse :: UpdateAppResponse -> TestTree
 testUpdateAppResponse = res
     "UpdateAppResponse"
     "fixture/UpdateAppResponse"
+    opsWorks
     (Proxy :: Proxy UpdateApp)
 
 testDeleteInstanceResponse :: DeleteInstanceResponse -> TestTree
 testDeleteInstanceResponse = res
     "DeleteInstanceResponse"
     "fixture/DeleteInstanceResponse"
+    opsWorks
     (Proxy :: Proxy DeleteInstance)
 
 testUpdateInstanceResponse :: UpdateInstanceResponse -> TestTree
 testUpdateInstanceResponse = res
     "UpdateInstanceResponse"
     "fixture/UpdateInstanceResponse"
+    opsWorks
     (Proxy :: Proxy UpdateInstance)
 
 testDescribeStacksResponse :: DescribeStacksResponse -> TestTree
 testDescribeStacksResponse = res
     "DescribeStacksResponse"
     "fixture/DescribeStacksResponse"
+    opsWorks
     (Proxy :: Proxy DescribeStacks)
 
 testDeregisterVolumeResponse :: DeregisterVolumeResponse -> TestTree
 testDeregisterVolumeResponse = res
     "DeregisterVolumeResponse"
     "fixture/DeregisterVolumeResponse"
+    opsWorks
     (Proxy :: Proxy DeregisterVolume)
 
 testAssignInstanceResponse :: AssignInstanceResponse -> TestTree
 testAssignInstanceResponse = res
     "AssignInstanceResponse"
     "fixture/AssignInstanceResponse"
+    opsWorks
     (Proxy :: Proxy AssignInstance)
 
 testRebootInstanceResponse :: RebootInstanceResponse -> TestTree
 testRebootInstanceResponse = res
     "RebootInstanceResponse"
     "fixture/RebootInstanceResponse"
+    opsWorks
     (Proxy :: Proxy RebootInstance)
 
 testDescribeTimeBasedAutoScalingResponse :: DescribeTimeBasedAutoScalingResponse -> TestTree
 testDescribeTimeBasedAutoScalingResponse = res
     "DescribeTimeBasedAutoScalingResponse"
     "fixture/DescribeTimeBasedAutoScalingResponse"
+    opsWorks
     (Proxy :: Proxy DescribeTimeBasedAutoScaling)
 
 testUpdateRDSDBInstanceResponse :: UpdateRDSDBInstanceResponse -> TestTree
 testUpdateRDSDBInstanceResponse = res
     "UpdateRDSDBInstanceResponse"
     "fixture/UpdateRDSDBInstanceResponse"
+    opsWorks
     (Proxy :: Proxy UpdateRDSDBInstance)
 
 testStopStackResponse :: StopStackResponse -> TestTree
 testStopStackResponse = res
     "StopStackResponse"
     "fixture/StopStackResponse"
+    opsWorks
     (Proxy :: Proxy StopStack)
 
 testDescribeVolumesResponse :: DescribeVolumesResponse -> TestTree
 testDescribeVolumesResponse = res
     "DescribeVolumesResponse"
     "fixture/DescribeVolumesResponse"
+    opsWorks
     (Proxy :: Proxy DescribeVolumes)
 
 testDisassociateElasticIPResponse :: DisassociateElasticIPResponse -> TestTree
 testDisassociateElasticIPResponse = res
     "DisassociateElasticIPResponse"
     "fixture/DisassociateElasticIPResponse"
+    opsWorks
     (Proxy :: Proxy DisassociateElasticIP)
 
 testRegisterEcsClusterResponse :: RegisterEcsClusterResponse -> TestTree
 testRegisterEcsClusterResponse = res
     "RegisterEcsClusterResponse"
     "fixture/RegisterEcsClusterResponse"
+    opsWorks
     (Proxy :: Proxy RegisterEcsCluster)
 
 testStopInstanceResponse :: StopInstanceResponse -> TestTree
 testStopInstanceResponse = res
     "StopInstanceResponse"
     "fixture/StopInstanceResponse"
+    opsWorks
     (Proxy :: Proxy StopInstance)
 
 testRegisterVolumeResponse :: RegisterVolumeResponse -> TestTree
 testRegisterVolumeResponse = res
     "RegisterVolumeResponse"
     "fixture/RegisterVolumeResponse"
+    opsWorks
     (Proxy :: Proxy RegisterVolume)
 
 testSetTimeBasedAutoScalingResponse :: SetTimeBasedAutoScalingResponse -> TestTree
 testSetTimeBasedAutoScalingResponse = res
     "SetTimeBasedAutoScalingResponse"
     "fixture/SetTimeBasedAutoScalingResponse"
+    opsWorks
     (Proxy :: Proxy SetTimeBasedAutoScaling)
 
 testDeregisterElasticIPResponse :: DeregisterElasticIPResponse -> TestTree
 testDeregisterElasticIPResponse = res
     "DeregisterElasticIPResponse"
     "fixture/DeregisterElasticIPResponse"
+    opsWorks
     (Proxy :: Proxy DeregisterElasticIP)
 
 testAttachElasticLoadBalancerResponse :: AttachElasticLoadBalancerResponse -> TestTree
 testAttachElasticLoadBalancerResponse = res
     "AttachElasticLoadBalancerResponse"
     "fixture/AttachElasticLoadBalancerResponse"
+    opsWorks
     (Proxy :: Proxy AttachElasticLoadBalancer)
 
 testDescribeUserProfilesResponse :: DescribeUserProfilesResponse -> TestTree
 testDescribeUserProfilesResponse = res
     "DescribeUserProfilesResponse"
     "fixture/DescribeUserProfilesResponse"
+    opsWorks
     (Proxy :: Proxy DescribeUserProfiles)
 
 testDescribeStackSummaryResponse :: DescribeStackSummaryResponse -> TestTree
 testDescribeStackSummaryResponse = res
     "DescribeStackSummaryResponse"
     "fixture/DescribeStackSummaryResponse"
+    opsWorks
     (Proxy :: Proxy DescribeStackSummary)
 
 testDeregisterEcsClusterResponse :: DeregisterEcsClusterResponse -> TestTree
 testDeregisterEcsClusterResponse = res
     "DeregisterEcsClusterResponse"
     "fixture/DeregisterEcsClusterResponse"
+    opsWorks
     (Proxy :: Proxy DeregisterEcsCluster)
 
 testDescribeAppsResponse :: DescribeAppsResponse -> TestTree
 testDescribeAppsResponse = res
     "DescribeAppsResponse"
     "fixture/DescribeAppsResponse"
+    opsWorks
     (Proxy :: Proxy DescribeApps)
 
 testUpdateMyUserProfileResponse :: UpdateMyUserProfileResponse -> TestTree
 testUpdateMyUserProfileResponse = res
     "UpdateMyUserProfileResponse"
     "fixture/UpdateMyUserProfileResponse"
+    opsWorks
     (Proxy :: Proxy UpdateMyUserProfile)
 
 testDescribeInstancesResponse :: DescribeInstancesResponse -> TestTree
 testDescribeInstancesResponse = res
     "DescribeInstancesResponse"
     "fixture/DescribeInstancesResponse"
+    opsWorks
     (Proxy :: Proxy DescribeInstances)
 
 testDescribeDeploymentsResponse :: DescribeDeploymentsResponse -> TestTree
 testDescribeDeploymentsResponse = res
     "DescribeDeploymentsResponse"
     "fixture/DescribeDeploymentsResponse"
+    opsWorks
     (Proxy :: Proxy DescribeDeployments)
 
 testCreateStackResponse :: CreateStackResponse -> TestTree
 testCreateStackResponse = res
     "CreateStackResponse"
     "fixture/CreateStackResponse"
+    opsWorks
     (Proxy :: Proxy CreateStack)
 
 testGrantAccessResponse :: GrantAccessResponse -> TestTree
 testGrantAccessResponse = res
     "GrantAccessResponse"
     "fixture/GrantAccessResponse"
+    opsWorks
     (Proxy :: Proxy GrantAccess)
 
 testDescribeElasticIPsResponse :: DescribeElasticIPsResponse -> TestTree
 testDescribeElasticIPsResponse = res
     "DescribeElasticIPsResponse"
     "fixture/DescribeElasticIPsResponse"
+    opsWorks
     (Proxy :: Proxy DescribeElasticIPs)
 
 testDeleteLayerResponse :: DeleteLayerResponse -> TestTree
 testDeleteLayerResponse = res
     "DeleteLayerResponse"
     "fixture/DeleteLayerResponse"
+    opsWorks
     (Proxy :: Proxy DeleteLayer)
 
 testUpdateLayerResponse :: UpdateLayerResponse -> TestTree
 testUpdateLayerResponse = res
     "UpdateLayerResponse"
     "fixture/UpdateLayerResponse"
+    opsWorks
     (Proxy :: Proxy UpdateLayer)
 
 testCloneStackResponse :: CloneStackResponse -> TestTree
 testCloneStackResponse = res
     "CloneStackResponse"
     "fixture/CloneStackResponse"
+    opsWorks
     (Proxy :: Proxy CloneStack)
 
 testGetHostnameSuggestionResponse :: GetHostnameSuggestionResponse -> TestTree
 testGetHostnameSuggestionResponse = res
     "GetHostnameSuggestionResponse"
     "fixture/GetHostnameSuggestionResponse"
+    opsWorks
     (Proxy :: Proxy GetHostnameSuggestion)
 
 testCreateAppResponse :: CreateAppResponse -> TestTree
 testCreateAppResponse = res
     "CreateAppResponse"
     "fixture/CreateAppResponse"
+    opsWorks
     (Proxy :: Proxy CreateApp)
 
 testDescribePermissionsResponse :: DescribePermissionsResponse -> TestTree
 testDescribePermissionsResponse = res
     "DescribePermissionsResponse"
     "fixture/DescribePermissionsResponse"
+    opsWorks
     (Proxy :: Proxy DescribePermissions)
 
 testUpdateElasticIPResponse :: UpdateElasticIPResponse -> TestTree
 testUpdateElasticIPResponse = res
     "UpdateElasticIPResponse"
     "fixture/UpdateElasticIPResponse"
+    opsWorks
     (Proxy :: Proxy UpdateElasticIP)
 
 testDescribeLoadBasedAutoScalingResponse :: DescribeLoadBasedAutoScalingResponse -> TestTree
 testDescribeLoadBasedAutoScalingResponse = res
     "DescribeLoadBasedAutoScalingResponse"
     "fixture/DescribeLoadBasedAutoScalingResponse"
+    opsWorks
     (Proxy :: Proxy DescribeLoadBasedAutoScaling)
 
 testRegisterInstanceResponse :: RegisterInstanceResponse -> TestTree
 testRegisterInstanceResponse = res
     "RegisterInstanceResponse"
     "fixture/RegisterInstanceResponse"
+    opsWorks
     (Proxy :: Proxy RegisterInstance)
 
 testAssociateElasticIPResponse :: AssociateElasticIPResponse -> TestTree
 testAssociateElasticIPResponse = res
     "AssociateElasticIPResponse"
     "fixture/AssociateElasticIPResponse"
+    opsWorks
     (Proxy :: Proxy AssociateElasticIP)
 
 testDetachElasticLoadBalancerResponse :: DetachElasticLoadBalancerResponse -> TestTree
 testDetachElasticLoadBalancerResponse = res
     "DetachElasticLoadBalancerResponse"
     "fixture/DetachElasticLoadBalancerResponse"
+    opsWorks
     (Proxy :: Proxy DetachElasticLoadBalancer)
 
 testDescribeStackProvisioningParametersResponse :: DescribeStackProvisioningParametersResponse -> TestTree
 testDescribeStackProvisioningParametersResponse = res
     "DescribeStackProvisioningParametersResponse"
     "fixture/DescribeStackProvisioningParametersResponse"
+    opsWorks
     (Proxy :: Proxy DescribeStackProvisioningParameters)
 
 testDescribeMyUserProfileResponse :: DescribeMyUserProfileResponse -> TestTree
 testDescribeMyUserProfileResponse = res
     "DescribeMyUserProfileResponse"
     "fixture/DescribeMyUserProfileResponse"
+    opsWorks
     (Proxy :: Proxy DescribeMyUserProfile)
 
 testUnassignInstanceResponse :: UnassignInstanceResponse -> TestTree
 testUnassignInstanceResponse = res
     "UnassignInstanceResponse"
     "fixture/UnassignInstanceResponse"
+    opsWorks
     (Proxy :: Proxy UnassignInstance)
 
 testRegisterRDSDBInstanceResponse :: RegisterRDSDBInstanceResponse -> TestTree
 testRegisterRDSDBInstanceResponse = res
     "RegisterRDSDBInstanceResponse"
     "fixture/RegisterRDSDBInstanceResponse"
+    opsWorks
     (Proxy :: Proxy RegisterRDSDBInstance)
 
 testDeleteUserProfileResponse :: DeleteUserProfileResponse -> TestTree
 testDeleteUserProfileResponse = res
     "DeleteUserProfileResponse"
     "fixture/DeleteUserProfileResponse"
+    opsWorks
     (Proxy :: Proxy DeleteUserProfile)
 
 testUpdateUserProfileResponse :: UpdateUserProfileResponse -> TestTree
 testUpdateUserProfileResponse = res
     "UpdateUserProfileResponse"
     "fixture/UpdateUserProfileResponse"
+    opsWorks
     (Proxy :: Proxy UpdateUserProfile)
 
 testDescribeServiceErrorsResponse :: DescribeServiceErrorsResponse -> TestTree
 testDescribeServiceErrorsResponse = res
     "DescribeServiceErrorsResponse"
     "fixture/DescribeServiceErrorsResponse"
+    opsWorks
     (Proxy :: Proxy DescribeServiceErrors)
 
 testStartStackResponse :: StartStackResponse -> TestTree
 testStartStackResponse = res
     "StartStackResponse"
     "fixture/StartStackResponse"
+    opsWorks
     (Proxy :: Proxy StartStack)
 
 testCreateUserProfileResponse :: CreateUserProfileResponse -> TestTree
 testCreateUserProfileResponse = res
     "CreateUserProfileResponse"
     "fixture/CreateUserProfileResponse"
+    opsWorks
     (Proxy :: Proxy CreateUserProfile)
 
 testDescribeCommandsResponse :: DescribeCommandsResponse -> TestTree
 testDescribeCommandsResponse = res
     "DescribeCommandsResponse"
     "fixture/DescribeCommandsResponse"
+    opsWorks
     (Proxy :: Proxy DescribeCommands)
 
 testDescribeEcsClustersResponse :: DescribeEcsClustersResponse -> TestTree
 testDescribeEcsClustersResponse = res
     "DescribeEcsClustersResponse"
     "fixture/DescribeEcsClustersResponse"
+    opsWorks
     (Proxy :: Proxy DescribeEcsClusters)
 
 testDescribeElasticLoadBalancersResponse :: DescribeElasticLoadBalancersResponse -> TestTree
 testDescribeElasticLoadBalancersResponse = res
     "DescribeElasticLoadBalancersResponse"
     "fixture/DescribeElasticLoadBalancersResponse"
+    opsWorks
     (Proxy :: Proxy DescribeElasticLoadBalancers)
 
 testDeregisterInstanceResponse :: DeregisterInstanceResponse -> TestTree
 testDeregisterInstanceResponse = res
     "DeregisterInstanceResponse"
     "fixture/DeregisterInstanceResponse"
+    opsWorks
     (Proxy :: Proxy DeregisterInstance)
 
 testDescribeRAIdArraysResponse :: DescribeRAIdArraysResponse -> TestTree
 testDescribeRAIdArraysResponse = res
     "DescribeRAIdArraysResponse"
     "fixture/DescribeRAIdArraysResponse"
+    opsWorks
     (Proxy :: Proxy DescribeRAIdArrays)
 
 testSetPermissionResponse :: SetPermissionResponse -> TestTree
 testSetPermissionResponse = res
     "SetPermissionResponse"
     "fixture/SetPermissionResponse"
+    opsWorks
     (Proxy :: Proxy SetPermission)
 
 testUpdateVolumeResponse :: UpdateVolumeResponse -> TestTree
 testUpdateVolumeResponse = res
     "UpdateVolumeResponse"
     "fixture/UpdateVolumeResponse"
+    opsWorks
     (Proxy :: Proxy UpdateVolume)
 
 testAssignVolumeResponse :: AssignVolumeResponse -> TestTree
 testAssignVolumeResponse = res
     "AssignVolumeResponse"
     "fixture/AssignVolumeResponse"
+    opsWorks
     (Proxy :: Proxy AssignVolume)
 
 testStartInstanceResponse :: StartInstanceResponse -> TestTree
 testStartInstanceResponse = res
     "StartInstanceResponse"
     "fixture/StartInstanceResponse"
+    opsWorks
     (Proxy :: Proxy StartInstance)
