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-iam.cabal b/amazonka-iam.cabal
--- a/amazonka-iam.cabal
+++ b/amazonka-iam.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-iam
-version:               1.1.0
+version:               1.2.0
 synopsis:              Amazon Identity and Access Management SDK.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
@@ -218,7 +218,7 @@
         , Network.AWS.IAM.Types.Sum
 
     build-depends:
-          amazonka-core == 1.1.0.*
+          amazonka-core == 1.2.0.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-iam-test
@@ -237,9 +237,9 @@
         , Test.AWS.IAM.Internal
 
     build-depends:
-          amazonka-core == 1.1.0
-        , amazonka-test == 1.1.0
-        , amazonka-iam == 1.1.0
+          amazonka-core == 1.2.0
+        , amazonka-test == 1.2.0
+        , amazonka-iam == 1.2.0
         , base
         , bytestring
         , lens
diff --git a/gen/Network/AWS/IAM.hs b/gen/Network/AWS/IAM.hs
--- a/gen/Network/AWS/IAM.hs
+++ b/gen/Network/AWS/IAM.hs
@@ -76,8 +76,8 @@
 -- /See:/ <http://docs.aws.amazon.com/IAM/latest/APIReference/Welcome.html AWS API Reference>
 module Network.AWS.IAM
     (
-    -- * Service
-      IAM
+    -- * Service Configuration
+      iAM
 
     -- * Errors
     -- $errors
diff --git a/gen/Network/AWS/IAM/AddClientIdToOpenIdConnectProvider.hs b/gen/Network/AWS/IAM/AddClientIdToOpenIdConnectProvider.hs
--- a/gen/Network/AWS/IAM/AddClientIdToOpenIdConnectProvider.hs
+++ b/gen/Network/AWS/IAM/AddClientIdToOpenIdConnectProvider.hs
@@ -81,10 +81,9 @@
 
 instance AWSRequest
          AddClientIdToOpenIdConnectProvider where
-        type Sv AddClientIdToOpenIdConnectProvider = IAM
         type Rs AddClientIdToOpenIdConnectProvider =
              AddClientIdToOpenIdConnectProviderResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull
               AddClientIdToOpenIdConnectProviderResponse'
diff --git a/gen/Network/AWS/IAM/AddRoleToInstanceProfile.hs b/gen/Network/AWS/IAM/AddRoleToInstanceProfile.hs
--- a/gen/Network/AWS/IAM/AddRoleToInstanceProfile.hs
+++ b/gen/Network/AWS/IAM/AddRoleToInstanceProfile.hs
@@ -77,10 +77,9 @@
 artipRoleName = lens _artipRoleName (\ s a -> s{_artipRoleName = a});
 
 instance AWSRequest AddRoleToInstanceProfile where
-        type Sv AddRoleToInstanceProfile = IAM
         type Rs AddRoleToInstanceProfile =
              AddRoleToInstanceProfileResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull AddRoleToInstanceProfileResponse'
 
diff --git a/gen/Network/AWS/IAM/AddUserToGroup.hs b/gen/Network/AWS/IAM/AddUserToGroup.hs
--- a/gen/Network/AWS/IAM/AddUserToGroup.hs
+++ b/gen/Network/AWS/IAM/AddUserToGroup.hs
@@ -73,9 +73,8 @@
 autgUserName = lens _autgUserName (\ s a -> s{_autgUserName = a});
 
 instance AWSRequest AddUserToGroup where
-        type Sv AddUserToGroup = IAM
         type Rs AddUserToGroup = AddUserToGroupResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull AddUserToGroupResponse'
 
 instance ToHeaders AddUserToGroup where
diff --git a/gen/Network/AWS/IAM/AttachGroupPolicy.hs b/gen/Network/AWS/IAM/AttachGroupPolicy.hs
--- a/gen/Network/AWS/IAM/AttachGroupPolicy.hs
+++ b/gen/Network/AWS/IAM/AttachGroupPolicy.hs
@@ -80,9 +80,8 @@
 agpPolicyARN = lens _agpPolicyARN (\ s a -> s{_agpPolicyARN = a});
 
 instance AWSRequest AttachGroupPolicy where
-        type Sv AttachGroupPolicy = IAM
         type Rs AttachGroupPolicy = AttachGroupPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull AttachGroupPolicyResponse'
 
 instance ToHeaders AttachGroupPolicy where
diff --git a/gen/Network/AWS/IAM/AttachRolePolicy.hs b/gen/Network/AWS/IAM/AttachRolePolicy.hs
--- a/gen/Network/AWS/IAM/AttachRolePolicy.hs
+++ b/gen/Network/AWS/IAM/AttachRolePolicy.hs
@@ -85,9 +85,8 @@
 arpPolicyARN = lens _arpPolicyARN (\ s a -> s{_arpPolicyARN = a});
 
 instance AWSRequest AttachRolePolicy where
-        type Sv AttachRolePolicy = IAM
         type Rs AttachRolePolicy = AttachRolePolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull AttachRolePolicyResponse'
 
 instance ToHeaders AttachRolePolicy where
diff --git a/gen/Network/AWS/IAM/AttachUserPolicy.hs b/gen/Network/AWS/IAM/AttachUserPolicy.hs
--- a/gen/Network/AWS/IAM/AttachUserPolicy.hs
+++ b/gen/Network/AWS/IAM/AttachUserPolicy.hs
@@ -80,9 +80,8 @@
 aupPolicyARN = lens _aupPolicyARN (\ s a -> s{_aupPolicyARN = a});
 
 instance AWSRequest AttachUserPolicy where
-        type Sv AttachUserPolicy = IAM
         type Rs AttachUserPolicy = AttachUserPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull AttachUserPolicyResponse'
 
 instance ToHeaders AttachUserPolicy where
diff --git a/gen/Network/AWS/IAM/ChangePassword.hs b/gen/Network/AWS/IAM/ChangePassword.hs
--- a/gen/Network/AWS/IAM/ChangePassword.hs
+++ b/gen/Network/AWS/IAM/ChangePassword.hs
@@ -80,9 +80,8 @@
 cpNewPassword = lens _cpNewPassword (\ s a -> s{_cpNewPassword = a}) . _Sensitive;
 
 instance AWSRequest ChangePassword where
-        type Sv ChangePassword = IAM
         type Rs ChangePassword = ChangePasswordResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull ChangePasswordResponse'
 
 instance ToHeaders ChangePassword where
diff --git a/gen/Network/AWS/IAM/CreateAccessKey.hs b/gen/Network/AWS/IAM/CreateAccessKey.hs
--- a/gen/Network/AWS/IAM/CreateAccessKey.hs
+++ b/gen/Network/AWS/IAM/CreateAccessKey.hs
@@ -82,9 +82,8 @@
 cakUserName = lens _cakUserName (\ s a -> s{_cakUserName = a});
 
 instance AWSRequest CreateAccessKey where
-        type Sv CreateAccessKey = IAM
         type Rs CreateAccessKey = CreateAccessKeyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreateAccessKeyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/CreateAccountAlias.hs b/gen/Network/AWS/IAM/CreateAccountAlias.hs
--- a/gen/Network/AWS/IAM/CreateAccountAlias.hs
+++ b/gen/Network/AWS/IAM/CreateAccountAlias.hs
@@ -66,10 +66,9 @@
 caaAccountAlias = lens _caaAccountAlias (\ s a -> s{_caaAccountAlias = a});
 
 instance AWSRequest CreateAccountAlias where
-        type Sv CreateAccountAlias = IAM
         type Rs CreateAccountAlias =
              CreateAccountAliasResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull CreateAccountAliasResponse'
 
 instance ToHeaders CreateAccountAlias where
diff --git a/gen/Network/AWS/IAM/CreateGroup.hs b/gen/Network/AWS/IAM/CreateGroup.hs
--- a/gen/Network/AWS/IAM/CreateGroup.hs
+++ b/gen/Network/AWS/IAM/CreateGroup.hs
@@ -84,9 +84,8 @@
 cgGroupName = lens _cgGroupName (\ s a -> s{_cgGroupName = a});
 
 instance AWSRequest CreateGroup where
-        type Sv CreateGroup = IAM
         type Rs CreateGroup = CreateGroupResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreateGroupResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/CreateInstanceProfile.hs b/gen/Network/AWS/IAM/CreateInstanceProfile.hs
--- a/gen/Network/AWS/IAM/CreateInstanceProfile.hs
+++ b/gen/Network/AWS/IAM/CreateInstanceProfile.hs
@@ -87,10 +87,9 @@
 cipInstanceProfileName = lens _cipInstanceProfileName (\ s a -> s{_cipInstanceProfileName = a});
 
 instance AWSRequest CreateInstanceProfile where
-        type Sv CreateInstanceProfile = IAM
         type Rs CreateInstanceProfile =
              CreateInstanceProfileResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreateInstanceProfileResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/CreateLoginProfile.hs b/gen/Network/AWS/IAM/CreateLoginProfile.hs
--- a/gen/Network/AWS/IAM/CreateLoginProfile.hs
+++ b/gen/Network/AWS/IAM/CreateLoginProfile.hs
@@ -90,10 +90,9 @@
 clpPassword = lens _clpPassword (\ s a -> s{_clpPassword = a}) . _Sensitive;
 
 instance AWSRequest CreateLoginProfile where
-        type Sv CreateLoginProfile = IAM
         type Rs CreateLoginProfile =
              CreateLoginProfileResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreateLoginProfileResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/CreateOpenIdConnectProvider.hs b/gen/Network/AWS/IAM/CreateOpenIdConnectProvider.hs
--- a/gen/Network/AWS/IAM/CreateOpenIdConnectProvider.hs
+++ b/gen/Network/AWS/IAM/CreateOpenIdConnectProvider.hs
@@ -142,10 +142,9 @@
 coicpThumbprintList = lens _coicpThumbprintList (\ s a -> s{_coicpThumbprintList = a}) . _Coerce;
 
 instance AWSRequest CreateOpenIdConnectProvider where
-        type Sv CreateOpenIdConnectProvider = IAM
         type Rs CreateOpenIdConnectProvider =
              CreateOpenIdConnectProviderResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper
               "CreateOpenIDConnectProviderResult"
diff --git a/gen/Network/AWS/IAM/CreatePolicy.hs b/gen/Network/AWS/IAM/CreatePolicy.hs
--- a/gen/Network/AWS/IAM/CreatePolicy.hs
+++ b/gen/Network/AWS/IAM/CreatePolicy.hs
@@ -117,9 +117,8 @@
 cpPolicyDocument = lens _cpPolicyDocument (\ s a -> s{_cpPolicyDocument = a});
 
 instance AWSRequest CreatePolicy where
-        type Sv CreatePolicy = IAM
         type Rs CreatePolicy = CreatePolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreatePolicyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/CreatePolicyVersion.hs b/gen/Network/AWS/IAM/CreatePolicyVersion.hs
--- a/gen/Network/AWS/IAM/CreatePolicyVersion.hs
+++ b/gen/Network/AWS/IAM/CreatePolicyVersion.hs
@@ -106,10 +106,9 @@
 cpvPolicyDocument = lens _cpvPolicyDocument (\ s a -> s{_cpvPolicyDocument = a});
 
 instance AWSRequest CreatePolicyVersion where
-        type Sv CreatePolicyVersion = IAM
         type Rs CreatePolicyVersion =
              CreatePolicyVersionResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreatePolicyVersionResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/CreateRole.hs b/gen/Network/AWS/IAM/CreateRole.hs
--- a/gen/Network/AWS/IAM/CreateRole.hs
+++ b/gen/Network/AWS/IAM/CreateRole.hs
@@ -99,9 +99,8 @@
 crAssumeRolePolicyDocument = lens _crAssumeRolePolicyDocument (\ s a -> s{_crAssumeRolePolicyDocument = a});
 
 instance AWSRequest CreateRole where
-        type Sv CreateRole = IAM
         type Rs CreateRole = CreateRoleResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreateRoleResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/CreateSAMLProvider.hs b/gen/Network/AWS/IAM/CreateSAMLProvider.hs
--- a/gen/Network/AWS/IAM/CreateSAMLProvider.hs
+++ b/gen/Network/AWS/IAM/CreateSAMLProvider.hs
@@ -108,10 +108,9 @@
 csamlpName = lens _csamlpName (\ s a -> s{_csamlpName = a});
 
 instance AWSRequest CreateSAMLProvider where
-        type Sv CreateSAMLProvider = IAM
         type Rs CreateSAMLProvider =
              CreateSAMLProviderResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreateSAMLProviderResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/CreateUser.hs b/gen/Network/AWS/IAM/CreateUser.hs
--- a/gen/Network/AWS/IAM/CreateUser.hs
+++ b/gen/Network/AWS/IAM/CreateUser.hs
@@ -85,9 +85,8 @@
 cuUserName = lens _cuUserName (\ s a -> s{_cuUserName = a});
 
 instance AWSRequest CreateUser where
-        type Sv CreateUser = IAM
         type Rs CreateUser = CreateUserResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreateUserResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/CreateVirtualMFADevice.hs b/gen/Network/AWS/IAM/CreateVirtualMFADevice.hs
--- a/gen/Network/AWS/IAM/CreateVirtualMFADevice.hs
+++ b/gen/Network/AWS/IAM/CreateVirtualMFADevice.hs
@@ -98,10 +98,9 @@
 cvmdVirtualMFADeviceName = lens _cvmdVirtualMFADeviceName (\ s a -> s{_cvmdVirtualMFADeviceName = a});
 
 instance AWSRequest CreateVirtualMFADevice where
-        type Sv CreateVirtualMFADevice = IAM
         type Rs CreateVirtualMFADevice =
              CreateVirtualMFADeviceResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "CreateVirtualMFADeviceResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/DeactivateMFADevice.hs b/gen/Network/AWS/IAM/DeactivateMFADevice.hs
--- a/gen/Network/AWS/IAM/DeactivateMFADevice.hs
+++ b/gen/Network/AWS/IAM/DeactivateMFADevice.hs
@@ -80,10 +80,9 @@
 dmdSerialNumber = lens _dmdSerialNumber (\ s a -> s{_dmdSerialNumber = a});
 
 instance AWSRequest DeactivateMFADevice where
-        type Sv DeactivateMFADevice = IAM
         type Rs DeactivateMFADevice =
              DeactivateMFADeviceResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeactivateMFADeviceResponse'
 
 instance ToHeaders DeactivateMFADevice where
diff --git a/gen/Network/AWS/IAM/DeleteAccessKey.hs b/gen/Network/AWS/IAM/DeleteAccessKey.hs
--- a/gen/Network/AWS/IAM/DeleteAccessKey.hs
+++ b/gen/Network/AWS/IAM/DeleteAccessKey.hs
@@ -79,9 +79,8 @@
 dakAccessKeyId = lens _dakAccessKeyId (\ s a -> s{_dakAccessKeyId = a});
 
 instance AWSRequest DeleteAccessKey where
-        type Sv DeleteAccessKey = IAM
         type Rs DeleteAccessKey = DeleteAccessKeyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteAccessKeyResponse'
 
 instance ToHeaders DeleteAccessKey where
diff --git a/gen/Network/AWS/IAM/DeleteAccountAlias.hs b/gen/Network/AWS/IAM/DeleteAccountAlias.hs
--- a/gen/Network/AWS/IAM/DeleteAccountAlias.hs
+++ b/gen/Network/AWS/IAM/DeleteAccountAlias.hs
@@ -66,10 +66,9 @@
 daaAccountAlias = lens _daaAccountAlias (\ s a -> s{_daaAccountAlias = a});
 
 instance AWSRequest DeleteAccountAlias where
-        type Sv DeleteAccountAlias = IAM
         type Rs DeleteAccountAlias =
              DeleteAccountAliasResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteAccountAliasResponse'
 
 instance ToHeaders DeleteAccountAlias where
diff --git a/gen/Network/AWS/IAM/DeleteAccountPasswordPolicy.hs b/gen/Network/AWS/IAM/DeleteAccountPasswordPolicy.hs
--- a/gen/Network/AWS/IAM/DeleteAccountPasswordPolicy.hs
+++ b/gen/Network/AWS/IAM/DeleteAccountPasswordPolicy.hs
@@ -50,10 +50,9 @@
 deleteAccountPasswordPolicy = DeleteAccountPasswordPolicy'
 
 instance AWSRequest DeleteAccountPasswordPolicy where
-        type Sv DeleteAccountPasswordPolicy = IAM
         type Rs DeleteAccountPasswordPolicy =
              DeleteAccountPasswordPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull DeleteAccountPasswordPolicyResponse'
 
diff --git a/gen/Network/AWS/IAM/DeleteGroup.hs b/gen/Network/AWS/IAM/DeleteGroup.hs
--- a/gen/Network/AWS/IAM/DeleteGroup.hs
+++ b/gen/Network/AWS/IAM/DeleteGroup.hs
@@ -64,9 +64,8 @@
 dgGroupName = lens _dgGroupName (\ s a -> s{_dgGroupName = a});
 
 instance AWSRequest DeleteGroup where
-        type Sv DeleteGroup = IAM
         type Rs DeleteGroup = DeleteGroupResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteGroupResponse'
 
 instance ToHeaders DeleteGroup where
diff --git a/gen/Network/AWS/IAM/DeleteGroupPolicy.hs b/gen/Network/AWS/IAM/DeleteGroupPolicy.hs
--- a/gen/Network/AWS/IAM/DeleteGroupPolicy.hs
+++ b/gen/Network/AWS/IAM/DeleteGroupPolicy.hs
@@ -81,9 +81,8 @@
 dPolicyName = lens _dPolicyName (\ s a -> s{_dPolicyName = a});
 
 instance AWSRequest DeleteGroupPolicy where
-        type Sv DeleteGroupPolicy = IAM
         type Rs DeleteGroupPolicy = DeleteGroupPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteGroupPolicyResponse'
 
 instance ToHeaders DeleteGroupPolicy where
diff --git a/gen/Network/AWS/IAM/DeleteInstanceProfile.hs b/gen/Network/AWS/IAM/DeleteInstanceProfile.hs
--- a/gen/Network/AWS/IAM/DeleteInstanceProfile.hs
+++ b/gen/Network/AWS/IAM/DeleteInstanceProfile.hs
@@ -72,10 +72,9 @@
 dipInstanceProfileName = lens _dipInstanceProfileName (\ s a -> s{_dipInstanceProfileName = a});
 
 instance AWSRequest DeleteInstanceProfile where
-        type Sv DeleteInstanceProfile = IAM
         type Rs DeleteInstanceProfile =
              DeleteInstanceProfileResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteInstanceProfileResponse'
 
 instance ToHeaders DeleteInstanceProfile where
diff --git a/gen/Network/AWS/IAM/DeleteLoginProfile.hs b/gen/Network/AWS/IAM/DeleteLoginProfile.hs
--- a/gen/Network/AWS/IAM/DeleteLoginProfile.hs
+++ b/gen/Network/AWS/IAM/DeleteLoginProfile.hs
@@ -71,10 +71,9 @@
 dlpUserName = lens _dlpUserName (\ s a -> s{_dlpUserName = a});
 
 instance AWSRequest DeleteLoginProfile where
-        type Sv DeleteLoginProfile = IAM
         type Rs DeleteLoginProfile =
              DeleteLoginProfileResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteLoginProfileResponse'
 
 instance ToHeaders DeleteLoginProfile where
diff --git a/gen/Network/AWS/IAM/DeleteOpenIdConnectProvider.hs b/gen/Network/AWS/IAM/DeleteOpenIdConnectProvider.hs
--- a/gen/Network/AWS/IAM/DeleteOpenIdConnectProvider.hs
+++ b/gen/Network/AWS/IAM/DeleteOpenIdConnectProvider.hs
@@ -72,10 +72,9 @@
 doicpOpenIdConnectProviderARN = lens _doicpOpenIdConnectProviderARN (\ s a -> s{_doicpOpenIdConnectProviderARN = a});
 
 instance AWSRequest DeleteOpenIdConnectProvider where
-        type Sv DeleteOpenIdConnectProvider = IAM
         type Rs DeleteOpenIdConnectProvider =
              DeleteOpenIdConnectProviderResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull DeleteOpenIdConnectProviderResponse'
 
diff --git a/gen/Network/AWS/IAM/DeletePolicy.hs b/gen/Network/AWS/IAM/DeletePolicy.hs
--- a/gen/Network/AWS/IAM/DeletePolicy.hs
+++ b/gen/Network/AWS/IAM/DeletePolicy.hs
@@ -84,9 +84,8 @@
 dpPolicyARN = lens _dpPolicyARN (\ s a -> s{_dpPolicyARN = a});
 
 instance AWSRequest DeletePolicy where
-        type Sv DeletePolicy = IAM
         type Rs DeletePolicy = DeletePolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeletePolicyResponse'
 
 instance ToHeaders DeletePolicy where
diff --git a/gen/Network/AWS/IAM/DeletePolicyVersion.hs b/gen/Network/AWS/IAM/DeletePolicyVersion.hs
--- a/gen/Network/AWS/IAM/DeletePolicyVersion.hs
+++ b/gen/Network/AWS/IAM/DeletePolicyVersion.hs
@@ -86,10 +86,9 @@
 dpvVersionId = lens _dpvVersionId (\ s a -> s{_dpvVersionId = a});
 
 instance AWSRequest DeletePolicyVersion where
-        type Sv DeletePolicyVersion = IAM
         type Rs DeletePolicyVersion =
              DeletePolicyVersionResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeletePolicyVersionResponse'
 
 instance ToHeaders DeletePolicyVersion where
diff --git a/gen/Network/AWS/IAM/DeleteRole.hs b/gen/Network/AWS/IAM/DeleteRole.hs
--- a/gen/Network/AWS/IAM/DeleteRole.hs
+++ b/gen/Network/AWS/IAM/DeleteRole.hs
@@ -70,9 +70,8 @@
 drRoleName = lens _drRoleName (\ s a -> s{_drRoleName = a});
 
 instance AWSRequest DeleteRole where
-        type Sv DeleteRole = IAM
         type Rs DeleteRole = DeleteRoleResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteRoleResponse'
 
 instance ToHeaders DeleteRole where
diff --git a/gen/Network/AWS/IAM/DeleteRolePolicy.hs b/gen/Network/AWS/IAM/DeleteRolePolicy.hs
--- a/gen/Network/AWS/IAM/DeleteRolePolicy.hs
+++ b/gen/Network/AWS/IAM/DeleteRolePolicy.hs
@@ -81,9 +81,8 @@
 delPolicyName = lens _delPolicyName (\ s a -> s{_delPolicyName = a});
 
 instance AWSRequest DeleteRolePolicy where
-        type Sv DeleteRolePolicy = IAM
         type Rs DeleteRolePolicy = DeleteRolePolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteRolePolicyResponse'
 
 instance ToHeaders DeleteRolePolicy where
diff --git a/gen/Network/AWS/IAM/DeleteSAMLProvider.hs b/gen/Network/AWS/IAM/DeleteSAMLProvider.hs
--- a/gen/Network/AWS/IAM/DeleteSAMLProvider.hs
+++ b/gen/Network/AWS/IAM/DeleteSAMLProvider.hs
@@ -70,10 +70,9 @@
 dsamlpSAMLProviderARN = lens _dsamlpSAMLProviderARN (\ s a -> s{_dsamlpSAMLProviderARN = a});
 
 instance AWSRequest DeleteSAMLProvider where
-        type Sv DeleteSAMLProvider = IAM
         type Rs DeleteSAMLProvider =
              DeleteSAMLProviderResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteSAMLProviderResponse'
 
 instance ToHeaders DeleteSAMLProvider where
diff --git a/gen/Network/AWS/IAM/DeleteSSHPublicKey.hs b/gen/Network/AWS/IAM/DeleteSSHPublicKey.hs
--- a/gen/Network/AWS/IAM/DeleteSSHPublicKey.hs
+++ b/gen/Network/AWS/IAM/DeleteSSHPublicKey.hs
@@ -80,10 +80,9 @@
 dspkSSHPublicKeyId = lens _dspkSSHPublicKeyId (\ s a -> s{_dspkSSHPublicKeyId = a});
 
 instance AWSRequest DeleteSSHPublicKey where
-        type Sv DeleteSSHPublicKey = IAM
         type Rs DeleteSSHPublicKey =
              DeleteSSHPublicKeyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteSSHPublicKeyResponse'
 
 instance ToHeaders DeleteSSHPublicKey where
diff --git a/gen/Network/AWS/IAM/DeleteServerCertificate.hs b/gen/Network/AWS/IAM/DeleteServerCertificate.hs
--- a/gen/Network/AWS/IAM/DeleteServerCertificate.hs
+++ b/gen/Network/AWS/IAM/DeleteServerCertificate.hs
@@ -74,10 +74,9 @@
 dscServerCertificateName = lens _dscServerCertificateName (\ s a -> s{_dscServerCertificateName = a});
 
 instance AWSRequest DeleteServerCertificate where
-        type Sv DeleteServerCertificate = IAM
         type Rs DeleteServerCertificate =
              DeleteServerCertificateResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull DeleteServerCertificateResponse'
 
diff --git a/gen/Network/AWS/IAM/DeleteSigningCertificate.hs b/gen/Network/AWS/IAM/DeleteSigningCertificate.hs
--- a/gen/Network/AWS/IAM/DeleteSigningCertificate.hs
+++ b/gen/Network/AWS/IAM/DeleteSigningCertificate.hs
@@ -79,10 +79,9 @@
 dscCertificateId = lens _dscCertificateId (\ s a -> s{_dscCertificateId = a});
 
 instance AWSRequest DeleteSigningCertificate where
-        type Sv DeleteSigningCertificate = IAM
         type Rs DeleteSigningCertificate =
              DeleteSigningCertificateResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull DeleteSigningCertificateResponse'
 
diff --git a/gen/Network/AWS/IAM/DeleteUser.hs b/gen/Network/AWS/IAM/DeleteUser.hs
--- a/gen/Network/AWS/IAM/DeleteUser.hs
+++ b/gen/Network/AWS/IAM/DeleteUser.hs
@@ -64,9 +64,8 @@
 duUserName = lens _duUserName (\ s a -> s{_duUserName = a});
 
 instance AWSRequest DeleteUser where
-        type Sv DeleteUser = IAM
         type Rs DeleteUser = DeleteUserResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteUserResponse'
 
 instance ToHeaders DeleteUser where
diff --git a/gen/Network/AWS/IAM/DeleteUserPolicy.hs b/gen/Network/AWS/IAM/DeleteUserPolicy.hs
--- a/gen/Network/AWS/IAM/DeleteUserPolicy.hs
+++ b/gen/Network/AWS/IAM/DeleteUserPolicy.hs
@@ -81,9 +81,8 @@
 dupPolicyName = lens _dupPolicyName (\ s a -> s{_dupPolicyName = a});
 
 instance AWSRequest DeleteUserPolicy where
-        type Sv DeleteUserPolicy = IAM
         type Rs DeleteUserPolicy = DeleteUserPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DeleteUserPolicyResponse'
 
 instance ToHeaders DeleteUserPolicy where
diff --git a/gen/Network/AWS/IAM/DeleteVirtualMFADevice.hs b/gen/Network/AWS/IAM/DeleteVirtualMFADevice.hs
--- a/gen/Network/AWS/IAM/DeleteVirtualMFADevice.hs
+++ b/gen/Network/AWS/IAM/DeleteVirtualMFADevice.hs
@@ -68,10 +68,9 @@
 dvmdSerialNumber = lens _dvmdSerialNumber (\ s a -> s{_dvmdSerialNumber = a});
 
 instance AWSRequest DeleteVirtualMFADevice where
-        type Sv DeleteVirtualMFADevice = IAM
         type Rs DeleteVirtualMFADevice =
              DeleteVirtualMFADeviceResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull DeleteVirtualMFADeviceResponse'
 
diff --git a/gen/Network/AWS/IAM/DetachGroupPolicy.hs b/gen/Network/AWS/IAM/DetachGroupPolicy.hs
--- a/gen/Network/AWS/IAM/DetachGroupPolicy.hs
+++ b/gen/Network/AWS/IAM/DetachGroupPolicy.hs
@@ -80,9 +80,8 @@
 dgpPolicyARN = lens _dgpPolicyARN (\ s a -> s{_dgpPolicyARN = a});
 
 instance AWSRequest DetachGroupPolicy where
-        type Sv DetachGroupPolicy = IAM
         type Rs DetachGroupPolicy = DetachGroupPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DetachGroupPolicyResponse'
 
 instance ToHeaders DetachGroupPolicy where
diff --git a/gen/Network/AWS/IAM/DetachRolePolicy.hs b/gen/Network/AWS/IAM/DetachRolePolicy.hs
--- a/gen/Network/AWS/IAM/DetachRolePolicy.hs
+++ b/gen/Network/AWS/IAM/DetachRolePolicy.hs
@@ -79,9 +79,8 @@
 drpPolicyARN = lens _drpPolicyARN (\ s a -> s{_drpPolicyARN = a});
 
 instance AWSRequest DetachRolePolicy where
-        type Sv DetachRolePolicy = IAM
         type Rs DetachRolePolicy = DetachRolePolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DetachRolePolicyResponse'
 
 instance ToHeaders DetachRolePolicy where
diff --git a/gen/Network/AWS/IAM/DetachUserPolicy.hs b/gen/Network/AWS/IAM/DetachUserPolicy.hs
--- a/gen/Network/AWS/IAM/DetachUserPolicy.hs
+++ b/gen/Network/AWS/IAM/DetachUserPolicy.hs
@@ -79,9 +79,8 @@
 dPolicyARN = lens _dPolicyARN (\ s a -> s{_dPolicyARN = a});
 
 instance AWSRequest DetachUserPolicy where
-        type Sv DetachUserPolicy = IAM
         type Rs DetachUserPolicy = DetachUserPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull DetachUserPolicyResponse'
 
 instance ToHeaders DetachUserPolicy where
diff --git a/gen/Network/AWS/IAM/EnableMFADevice.hs b/gen/Network/AWS/IAM/EnableMFADevice.hs
--- a/gen/Network/AWS/IAM/EnableMFADevice.hs
+++ b/gen/Network/AWS/IAM/EnableMFADevice.hs
@@ -96,9 +96,8 @@
 emdAuthenticationCode2 = lens _emdAuthenticationCode2 (\ s a -> s{_emdAuthenticationCode2 = a});
 
 instance AWSRequest EnableMFADevice where
-        type Sv EnableMFADevice = IAM
         type Rs EnableMFADevice = EnableMFADeviceResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull EnableMFADeviceResponse'
 
 instance ToHeaders EnableMFADevice where
diff --git a/gen/Network/AWS/IAM/GenerateCredentialReport.hs b/gen/Network/AWS/IAM/GenerateCredentialReport.hs
--- a/gen/Network/AWS/IAM/GenerateCredentialReport.hs
+++ b/gen/Network/AWS/IAM/GenerateCredentialReport.hs
@@ -57,10 +57,9 @@
 generateCredentialReport = GenerateCredentialReport'
 
 instance AWSRequest GenerateCredentialReport where
-        type Sv GenerateCredentialReport = IAM
         type Rs GenerateCredentialReport =
              GenerateCredentialReportResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GenerateCredentialReportResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetAccessKeyLastUsed.hs b/gen/Network/AWS/IAM/GetAccessKeyLastUsed.hs
--- a/gen/Network/AWS/IAM/GetAccessKeyLastUsed.hs
+++ b/gen/Network/AWS/IAM/GetAccessKeyLastUsed.hs
@@ -70,10 +70,9 @@
 gakluAccessKeyId = lens _gakluAccessKeyId (\ s a -> s{_gakluAccessKeyId = a});
 
 instance AWSRequest GetAccessKeyLastUsed where
-        type Sv GetAccessKeyLastUsed = IAM
         type Rs GetAccessKeyLastUsed =
              GetAccessKeyLastUsedResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetAccessKeyLastUsedResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetAccountAuthorizationDetails.hs b/gen/Network/AWS/IAM/GetAccountAuthorizationDetails.hs
--- a/gen/Network/AWS/IAM/GetAccountAuthorizationDetails.hs
+++ b/gen/Network/AWS/IAM/GetAccountAuthorizationDetails.hs
@@ -103,10 +103,9 @@
 
 instance AWSRequest GetAccountAuthorizationDetails
          where
-        type Sv GetAccountAuthorizationDetails = IAM
         type Rs GetAccountAuthorizationDetails =
              GetAccountAuthorizationDetailsResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper
               "GetAccountAuthorizationDetailsResult"
diff --git a/gen/Network/AWS/IAM/GetAccountPasswordPolicy.hs b/gen/Network/AWS/IAM/GetAccountPasswordPolicy.hs
--- a/gen/Network/AWS/IAM/GetAccountPasswordPolicy.hs
+++ b/gen/Network/AWS/IAM/GetAccountPasswordPolicy.hs
@@ -55,10 +55,9 @@
 getAccountPasswordPolicy = GetAccountPasswordPolicy'
 
 instance AWSRequest GetAccountPasswordPolicy where
-        type Sv GetAccountPasswordPolicy = IAM
         type Rs GetAccountPasswordPolicy =
              GetAccountPasswordPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetAccountPasswordPolicyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetAccountSummary.hs b/gen/Network/AWS/IAM/GetAccountSummary.hs
--- a/gen/Network/AWS/IAM/GetAccountSummary.hs
+++ b/gen/Network/AWS/IAM/GetAccountSummary.hs
@@ -58,9 +58,8 @@
 getAccountSummary = GetAccountSummary'
 
 instance AWSRequest GetAccountSummary where
-        type Sv GetAccountSummary = IAM
         type Rs GetAccountSummary = GetAccountSummaryResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetAccountSummaryResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetCredentialReport.hs b/gen/Network/AWS/IAM/GetCredentialReport.hs
--- a/gen/Network/AWS/IAM/GetCredentialReport.hs
+++ b/gen/Network/AWS/IAM/GetCredentialReport.hs
@@ -58,10 +58,9 @@
 getCredentialReport = GetCredentialReport'
 
 instance AWSRequest GetCredentialReport where
-        type Sv GetCredentialReport = IAM
         type Rs GetCredentialReport =
              GetCredentialReportResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetCredentialReportResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetGroup.hs b/gen/Network/AWS/IAM/GetGroup.hs
--- a/gen/Network/AWS/IAM/GetGroup.hs
+++ b/gen/Network/AWS/IAM/GetGroup.hs
@@ -105,9 +105,8 @@
             Just $ rq & ggMarker .~ rs ^. ggrsMarker
 
 instance AWSRequest GetGroup where
-        type Sv GetGroup = IAM
         type Rs GetGroup = GetGroupResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetGroupResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetGroupPolicy.hs b/gen/Network/AWS/IAM/GetGroupPolicy.hs
--- a/gen/Network/AWS/IAM/GetGroupPolicy.hs
+++ b/gen/Network/AWS/IAM/GetGroupPolicy.hs
@@ -88,9 +88,8 @@
 ggpPolicyName = lens _ggpPolicyName (\ s a -> s{_ggpPolicyName = a});
 
 instance AWSRequest GetGroupPolicy where
-        type Sv GetGroupPolicy = IAM
         type Rs GetGroupPolicy = GetGroupPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetGroupPolicyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetInstanceProfile.hs b/gen/Network/AWS/IAM/GetInstanceProfile.hs
--- a/gen/Network/AWS/IAM/GetInstanceProfile.hs
+++ b/gen/Network/AWS/IAM/GetInstanceProfile.hs
@@ -71,10 +71,9 @@
 gipInstanceProfileName = lens _gipInstanceProfileName (\ s a -> s{_gipInstanceProfileName = a});
 
 instance AWSRequest GetInstanceProfile where
-        type Sv GetInstanceProfile = IAM
         type Rs GetInstanceProfile =
              GetInstanceProfileResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetInstanceProfileResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetLoginProfile.hs b/gen/Network/AWS/IAM/GetLoginProfile.hs
--- a/gen/Network/AWS/IAM/GetLoginProfile.hs
+++ b/gen/Network/AWS/IAM/GetLoginProfile.hs
@@ -68,9 +68,8 @@
 glpUserName = lens _glpUserName (\ s a -> s{_glpUserName = a});
 
 instance AWSRequest GetLoginProfile where
-        type Sv GetLoginProfile = IAM
         type Rs GetLoginProfile = GetLoginProfileResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetLoginProfileResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetOpenIdConnectProvider.hs b/gen/Network/AWS/IAM/GetOpenIdConnectProvider.hs
--- a/gen/Network/AWS/IAM/GetOpenIdConnectProvider.hs
+++ b/gen/Network/AWS/IAM/GetOpenIdConnectProvider.hs
@@ -71,10 +71,9 @@
 goicpOpenIdConnectProviderARN = lens _goicpOpenIdConnectProviderARN (\ s a -> s{_goicpOpenIdConnectProviderARN = a});
 
 instance AWSRequest GetOpenIdConnectProvider where
-        type Sv GetOpenIdConnectProvider = IAM
         type Rs GetOpenIdConnectProvider =
              GetOpenIdConnectProviderResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetOpenIDConnectProviderResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetPolicy.hs b/gen/Network/AWS/IAM/GetPolicy.hs
--- a/gen/Network/AWS/IAM/GetPolicy.hs
+++ b/gen/Network/AWS/IAM/GetPolicy.hs
@@ -80,9 +80,8 @@
 gpPolicyARN = lens _gpPolicyARN (\ s a -> s{_gpPolicyARN = a});
 
 instance AWSRequest GetPolicy where
-        type Sv GetPolicy = IAM
         type Rs GetPolicy = GetPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetPolicyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetPolicyVersion.hs b/gen/Network/AWS/IAM/GetPolicyVersion.hs
--- a/gen/Network/AWS/IAM/GetPolicyVersion.hs
+++ b/gen/Network/AWS/IAM/GetPolicyVersion.hs
@@ -87,9 +87,8 @@
 gpvVersionId = lens _gpvVersionId (\ s a -> s{_gpvVersionId = a});
 
 instance AWSRequest GetPolicyVersion where
-        type Sv GetPolicyVersion = IAM
         type Rs GetPolicyVersion = GetPolicyVersionResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetPolicyVersionResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetRole.hs b/gen/Network/AWS/IAM/GetRole.hs
--- a/gen/Network/AWS/IAM/GetRole.hs
+++ b/gen/Network/AWS/IAM/GetRole.hs
@@ -71,9 +71,8 @@
 grRoleName = lens _grRoleName (\ s a -> s{_grRoleName = a});
 
 instance AWSRequest GetRole where
-        type Sv GetRole = IAM
         type Rs GetRole = GetRoleResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetRoleResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetRolePolicy.hs b/gen/Network/AWS/IAM/GetRolePolicy.hs
--- a/gen/Network/AWS/IAM/GetRolePolicy.hs
+++ b/gen/Network/AWS/IAM/GetRolePolicy.hs
@@ -91,9 +91,8 @@
 grpPolicyName = lens _grpPolicyName (\ s a -> s{_grpPolicyName = a});
 
 instance AWSRequest GetRolePolicy where
-        type Sv GetRolePolicy = IAM
         type Rs GetRolePolicy = GetRolePolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetRolePolicyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetSAMLProvider.hs b/gen/Network/AWS/IAM/GetSAMLProvider.hs
--- a/gen/Network/AWS/IAM/GetSAMLProvider.hs
+++ b/gen/Network/AWS/IAM/GetSAMLProvider.hs
@@ -73,9 +73,8 @@
 gsamlpSAMLProviderARN = lens _gsamlpSAMLProviderARN (\ s a -> s{_gsamlpSAMLProviderARN = a});
 
 instance AWSRequest GetSAMLProvider where
-        type Sv GetSAMLProvider = IAM
         type Rs GetSAMLProvider = GetSAMLProviderResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetSAMLProviderResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetSSHPublicKey.hs b/gen/Network/AWS/IAM/GetSSHPublicKey.hs
--- a/gen/Network/AWS/IAM/GetSSHPublicKey.hs
+++ b/gen/Network/AWS/IAM/GetSSHPublicKey.hs
@@ -96,9 +96,8 @@
 gspkEncoding = lens _gspkEncoding (\ s a -> s{_gspkEncoding = a});
 
 instance AWSRequest GetSSHPublicKey where
-        type Sv GetSSHPublicKey = IAM
         type Rs GetSSHPublicKey = GetSSHPublicKeyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetSSHPublicKeyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetServerCertificate.hs b/gen/Network/AWS/IAM/GetServerCertificate.hs
--- a/gen/Network/AWS/IAM/GetServerCertificate.hs
+++ b/gen/Network/AWS/IAM/GetServerCertificate.hs
@@ -67,10 +67,9 @@
 gscServerCertificateName = lens _gscServerCertificateName (\ s a -> s{_gscServerCertificateName = a});
 
 instance AWSRequest GetServerCertificate where
-        type Sv GetServerCertificate = IAM
         type Rs GetServerCertificate =
              GetServerCertificateResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetServerCertificateResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetUser.hs b/gen/Network/AWS/IAM/GetUser.hs
--- a/gen/Network/AWS/IAM/GetUser.hs
+++ b/gen/Network/AWS/IAM/GetUser.hs
@@ -72,9 +72,8 @@
 guUserName = lens _guUserName (\ s a -> s{_guUserName = a});
 
 instance AWSRequest GetUser where
-        type Sv GetUser = IAM
         type Rs GetUser = GetUserResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetUserResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/GetUserPolicy.hs b/gen/Network/AWS/IAM/GetUserPolicy.hs
--- a/gen/Network/AWS/IAM/GetUserPolicy.hs
+++ b/gen/Network/AWS/IAM/GetUserPolicy.hs
@@ -88,9 +88,8 @@
 gupPolicyName = lens _gupPolicyName (\ s a -> s{_gupPolicyName = a});
 
 instance AWSRequest GetUserPolicy where
-        type Sv GetUserPolicy = IAM
         type Rs GetUserPolicy = GetUserPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "GetUserPolicyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListAccessKeys.hs b/gen/Network/AWS/IAM/ListAccessKeys.hs
--- a/gen/Network/AWS/IAM/ListAccessKeys.hs
+++ b/gen/Network/AWS/IAM/ListAccessKeys.hs
@@ -115,9 +115,8 @@
             Just $ rq & lakMarker .~ rs ^. lakrsMarker
 
 instance AWSRequest ListAccessKeys where
-        type Sv ListAccessKeys = IAM
         type Rs ListAccessKeys = ListAccessKeysResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListAccessKeysResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListAccountAliases.hs b/gen/Network/AWS/IAM/ListAccountAliases.hs
--- a/gen/Network/AWS/IAM/ListAccountAliases.hs
+++ b/gen/Network/AWS/IAM/ListAccountAliases.hs
@@ -99,10 +99,9 @@
             Just $ rq & laaMarker .~ rs ^. laarsMarker
 
 instance AWSRequest ListAccountAliases where
-        type Sv ListAccountAliases = IAM
         type Rs ListAccountAliases =
              ListAccountAliasesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListAccountAliasesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListAttachedGroupPolicies.hs b/gen/Network/AWS/IAM/ListAttachedGroupPolicies.hs
--- a/gen/Network/AWS/IAM/ListAttachedGroupPolicies.hs
+++ b/gen/Network/AWS/IAM/ListAttachedGroupPolicies.hs
@@ -117,10 +117,9 @@
 lagpGroupName = lens _lagpGroupName (\ s a -> s{_lagpGroupName = a});
 
 instance AWSRequest ListAttachedGroupPolicies where
-        type Sv ListAttachedGroupPolicies = IAM
         type Rs ListAttachedGroupPolicies =
              ListAttachedGroupPoliciesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListAttachedGroupPoliciesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListAttachedRolePolicies.hs b/gen/Network/AWS/IAM/ListAttachedRolePolicies.hs
--- a/gen/Network/AWS/IAM/ListAttachedRolePolicies.hs
+++ b/gen/Network/AWS/IAM/ListAttachedRolePolicies.hs
@@ -117,10 +117,9 @@
 larpRoleName = lens _larpRoleName (\ s a -> s{_larpRoleName = a});
 
 instance AWSRequest ListAttachedRolePolicies where
-        type Sv ListAttachedRolePolicies = IAM
         type Rs ListAttachedRolePolicies =
              ListAttachedRolePoliciesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListAttachedRolePoliciesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListAttachedUserPolicies.hs b/gen/Network/AWS/IAM/ListAttachedUserPolicies.hs
--- a/gen/Network/AWS/IAM/ListAttachedUserPolicies.hs
+++ b/gen/Network/AWS/IAM/ListAttachedUserPolicies.hs
@@ -117,10 +117,9 @@
 laupUserName = lens _laupUserName (\ s a -> s{_laupUserName = a});
 
 instance AWSRequest ListAttachedUserPolicies where
-        type Sv ListAttachedUserPolicies = IAM
         type Rs ListAttachedUserPolicies =
              ListAttachedUserPoliciesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListAttachedUserPoliciesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListEntitiesForPolicy.hs b/gen/Network/AWS/IAM/ListEntitiesForPolicy.hs
--- a/gen/Network/AWS/IAM/ListEntitiesForPolicy.hs
+++ b/gen/Network/AWS/IAM/ListEntitiesForPolicy.hs
@@ -129,10 +129,9 @@
 lefpPolicyARN = lens _lefpPolicyARN (\ s a -> s{_lefpPolicyARN = a});
 
 instance AWSRequest ListEntitiesForPolicy where
-        type Sv ListEntitiesForPolicy = IAM
         type Rs ListEntitiesForPolicy =
              ListEntitiesForPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListEntitiesForPolicyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListGroupPolicies.hs b/gen/Network/AWS/IAM/ListGroupPolicies.hs
--- a/gen/Network/AWS/IAM/ListGroupPolicies.hs
+++ b/gen/Network/AWS/IAM/ListGroupPolicies.hs
@@ -114,9 +114,8 @@
             Just $ rq & lgpMarker .~ rs ^. lgprsMarker
 
 instance AWSRequest ListGroupPolicies where
-        type Sv ListGroupPolicies = IAM
         type Rs ListGroupPolicies = ListGroupPoliciesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListGroupPoliciesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListGroups.hs b/gen/Network/AWS/IAM/ListGroups.hs
--- a/gen/Network/AWS/IAM/ListGroups.hs
+++ b/gen/Network/AWS/IAM/ListGroups.hs
@@ -110,9 +110,8 @@
             Just $ rq & lgMarker .~ rs ^. lgrsMarker
 
 instance AWSRequest ListGroups where
-        type Sv ListGroups = IAM
         type Rs ListGroups = ListGroupsResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListGroupsResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListGroupsForUser.hs b/gen/Network/AWS/IAM/ListGroupsForUser.hs
--- a/gen/Network/AWS/IAM/ListGroupsForUser.hs
+++ b/gen/Network/AWS/IAM/ListGroupsForUser.hs
@@ -106,9 +106,8 @@
             Just $ rq & lgfuMarker .~ rs ^. lgfursMarker
 
 instance AWSRequest ListGroupsForUser where
-        type Sv ListGroupsForUser = IAM
         type Rs ListGroupsForUser = ListGroupsForUserResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListGroupsForUserResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListInstanceProfiles.hs b/gen/Network/AWS/IAM/ListInstanceProfiles.hs
--- a/gen/Network/AWS/IAM/ListInstanceProfiles.hs
+++ b/gen/Network/AWS/IAM/ListInstanceProfiles.hs
@@ -113,10 +113,9 @@
             Just $ rq & lipMarker .~ rs ^. liprsMarker
 
 instance AWSRequest ListInstanceProfiles where
-        type Sv ListInstanceProfiles = IAM
         type Rs ListInstanceProfiles =
              ListInstanceProfilesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListInstanceProfilesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListInstanceProfilesForRole.hs b/gen/Network/AWS/IAM/ListInstanceProfilesForRole.hs
--- a/gen/Network/AWS/IAM/ListInstanceProfilesForRole.hs
+++ b/gen/Network/AWS/IAM/ListInstanceProfilesForRole.hs
@@ -109,10 +109,9 @@
             Just $ rq & lipfrMarker .~ rs ^. lipfrrsMarker
 
 instance AWSRequest ListInstanceProfilesForRole where
-        type Sv ListInstanceProfilesForRole = IAM
         type Rs ListInstanceProfilesForRole =
              ListInstanceProfilesForRoleResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper
               "ListInstanceProfilesForRoleResult"
diff --git a/gen/Network/AWS/IAM/ListMFADevices.hs b/gen/Network/AWS/IAM/ListMFADevices.hs
--- a/gen/Network/AWS/IAM/ListMFADevices.hs
+++ b/gen/Network/AWS/IAM/ListMFADevices.hs
@@ -108,9 +108,8 @@
             Just $ rq & lmdMarker .~ rs ^. lmdrsMarker
 
 instance AWSRequest ListMFADevices where
-        type Sv ListMFADevices = IAM
         type Rs ListMFADevices = ListMFADevicesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListMFADevicesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListOpenIdConnectProviders.hs b/gen/Network/AWS/IAM/ListOpenIdConnectProviders.hs
--- a/gen/Network/AWS/IAM/ListOpenIdConnectProviders.hs
+++ b/gen/Network/AWS/IAM/ListOpenIdConnectProviders.hs
@@ -53,10 +53,9 @@
 listOpenIdConnectProviders = ListOpenIdConnectProviders'
 
 instance AWSRequest ListOpenIdConnectProviders where
-        type Sv ListOpenIdConnectProviders = IAM
         type Rs ListOpenIdConnectProviders =
              ListOpenIdConnectProvidersResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper
               "ListOpenIDConnectProvidersResult"
diff --git a/gen/Network/AWS/IAM/ListPolicies.hs b/gen/Network/AWS/IAM/ListPolicies.hs
--- a/gen/Network/AWS/IAM/ListPolicies.hs
+++ b/gen/Network/AWS/IAM/ListPolicies.hs
@@ -148,9 +148,8 @@
             Just $ rq & lpMarker .~ rs ^. lprsMarker
 
 instance AWSRequest ListPolicies where
-        type Sv ListPolicies = IAM
         type Rs ListPolicies = ListPoliciesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListPoliciesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListPolicyVersions.hs b/gen/Network/AWS/IAM/ListPolicyVersions.hs
--- a/gen/Network/AWS/IAM/ListPolicyVersions.hs
+++ b/gen/Network/AWS/IAM/ListPolicyVersions.hs
@@ -98,10 +98,9 @@
 lpvPolicyARN = lens _lpvPolicyARN (\ s a -> s{_lpvPolicyARN = a});
 
 instance AWSRequest ListPolicyVersions where
-        type Sv ListPolicyVersions = IAM
         type Rs ListPolicyVersions =
              ListPolicyVersionsResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListPolicyVersionsResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListRolePolicies.hs b/gen/Network/AWS/IAM/ListRolePolicies.hs
--- a/gen/Network/AWS/IAM/ListRolePolicies.hs
+++ b/gen/Network/AWS/IAM/ListRolePolicies.hs
@@ -114,9 +114,8 @@
             Just $ rq & lrpMarker .~ rs ^. lrprsMarker
 
 instance AWSRequest ListRolePolicies where
-        type Sv ListRolePolicies = IAM
         type Rs ListRolePolicies = ListRolePoliciesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListRolePoliciesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListRoles.hs b/gen/Network/AWS/IAM/ListRoles.hs
--- a/gen/Network/AWS/IAM/ListRoles.hs
+++ b/gen/Network/AWS/IAM/ListRoles.hs
@@ -113,9 +113,8 @@
             Just $ rq & lrMarker .~ rs ^. lrrsMarker
 
 instance AWSRequest ListRoles where
-        type Sv ListRoles = IAM
         type Rs ListRoles = ListRolesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListRolesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListSAMLProviders.hs b/gen/Network/AWS/IAM/ListSAMLProviders.hs
--- a/gen/Network/AWS/IAM/ListSAMLProviders.hs
+++ b/gen/Network/AWS/IAM/ListSAMLProviders.hs
@@ -56,9 +56,8 @@
 listSAMLProviders = ListSAMLProviders'
 
 instance AWSRequest ListSAMLProviders where
-        type Sv ListSAMLProviders = IAM
         type Rs ListSAMLProviders = ListSAMLProvidersResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListSAMLProvidersResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListSSHPublicKeys.hs b/gen/Network/AWS/IAM/ListSSHPublicKeys.hs
--- a/gen/Network/AWS/IAM/ListSSHPublicKeys.hs
+++ b/gen/Network/AWS/IAM/ListSSHPublicKeys.hs
@@ -105,9 +105,8 @@
 lspkMarker = lens _lspkMarker (\ s a -> s{_lspkMarker = a});
 
 instance AWSRequest ListSSHPublicKeys where
-        type Sv ListSSHPublicKeys = IAM
         type Rs ListSSHPublicKeys = ListSSHPublicKeysResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListSSHPublicKeysResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListServerCertificates.hs b/gen/Network/AWS/IAM/ListServerCertificates.hs
--- a/gen/Network/AWS/IAM/ListServerCertificates.hs
+++ b/gen/Network/AWS/IAM/ListServerCertificates.hs
@@ -111,10 +111,9 @@
             Just $ rq & lscMarker .~ rs ^. lscrsMarker
 
 instance AWSRequest ListServerCertificates where
-        type Sv ListServerCertificates = IAM
         type Rs ListServerCertificates =
              ListServerCertificatesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListServerCertificatesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListSigningCertificates.hs b/gen/Network/AWS/IAM/ListSigningCertificates.hs
--- a/gen/Network/AWS/IAM/ListSigningCertificates.hs
+++ b/gen/Network/AWS/IAM/ListSigningCertificates.hs
@@ -112,10 +112,9 @@
           | otherwise = Just $ rq & lMarker .~ rs ^. lrsMarker
 
 instance AWSRequest ListSigningCertificates where
-        type Sv ListSigningCertificates = IAM
         type Rs ListSigningCertificates =
              ListSigningCertificatesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListSigningCertificatesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListUserPolicies.hs b/gen/Network/AWS/IAM/ListUserPolicies.hs
--- a/gen/Network/AWS/IAM/ListUserPolicies.hs
+++ b/gen/Network/AWS/IAM/ListUserPolicies.hs
@@ -113,9 +113,8 @@
             Just $ rq & lupMarker .~ rs ^. luprsMarker
 
 instance AWSRequest ListUserPolicies where
-        type Sv ListUserPolicies = IAM
         type Rs ListUserPolicies = ListUserPoliciesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListUserPoliciesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListUsers.hs b/gen/Network/AWS/IAM/ListUsers.hs
--- a/gen/Network/AWS/IAM/ListUsers.hs
+++ b/gen/Network/AWS/IAM/ListUsers.hs
@@ -112,9 +112,8 @@
             Just $ rq & luMarker .~ rs ^. lursMarker
 
 instance AWSRequest ListUsers where
-        type Sv ListUsers = IAM
         type Rs ListUsers = ListUsersResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListUsersResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/ListVirtualMFADevices.hs b/gen/Network/AWS/IAM/ListVirtualMFADevices.hs
--- a/gen/Network/AWS/IAM/ListVirtualMFADevices.hs
+++ b/gen/Network/AWS/IAM/ListVirtualMFADevices.hs
@@ -110,10 +110,9 @@
             Just $ rq & lvmdMarker .~ rs ^. lvmdrsMarker
 
 instance AWSRequest ListVirtualMFADevices where
-        type Sv ListVirtualMFADevices = IAM
         type Rs ListVirtualMFADevices =
              ListVirtualMFADevicesResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "ListVirtualMFADevicesResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/PutGroupPolicy.hs b/gen/Network/AWS/IAM/PutGroupPolicy.hs
--- a/gen/Network/AWS/IAM/PutGroupPolicy.hs
+++ b/gen/Network/AWS/IAM/PutGroupPolicy.hs
@@ -102,9 +102,8 @@
 pgpPolicyDocument = lens _pgpPolicyDocument (\ s a -> s{_pgpPolicyDocument = a});
 
 instance AWSRequest PutGroupPolicy where
-        type Sv PutGroupPolicy = IAM
         type Rs PutGroupPolicy = PutGroupPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull PutGroupPolicyResponse'
 
 instance ToHeaders PutGroupPolicy where
diff --git a/gen/Network/AWS/IAM/PutRolePolicy.hs b/gen/Network/AWS/IAM/PutRolePolicy.hs
--- a/gen/Network/AWS/IAM/PutRolePolicy.hs
+++ b/gen/Network/AWS/IAM/PutRolePolicy.hs
@@ -108,9 +108,8 @@
 prpPolicyDocument = lens _prpPolicyDocument (\ s a -> s{_prpPolicyDocument = a});
 
 instance AWSRequest PutRolePolicy where
-        type Sv PutRolePolicy = IAM
         type Rs PutRolePolicy = PutRolePolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull PutRolePolicyResponse'
 
 instance ToHeaders PutRolePolicy where
diff --git a/gen/Network/AWS/IAM/PutUserPolicy.hs b/gen/Network/AWS/IAM/PutUserPolicy.hs
--- a/gen/Network/AWS/IAM/PutUserPolicy.hs
+++ b/gen/Network/AWS/IAM/PutUserPolicy.hs
@@ -101,9 +101,8 @@
 pupPolicyDocument = lens _pupPolicyDocument (\ s a -> s{_pupPolicyDocument = a});
 
 instance AWSRequest PutUserPolicy where
-        type Sv PutUserPolicy = IAM
         type Rs PutUserPolicy = PutUserPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull PutUserPolicyResponse'
 
 instance ToHeaders PutUserPolicy where
diff --git a/gen/Network/AWS/IAM/RemoveClientIdFromOpenIdConnectProvider.hs b/gen/Network/AWS/IAM/RemoveClientIdFromOpenIdConnectProvider.hs
--- a/gen/Network/AWS/IAM/RemoveClientIdFromOpenIdConnectProvider.hs
+++ b/gen/Network/AWS/IAM/RemoveClientIdFromOpenIdConnectProvider.hs
@@ -82,10 +82,9 @@
 
 instance AWSRequest
          RemoveClientIdFromOpenIdConnectProvider where
-        type Sv RemoveClientIdFromOpenIdConnectProvider = IAM
         type Rs RemoveClientIdFromOpenIdConnectProvider =
              RemoveClientIdFromOpenIdConnectProviderResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull
               RemoveClientIdFromOpenIdConnectProviderResponse'
diff --git a/gen/Network/AWS/IAM/RemoveRoleFromInstanceProfile.hs b/gen/Network/AWS/IAM/RemoveRoleFromInstanceProfile.hs
--- a/gen/Network/AWS/IAM/RemoveRoleFromInstanceProfile.hs
+++ b/gen/Network/AWS/IAM/RemoveRoleFromInstanceProfile.hs
@@ -84,10 +84,9 @@
 
 instance AWSRequest RemoveRoleFromInstanceProfile
          where
-        type Sv RemoveRoleFromInstanceProfile = IAM
         type Rs RemoveRoleFromInstanceProfile =
              RemoveRoleFromInstanceProfileResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull RemoveRoleFromInstanceProfileResponse'
 
diff --git a/gen/Network/AWS/IAM/RemoveUserFromGroup.hs b/gen/Network/AWS/IAM/RemoveUserFromGroup.hs
--- a/gen/Network/AWS/IAM/RemoveUserFromGroup.hs
+++ b/gen/Network/AWS/IAM/RemoveUserFromGroup.hs
@@ -73,10 +73,9 @@
 rufgUserName = lens _rufgUserName (\ s a -> s{_rufgUserName = a});
 
 instance AWSRequest RemoveUserFromGroup where
-        type Sv RemoveUserFromGroup = IAM
         type Rs RemoveUserFromGroup =
              RemoveUserFromGroupResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull RemoveUserFromGroupResponse'
 
 instance ToHeaders RemoveUserFromGroup where
diff --git a/gen/Network/AWS/IAM/ResyncMFADevice.hs b/gen/Network/AWS/IAM/ResyncMFADevice.hs
--- a/gen/Network/AWS/IAM/ResyncMFADevice.hs
+++ b/gen/Network/AWS/IAM/ResyncMFADevice.hs
@@ -98,9 +98,8 @@
 rmdAuthenticationCode2 = lens _rmdAuthenticationCode2 (\ s a -> s{_rmdAuthenticationCode2 = a});
 
 instance AWSRequest ResyncMFADevice where
-        type Sv ResyncMFADevice = IAM
         type Rs ResyncMFADevice = ResyncMFADeviceResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull ResyncMFADeviceResponse'
 
 instance ToHeaders ResyncMFADevice where
diff --git a/gen/Network/AWS/IAM/SetDefaultPolicyVersion.hs b/gen/Network/AWS/IAM/SetDefaultPolicyVersion.hs
--- a/gen/Network/AWS/IAM/SetDefaultPolicyVersion.hs
+++ b/gen/Network/AWS/IAM/SetDefaultPolicyVersion.hs
@@ -86,10 +86,9 @@
 sdpvVersionId = lens _sdpvVersionId (\ s a -> s{_sdpvVersionId = a});
 
 instance AWSRequest SetDefaultPolicyVersion where
-        type Sv SetDefaultPolicyVersion = IAM
         type Rs SetDefaultPolicyVersion =
              SetDefaultPolicyVersionResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull SetDefaultPolicyVersionResponse'
 
diff --git a/gen/Network/AWS/IAM/Types.hs b/gen/Network/AWS/IAM/Types.hs
--- a/gen/Network/AWS/IAM/Types.hs
+++ b/gen/Network/AWS/IAM/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.IAM.Types
     (
-    -- * Service
-      IAM
+    -- * Service Configuration
+      iAM
 
     -- * Errors
     , _CredentialReportNotPresentException
@@ -325,39 +324,36 @@
 import           Network.AWS.Prelude
 import           Network.AWS.Sign.V4
 
--- | Version @2010-05-08@ of the Amazon Identity and Access Management SDK.
-data IAM
-
-instance AWSService IAM where
-    type Sg IAM = V4
-    service = const svc
-      where
-        svc =
-            Service
-            { _svcAbbrev = "IAM"
-            , _svcPrefix = "iam"
-            , _svcVersion = "2010-05-08"
-            , _svcEndpoint = defaultEndpoint svc
-            , _svcTimeout = Just 70
-            , _svcStatus = statusSuccess
-            , _svcError = parseXMLError
-            , _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 '2010-05-08' of the Amazon Identity and Access Management SDK configuration.
+iAM :: Service
+iAM =
+    Service
+    { _svcAbbrev = "IAM"
+    , _svcSigner = v4
+    , _svcPrefix = "iam"
+    , _svcVersion = "2010-05-08"
+    , _svcEndpoint = defaultEndpoint iAM
+    , _svcTimeout = Just 70
+    , _svcCheck = statusSuccess
+    , _svcError = parseXMLError
+    , _svcRetry = retry
+    }
+  where
+    retry =
+        Exponential
+        { _retryBase = 5.0e-2
+        , _retryGrowth = 2
+        , _retryAttempts = 5
+        , _retryCheck = check
+        }
+    check e
+      | has (hasCode "ThrottlingException" . hasStatus 400) e =
+          Just "throttling_exception"
+      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
+      | has (hasStatus 503) e = Just "service_unavailable"
+      | has (hasStatus 500) e = Just "general_server_error"
+      | has (hasStatus 509) e = Just "limit_exceeded"
+      | otherwise = Nothing
 
 -- | The request was rejected because the credential report does not exist.
 -- To generate a credential report, use GenerateCredentialReport.
diff --git a/gen/Network/AWS/IAM/Types/Product.hs b/gen/Network/AWS/IAM/Types/Product.hs
--- a/gen/Network/AWS/IAM/Types/Product.hs
+++ b/gen/Network/AWS/IAM/Types/Product.hs
@@ -2,7 +2,6 @@
 {-# LANGUAGE DeriveGeneric      #-}
 {-# LANGUAGE OverloadedStrings  #-}
 {-# LANGUAGE RecordWildCards    #-}
-{-# LANGUAGE TypeFamilies       #-}
 
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 
diff --git a/gen/Network/AWS/IAM/UpdateAccessKey.hs b/gen/Network/AWS/IAM/UpdateAccessKey.hs
--- a/gen/Network/AWS/IAM/UpdateAccessKey.hs
+++ b/gen/Network/AWS/IAM/UpdateAccessKey.hs
@@ -96,9 +96,8 @@
 uakStatus = lens _uakStatus (\ s a -> s{_uakStatus = a});
 
 instance AWSRequest UpdateAccessKey where
-        type Sv UpdateAccessKey = IAM
         type Rs UpdateAccessKey = UpdateAccessKeyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull UpdateAccessKeyResponse'
 
 instance ToHeaders UpdateAccessKey where
diff --git a/gen/Network/AWS/IAM/UpdateAccountPasswordPolicy.hs b/gen/Network/AWS/IAM/UpdateAccountPasswordPolicy.hs
--- a/gen/Network/AWS/IAM/UpdateAccountPasswordPolicy.hs
+++ b/gen/Network/AWS/IAM/UpdateAccountPasswordPolicy.hs
@@ -174,10 +174,9 @@
 uappAllowUsersToChangePassword = lens _uappAllowUsersToChangePassword (\ s a -> s{_uappAllowUsersToChangePassword = a});
 
 instance AWSRequest UpdateAccountPasswordPolicy where
-        type Sv UpdateAccountPasswordPolicy = IAM
         type Rs UpdateAccountPasswordPolicy =
              UpdateAccountPasswordPolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull UpdateAccountPasswordPolicyResponse'
 
diff --git a/gen/Network/AWS/IAM/UpdateAssumeRolePolicy.hs b/gen/Network/AWS/IAM/UpdateAssumeRolePolicy.hs
--- a/gen/Network/AWS/IAM/UpdateAssumeRolePolicy.hs
+++ b/gen/Network/AWS/IAM/UpdateAssumeRolePolicy.hs
@@ -75,10 +75,9 @@
 uarpPolicyDocument = lens _uarpPolicyDocument (\ s a -> s{_uarpPolicyDocument = a});
 
 instance AWSRequest UpdateAssumeRolePolicy where
-        type Sv UpdateAssumeRolePolicy = IAM
         type Rs UpdateAssumeRolePolicy =
              UpdateAssumeRolePolicyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull UpdateAssumeRolePolicyResponse'
 
diff --git a/gen/Network/AWS/IAM/UpdateGroup.hs b/gen/Network/AWS/IAM/UpdateGroup.hs
--- a/gen/Network/AWS/IAM/UpdateGroup.hs
+++ b/gen/Network/AWS/IAM/UpdateGroup.hs
@@ -94,9 +94,8 @@
 ugGroupName = lens _ugGroupName (\ s a -> s{_ugGroupName = a});
 
 instance AWSRequest UpdateGroup where
-        type Sv UpdateGroup = IAM
         type Rs UpdateGroup = UpdateGroupResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull UpdateGroupResponse'
 
 instance ToHeaders UpdateGroup where
diff --git a/gen/Network/AWS/IAM/UpdateLoginProfile.hs b/gen/Network/AWS/IAM/UpdateLoginProfile.hs
--- a/gen/Network/AWS/IAM/UpdateLoginProfile.hs
+++ b/gen/Network/AWS/IAM/UpdateLoginProfile.hs
@@ -86,10 +86,9 @@
 ulpUserName = lens _ulpUserName (\ s a -> s{_ulpUserName = a});
 
 instance AWSRequest UpdateLoginProfile where
-        type Sv UpdateLoginProfile = IAM
         type Rs UpdateLoginProfile =
              UpdateLoginProfileResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull UpdateLoginProfileResponse'
 
 instance ToHeaders UpdateLoginProfile where
diff --git a/gen/Network/AWS/IAM/UpdateOpenIdConnectProviderThumbprint.hs b/gen/Network/AWS/IAM/UpdateOpenIdConnectProviderThumbprint.hs
--- a/gen/Network/AWS/IAM/UpdateOpenIdConnectProviderThumbprint.hs
+++ b/gen/Network/AWS/IAM/UpdateOpenIdConnectProviderThumbprint.hs
@@ -93,10 +93,9 @@
 
 instance AWSRequest
          UpdateOpenIdConnectProviderThumbprint where
-        type Sv UpdateOpenIdConnectProviderThumbprint = IAM
         type Rs UpdateOpenIdConnectProviderThumbprint =
              UpdateOpenIdConnectProviderThumbprintResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull
               UpdateOpenIdConnectProviderThumbprintResponse'
diff --git a/gen/Network/AWS/IAM/UpdateSAMLProvider.hs b/gen/Network/AWS/IAM/UpdateSAMLProvider.hs
--- a/gen/Network/AWS/IAM/UpdateSAMLProvider.hs
+++ b/gen/Network/AWS/IAM/UpdateSAMLProvider.hs
@@ -84,10 +84,9 @@
 usamlpSAMLProviderARN = lens _usamlpSAMLProviderARN (\ s a -> s{_usamlpSAMLProviderARN = a});
 
 instance AWSRequest UpdateSAMLProvider where
-        type Sv UpdateSAMLProvider = IAM
         type Rs UpdateSAMLProvider =
              UpdateSAMLProviderResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "UpdateSAMLProviderResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/UpdateSSHPublicKey.hs b/gen/Network/AWS/IAM/UpdateSSHPublicKey.hs
--- a/gen/Network/AWS/IAM/UpdateSSHPublicKey.hs
+++ b/gen/Network/AWS/IAM/UpdateSSHPublicKey.hs
@@ -95,10 +95,9 @@
 uspkStatus = lens _uspkStatus (\ s a -> s{_uspkStatus = a});
 
 instance AWSRequest UpdateSSHPublicKey where
-        type Sv UpdateSSHPublicKey = IAM
         type Rs UpdateSSHPublicKey =
              UpdateSSHPublicKeyResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull UpdateSSHPublicKeyResponse'
 
 instance ToHeaders UpdateSSHPublicKey where
diff --git a/gen/Network/AWS/IAM/UpdateServerCertificate.hs b/gen/Network/AWS/IAM/UpdateServerCertificate.hs
--- a/gen/Network/AWS/IAM/UpdateServerCertificate.hs
+++ b/gen/Network/AWS/IAM/UpdateServerCertificate.hs
@@ -97,10 +97,9 @@
 uServerCertificateName = lens _uServerCertificateName (\ s a -> s{_uServerCertificateName = a});
 
 instance AWSRequest UpdateServerCertificate where
-        type Sv UpdateServerCertificate = IAM
         type Rs UpdateServerCertificate =
              UpdateServerCertificateResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull UpdateServerCertificateResponse'
 
diff --git a/gen/Network/AWS/IAM/UpdateSigningCertificate.hs b/gen/Network/AWS/IAM/UpdateSigningCertificate.hs
--- a/gen/Network/AWS/IAM/UpdateSigningCertificate.hs
+++ b/gen/Network/AWS/IAM/UpdateSigningCertificate.hs
@@ -92,10 +92,9 @@
 uscStatus = lens _uscStatus (\ s a -> s{_uscStatus = a});
 
 instance AWSRequest UpdateSigningCertificate where
-        type Sv UpdateSigningCertificate = IAM
         type Rs UpdateSigningCertificate =
              UpdateSigningCertificateResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveNull UpdateSigningCertificateResponse'
 
diff --git a/gen/Network/AWS/IAM/UpdateUser.hs b/gen/Network/AWS/IAM/UpdateUser.hs
--- a/gen/Network/AWS/IAM/UpdateUser.hs
+++ b/gen/Network/AWS/IAM/UpdateUser.hs
@@ -96,9 +96,8 @@
 uuUserName = lens _uuUserName (\ s a -> s{_uuUserName = a});
 
 instance AWSRequest UpdateUser where
-        type Sv UpdateUser = IAM
         type Rs UpdateUser = UpdateUserResponse
-        request = postQuery
+        request = postQuery iAM
         response = receiveNull UpdateUserResponse'
 
 instance ToHeaders UpdateUser where
diff --git a/gen/Network/AWS/IAM/UploadSSHPublicKey.hs b/gen/Network/AWS/IAM/UploadSSHPublicKey.hs
--- a/gen/Network/AWS/IAM/UploadSSHPublicKey.hs
+++ b/gen/Network/AWS/IAM/UploadSSHPublicKey.hs
@@ -84,10 +84,9 @@
 usshpkSSHPublicKeyBody = lens _usshpkSSHPublicKeyBody (\ s a -> s{_usshpkSSHPublicKeyBody = a});
 
 instance AWSRequest UploadSSHPublicKey where
-        type Sv UploadSSHPublicKey = IAM
         type Rs UploadSSHPublicKey =
              UploadSSHPublicKeyResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "UploadSSHPublicKeyResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/UploadServerCertificate.hs b/gen/Network/AWS/IAM/UploadServerCertificate.hs
--- a/gen/Network/AWS/IAM/UploadServerCertificate.hs
+++ b/gen/Network/AWS/IAM/UploadServerCertificate.hs
@@ -134,10 +134,9 @@
 uscPrivateKey = lens _uscPrivateKey (\ s a -> s{_uscPrivateKey = a}) . _Sensitive;
 
 instance AWSRequest UploadServerCertificate where
-        type Sv UploadServerCertificate = IAM
         type Rs UploadServerCertificate =
              UploadServerCertificateResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "UploadServerCertificateResult"
               (\ s h x ->
diff --git a/gen/Network/AWS/IAM/UploadSigningCertificate.hs b/gen/Network/AWS/IAM/UploadSigningCertificate.hs
--- a/gen/Network/AWS/IAM/UploadSigningCertificate.hs
+++ b/gen/Network/AWS/IAM/UploadSigningCertificate.hs
@@ -94,10 +94,9 @@
 uplCertificateBody = lens _uplCertificateBody (\ s a -> s{_uplCertificateBody = a});
 
 instance AWSRequest UploadSigningCertificate where
-        type Sv UploadSigningCertificate = IAM
         type Rs UploadSigningCertificate =
              UploadSigningCertificateResponse
-        request = postQuery
+        request = postQuery iAM
         response
           = receiveXMLWrapper "UploadSigningCertificateResult"
               (\ s h x ->
diff --git a/test/Test/AWS/Gen/IAM.hs b/test/Test/AWS/Gen/IAM.hs
--- a/test/Test/AWS/Gen/IAM.hs
+++ b/test/Test/AWS/Gen/IAM.hs
@@ -1241,652 +1241,761 @@
 testAttachGroupPolicyResponse = res
     "AttachGroupPolicyResponse"
     "fixture/AttachGroupPolicyResponse"
+    iAM
     (Proxy :: Proxy AttachGroupPolicy)
 
 testListInstanceProfilesForRoleResponse :: ListInstanceProfilesForRoleResponse -> TestTree
 testListInstanceProfilesForRoleResponse = res
     "ListInstanceProfilesForRoleResponse"
     "fixture/ListInstanceProfilesForRoleResponse"
+    iAM
     (Proxy :: Proxy ListInstanceProfilesForRole)
 
 testCreatePolicyResponse :: CreatePolicyResponse -> TestTree
 testCreatePolicyResponse = res
     "CreatePolicyResponse"
     "fixture/CreatePolicyResponse"
+    iAM
     (Proxy :: Proxy CreatePolicy)
 
 testListPoliciesResponse :: ListPoliciesResponse -> TestTree
 testListPoliciesResponse = res
     "ListPoliciesResponse"
     "fixture/ListPoliciesResponse"
+    iAM
     (Proxy :: Proxy ListPolicies)
 
 testAttachRolePolicyResponse :: AttachRolePolicyResponse -> TestTree
 testAttachRolePolicyResponse = res
     "AttachRolePolicyResponse"
     "fixture/AttachRolePolicyResponse"
+    iAM
     (Proxy :: Proxy AttachRolePolicy)
 
 testListSSHPublicKeysResponse :: ListSSHPublicKeysResponse -> TestTree
 testListSSHPublicKeysResponse = res
     "ListSSHPublicKeysResponse"
     "fixture/ListSSHPublicKeysResponse"
+    iAM
     (Proxy :: Proxy ListSSHPublicKeys)
 
 testDeleteSSHPublicKeyResponse :: DeleteSSHPublicKeyResponse -> TestTree
 testDeleteSSHPublicKeyResponse = res
     "DeleteSSHPublicKeyResponse"
     "fixture/DeleteSSHPublicKeyResponse"
+    iAM
     (Proxy :: Proxy DeleteSSHPublicKey)
 
 testUpdateSSHPublicKeyResponse :: UpdateSSHPublicKeyResponse -> TestTree
 testUpdateSSHPublicKeyResponse = res
     "UpdateSSHPublicKeyResponse"
     "fixture/UpdateSSHPublicKeyResponse"
+    iAM
     (Proxy :: Proxy UpdateSSHPublicKey)
 
 testListOpenIdConnectProvidersResponse :: ListOpenIdConnectProvidersResponse -> TestTree
 testListOpenIdConnectProvidersResponse = res
     "ListOpenIdConnectProvidersResponse"
     "fixture/ListOpenIdConnectProvidersResponse"
+    iAM
     (Proxy :: Proxy ListOpenIdConnectProviders)
 
 testDeleteAccountPasswordPolicyResponse :: DeleteAccountPasswordPolicyResponse -> TestTree
 testDeleteAccountPasswordPolicyResponse = res
     "DeleteAccountPasswordPolicyResponse"
     "fixture/DeleteAccountPasswordPolicyResponse"
+    iAM
     (Proxy :: Proxy DeleteAccountPasswordPolicy)
 
 testUpdateAccountPasswordPolicyResponse :: UpdateAccountPasswordPolicyResponse -> TestTree
 testUpdateAccountPasswordPolicyResponse = res
     "UpdateAccountPasswordPolicyResponse"
     "fixture/UpdateAccountPasswordPolicyResponse"
+    iAM
     (Proxy :: Proxy UpdateAccountPasswordPolicy)
 
 testCreateAccessKeyResponse :: CreateAccessKeyResponse -> TestTree
 testCreateAccessKeyResponse = res
     "CreateAccessKeyResponse"
     "fixture/CreateAccessKeyResponse"
+    iAM
     (Proxy :: Proxy CreateAccessKey)
 
 testGetUserPolicyResponse :: GetUserPolicyResponse -> TestTree
 testGetUserPolicyResponse = res
     "GetUserPolicyResponse"
     "fixture/GetUserPolicyResponse"
+    iAM
     (Proxy :: Proxy GetUserPolicy)
 
 testCreateVirtualMFADeviceResponse :: CreateVirtualMFADeviceResponse -> TestTree
 testCreateVirtualMFADeviceResponse = res
     "CreateVirtualMFADeviceResponse"
     "fixture/CreateVirtualMFADeviceResponse"
+    iAM
     (Proxy :: Proxy CreateVirtualMFADevice)
 
 testCreateOpenIdConnectProviderResponse :: CreateOpenIdConnectProviderResponse -> TestTree
 testCreateOpenIdConnectProviderResponse = res
     "CreateOpenIdConnectProviderResponse"
     "fixture/CreateOpenIdConnectProviderResponse"
+    iAM
     (Proxy :: Proxy CreateOpenIdConnectProvider)
 
 testListAttachedRolePoliciesResponse :: ListAttachedRolePoliciesResponse -> TestTree
 testListAttachedRolePoliciesResponse = res
     "ListAttachedRolePoliciesResponse"
     "fixture/ListAttachedRolePoliciesResponse"
+    iAM
     (Proxy :: Proxy ListAttachedRolePolicies)
 
 testDeleteVirtualMFADeviceResponse :: DeleteVirtualMFADeviceResponse -> TestTree
 testDeleteVirtualMFADeviceResponse = res
     "DeleteVirtualMFADeviceResponse"
     "fixture/DeleteVirtualMFADeviceResponse"
+    iAM
     (Proxy :: Proxy DeleteVirtualMFADevice)
 
 testGetRoleResponse :: GetRoleResponse -> TestTree
 testGetRoleResponse = res
     "GetRoleResponse"
     "fixture/GetRoleResponse"
+    iAM
     (Proxy :: Proxy GetRole)
 
 testDeactivateMFADeviceResponse :: DeactivateMFADeviceResponse -> TestTree
 testDeactivateMFADeviceResponse = res
     "DeactivateMFADeviceResponse"
     "fixture/DeactivateMFADeviceResponse"
+    iAM
     (Proxy :: Proxy DeactivateMFADevice)
 
 testListRolesResponse :: ListRolesResponse -> TestTree
 testListRolesResponse = res
     "ListRolesResponse"
     "fixture/ListRolesResponse"
+    iAM
     (Proxy :: Proxy ListRoles)
 
 testDeleteRoleResponse :: DeleteRoleResponse -> TestTree
 testDeleteRoleResponse = res
     "DeleteRoleResponse"
     "fixture/DeleteRoleResponse"
+    iAM
     (Proxy :: Proxy DeleteRole)
 
 testListUserPoliciesResponse :: ListUserPoliciesResponse -> TestTree
 testListUserPoliciesResponse = res
     "ListUserPoliciesResponse"
     "fixture/ListUserPoliciesResponse"
+    iAM
     (Proxy :: Proxy ListUserPolicies)
 
 testUploadSSHPublicKeyResponse :: UploadSSHPublicKeyResponse -> TestTree
 testUploadSSHPublicKeyResponse = res
     "UploadSSHPublicKeyResponse"
     "fixture/UploadSSHPublicKeyResponse"
+    iAM
     (Proxy :: Proxy UploadSSHPublicKey)
 
 testListUsersResponse :: ListUsersResponse -> TestTree
 testListUsersResponse = res
     "ListUsersResponse"
     "fixture/ListUsersResponse"
+    iAM
     (Proxy :: Proxy ListUsers)
 
 testUpdateOpenIdConnectProviderThumbprintResponse :: UpdateOpenIdConnectProviderThumbprintResponse -> TestTree
 testUpdateOpenIdConnectProviderThumbprintResponse = res
     "UpdateOpenIdConnectProviderThumbprintResponse"
     "fixture/UpdateOpenIdConnectProviderThumbprintResponse"
+    iAM
     (Proxy :: Proxy UpdateOpenIdConnectProviderThumbprint)
 
 testGetSSHPublicKeyResponse :: GetSSHPublicKeyResponse -> TestTree
 testGetSSHPublicKeyResponse = res
     "GetSSHPublicKeyResponse"
     "fixture/GetSSHPublicKeyResponse"
+    iAM
     (Proxy :: Proxy GetSSHPublicKey)
 
 testPutUserPolicyResponse :: PutUserPolicyResponse -> TestTree
 testPutUserPolicyResponse = res
     "PutUserPolicyResponse"
     "fixture/PutUserPolicyResponse"
+    iAM
     (Proxy :: Proxy PutUserPolicy)
 
 testCreateRoleResponse :: CreateRoleResponse -> TestTree
 testCreateRoleResponse = res
     "CreateRoleResponse"
     "fixture/CreateRoleResponse"
+    iAM
     (Proxy :: Proxy CreateRole)
 
 testDeleteUserPolicyResponse :: DeleteUserPolicyResponse -> TestTree
 testDeleteUserPolicyResponse = res
     "DeleteUserPolicyResponse"
     "fixture/DeleteUserPolicyResponse"
+    iAM
     (Proxy :: Proxy DeleteUserPolicy)
 
 testGetOpenIdConnectProviderResponse :: GetOpenIdConnectProviderResponse -> TestTree
 testGetOpenIdConnectProviderResponse = res
     "GetOpenIdConnectProviderResponse"
     "fixture/GetOpenIdConnectProviderResponse"
+    iAM
     (Proxy :: Proxy GetOpenIdConnectProvider)
 
 testDetachGroupPolicyResponse :: DetachGroupPolicyResponse -> TestTree
 testDetachGroupPolicyResponse = res
     "DetachGroupPolicyResponse"
     "fixture/DetachGroupPolicyResponse"
+    iAM
     (Proxy :: Proxy DetachGroupPolicy)
 
 testGetCredentialReportResponse :: GetCredentialReportResponse -> TestTree
 testGetCredentialReportResponse = res
     "GetCredentialReportResponse"
     "fixture/GetCredentialReportResponse"
+    iAM
     (Proxy :: Proxy GetCredentialReport)
 
 testDeletePolicyVersionResponse :: DeletePolicyVersionResponse -> TestTree
 testDeletePolicyVersionResponse = res
     "DeletePolicyVersionResponse"
     "fixture/DeletePolicyVersionResponse"
+    iAM
     (Proxy :: Proxy DeletePolicyVersion)
 
 testDetachRolePolicyResponse :: DetachRolePolicyResponse -> TestTree
 testDetachRolePolicyResponse = res
     "DetachRolePolicyResponse"
     "fixture/DetachRolePolicyResponse"
+    iAM
     (Proxy :: Proxy DetachRolePolicy)
 
 testDeleteInstanceProfileResponse :: DeleteInstanceProfileResponse -> TestTree
 testDeleteInstanceProfileResponse = res
     "DeleteInstanceProfileResponse"
     "fixture/DeleteInstanceProfileResponse"
+    iAM
     (Proxy :: Proxy DeleteInstanceProfile)
 
 testListGroupPoliciesResponse :: ListGroupPoliciesResponse -> TestTree
 testListGroupPoliciesResponse = res
     "ListGroupPoliciesResponse"
     "fixture/ListGroupPoliciesResponse"
+    iAM
     (Proxy :: Proxy ListGroupPolicies)
 
 testGetAccountSummaryResponse :: GetAccountSummaryResponse -> TestTree
 testGetAccountSummaryResponse = res
     "GetAccountSummaryResponse"
     "fixture/GetAccountSummaryResponse"
+    iAM
     (Proxy :: Proxy GetAccountSummary)
 
 testCreateInstanceProfileResponse :: CreateInstanceProfileResponse -> TestTree
 testCreateInstanceProfileResponse = res
     "CreateInstanceProfileResponse"
     "fixture/CreateInstanceProfileResponse"
+    iAM
     (Proxy :: Proxy CreateInstanceProfile)
 
 testPutGroupPolicyResponse :: PutGroupPolicyResponse -> TestTree
 testPutGroupPolicyResponse = res
     "PutGroupPolicyResponse"
     "fixture/PutGroupPolicyResponse"
+    iAM
     (Proxy :: Proxy PutGroupPolicy)
 
 testDeleteGroupPolicyResponse :: DeleteGroupPolicyResponse -> TestTree
 testDeleteGroupPolicyResponse = res
     "DeleteGroupPolicyResponse"
     "fixture/DeleteGroupPolicyResponse"
+    iAM
     (Proxy :: Proxy DeleteGroupPolicy)
 
 testGetAccountAuthorizationDetailsResponse :: GetAccountAuthorizationDetailsResponse -> TestTree
 testGetAccountAuthorizationDetailsResponse = res
     "GetAccountAuthorizationDetailsResponse"
     "fixture/GetAccountAuthorizationDetailsResponse"
+    iAM
     (Proxy :: Proxy GetAccountAuthorizationDetails)
 
 testDeleteAccountAliasResponse :: DeleteAccountAliasResponse -> TestTree
 testDeleteAccountAliasResponse = res
     "DeleteAccountAliasResponse"
     "fixture/DeleteAccountAliasResponse"
+    iAM
     (Proxy :: Proxy DeleteAccountAlias)
 
 testRemoveRoleFromInstanceProfileResponse :: RemoveRoleFromInstanceProfileResponse -> TestTree
 testRemoveRoleFromInstanceProfileResponse = res
     "RemoveRoleFromInstanceProfileResponse"
     "fixture/RemoveRoleFromInstanceProfileResponse"
+    iAM
     (Proxy :: Proxy RemoveRoleFromInstanceProfile)
 
 testGetLoginProfileResponse :: GetLoginProfileResponse -> TestTree
 testGetLoginProfileResponse = res
     "GetLoginProfileResponse"
     "fixture/GetLoginProfileResponse"
+    iAM
     (Proxy :: Proxy GetLoginProfile)
 
 testRemoveUserFromGroupResponse :: RemoveUserFromGroupResponse -> TestTree
 testRemoveUserFromGroupResponse = res
     "RemoveUserFromGroupResponse"
     "fixture/RemoveUserFromGroupResponse"
+    iAM
     (Proxy :: Proxy RemoveUserFromGroup)
 
 testDetachUserPolicyResponse :: DetachUserPolicyResponse -> TestTree
 testDetachUserPolicyResponse = res
     "DetachUserPolicyResponse"
     "fixture/DetachUserPolicyResponse"
+    iAM
     (Proxy :: Proxy DetachUserPolicy)
 
 testCreateSAMLProviderResponse :: CreateSAMLProviderResponse -> TestTree
 testCreateSAMLProviderResponse = res
     "CreateSAMLProviderResponse"
     "fixture/CreateSAMLProviderResponse"
+    iAM
     (Proxy :: Proxy CreateSAMLProvider)
 
 testCreatePolicyVersionResponse :: CreatePolicyVersionResponse -> TestTree
 testCreatePolicyVersionResponse = res
     "CreatePolicyVersionResponse"
     "fixture/CreatePolicyVersionResponse"
+    iAM
     (Proxy :: Proxy CreatePolicyVersion)
 
 testGetGroupPolicyResponse :: GetGroupPolicyResponse -> TestTree
 testGetGroupPolicyResponse = res
     "GetGroupPolicyResponse"
     "fixture/GetGroupPolicyResponse"
+    iAM
     (Proxy :: Proxy GetGroupPolicy)
 
 testDeletePolicyResponse :: DeletePolicyResponse -> TestTree
 testDeletePolicyResponse = res
     "DeletePolicyResponse"
     "fixture/DeletePolicyResponse"
+    iAM
     (Proxy :: Proxy DeletePolicy)
 
 testListServerCertificatesResponse :: ListServerCertificatesResponse -> TestTree
 testListServerCertificatesResponse = res
     "ListServerCertificatesResponse"
     "fixture/ListServerCertificatesResponse"
+    iAM
     (Proxy :: Proxy ListServerCertificates)
 
 testUpdateAssumeRolePolicyResponse :: UpdateAssumeRolePolicyResponse -> TestTree
 testUpdateAssumeRolePolicyResponse = res
     "UpdateAssumeRolePolicyResponse"
     "fixture/UpdateAssumeRolePolicyResponse"
+    iAM
     (Proxy :: Proxy UpdateAssumeRolePolicy)
 
 testChangePasswordResponse :: ChangePasswordResponse -> TestTree
 testChangePasswordResponse = res
     "ChangePasswordResponse"
     "fixture/ChangePasswordResponse"
+    iAM
     (Proxy :: Proxy ChangePassword)
 
 testListGroupsForUserResponse :: ListGroupsForUserResponse -> TestTree
 testListGroupsForUserResponse = res
     "ListGroupsForUserResponse"
     "fixture/ListGroupsForUserResponse"
+    iAM
     (Proxy :: Proxy ListGroupsForUser)
 
 testGetPolicyVersionResponse :: GetPolicyVersionResponse -> TestTree
 testGetPolicyVersionResponse = res
     "GetPolicyVersionResponse"
     "fixture/GetPolicyVersionResponse"
+    iAM
     (Proxy :: Proxy GetPolicyVersion)
 
 testCreateLoginProfileResponse :: CreateLoginProfileResponse -> TestTree
 testCreateLoginProfileResponse = res
     "CreateLoginProfileResponse"
     "fixture/CreateLoginProfileResponse"
+    iAM
     (Proxy :: Proxy CreateLoginProfile)
 
 testGetInstanceProfileResponse :: GetInstanceProfileResponse -> TestTree
 testGetInstanceProfileResponse = res
     "GetInstanceProfileResponse"
     "fixture/GetInstanceProfileResponse"
+    iAM
     (Proxy :: Proxy GetInstanceProfile)
 
 testListEntitiesForPolicyResponse :: ListEntitiesForPolicyResponse -> TestTree
 testListEntitiesForPolicyResponse = res
     "ListEntitiesForPolicyResponse"
     "fixture/ListEntitiesForPolicyResponse"
+    iAM
     (Proxy :: Proxy ListEntitiesForPolicy)
 
 testGetSAMLProviderResponse :: GetSAMLProviderResponse -> TestTree
 testGetSAMLProviderResponse = res
     "GetSAMLProviderResponse"
     "fixture/GetSAMLProviderResponse"
+    iAM
     (Proxy :: Proxy GetSAMLProvider)
 
 testAddRoleToInstanceProfileResponse :: AddRoleToInstanceProfileResponse -> TestTree
 testAddRoleToInstanceProfileResponse = res
     "AddRoleToInstanceProfileResponse"
     "fixture/AddRoleToInstanceProfileResponse"
+    iAM
     (Proxy :: Proxy AddRoleToInstanceProfile)
 
 testAddUserToGroupResponse :: AddUserToGroupResponse -> TestTree
 testAddUserToGroupResponse = res
     "AddUserToGroupResponse"
     "fixture/AddUserToGroupResponse"
+    iAM
     (Proxy :: Proxy AddUserToGroup)
 
 testDeleteOpenIdConnectProviderResponse :: DeleteOpenIdConnectProviderResponse -> TestTree
 testDeleteOpenIdConnectProviderResponse = res
     "DeleteOpenIdConnectProviderResponse"
     "fixture/DeleteOpenIdConnectProviderResponse"
+    iAM
     (Proxy :: Proxy DeleteOpenIdConnectProvider)
 
 testGetUserResponse :: GetUserResponse -> TestTree
 testGetUserResponse = res
     "GetUserResponse"
     "fixture/GetUserResponse"
+    iAM
     (Proxy :: Proxy GetUser)
 
 testListAttachedUserPoliciesResponse :: ListAttachedUserPoliciesResponse -> TestTree
 testListAttachedUserPoliciesResponse = res
     "ListAttachedUserPoliciesResponse"
     "fixture/ListAttachedUserPoliciesResponse"
+    iAM
     (Proxy :: Proxy ListAttachedUserPolicies)
 
 testDeleteSigningCertificateResponse :: DeleteSigningCertificateResponse -> TestTree
 testDeleteSigningCertificateResponse = res
     "DeleteSigningCertificateResponse"
     "fixture/DeleteSigningCertificateResponse"
+    iAM
     (Proxy :: Proxy DeleteSigningCertificate)
 
 testUpdateSigningCertificateResponse :: UpdateSigningCertificateResponse -> TestTree
 testUpdateSigningCertificateResponse = res
     "UpdateSigningCertificateResponse"
     "fixture/UpdateSigningCertificateResponse"
+    iAM
     (Proxy :: Proxy UpdateSigningCertificate)
 
 testListSigningCertificatesResponse :: ListSigningCertificatesResponse -> TestTree
 testListSigningCertificatesResponse = res
     "ListSigningCertificatesResponse"
     "fixture/ListSigningCertificatesResponse"
+    iAM
     (Proxy :: Proxy ListSigningCertificates)
 
 testRemoveClientIdFromOpenIdConnectProviderResponse :: RemoveClientIdFromOpenIdConnectProviderResponse -> TestTree
 testRemoveClientIdFromOpenIdConnectProviderResponse = res
     "RemoveClientIdFromOpenIdConnectProviderResponse"
     "fixture/RemoveClientIdFromOpenIdConnectProviderResponse"
+    iAM
     (Proxy :: Proxy RemoveClientIdFromOpenIdConnectProvider)
 
 testListAccessKeysResponse :: ListAccessKeysResponse -> TestTree
 testListAccessKeysResponse = res
     "ListAccessKeysResponse"
     "fixture/ListAccessKeysResponse"
+    iAM
     (Proxy :: Proxy ListAccessKeys)
 
 testListVirtualMFADevicesResponse :: ListVirtualMFADevicesResponse -> TestTree
 testListVirtualMFADevicesResponse = res
     "ListVirtualMFADevicesResponse"
     "fixture/ListVirtualMFADevicesResponse"
+    iAM
     (Proxy :: Proxy ListVirtualMFADevices)
 
 testDeleteAccessKeyResponse :: DeleteAccessKeyResponse -> TestTree
 testDeleteAccessKeyResponse = res
     "DeleteAccessKeyResponse"
     "fixture/DeleteAccessKeyResponse"
+    iAM
     (Proxy :: Proxy DeleteAccessKey)
 
 testUpdateAccessKeyResponse :: UpdateAccessKeyResponse -> TestTree
 testUpdateAccessKeyResponse = res
     "UpdateAccessKeyResponse"
     "fixture/UpdateAccessKeyResponse"
+    iAM
     (Proxy :: Proxy UpdateAccessKey)
 
 testGetRolePolicyResponse :: GetRolePolicyResponse -> TestTree
 testGetRolePolicyResponse = res
     "GetRolePolicyResponse"
     "fixture/GetRolePolicyResponse"
+    iAM
     (Proxy :: Proxy GetRolePolicy)
 
 testAttachUserPolicyResponse :: AttachUserPolicyResponse -> TestTree
 testAttachUserPolicyResponse = res
     "AttachUserPolicyResponse"
     "fixture/AttachUserPolicyResponse"
+    iAM
     (Proxy :: Proxy AttachUserPolicy)
 
 testResyncMFADeviceResponse :: ResyncMFADeviceResponse -> TestTree
 testResyncMFADeviceResponse = res
     "ResyncMFADeviceResponse"
     "fixture/ResyncMFADeviceResponse"
+    iAM
     (Proxy :: Proxy ResyncMFADevice)
 
 testCreateUserResponse :: CreateUserResponse -> TestTree
 testCreateUserResponse = res
     "CreateUserResponse"
     "fixture/CreateUserResponse"
+    iAM
     (Proxy :: Proxy CreateUser)
 
 testUploadSigningCertificateResponse :: UploadSigningCertificateResponse -> TestTree
 testUploadSigningCertificateResponse = res
     "UploadSigningCertificateResponse"
     "fixture/UploadSigningCertificateResponse"
+    iAM
     (Proxy :: Proxy UploadSigningCertificate)
 
 testPutRolePolicyResponse :: PutRolePolicyResponse -> TestTree
 testPutRolePolicyResponse = res
     "PutRolePolicyResponse"
     "fixture/PutRolePolicyResponse"
+    iAM
     (Proxy :: Proxy PutRolePolicy)
 
 testDeleteRolePolicyResponse :: DeleteRolePolicyResponse -> TestTree
 testDeleteRolePolicyResponse = res
     "DeleteRolePolicyResponse"
     "fixture/DeleteRolePolicyResponse"
+    iAM
     (Proxy :: Proxy DeleteRolePolicy)
 
 testUpdateUserResponse :: UpdateUserResponse -> TestTree
 testUpdateUserResponse = res
     "UpdateUserResponse"
     "fixture/UpdateUserResponse"
+    iAM
     (Proxy :: Proxy UpdateUser)
 
 testDeleteUserResponse :: DeleteUserResponse -> TestTree
 testDeleteUserResponse = res
     "DeleteUserResponse"
     "fixture/DeleteUserResponse"
+    iAM
     (Proxy :: Proxy DeleteUser)
 
 testListRolePoliciesResponse :: ListRolePoliciesResponse -> TestTree
 testListRolePoliciesResponse = res
     "ListRolePoliciesResponse"
     "fixture/ListRolePoliciesResponse"
+    iAM
     (Proxy :: Proxy ListRolePolicies)
 
 testAddClientIdToOpenIdConnectProviderResponse :: AddClientIdToOpenIdConnectProviderResponse -> TestTree
 testAddClientIdToOpenIdConnectProviderResponse = res
     "AddClientIdToOpenIdConnectProviderResponse"
     "fixture/AddClientIdToOpenIdConnectProviderResponse"
+    iAM
     (Proxy :: Proxy AddClientIdToOpenIdConnectProvider)
 
 testGetAccessKeyLastUsedResponse :: GetAccessKeyLastUsedResponse -> TestTree
 testGetAccessKeyLastUsedResponse = res
     "GetAccessKeyLastUsedResponse"
     "fixture/GetAccessKeyLastUsedResponse"
+    iAM
     (Proxy :: Proxy GetAccessKeyLastUsed)
 
 testGetAccountPasswordPolicyResponse :: GetAccountPasswordPolicyResponse -> TestTree
 testGetAccountPasswordPolicyResponse = res
     "GetAccountPasswordPolicyResponse"
     "fixture/GetAccountPasswordPolicyResponse"
+    iAM
     (Proxy :: Proxy GetAccountPasswordPolicy)
 
 testListAccountAliasesResponse :: ListAccountAliasesResponse -> TestTree
 testListAccountAliasesResponse = res
     "ListAccountAliasesResponse"
     "fixture/ListAccountAliasesResponse"
+    iAM
     (Proxy :: Proxy ListAccountAliases)
 
 testCreateAccountAliasResponse :: CreateAccountAliasResponse -> TestTree
 testCreateAccountAliasResponse = res
     "CreateAccountAliasResponse"
     "fixture/CreateAccountAliasResponse"
+    iAM
     (Proxy :: Proxy CreateAccountAlias)
 
 testUploadServerCertificateResponse :: UploadServerCertificateResponse -> TestTree
 testUploadServerCertificateResponse = res
     "UploadServerCertificateResponse"
     "fixture/UploadServerCertificateResponse"
+    iAM
     (Proxy :: Proxy UploadServerCertificate)
 
 testListMFADevicesResponse :: ListMFADevicesResponse -> TestTree
 testListMFADevicesResponse = res
     "ListMFADevicesResponse"
     "fixture/ListMFADevicesResponse"
+    iAM
     (Proxy :: Proxy ListMFADevices)
 
 testEnableMFADeviceResponse :: EnableMFADeviceResponse -> TestTree
 testEnableMFADeviceResponse = res
     "EnableMFADeviceResponse"
     "fixture/EnableMFADeviceResponse"
+    iAM
     (Proxy :: Proxy EnableMFADevice)
 
 testListPolicyVersionsResponse :: ListPolicyVersionsResponse -> TestTree
 testListPolicyVersionsResponse = res
     "ListPolicyVersionsResponse"
     "fixture/ListPolicyVersionsResponse"
+    iAM
     (Proxy :: Proxy ListPolicyVersions)
 
 testListSAMLProvidersResponse :: ListSAMLProvidersResponse -> TestTree
 testListSAMLProvidersResponse = res
     "ListSAMLProvidersResponse"
     "fixture/ListSAMLProvidersResponse"
+    iAM
     (Proxy :: Proxy ListSAMLProviders)
 
 testUpdateSAMLProviderResponse :: UpdateSAMLProviderResponse -> TestTree
 testUpdateSAMLProviderResponse = res
     "UpdateSAMLProviderResponse"
     "fixture/UpdateSAMLProviderResponse"
+    iAM
     (Proxy :: Proxy UpdateSAMLProvider)
 
 testDeleteSAMLProviderResponse :: DeleteSAMLProviderResponse -> TestTree
 testDeleteSAMLProviderResponse = res
     "DeleteSAMLProviderResponse"
     "fixture/DeleteSAMLProviderResponse"
+    iAM
     (Proxy :: Proxy DeleteSAMLProvider)
 
 testCreateGroupResponse :: CreateGroupResponse -> TestTree
 testCreateGroupResponse = res
     "CreateGroupResponse"
     "fixture/CreateGroupResponse"
+    iAM
     (Proxy :: Proxy CreateGroup)
 
 testSetDefaultPolicyVersionResponse :: SetDefaultPolicyVersionResponse -> TestTree
 testSetDefaultPolicyVersionResponse = res
     "SetDefaultPolicyVersionResponse"
     "fixture/SetDefaultPolicyVersionResponse"
+    iAM
     (Proxy :: Proxy SetDefaultPolicyVersion)
 
 testListInstanceProfilesResponse :: ListInstanceProfilesResponse -> TestTree
 testListInstanceProfilesResponse = res
     "ListInstanceProfilesResponse"
     "fixture/ListInstanceProfilesResponse"
+    iAM
     (Proxy :: Proxy ListInstanceProfiles)
 
 testListGroupsResponse :: ListGroupsResponse -> TestTree
 testListGroupsResponse = res
     "ListGroupsResponse"
     "fixture/ListGroupsResponse"
+    iAM
     (Proxy :: Proxy ListGroups)
 
 testDeleteGroupResponse :: DeleteGroupResponse -> TestTree
 testDeleteGroupResponse = res
     "DeleteGroupResponse"
     "fixture/DeleteGroupResponse"
+    iAM
     (Proxy :: Proxy DeleteGroup)
 
 testUpdateGroupResponse :: UpdateGroupResponse -> TestTree
 testUpdateGroupResponse = res
     "UpdateGroupResponse"
     "fixture/UpdateGroupResponse"
+    iAM
     (Proxy :: Proxy UpdateGroup)
 
 testGetServerCertificateResponse :: GetServerCertificateResponse -> TestTree
 testGetServerCertificateResponse = res
     "GetServerCertificateResponse"
     "fixture/GetServerCertificateResponse"
+    iAM
     (Proxy :: Proxy GetServerCertificate)
 
 testGetPolicyResponse :: GetPolicyResponse -> TestTree
 testGetPolicyResponse = res
     "GetPolicyResponse"
     "fixture/GetPolicyResponse"
+    iAM
     (Proxy :: Proxy GetPolicy)
 
 testGenerateCredentialReportResponse :: GenerateCredentialReportResponse -> TestTree
 testGenerateCredentialReportResponse = res
     "GenerateCredentialReportResponse"
     "fixture/GenerateCredentialReportResponse"
+    iAM
     (Proxy :: Proxy GenerateCredentialReport)
 
 testGetGroupResponse :: GetGroupResponse -> TestTree
 testGetGroupResponse = res
     "GetGroupResponse"
     "fixture/GetGroupResponse"
+    iAM
     (Proxy :: Proxy GetGroup)
 
 testDeleteServerCertificateResponse :: DeleteServerCertificateResponse -> TestTree
 testDeleteServerCertificateResponse = res
     "DeleteServerCertificateResponse"
     "fixture/DeleteServerCertificateResponse"
+    iAM
     (Proxy :: Proxy DeleteServerCertificate)
 
 testUpdateServerCertificateResponse :: UpdateServerCertificateResponse -> TestTree
 testUpdateServerCertificateResponse = res
     "UpdateServerCertificateResponse"
     "fixture/UpdateServerCertificateResponse"
+    iAM
     (Proxy :: Proxy UpdateServerCertificate)
 
 testDeleteLoginProfileResponse :: DeleteLoginProfileResponse -> TestTree
 testDeleteLoginProfileResponse = res
     "DeleteLoginProfileResponse"
     "fixture/DeleteLoginProfileResponse"
+    iAM
     (Proxy :: Proxy DeleteLoginProfile)
 
 testUpdateLoginProfileResponse :: UpdateLoginProfileResponse -> TestTree
 testUpdateLoginProfileResponse = res
     "UpdateLoginProfileResponse"
     "fixture/UpdateLoginProfileResponse"
+    iAM
     (Proxy :: Proxy UpdateLoginProfile)
 
 testListAttachedGroupPoliciesResponse :: ListAttachedGroupPoliciesResponse -> TestTree
 testListAttachedGroupPoliciesResponse = res
     "ListAttachedGroupPoliciesResponse"
     "fixture/ListAttachedGroupPoliciesResponse"
+    iAM
     (Proxy :: Proxy ListAttachedGroupPolicies)
