diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@
 
 ## Version
 
-`1.3.6`
+`1.3.7`
 
 
 ## Description
diff --git a/amazonka-inspector.cabal b/amazonka-inspector.cabal
--- a/amazonka-inspector.cabal
+++ b/amazonka-inspector.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-inspector
-version:               1.3.6
+version:               1.3.7
 synopsis:              Amazon Inspector SDK.
 homepage:              https://github.com/brendanhay/amazonka
 bug-reports:           https://github.com/brendanhay/amazonka/issues
@@ -90,7 +90,7 @@
         , Network.AWS.Inspector.Types.Sum
 
     build-depends:
-          amazonka-core == 1.3.6.*
+          amazonka-core == 1.3.7.*
         , base          >= 4.7     && < 5
 
 test-suite amazonka-inspector-test
@@ -110,12 +110,11 @@
         , Test.AWS.Inspector.Internal
 
     build-depends:
-          amazonka-core == 1.3.6.*
-        , amazonka-test == 1.3.6.*
-        , amazonka-inspector == 1.3.6.*
+          amazonka-core == 1.3.7.*
+        , amazonka-test == 1.3.7.*
+        , amazonka-inspector == 1.3.7.*
         , base
         , bytestring
-        , lens
         , tasty
         , tasty-hunit
         , text
diff --git a/gen/Network/AWS/Inspector/AddAttributesToFindings.hs b/gen/Network/AWS/Inspector/AddAttributesToFindings.hs
--- a/gen/Network/AWS/Inspector/AddAttributesToFindings.hs
+++ b/gen/Network/AWS/Inspector/AddAttributesToFindings.hs
@@ -41,14 +41,15 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'addAttributesToFindings' smart constructor.
 data AddAttributesToFindings = AddAttributesToFindings'
-    { _aatfFindingARNs :: !(Maybe [Text])
-    , _aatfAttributes  :: !(Maybe [Attribute])
+    { _aatfFindingARNs :: ![Text]
+    , _aatfAttributes  :: ![Attribute]
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'AddAttributesToFindings' with the minimum fields required to make a request.
@@ -62,17 +63,17 @@
     :: AddAttributesToFindings
 addAttributesToFindings =
     AddAttributesToFindings'
-    { _aatfFindingARNs = Nothing
-    , _aatfAttributes = Nothing
+    { _aatfFindingARNs = mempty
+    , _aatfAttributes = mempty
     }
 
 -- | The ARNs specifying the findings that you want to assign attributes to.
 aatfFindingARNs :: Lens' AddAttributesToFindings [Text]
-aatfFindingARNs = lens _aatfFindingARNs (\ s a -> s{_aatfFindingARNs = a}) . _Default . _Coerce;
+aatfFindingARNs = lens _aatfFindingARNs (\ s a -> s{_aatfFindingARNs = a}) . _Coerce;
 
 -- | The array of attributes that you want to assign to specified findings.
 aatfAttributes :: Lens' AddAttributesToFindings [Attribute]
-aatfAttributes = lens _aatfAttributes (\ s a -> s{_aatfAttributes = a}) . _Default . _Coerce;
+aatfAttributes = lens _aatfAttributes (\ s a -> s{_aatfAttributes = a}) . _Coerce;
 
 instance AWSRequest AddAttributesToFindings where
         type Rs AddAttributesToFindings =
@@ -98,8 +99,8 @@
         toJSON AddAttributesToFindings'{..}
           = object
               (catMaybes
-                 [("findingArns" .=) <$> _aatfFindingARNs,
-                  ("attributes" .=) <$> _aatfAttributes])
+                 [Just ("findingArns" .= _aatfFindingARNs),
+                  Just ("attributes" .= _aatfAttributes)])
 
 instance ToPath AddAttributesToFindings where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/AttachAssessmentAndRulesPackage.hs b/gen/Network/AWS/Inspector/AttachAssessmentAndRulesPackage.hs
--- a/gen/Network/AWS/Inspector/AttachAssessmentAndRulesPackage.hs
+++ b/gen/Network/AWS/Inspector/AttachAssessmentAndRulesPackage.hs
@@ -41,14 +41,15 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'attachAssessmentAndRulesPackage' smart constructor.
 data AttachAssessmentAndRulesPackage = AttachAssessmentAndRulesPackage'
-    { _aaarpAssessmentARN   :: !(Maybe Text)
-    , _aaarpRulesPackageARN :: !(Maybe Text)
+    { _aaarpAssessmentARN   :: !Text
+    , _aaarpRulesPackageARN :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'AttachAssessmentAndRulesPackage' with the minimum fields required to make a request.
@@ -59,21 +60,23 @@
 --
 -- * 'aaarpRulesPackageARN'
 attachAssessmentAndRulesPackage
-    :: AttachAssessmentAndRulesPackage
-attachAssessmentAndRulesPackage =
+    :: Text -- ^ 'aaarpAssessmentARN'
+    -> Text -- ^ 'aaarpRulesPackageARN'
+    -> AttachAssessmentAndRulesPackage
+attachAssessmentAndRulesPackage pAssessmentARN_ pRulesPackageARN_ =
     AttachAssessmentAndRulesPackage'
-    { _aaarpAssessmentARN = Nothing
-    , _aaarpRulesPackageARN = Nothing
+    { _aaarpAssessmentARN = pAssessmentARN_
+    , _aaarpRulesPackageARN = pRulesPackageARN_
     }
 
 -- | The ARN specifying the assessment to which you want to attach a rules
 -- package.
-aaarpAssessmentARN :: Lens' AttachAssessmentAndRulesPackage (Maybe Text)
+aaarpAssessmentARN :: Lens' AttachAssessmentAndRulesPackage Text
 aaarpAssessmentARN = lens _aaarpAssessmentARN (\ s a -> s{_aaarpAssessmentARN = a});
 
 -- | The ARN specifying the rules package that you want to attach to the
 -- assessment.
-aaarpRulesPackageARN :: Lens' AttachAssessmentAndRulesPackage (Maybe Text)
+aaarpRulesPackageARN :: Lens' AttachAssessmentAndRulesPackage Text
 aaarpRulesPackageARN = lens _aaarpRulesPackageARN (\ s a -> s{_aaarpRulesPackageARN = a});
 
 instance AWSRequest AttachAssessmentAndRulesPackage
@@ -102,8 +105,8 @@
         toJSON AttachAssessmentAndRulesPackage'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _aaarpAssessmentARN,
-                  ("rulesPackageArn" .=) <$> _aaarpRulesPackageARN])
+                 [Just ("assessmentArn" .= _aaarpAssessmentARN),
+                  Just ("rulesPackageArn" .= _aaarpRulesPackageARN)])
 
 instance ToPath AttachAssessmentAndRulesPackage where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/CreateApplication.hs b/gen/Network/AWS/Inspector/CreateApplication.hs
--- a/gen/Network/AWS/Inspector/CreateApplication.hs
+++ b/gen/Network/AWS/Inspector/CreateApplication.hs
@@ -31,8 +31,8 @@
       createApplication
     , CreateApplication
     -- * Request Lenses
-    , caResourceGroupARN
     , caApplicationName
+    , caResourceGroupARN
 
     -- * Destructuring the Response
     , createApplicationResponse
@@ -44,41 +44,44 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'createApplication' smart constructor.
 data CreateApplication = CreateApplication'
-    { _caResourceGroupARN :: !(Maybe Text)
-    , _caApplicationName  :: !(Maybe Text)
+    { _caApplicationName  :: !Text
+    , _caResourceGroupARN :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'CreateApplication' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'caResourceGroupARN'
---
 -- * 'caApplicationName'
+--
+-- * 'caResourceGroupARN'
 createApplication
-    :: CreateApplication
-createApplication =
+    :: Text -- ^ 'caApplicationName'
+    -> Text -- ^ 'caResourceGroupARN'
+    -> CreateApplication
+createApplication pApplicationName_ pResourceGroupARN_ =
     CreateApplication'
-    { _caResourceGroupARN = Nothing
-    , _caApplicationName = Nothing
+    { _caApplicationName = pApplicationName_
+    , _caResourceGroupARN = pResourceGroupARN_
     }
 
--- | The ARN specifying the resource group that is used to create the
--- application.
-caResourceGroupARN :: Lens' CreateApplication (Maybe Text)
-caResourceGroupARN = lens _caResourceGroupARN (\ s a -> s{_caResourceGroupARN = a});
-
 -- | The user-defined name identifying the application that you want to
 -- create. The name must be unique within the AWS account.
-caApplicationName :: Lens' CreateApplication (Maybe Text)
+caApplicationName :: Lens' CreateApplication Text
 caApplicationName = lens _caApplicationName (\ s a -> s{_caApplicationName = a});
 
+-- | The ARN specifying the resource group that is used to create the
+-- application.
+caResourceGroupARN :: Lens' CreateApplication Text
+caResourceGroupARN = lens _caResourceGroupARN (\ s a -> s{_caResourceGroupARN = a});
+
 instance AWSRequest CreateApplication where
         type Rs CreateApplication = CreateApplicationResponse
         request = postJSON inspector
@@ -101,8 +104,8 @@
         toJSON CreateApplication'{..}
           = object
               (catMaybes
-                 [("resourceGroupArn" .=) <$> _caResourceGroupARN,
-                  ("applicationName" .=) <$> _caApplicationName])
+                 [Just ("applicationName" .= _caApplicationName),
+                  Just ("resourceGroupArn" .= _caResourceGroupARN)])
 
 instance ToPath CreateApplication where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/CreateAssessment.hs b/gen/Network/AWS/Inspector/CreateAssessment.hs
--- a/gen/Network/AWS/Inspector/CreateAssessment.hs
+++ b/gen/Network/AWS/Inspector/CreateAssessment.hs
@@ -28,10 +28,10 @@
       createAssessment
     , CreateAssessment
     -- * Request Lenses
-    , caApplicationARN
     , caUserAttributesForFindings
-    , caDurationInSeconds
+    , caApplicationARN
     , caAssessmentName
+    , caDurationInSeconds
 
     -- * Destructuring the Response
     , createAssessmentResponse
@@ -43,61 +43,65 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'createAssessment' smart constructor.
 data CreateAssessment = CreateAssessment'
-    { _caApplicationARN            :: !(Maybe Text)
-    , _caUserAttributesForFindings :: !(Maybe [Attribute])
-    , _caDurationInSeconds         :: !(Maybe Int)
-    , _caAssessmentName            :: !(Maybe Text)
+    { _caUserAttributesForFindings :: !(Maybe [Attribute])
+    , _caApplicationARN            :: !Text
+    , _caAssessmentName            :: !Text
+    , _caDurationInSeconds         :: !Int
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'CreateAssessment' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'caApplicationARN'
---
 -- * 'caUserAttributesForFindings'
 --
--- * 'caDurationInSeconds'
+-- * 'caApplicationARN'
 --
 -- * 'caAssessmentName'
+--
+-- * 'caDurationInSeconds'
 createAssessment
-    :: CreateAssessment
-createAssessment =
+    :: Text -- ^ 'caApplicationARN'
+    -> Text -- ^ 'caAssessmentName'
+    -> Int -- ^ 'caDurationInSeconds'
+    -> CreateAssessment
+createAssessment pApplicationARN_ pAssessmentName_ pDurationInSeconds_ =
     CreateAssessment'
-    { _caApplicationARN = Nothing
-    , _caUserAttributesForFindings = Nothing
-    , _caDurationInSeconds = Nothing
-    , _caAssessmentName = Nothing
+    { _caUserAttributesForFindings = Nothing
+    , _caApplicationARN = pApplicationARN_
+    , _caAssessmentName = pAssessmentName_
+    , _caDurationInSeconds = pDurationInSeconds_
     }
 
--- | The ARN specifying the application for which you want to create an
--- assessment.
-caApplicationARN :: Lens' CreateAssessment (Maybe Text)
-caApplicationARN = lens _caApplicationARN (\ s a -> s{_caApplicationARN = a});
-
 -- | The user-defined attributes that are assigned to every finding generated
 -- by running this assessment.
 caUserAttributesForFindings :: Lens' CreateAssessment [Attribute]
 caUserAttributesForFindings = lens _caUserAttributesForFindings (\ s a -> s{_caUserAttributesForFindings = a}) . _Default . _Coerce;
 
--- | The duration of the assessment in seconds. The default value is 3600
--- seconds (one hour). The maximum value is 86400 seconds (one day).
-caDurationInSeconds :: Lens' CreateAssessment (Maybe Int)
-caDurationInSeconds = lens _caDurationInSeconds (\ s a -> s{_caDurationInSeconds = a});
+-- | The ARN specifying the application for which you want to create an
+-- assessment.
+caApplicationARN :: Lens' CreateAssessment Text
+caApplicationARN = lens _caApplicationARN (\ s a -> s{_caApplicationARN = a});
 
 -- | The user-defined name identifying the assessment that you want to
 -- create. You can create several assessments for an application. The names
 -- of the assessments corresponding to a particular application must be
 -- unique.
-caAssessmentName :: Lens' CreateAssessment (Maybe Text)
+caAssessmentName :: Lens' CreateAssessment Text
 caAssessmentName = lens _caAssessmentName (\ s a -> s{_caAssessmentName = a});
 
+-- | The duration of the assessment in seconds. The default value is 3600
+-- seconds (one hour). The maximum value is 86400 seconds (one day).
+caDurationInSeconds :: Lens' CreateAssessment Int
+caDurationInSeconds = lens _caDurationInSeconds (\ s a -> s{_caDurationInSeconds = a});
+
 instance AWSRequest CreateAssessment where
         type Rs CreateAssessment = CreateAssessmentResponse
         request = postJSON inspector
@@ -120,11 +124,11 @@
         toJSON CreateAssessment'{..}
           = object
               (catMaybes
-                 [("applicationArn" .=) <$> _caApplicationARN,
-                  ("userAttributesForFindings" .=) <$>
+                 [("userAttributesForFindings" .=) <$>
                     _caUserAttributesForFindings,
-                  ("durationInSeconds" .=) <$> _caDurationInSeconds,
-                  ("assessmentName" .=) <$> _caAssessmentName])
+                  Just ("applicationArn" .= _caApplicationARN),
+                  Just ("assessmentName" .= _caAssessmentName),
+                  Just ("durationInSeconds" .= _caDurationInSeconds)])
 
 instance ToPath CreateAssessment where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/CreateResourceGroup.hs b/gen/Network/AWS/Inspector/CreateResourceGroup.hs
--- a/gen/Network/AWS/Inspector/CreateResourceGroup.hs
+++ b/gen/Network/AWS/Inspector/CreateResourceGroup.hs
@@ -42,13 +42,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'createResourceGroup' smart constructor.
 newtype CreateResourceGroup = CreateResourceGroup'
-    { _crgResourceGroupTags :: Maybe Text
+    { _crgResourceGroupTags :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'CreateResourceGroup' with the minimum fields required to make a request.
@@ -57,17 +58,18 @@
 --
 -- * 'crgResourceGroupTags'
 createResourceGroup
-    :: CreateResourceGroup
-createResourceGroup =
+    :: Text -- ^ 'crgResourceGroupTags'
+    -> CreateResourceGroup
+createResourceGroup pResourceGroupTags_ =
     CreateResourceGroup'
-    { _crgResourceGroupTags = Nothing
+    { _crgResourceGroupTags = pResourceGroupTags_
     }
 
 -- | A collection of keys and an array of possible values in JSON format.
 --
 -- For example, [{ \"key1\" : [\"Value1\",\"Value2\"]},{\"Key2\":
 -- [\"Value3\"]}]
-crgResourceGroupTags :: Lens' CreateResourceGroup (Maybe Text)
+crgResourceGroupTags :: Lens' CreateResourceGroup Text
 crgResourceGroupTags = lens _crgResourceGroupTags (\ s a -> s{_crgResourceGroupTags = a});
 
 instance AWSRequest CreateResourceGroup where
@@ -94,7 +96,8 @@
         toJSON CreateResourceGroup'{..}
           = object
               (catMaybes
-                 [("resourceGroupTags" .=) <$> _crgResourceGroupTags])
+                 [Just
+                    ("resourceGroupTags" .= _crgResourceGroupTags)])
 
 instance ToPath CreateResourceGroup where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DeleteApplication.hs b/gen/Network/AWS/Inspector/DeleteApplication.hs
--- a/gen/Network/AWS/Inspector/DeleteApplication.hs
+++ b/gen/Network/AWS/Inspector/DeleteApplication.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'deleteApplication' smart constructor.
 newtype DeleteApplication = DeleteApplication'
-    { _dApplicationARN :: Maybe Text
+    { _dApplicationARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DeleteApplication' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'dApplicationARN'
 deleteApplication
-    :: DeleteApplication
-deleteApplication =
+    :: Text -- ^ 'dApplicationARN'
+    -> DeleteApplication
+deleteApplication pApplicationARN_ =
     DeleteApplication'
-    { _dApplicationARN = Nothing
+    { _dApplicationARN = pApplicationARN_
     }
 
 -- | The ARN specifying the application that you want to delete.
-dApplicationARN :: Lens' DeleteApplication (Maybe Text)
+dApplicationARN :: Lens' DeleteApplication Text
 dApplicationARN = lens _dApplicationARN (\ s a -> s{_dApplicationARN = a});
 
 instance AWSRequest DeleteApplication where
@@ -86,7 +88,7 @@
         toJSON DeleteApplication'{..}
           = object
               (catMaybes
-                 [("applicationArn" .=) <$> _dApplicationARN])
+                 [Just ("applicationArn" .= _dApplicationARN)])
 
 instance ToPath DeleteApplication where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DeleteAssessment.hs b/gen/Network/AWS/Inspector/DeleteAssessment.hs
--- a/gen/Network/AWS/Inspector/DeleteAssessment.hs
+++ b/gen/Network/AWS/Inspector/DeleteAssessment.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'deleteAssessment' smart constructor.
 newtype DeleteAssessment = DeleteAssessment'
-    { _daAssessmentARN :: Maybe Text
+    { _daAssessmentARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DeleteAssessment' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'daAssessmentARN'
 deleteAssessment
-    :: DeleteAssessment
-deleteAssessment =
+    :: Text -- ^ 'daAssessmentARN'
+    -> DeleteAssessment
+deleteAssessment pAssessmentARN_ =
     DeleteAssessment'
-    { _daAssessmentARN = Nothing
+    { _daAssessmentARN = pAssessmentARN_
     }
 
 -- | The ARN specifying the assessment that you want to delete.
-daAssessmentARN :: Lens' DeleteAssessment (Maybe Text)
+daAssessmentARN :: Lens' DeleteAssessment Text
 daAssessmentARN = lens _daAssessmentARN (\ s a -> s{_daAssessmentARN = a});
 
 instance AWSRequest DeleteAssessment where
@@ -86,7 +88,7 @@
         toJSON DeleteAssessment'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _daAssessmentARN])
+                 [Just ("assessmentArn" .= _daAssessmentARN)])
 
 instance ToPath DeleteAssessment where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DeleteRun.hs b/gen/Network/AWS/Inspector/DeleteRun.hs
--- a/gen/Network/AWS/Inspector/DeleteRun.hs
+++ b/gen/Network/AWS/Inspector/DeleteRun.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'deleteRun' smart constructor.
 newtype DeleteRun = DeleteRun'
-    { _dRunARN :: Maybe Text
+    { _dRunARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DeleteRun' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'dRunARN'
 deleteRun
-    :: DeleteRun
-deleteRun =
+    :: Text -- ^ 'dRunARN'
+    -> DeleteRun
+deleteRun pRunARN_ =
     DeleteRun'
-    { _dRunARN = Nothing
+    { _dRunARN = pRunARN_
     }
 
 -- | The ARN specifying the assessment run that you want to delete.
-dRunARN :: Lens' DeleteRun (Maybe Text)
+dRunARN :: Lens' DeleteRun Text
 dRunARN = lens _dRunARN (\ s a -> s{_dRunARN = a});
 
 instance AWSRequest DeleteRun where
@@ -84,7 +86,7 @@
 
 instance ToJSON DeleteRun where
         toJSON DeleteRun'{..}
-          = object (catMaybes [("runArn" .=) <$> _dRunARN])
+          = object (catMaybes [Just ("runArn" .= _dRunARN)])
 
 instance ToPath DeleteRun where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DescribeApplication.hs b/gen/Network/AWS/Inspector/DescribeApplication.hs
--- a/gen/Network/AWS/Inspector/DescribeApplication.hs
+++ b/gen/Network/AWS/Inspector/DescribeApplication.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'describeApplication' smart constructor.
 newtype DescribeApplication = DescribeApplication'
-    { _daApplicationARN :: Maybe Text
+    { _daApplicationARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeApplication' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'daApplicationARN'
 describeApplication
-    :: DescribeApplication
-describeApplication =
+    :: Text -- ^ 'daApplicationARN'
+    -> DescribeApplication
+describeApplication pApplicationARN_ =
     DescribeApplication'
-    { _daApplicationARN = Nothing
+    { _daApplicationARN = pApplicationARN_
     }
 
 -- | The ARN specifying the application that you want to describe.
-daApplicationARN :: Lens' DescribeApplication (Maybe Text)
+daApplicationARN :: Lens' DescribeApplication Text
 daApplicationARN = lens _daApplicationARN (\ s a -> s{_daApplicationARN = a});
 
 instance AWSRequest DescribeApplication where
@@ -88,7 +90,7 @@
         toJSON DescribeApplication'{..}
           = object
               (catMaybes
-                 [("applicationArn" .=) <$> _daApplicationARN])
+                 [Just ("applicationArn" .= _daApplicationARN)])
 
 instance ToPath DescribeApplication where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DescribeAssessment.hs b/gen/Network/AWS/Inspector/DescribeAssessment.hs
--- a/gen/Network/AWS/Inspector/DescribeAssessment.hs
+++ b/gen/Network/AWS/Inspector/DescribeAssessment.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'describeAssessment' smart constructor.
 newtype DescribeAssessment = DescribeAssessment'
-    { _dAssessmentARN :: Maybe Text
+    { _dAssessmentARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeAssessment' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'dAssessmentARN'
 describeAssessment
-    :: DescribeAssessment
-describeAssessment =
+    :: Text -- ^ 'dAssessmentARN'
+    -> DescribeAssessment
+describeAssessment pAssessmentARN_ =
     DescribeAssessment'
-    { _dAssessmentARN = Nothing
+    { _dAssessmentARN = pAssessmentARN_
     }
 
 -- | The ARN specifying the assessment that you want to describe.
-dAssessmentARN :: Lens' DescribeAssessment (Maybe Text)
+dAssessmentARN :: Lens' DescribeAssessment Text
 dAssessmentARN = lens _dAssessmentARN (\ s a -> s{_dAssessmentARN = a});
 
 instance AWSRequest DescribeAssessment where
@@ -88,7 +90,7 @@
         toJSON DescribeAssessment'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _dAssessmentARN])
+                 [Just ("assessmentArn" .= _dAssessmentARN)])
 
 instance ToPath DescribeAssessment where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DescribeCrossAccountAccessRole.hs b/gen/Network/AWS/Inspector/DescribeCrossAccountAccessRole.hs
--- a/gen/Network/AWS/Inspector/DescribeCrossAccountAccessRole.hs
+++ b/gen/Network/AWS/Inspector/DescribeCrossAccountAccessRole.hs
@@ -39,6 +39,7 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/Inspector/DescribeFinding.hs b/gen/Network/AWS/Inspector/DescribeFinding.hs
--- a/gen/Network/AWS/Inspector/DescribeFinding.hs
+++ b/gen/Network/AWS/Inspector/DescribeFinding.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'describeFinding' smart constructor.
 newtype DescribeFinding = DescribeFinding'
-    { _dfFindingARN :: Maybe Text
+    { _dfFindingARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeFinding' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'dfFindingARN'
 describeFinding
-    :: DescribeFinding
-describeFinding =
+    :: Text -- ^ 'dfFindingARN'
+    -> DescribeFinding
+describeFinding pFindingARN_ =
     DescribeFinding'
-    { _dfFindingARN = Nothing
+    { _dfFindingARN = pFindingARN_
     }
 
 -- | The ARN specifying the finding that you want to describe.
-dfFindingARN :: Lens' DescribeFinding (Maybe Text)
+dfFindingARN :: Lens' DescribeFinding Text
 dfFindingARN = lens _dfFindingARN (\ s a -> s{_dfFindingARN = a});
 
 instance AWSRequest DescribeFinding where
@@ -85,7 +87,7 @@
 instance ToJSON DescribeFinding where
         toJSON DescribeFinding'{..}
           = object
-              (catMaybes [("findingArn" .=) <$> _dfFindingARN])
+              (catMaybes [Just ("findingArn" .= _dfFindingARN)])
 
 instance ToPath DescribeFinding where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DescribeResourceGroup.hs b/gen/Network/AWS/Inspector/DescribeResourceGroup.hs
--- a/gen/Network/AWS/Inspector/DescribeResourceGroup.hs
+++ b/gen/Network/AWS/Inspector/DescribeResourceGroup.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'describeResourceGroup' smart constructor.
 newtype DescribeResourceGroup = DescribeResourceGroup'
-    { _drgResourceGroupARN :: Maybe Text
+    { _drgResourceGroupARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeResourceGroup' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'drgResourceGroupARN'
 describeResourceGroup
-    :: DescribeResourceGroup
-describeResourceGroup =
+    :: Text -- ^ 'drgResourceGroupARN'
+    -> DescribeResourceGroup
+describeResourceGroup pResourceGroupARN_ =
     DescribeResourceGroup'
-    { _drgResourceGroupARN = Nothing
+    { _drgResourceGroupARN = pResourceGroupARN_
     }
 
 -- | The ARN specifying the resource group that you want to describe.
-drgResourceGroupARN :: Lens' DescribeResourceGroup (Maybe Text)
+drgResourceGroupARN :: Lens' DescribeResourceGroup Text
 drgResourceGroupARN = lens _drgResourceGroupARN (\ s a -> s{_drgResourceGroupARN = a});
 
 instance AWSRequest DescribeResourceGroup where
@@ -88,7 +90,7 @@
         toJSON DescribeResourceGroup'{..}
           = object
               (catMaybes
-                 [("resourceGroupArn" .=) <$> _drgResourceGroupARN])
+                 [Just ("resourceGroupArn" .= _drgResourceGroupARN)])
 
 instance ToPath DescribeResourceGroup where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DescribeRulesPackage.hs b/gen/Network/AWS/Inspector/DescribeRulesPackage.hs
--- a/gen/Network/AWS/Inspector/DescribeRulesPackage.hs
+++ b/gen/Network/AWS/Inspector/DescribeRulesPackage.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'describeRulesPackage' smart constructor.
 newtype DescribeRulesPackage = DescribeRulesPackage'
-    { _drpRulesPackageARN :: Maybe Text
+    { _drpRulesPackageARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeRulesPackage' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'drpRulesPackageARN'
 describeRulesPackage
-    :: DescribeRulesPackage
-describeRulesPackage =
+    :: Text -- ^ 'drpRulesPackageARN'
+    -> DescribeRulesPackage
+describeRulesPackage pRulesPackageARN_ =
     DescribeRulesPackage'
-    { _drpRulesPackageARN = Nothing
+    { _drpRulesPackageARN = pRulesPackageARN_
     }
 
 -- | The ARN specifying the rules package that you want to describe.
-drpRulesPackageARN :: Lens' DescribeRulesPackage (Maybe Text)
+drpRulesPackageARN :: Lens' DescribeRulesPackage Text
 drpRulesPackageARN = lens _drpRulesPackageARN (\ s a -> s{_drpRulesPackageARN = a});
 
 instance AWSRequest DescribeRulesPackage where
@@ -88,7 +90,7 @@
         toJSON DescribeRulesPackage'{..}
           = object
               (catMaybes
-                 [("rulesPackageArn" .=) <$> _drpRulesPackageARN])
+                 [Just ("rulesPackageArn" .= _drpRulesPackageARN)])
 
 instance ToPath DescribeRulesPackage where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DescribeRun.hs b/gen/Network/AWS/Inspector/DescribeRun.hs
--- a/gen/Network/AWS/Inspector/DescribeRun.hs
+++ b/gen/Network/AWS/Inspector/DescribeRun.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'describeRun' smart constructor.
 newtype DescribeRun = DescribeRun'
-    { _drRunARN :: Maybe Text
+    { _drRunARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DescribeRun' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'drRunARN'
 describeRun
-    :: DescribeRun
-describeRun =
+    :: Text -- ^ 'drRunARN'
+    -> DescribeRun
+describeRun pRunARN_ =
     DescribeRun'
-    { _drRunARN = Nothing
+    { _drRunARN = pRunARN_
     }
 
 -- | The ARN specifying the assessment run that you want to describe.
-drRunARN :: Lens' DescribeRun (Maybe Text)
+drRunARN :: Lens' DescribeRun Text
 drRunARN = lens _drRunARN (\ s a -> s{_drRunARN = a});
 
 instance AWSRequest DescribeRun where
@@ -84,7 +86,7 @@
 
 instance ToJSON DescribeRun where
         toJSON DescribeRun'{..}
-          = object (catMaybes [("runArn" .=) <$> _drRunARN])
+          = object (catMaybes [Just ("runArn" .= _drRunARN)])
 
 instance ToPath DescribeRun where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/DetachAssessmentAndRulesPackage.hs b/gen/Network/AWS/Inspector/DetachAssessmentAndRulesPackage.hs
--- a/gen/Network/AWS/Inspector/DetachAssessmentAndRulesPackage.hs
+++ b/gen/Network/AWS/Inspector/DetachAssessmentAndRulesPackage.hs
@@ -41,14 +41,15 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'detachAssessmentAndRulesPackage' smart constructor.
 data DetachAssessmentAndRulesPackage = DetachAssessmentAndRulesPackage'
-    { _daarpAssessmentARN   :: !(Maybe Text)
-    , _daarpRulesPackageARN :: !(Maybe Text)
+    { _daarpAssessmentARN   :: !Text
+    , _daarpRulesPackageARN :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'DetachAssessmentAndRulesPackage' with the minimum fields required to make a request.
@@ -59,21 +60,23 @@
 --
 -- * 'daarpRulesPackageARN'
 detachAssessmentAndRulesPackage
-    :: DetachAssessmentAndRulesPackage
-detachAssessmentAndRulesPackage =
+    :: Text -- ^ 'daarpAssessmentARN'
+    -> Text -- ^ 'daarpRulesPackageARN'
+    -> DetachAssessmentAndRulesPackage
+detachAssessmentAndRulesPackage pAssessmentARN_ pRulesPackageARN_ =
     DetachAssessmentAndRulesPackage'
-    { _daarpAssessmentARN = Nothing
-    , _daarpRulesPackageARN = Nothing
+    { _daarpAssessmentARN = pAssessmentARN_
+    , _daarpRulesPackageARN = pRulesPackageARN_
     }
 
 -- | The ARN specifying the assessment from which you want to detach a rules
 -- package.
-daarpAssessmentARN :: Lens' DetachAssessmentAndRulesPackage (Maybe Text)
+daarpAssessmentARN :: Lens' DetachAssessmentAndRulesPackage Text
 daarpAssessmentARN = lens _daarpAssessmentARN (\ s a -> s{_daarpAssessmentARN = a});
 
 -- | The ARN specifying the rules package that you want to detach from the
 -- assessment.
-daarpRulesPackageARN :: Lens' DetachAssessmentAndRulesPackage (Maybe Text)
+daarpRulesPackageARN :: Lens' DetachAssessmentAndRulesPackage Text
 daarpRulesPackageARN = lens _daarpRulesPackageARN (\ s a -> s{_daarpRulesPackageARN = a});
 
 instance AWSRequest DetachAssessmentAndRulesPackage
@@ -102,8 +105,8 @@
         toJSON DetachAssessmentAndRulesPackage'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _daarpAssessmentARN,
-                  ("rulesPackageArn" .=) <$> _daarpRulesPackageARN])
+                 [Just ("assessmentArn" .= _daarpAssessmentARN),
+                  Just ("rulesPackageArn" .= _daarpRulesPackageARN)])
 
 instance ToPath DetachAssessmentAndRulesPackage where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/GetAssessmentTelemetry.hs b/gen/Network/AWS/Inspector/GetAssessmentTelemetry.hs
--- a/gen/Network/AWS/Inspector/GetAssessmentTelemetry.hs
+++ b/gen/Network/AWS/Inspector/GetAssessmentTelemetry.hs
@@ -40,13 +40,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'getAssessmentTelemetry' smart constructor.
 newtype GetAssessmentTelemetry = GetAssessmentTelemetry'
-    { _gatAssessmentARN :: Maybe Text
+    { _gatAssessmentARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'GetAssessmentTelemetry' with the minimum fields required to make a request.
@@ -55,15 +56,16 @@
 --
 -- * 'gatAssessmentARN'
 getAssessmentTelemetry
-    :: GetAssessmentTelemetry
-getAssessmentTelemetry =
+    :: Text -- ^ 'gatAssessmentARN'
+    -> GetAssessmentTelemetry
+getAssessmentTelemetry pAssessmentARN_ =
     GetAssessmentTelemetry'
-    { _gatAssessmentARN = Nothing
+    { _gatAssessmentARN = pAssessmentARN_
     }
 
 -- | The ARN specifying the assessment the telemetry of which you want to
 -- obtain.
-gatAssessmentARN :: Lens' GetAssessmentTelemetry (Maybe Text)
+gatAssessmentARN :: Lens' GetAssessmentTelemetry Text
 gatAssessmentARN = lens _gatAssessmentARN (\ s a -> s{_gatAssessmentARN = a});
 
 instance AWSRequest GetAssessmentTelemetry where
@@ -91,7 +93,7 @@
         toJSON GetAssessmentTelemetry'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _gatAssessmentARN])
+                 [Just ("assessmentArn" .= _gatAssessmentARN)])
 
 instance ToPath GetAssessmentTelemetry where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/ListApplications.hs b/gen/Network/AWS/Inspector/ListApplications.hs
--- a/gen/Network/AWS/Inspector/ListApplications.hs
+++ b/gen/Network/AWS/Inspector/ListApplications.hs
@@ -44,6 +44,7 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/Inspector/ListAssessmentAgents.hs b/gen/Network/AWS/Inspector/ListAssessmentAgents.hs
--- a/gen/Network/AWS/Inspector/ListAssessmentAgents.hs
+++ b/gen/Network/AWS/Inspector/ListAssessmentAgents.hs
@@ -27,10 +27,10 @@
       listAssessmentAgents
     , ListAssessmentAgents
     -- * Request Lenses
-    , laasAssessmentARN
     , laasNextToken
     , laasFilter
     , laasMaxResults
+    , laasAssessmentARN
 
     -- * Destructuring the Response
     , listAssessmentAgentsResponse
@@ -43,43 +43,41 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'listAssessmentAgents' smart constructor.
 data ListAssessmentAgents = ListAssessmentAgents'
-    { _laasAssessmentARN :: !(Maybe Text)
-    , _laasNextToken     :: !(Maybe Text)
+    { _laasNextToken     :: !(Maybe Text)
     , _laasFilter        :: !(Maybe AgentsFilter)
     , _laasMaxResults    :: !(Maybe Int)
+    , _laasAssessmentARN :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'ListAssessmentAgents' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'laasAssessmentARN'
---
 -- * 'laasNextToken'
 --
 -- * 'laasFilter'
 --
 -- * 'laasMaxResults'
+--
+-- * 'laasAssessmentARN'
 listAssessmentAgents
-    :: ListAssessmentAgents
-listAssessmentAgents =
+    :: Text -- ^ 'laasAssessmentARN'
+    -> ListAssessmentAgents
+listAssessmentAgents pAssessmentARN_ =
     ListAssessmentAgents'
-    { _laasAssessmentARN = Nothing
-    , _laasNextToken = Nothing
+    { _laasNextToken = Nothing
     , _laasFilter = Nothing
     , _laasMaxResults = Nothing
+    , _laasAssessmentARN = pAssessmentARN_
     }
 
--- | The ARN specifying the assessment whose agents you want to list.
-laasAssessmentARN :: Lens' ListAssessmentAgents (Maybe Text)
-laasAssessmentARN = lens _laasAssessmentARN (\ s a -> s{_laasAssessmentARN = a});
-
 -- | You can use this parameter when paginating results. Set the value of
 -- this parameter to \'null\' on your first call to the
 -- __ListAssessmentAgents__ action. Subsequent calls to the action fill
@@ -102,6 +100,10 @@
 laasMaxResults :: Lens' ListAssessmentAgents (Maybe Int)
 laasMaxResults = lens _laasMaxResults (\ s a -> s{_laasMaxResults = a});
 
+-- | The ARN specifying the assessment whose agents you want to list.
+laasAssessmentARN :: Lens' ListAssessmentAgents Text
+laasAssessmentARN = lens _laasAssessmentARN (\ s a -> s{_laasAssessmentARN = a});
+
 instance AWSRequest ListAssessmentAgents where
         type Rs ListAssessmentAgents =
              ListAssessmentAgentsResponse
@@ -128,10 +130,10 @@
         toJSON ListAssessmentAgents'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _laasAssessmentARN,
-                  ("nextToken" .=) <$> _laasNextToken,
+                 [("nextToken" .=) <$> _laasNextToken,
                   ("filter" .=) <$> _laasFilter,
-                  ("maxResults" .=) <$> _laasMaxResults])
+                  ("maxResults" .=) <$> _laasMaxResults,
+                  Just ("assessmentArn" .= _laasAssessmentARN)])
 
 instance ToPath ListAssessmentAgents where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/ListAssessments.hs b/gen/Network/AWS/Inspector/ListAssessments.hs
--- a/gen/Network/AWS/Inspector/ListAssessments.hs
+++ b/gen/Network/AWS/Inspector/ListAssessments.hs
@@ -44,6 +44,7 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/Inspector/ListAttachedAssessments.hs b/gen/Network/AWS/Inspector/ListAttachedAssessments.hs
--- a/gen/Network/AWS/Inspector/ListAttachedAssessments.hs
+++ b/gen/Network/AWS/Inspector/ListAttachedAssessments.hs
@@ -29,9 +29,9 @@
     , ListAttachedAssessments
     -- * Request Lenses
     , laaNextToken
-    , laaRulesPackageARN
     , laaFilter
     , laaMaxResults
+    , laaRulesPackageARN
 
     -- * Destructuring the Response
     , listAttachedAssessmentsResponse
@@ -44,6 +44,7 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
@@ -51,9 +52,9 @@
 -- | /See:/ 'listAttachedAssessments' smart constructor.
 data ListAttachedAssessments = ListAttachedAssessments'
     { _laaNextToken       :: !(Maybe Text)
-    , _laaRulesPackageARN :: !(Maybe Text)
     , _laaFilter          :: !(Maybe AssessmentsFilter)
     , _laaMaxResults      :: !(Maybe Int)
+    , _laaRulesPackageARN :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'ListAttachedAssessments' with the minimum fields required to make a request.
@@ -62,19 +63,20 @@
 --
 -- * 'laaNextToken'
 --
--- * 'laaRulesPackageARN'
---
 -- * 'laaFilter'
 --
 -- * 'laaMaxResults'
+--
+-- * 'laaRulesPackageARN'
 listAttachedAssessments
-    :: ListAttachedAssessments
-listAttachedAssessments =
+    :: Text -- ^ 'laaRulesPackageARN'
+    -> ListAttachedAssessments
+listAttachedAssessments pRulesPackageARN_ =
     ListAttachedAssessments'
     { _laaNextToken = Nothing
-    , _laaRulesPackageARN = Nothing
     , _laaFilter = Nothing
     , _laaMaxResults = Nothing
+    , _laaRulesPackageARN = pRulesPackageARN_
     }
 
 -- | You can use this parameter when paginating results. Set the value of
@@ -85,10 +87,6 @@
 laaNextToken :: Lens' ListAttachedAssessments (Maybe Text)
 laaNextToken = lens _laaNextToken (\ s a -> s{_laaNextToken = a});
 
--- | The ARN specifying the rules package whose assessments you want to list.
-laaRulesPackageARN :: Lens' ListAttachedAssessments (Maybe Text)
-laaRulesPackageARN = lens _laaRulesPackageARN (\ s a -> s{_laaRulesPackageARN = a});
-
 -- | You can use this parameter to specify a subset of data to be included in
 -- the action\'s response.
 --
@@ -103,6 +101,10 @@
 laaMaxResults :: Lens' ListAttachedAssessments (Maybe Int)
 laaMaxResults = lens _laaMaxResults (\ s a -> s{_laaMaxResults = a});
 
+-- | The ARN specifying the rules package whose assessments you want to list.
+laaRulesPackageARN :: Lens' ListAttachedAssessments Text
+laaRulesPackageARN = lens _laaRulesPackageARN (\ s a -> s{_laaRulesPackageARN = a});
+
 instance AWSRequest ListAttachedAssessments where
         type Rs ListAttachedAssessments =
              ListAttachedAssessmentsResponse
@@ -130,9 +132,9 @@
           = object
               (catMaybes
                  [("nextToken" .=) <$> _laaNextToken,
-                  ("rulesPackageArn" .=) <$> _laaRulesPackageARN,
                   ("filter" .=) <$> _laaFilter,
-                  ("maxResults" .=) <$> _laaMaxResults])
+                  ("maxResults" .=) <$> _laaMaxResults,
+                  Just ("rulesPackageArn" .= _laaRulesPackageARN)])
 
 instance ToPath ListAttachedAssessments where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/ListAttachedRulesPackages.hs b/gen/Network/AWS/Inspector/ListAttachedRulesPackages.hs
--- a/gen/Network/AWS/Inspector/ListAttachedRulesPackages.hs
+++ b/gen/Network/AWS/Inspector/ListAttachedRulesPackages.hs
@@ -28,9 +28,9 @@
       listAttachedRulesPackages
     , ListAttachedRulesPackages
     -- * Request Lenses
-    , larpAssessmentARN
     , larpNextToken
     , larpMaxResults
+    , larpAssessmentARN
 
     -- * Destructuring the Response
     , listAttachedRulesPackagesResponse
@@ -43,39 +43,37 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'listAttachedRulesPackages' smart constructor.
 data ListAttachedRulesPackages = ListAttachedRulesPackages'
-    { _larpAssessmentARN :: !(Maybe Text)
-    , _larpNextToken     :: !(Maybe Text)
+    { _larpNextToken     :: !(Maybe Text)
     , _larpMaxResults    :: !(Maybe Int)
+    , _larpAssessmentARN :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'ListAttachedRulesPackages' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'larpAssessmentARN'
---
 -- * 'larpNextToken'
 --
 -- * 'larpMaxResults'
+--
+-- * 'larpAssessmentARN'
 listAttachedRulesPackages
-    :: ListAttachedRulesPackages
-listAttachedRulesPackages =
+    :: Text -- ^ 'larpAssessmentARN'
+    -> ListAttachedRulesPackages
+listAttachedRulesPackages pAssessmentARN_ =
     ListAttachedRulesPackages'
-    { _larpAssessmentARN = Nothing
-    , _larpNextToken = Nothing
+    { _larpNextToken = Nothing
     , _larpMaxResults = Nothing
+    , _larpAssessmentARN = pAssessmentARN_
     }
 
--- | The ARN specifying the assessment whose rules packages you want to list.
-larpAssessmentARN :: Lens' ListAttachedRulesPackages (Maybe Text)
-larpAssessmentARN = lens _larpAssessmentARN (\ s a -> s{_larpAssessmentARN = a});
-
 -- | You can use this parameter when paginating results. Set the value of
 -- this parameter to \'null\' on your first call to the
 -- __ListAttachedRulesPackages__ action. Subsequent calls to the action
@@ -89,6 +87,10 @@
 larpMaxResults :: Lens' ListAttachedRulesPackages (Maybe Int)
 larpMaxResults = lens _larpMaxResults (\ s a -> s{_larpMaxResults = a});
 
+-- | The ARN specifying the assessment whose rules packages you want to list.
+larpAssessmentARN :: Lens' ListAttachedRulesPackages Text
+larpAssessmentARN = lens _larpAssessmentARN (\ s a -> s{_larpAssessmentARN = a});
+
 instance AWSRequest ListAttachedRulesPackages where
         type Rs ListAttachedRulesPackages =
              ListAttachedRulesPackagesResponse
@@ -115,9 +117,9 @@
         toJSON ListAttachedRulesPackages'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _larpAssessmentARN,
-                  ("nextToken" .=) <$> _larpNextToken,
-                  ("maxResults" .=) <$> _larpMaxResults])
+                 [("nextToken" .=) <$> _larpNextToken,
+                  ("maxResults" .=) <$> _larpMaxResults,
+                  Just ("assessmentArn" .= _larpAssessmentARN)])
 
 instance ToPath ListAttachedRulesPackages where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/ListFindings.hs b/gen/Network/AWS/Inspector/ListFindings.hs
--- a/gen/Network/AWS/Inspector/ListFindings.hs
+++ b/gen/Network/AWS/Inspector/ListFindings.hs
@@ -44,6 +44,7 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/Inspector/ListRulesPackages.hs b/gen/Network/AWS/Inspector/ListRulesPackages.hs
--- a/gen/Network/AWS/Inspector/ListRulesPackages.hs
+++ b/gen/Network/AWS/Inspector/ListRulesPackages.hs
@@ -41,6 +41,7 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/Inspector/ListRuns.hs b/gen/Network/AWS/Inspector/ListRuns.hs
--- a/gen/Network/AWS/Inspector/ListRuns.hs
+++ b/gen/Network/AWS/Inspector/ListRuns.hs
@@ -44,6 +44,7 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
diff --git a/gen/Network/AWS/Inspector/ListTagsForResource.hs b/gen/Network/AWS/Inspector/ListTagsForResource.hs
--- a/gen/Network/AWS/Inspector/ListTagsForResource.hs
+++ b/gen/Network/AWS/Inspector/ListTagsForResource.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'listTagsForResource' smart constructor.
 newtype ListTagsForResource = ListTagsForResource'
-    { _ltfrResourceARN :: Maybe Text
+    { _ltfrResourceARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'ListTagsForResource' with the minimum fields required to make a request.
@@ -54,14 +55,15 @@
 --
 -- * 'ltfrResourceARN'
 listTagsForResource
-    :: ListTagsForResource
-listTagsForResource =
+    :: Text -- ^ 'ltfrResourceARN'
+    -> ListTagsForResource
+listTagsForResource pResourceARN_ =
     ListTagsForResource'
-    { _ltfrResourceARN = Nothing
+    { _ltfrResourceARN = pResourceARN_
     }
 
 -- | The ARN specifying the resource whose tags you want to list.
-ltfrResourceARN :: Lens' ListTagsForResource (Maybe Text)
+ltfrResourceARN :: Lens' ListTagsForResource Text
 ltfrResourceARN = lens _ltfrResourceARN (\ s a -> s{_ltfrResourceARN = a});
 
 instance AWSRequest ListTagsForResource where
@@ -87,7 +89,8 @@
 instance ToJSON ListTagsForResource where
         toJSON ListTagsForResource'{..}
           = object
-              (catMaybes [("resourceArn" .=) <$> _ltfrResourceARN])
+              (catMaybes
+                 [Just ("resourceArn" .= _ltfrResourceARN)])
 
 instance ToPath ListTagsForResource where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/LocalizeText.hs b/gen/Network/AWS/Inspector/LocalizeText.hs
--- a/gen/Network/AWS/Inspector/LocalizeText.hs
+++ b/gen/Network/AWS/Inspector/LocalizeText.hs
@@ -28,8 +28,8 @@
       localizeText
     , LocalizeText
     -- * Request Lenses
-    , ltLocale
     , ltLocalizedTexts
+    , ltLocale
 
     -- * Destructuring the Response
     , localizeTextResponse
@@ -42,39 +42,41 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'localizeText' smart constructor.
 data LocalizeText = LocalizeText'
-    { _ltLocale         :: !(Maybe Text)
-    , _ltLocalizedTexts :: !(Maybe [LocalizedText])
+    { _ltLocalizedTexts :: ![LocalizedText]
+    , _ltLocale         :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'LocalizeText' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'ltLocale'
---
 -- * 'ltLocalizedTexts'
+--
+-- * 'ltLocale'
 localizeText
-    :: LocalizeText
-localizeText =
+    :: Text -- ^ 'ltLocale'
+    -> LocalizeText
+localizeText pLocale_ =
     LocalizeText'
-    { _ltLocale = Nothing
-    , _ltLocalizedTexts = Nothing
+    { _ltLocalizedTexts = mempty
+    , _ltLocale = pLocale_
     }
 
--- | The locale that you want to translate a textual identifier into.
-ltLocale :: Lens' LocalizeText (Maybe Text)
-ltLocale = lens _ltLocale (\ s a -> s{_ltLocale = a});
-
 -- | A list of textual identifiers.
 ltLocalizedTexts :: Lens' LocalizeText [LocalizedText]
-ltLocalizedTexts = lens _ltLocalizedTexts (\ s a -> s{_ltLocalizedTexts = a}) . _Default . _Coerce;
+ltLocalizedTexts = lens _ltLocalizedTexts (\ s a -> s{_ltLocalizedTexts = a}) . _Coerce;
 
+-- | The locale that you want to translate a textual identifier into.
+ltLocale :: Lens' LocalizeText Text
+ltLocale = lens _ltLocale (\ s a -> s{_ltLocale = a});
+
 instance AWSRequest LocalizeText where
         type Rs LocalizeText = LocalizeTextResponse
         request = postJSON inspector
@@ -98,8 +100,8 @@
         toJSON LocalizeText'{..}
           = object
               (catMaybes
-                 [("locale" .=) <$> _ltLocale,
-                  ("localizedTexts" .=) <$> _ltLocalizedTexts])
+                 [Just ("localizedTexts" .= _ltLocalizedTexts),
+                  Just ("locale" .= _ltLocale)])
 
 instance ToPath LocalizeText where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/PreviewAgentsForResourceGroup.hs b/gen/Network/AWS/Inspector/PreviewAgentsForResourceGroup.hs
--- a/gen/Network/AWS/Inspector/PreviewAgentsForResourceGroup.hs
+++ b/gen/Network/AWS/Inspector/PreviewAgentsForResourceGroup.hs
@@ -28,9 +28,9 @@
       previewAgentsForResourceGroup
     , PreviewAgentsForResourceGroup
     -- * Request Lenses
-    , pafrgResourceGroupARN
     , pafrgNextToken
     , pafrgMaxResults
+    , pafrgResourceGroupARN
 
     -- * Destructuring the Response
     , previewAgentsForResourceGroupResponse
@@ -43,39 +43,37 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'previewAgentsForResourceGroup' smart constructor.
 data PreviewAgentsForResourceGroup = PreviewAgentsForResourceGroup'
-    { _pafrgResourceGroupARN :: !(Maybe Text)
-    , _pafrgNextToken        :: !(Maybe Text)
+    { _pafrgNextToken        :: !(Maybe Text)
     , _pafrgMaxResults       :: !(Maybe Int)
+    , _pafrgResourceGroupARN :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'PreviewAgentsForResourceGroup' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'pafrgResourceGroupARN'
---
 -- * 'pafrgNextToken'
 --
 -- * 'pafrgMaxResults'
+--
+-- * 'pafrgResourceGroupARN'
 previewAgentsForResourceGroup
-    :: PreviewAgentsForResourceGroup
-previewAgentsForResourceGroup =
+    :: Text -- ^ 'pafrgResourceGroupARN'
+    -> PreviewAgentsForResourceGroup
+previewAgentsForResourceGroup pResourceGroupARN_ =
     PreviewAgentsForResourceGroup'
-    { _pafrgResourceGroupARN = Nothing
-    , _pafrgNextToken = Nothing
+    { _pafrgNextToken = Nothing
     , _pafrgMaxResults = Nothing
+    , _pafrgResourceGroupARN = pResourceGroupARN_
     }
 
--- | The ARN of the resource group that is used to create an application.
-pafrgResourceGroupARN :: Lens' PreviewAgentsForResourceGroup (Maybe Text)
-pafrgResourceGroupARN = lens _pafrgResourceGroupARN (\ s a -> s{_pafrgResourceGroupARN = a});
-
 -- | You can use this parameter when paginating results. Set the value of
 -- this parameter to \'null\' on your first call to the
 -- __PreviewAgentsForResourceGroup__ action. Subsequent calls to the action
@@ -89,6 +87,10 @@
 pafrgMaxResults :: Lens' PreviewAgentsForResourceGroup (Maybe Int)
 pafrgMaxResults = lens _pafrgMaxResults (\ s a -> s{_pafrgMaxResults = a});
 
+-- | The ARN of the resource group that is used to create an application.
+pafrgResourceGroupARN :: Lens' PreviewAgentsForResourceGroup Text
+pafrgResourceGroupARN = lens _pafrgResourceGroupARN (\ s a -> s{_pafrgResourceGroupARN = a});
+
 instance AWSRequest PreviewAgentsForResourceGroup
          where
         type Rs PreviewAgentsForResourceGroup =
@@ -117,9 +119,9 @@
         toJSON PreviewAgentsForResourceGroup'{..}
           = object
               (catMaybes
-                 [("resourceGroupArn" .=) <$> _pafrgResourceGroupARN,
-                  ("nextToken" .=) <$> _pafrgNextToken,
-                  ("maxResults" .=) <$> _pafrgMaxResults])
+                 [("nextToken" .=) <$> _pafrgNextToken,
+                  ("maxResults" .=) <$> _pafrgMaxResults,
+                  Just ("resourceGroupArn" .= _pafrgResourceGroupARN)])
 
 instance ToPath PreviewAgentsForResourceGroup where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/RegisterCrossAccountAccessRole.hs b/gen/Network/AWS/Inspector/RegisterCrossAccountAccessRole.hs
--- a/gen/Network/AWS/Inspector/RegisterCrossAccountAccessRole.hs
+++ b/gen/Network/AWS/Inspector/RegisterCrossAccountAccessRole.hs
@@ -40,13 +40,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'registerCrossAccountAccessRole' smart constructor.
 newtype RegisterCrossAccountAccessRole = RegisterCrossAccountAccessRole'
-    { _rcaarRoleARN :: Maybe Text
+    { _rcaarRoleARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'RegisterCrossAccountAccessRole' with the minimum fields required to make a request.
@@ -55,15 +56,16 @@
 --
 -- * 'rcaarRoleARN'
 registerCrossAccountAccessRole
-    :: RegisterCrossAccountAccessRole
-registerCrossAccountAccessRole =
+    :: Text -- ^ 'rcaarRoleARN'
+    -> RegisterCrossAccountAccessRole
+registerCrossAccountAccessRole pRoleARN_ =
     RegisterCrossAccountAccessRole'
-    { _rcaarRoleARN = Nothing
+    { _rcaarRoleARN = pRoleARN_
     }
 
 -- | The ARN of the IAM role that Inspector uses to list your EC2 instances
 -- during the assessment.
-rcaarRoleARN :: Lens' RegisterCrossAccountAccessRole (Maybe Text)
+rcaarRoleARN :: Lens' RegisterCrossAccountAccessRole Text
 rcaarRoleARN = lens _rcaarRoleARN (\ s a -> s{_rcaarRoleARN = a});
 
 instance AWSRequest RegisterCrossAccountAccessRole
@@ -91,7 +93,7 @@
 instance ToJSON RegisterCrossAccountAccessRole where
         toJSON RegisterCrossAccountAccessRole'{..}
           = object
-              (catMaybes [("roleArn" .=) <$> _rcaarRoleARN])
+              (catMaybes [Just ("roleArn" .= _rcaarRoleARN)])
 
 instance ToPath RegisterCrossAccountAccessRole where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/RemoveAttributesFromFindings.hs b/gen/Network/AWS/Inspector/RemoveAttributesFromFindings.hs
--- a/gen/Network/AWS/Inspector/RemoveAttributesFromFindings.hs
+++ b/gen/Network/AWS/Inspector/RemoveAttributesFromFindings.hs
@@ -42,14 +42,15 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'removeAttributesFromFindings' smart constructor.
 data RemoveAttributesFromFindings = RemoveAttributesFromFindings'
-    { _raffFindingARNs   :: !(Maybe [Text])
-    , _raffAttributeKeys :: !(Maybe [Text])
+    { _raffFindingARNs   :: ![Text]
+    , _raffAttributeKeys :: ![Text]
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'RemoveAttributesFromFindings' with the minimum fields required to make a request.
@@ -63,19 +64,19 @@
     :: RemoveAttributesFromFindings
 removeAttributesFromFindings =
     RemoveAttributesFromFindings'
-    { _raffFindingARNs = Nothing
-    , _raffAttributeKeys = Nothing
+    { _raffFindingARNs = mempty
+    , _raffAttributeKeys = mempty
     }
 
 -- | The ARNs specifying the findings that you want to remove attributes
 -- from.
 raffFindingARNs :: Lens' RemoveAttributesFromFindings [Text]
-raffFindingARNs = lens _raffFindingARNs (\ s a -> s{_raffFindingARNs = a}) . _Default . _Coerce;
+raffFindingARNs = lens _raffFindingARNs (\ s a -> s{_raffFindingARNs = a}) . _Coerce;
 
 -- | The array of attribute keys that you want to remove from specified
 -- findings.
 raffAttributeKeys :: Lens' RemoveAttributesFromFindings [Text]
-raffAttributeKeys = lens _raffAttributeKeys (\ s a -> s{_raffAttributeKeys = a}) . _Default . _Coerce;
+raffAttributeKeys = lens _raffAttributeKeys (\ s a -> s{_raffAttributeKeys = a}) . _Coerce;
 
 instance AWSRequest RemoveAttributesFromFindings
          where
@@ -102,8 +103,8 @@
         toJSON RemoveAttributesFromFindings'{..}
           = object
               (catMaybes
-                 [("findingArns" .=) <$> _raffFindingARNs,
-                  ("attributeKeys" .=) <$> _raffAttributeKeys])
+                 [Just ("findingArns" .= _raffFindingARNs),
+                  Just ("attributeKeys" .= _raffAttributeKeys)])
 
 instance ToPath RemoveAttributesFromFindings where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/RunAssessment.hs b/gen/Network/AWS/Inspector/RunAssessment.hs
--- a/gen/Network/AWS/Inspector/RunAssessment.hs
+++ b/gen/Network/AWS/Inspector/RunAssessment.hs
@@ -41,14 +41,15 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'runAssessment' smart constructor.
 data RunAssessment = RunAssessment'
-    { _raAssessmentARN :: !(Maybe Text)
-    , _raRunName       :: !(Maybe Text)
+    { _raAssessmentARN :: !Text
+    , _raRunName       :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'RunAssessment' with the minimum fields required to make a request.
@@ -59,19 +60,21 @@
 --
 -- * 'raRunName'
 runAssessment
-    :: RunAssessment
-runAssessment =
+    :: Text -- ^ 'raAssessmentARN'
+    -> Text -- ^ 'raRunName'
+    -> RunAssessment
+runAssessment pAssessmentARN_ pRunName_ =
     RunAssessment'
-    { _raAssessmentARN = Nothing
-    , _raRunName = Nothing
+    { _raAssessmentARN = pAssessmentARN_
+    , _raRunName = pRunName_
     }
 
 -- | The ARN of the assessment that you want to run.
-raAssessmentARN :: Lens' RunAssessment (Maybe Text)
+raAssessmentARN :: Lens' RunAssessment Text
 raAssessmentARN = lens _raAssessmentARN (\ s a -> s{_raAssessmentARN = a});
 
 -- | A name specifying the run of the assessment.
-raRunName :: Lens' RunAssessment (Maybe Text)
+raRunName :: Lens' RunAssessment Text
 raRunName = lens _raRunName (\ s a -> s{_raRunName = a});
 
 instance AWSRequest RunAssessment where
@@ -96,8 +99,8 @@
         toJSON RunAssessment'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _raAssessmentARN,
-                  ("runName" .=) <$> _raRunName])
+                 [Just ("assessmentArn" .= _raAssessmentARN),
+                  Just ("runName" .= _raRunName)])
 
 instance ToPath RunAssessment where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/SetTagsForResource.hs b/gen/Network/AWS/Inspector/SetTagsForResource.hs
--- a/gen/Network/AWS/Inspector/SetTagsForResource.hs
+++ b/gen/Network/AWS/Inspector/SetTagsForResource.hs
@@ -28,8 +28,8 @@
       setTagsForResource
     , SetTagsForResource
     -- * Request Lenses
-    , stfrResourceARN
     , stfrTags
+    , stfrResourceARN
 
     -- * Destructuring the Response
     , setTagsForResourceResponse
@@ -41,40 +41,42 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'setTagsForResource' smart constructor.
 data SetTagsForResource = SetTagsForResource'
-    { _stfrResourceARN :: !(Maybe Text)
-    , _stfrTags        :: !(Maybe [Tag])
+    { _stfrTags        :: !(Maybe [Tag])
+    , _stfrResourceARN :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'SetTagsForResource' with the minimum fields required to make a request.
 --
 -- Use one of the following lenses to modify other fields as desired:
 --
--- * 'stfrResourceARN'
---
 -- * 'stfrTags'
+--
+-- * 'stfrResourceARN'
 setTagsForResource
-    :: SetTagsForResource
-setTagsForResource =
+    :: Text -- ^ 'stfrResourceARN'
+    -> SetTagsForResource
+setTagsForResource pResourceARN_ =
     SetTagsForResource'
-    { _stfrResourceARN = Nothing
-    , _stfrTags = Nothing
+    { _stfrTags = Nothing
+    , _stfrResourceARN = pResourceARN_
     }
 
--- | The ARN of the assessment that you want to set tags to.
-stfrResourceARN :: Lens' SetTagsForResource (Maybe Text)
-stfrResourceARN = lens _stfrResourceARN (\ s a -> s{_stfrResourceARN = a});
-
 -- | A collection of key and value pairs that you want to set to an
 -- assessment.
 stfrTags :: Lens' SetTagsForResource [Tag]
 stfrTags = lens _stfrTags (\ s a -> s{_stfrTags = a}) . _Default . _Coerce;
 
+-- | The ARN of the assessment that you want to set tags to.
+stfrResourceARN :: Lens' SetTagsForResource Text
+stfrResourceARN = lens _stfrResourceARN (\ s a -> s{_stfrResourceARN = a});
+
 instance AWSRequest SetTagsForResource where
         type Rs SetTagsForResource =
              SetTagsForResourceResponse
@@ -99,8 +101,8 @@
         toJSON SetTagsForResource'{..}
           = object
               (catMaybes
-                 [("resourceArn" .=) <$> _stfrResourceARN,
-                  ("tags" .=) <$> _stfrTags])
+                 [("tags" .=) <$> _stfrTags,
+                  Just ("resourceArn" .= _stfrResourceARN)])
 
 instance ToPath SetTagsForResource where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/StartDataCollection.hs b/gen/Network/AWS/Inspector/StartDataCollection.hs
--- a/gen/Network/AWS/Inspector/StartDataCollection.hs
+++ b/gen/Network/AWS/Inspector/StartDataCollection.hs
@@ -41,13 +41,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'startDataCollection' smart constructor.
 newtype StartDataCollection = StartDataCollection'
-    { _sdcAssessmentARN :: Maybe Text
+    { _sdcAssessmentARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'StartDataCollection' with the minimum fields required to make a request.
@@ -56,15 +57,16 @@
 --
 -- * 'sdcAssessmentARN'
 startDataCollection
-    :: StartDataCollection
-startDataCollection =
+    :: Text -- ^ 'sdcAssessmentARN'
+    -> StartDataCollection
+startDataCollection pAssessmentARN_ =
     StartDataCollection'
-    { _sdcAssessmentARN = Nothing
+    { _sdcAssessmentARN = pAssessmentARN_
     }
 
 -- | The ARN of the assessment for which you want to start the data
 -- collection process.
-sdcAssessmentARN :: Lens' StartDataCollection (Maybe Text)
+sdcAssessmentARN :: Lens' StartDataCollection Text
 sdcAssessmentARN = lens _sdcAssessmentARN (\ s a -> s{_sdcAssessmentARN = a});
 
 instance AWSRequest StartDataCollection where
@@ -91,7 +93,7 @@
         toJSON StartDataCollection'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _sdcAssessmentARN])
+                 [Just ("assessmentArn" .= _sdcAssessmentARN)])
 
 instance ToPath StartDataCollection where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/StopDataCollection.hs b/gen/Network/AWS/Inspector/StopDataCollection.hs
--- a/gen/Network/AWS/Inspector/StopDataCollection.hs
+++ b/gen/Network/AWS/Inspector/StopDataCollection.hs
@@ -39,13 +39,14 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'stopDataCollection' smart constructor.
 newtype StopDataCollection = StopDataCollection'
-    { _sAssessmentARN :: Maybe Text
+    { _sAssessmentARN :: Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'StopDataCollection' with the minimum fields required to make a request.
@@ -54,15 +55,16 @@
 --
 -- * 'sAssessmentARN'
 stopDataCollection
-    :: StopDataCollection
-stopDataCollection =
+    :: Text -- ^ 'sAssessmentARN'
+    -> StopDataCollection
+stopDataCollection pAssessmentARN_ =
     StopDataCollection'
-    { _sAssessmentARN = Nothing
+    { _sAssessmentARN = pAssessmentARN_
     }
 
 -- | The ARN of the assessment for which you want to stop the data collection
 -- process.
-sAssessmentARN :: Lens' StopDataCollection (Maybe Text)
+sAssessmentARN :: Lens' StopDataCollection Text
 sAssessmentARN = lens _sAssessmentARN (\ s a -> s{_sAssessmentARN = a});
 
 instance AWSRequest StopDataCollection where
@@ -89,7 +91,7 @@
         toJSON StopDataCollection'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _sAssessmentARN])
+                 [Just ("assessmentArn" .= _sAssessmentARN)])
 
 instance ToPath StopDataCollection where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/Types.hs b/gen/Network/AWS/Inspector/Types.hs
--- a/gen/Network/AWS/Inspector/Types.hs
+++ b/gen/Network/AWS/Inspector/Types.hs
@@ -200,6 +200,7 @@
 
 import           Network.AWS.Inspector.Types.Product
 import           Network.AWS.Inspector.Types.Sum
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Sign.V4
 
diff --git a/gen/Network/AWS/Inspector/Types/Product.hs b/gen/Network/AWS/Inspector/Types/Product.hs
--- a/gen/Network/AWS/Inspector/Types/Product.hs
+++ b/gen/Network/AWS/Inspector/Types/Product.hs
@@ -18,6 +18,7 @@
 module Network.AWS.Inspector.Types.Product where
 
 import           Network.AWS.Inspector.Types.Sum
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 
 -- | Contains information about an Inspector agent. This data type is used as
diff --git a/gen/Network/AWS/Inspector/UpdateApplication.hs b/gen/Network/AWS/Inspector/UpdateApplication.hs
--- a/gen/Network/AWS/Inspector/UpdateApplication.hs
+++ b/gen/Network/AWS/Inspector/UpdateApplication.hs
@@ -28,8 +28,8 @@
     , UpdateApplication
     -- * Request Lenses
     , uaApplicationARN
-    , uaResourceGroupARN
     , uaApplicationName
+    , uaResourceGroupARN
 
     -- * Destructuring the Response
     , updateApplicationResponse
@@ -41,15 +41,16 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'updateApplication' smart constructor.
 data UpdateApplication = UpdateApplication'
-    { _uaApplicationARN   :: !(Maybe Text)
-    , _uaResourceGroupARN :: !(Maybe Text)
-    , _uaApplicationName  :: !(Maybe Text)
+    { _uaApplicationARN   :: !Text
+    , _uaApplicationName  :: !Text
+    , _uaResourceGroupARN :: !Text
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'UpdateApplication' with the minimum fields required to make a request.
@@ -58,30 +59,33 @@
 --
 -- * 'uaApplicationARN'
 --
--- * 'uaResourceGroupARN'
---
 -- * 'uaApplicationName'
+--
+-- * 'uaResourceGroupARN'
 updateApplication
-    :: UpdateApplication
-updateApplication =
+    :: Text -- ^ 'uaApplicationARN'
+    -> Text -- ^ 'uaApplicationName'
+    -> Text -- ^ 'uaResourceGroupARN'
+    -> UpdateApplication
+updateApplication pApplicationARN_ pApplicationName_ pResourceGroupARN_ =
     UpdateApplication'
-    { _uaApplicationARN = Nothing
-    , _uaResourceGroupARN = Nothing
-    , _uaApplicationName = Nothing
+    { _uaApplicationARN = pApplicationARN_
+    , _uaApplicationName = pApplicationName_
+    , _uaResourceGroupARN = pResourceGroupARN_
     }
 
 -- | Application ARN that you want to update.
-uaApplicationARN :: Lens' UpdateApplication (Maybe Text)
+uaApplicationARN :: Lens' UpdateApplication Text
 uaApplicationARN = lens _uaApplicationARN (\ s a -> s{_uaApplicationARN = a});
 
--- | The resource group ARN that you want to update.
-uaResourceGroupARN :: Lens' UpdateApplication (Maybe Text)
-uaResourceGroupARN = lens _uaResourceGroupARN (\ s a -> s{_uaResourceGroupARN = a});
-
 -- | Application name that you want to update.
-uaApplicationName :: Lens' UpdateApplication (Maybe Text)
+uaApplicationName :: Lens' UpdateApplication Text
 uaApplicationName = lens _uaApplicationName (\ s a -> s{_uaApplicationName = a});
 
+-- | The resource group ARN that you want to update.
+uaResourceGroupARN :: Lens' UpdateApplication Text
+uaResourceGroupARN = lens _uaResourceGroupARN (\ s a -> s{_uaResourceGroupARN = a});
+
 instance AWSRequest UpdateApplication where
         type Rs UpdateApplication = UpdateApplicationResponse
         request = postJSON inspector
@@ -104,9 +108,9 @@
         toJSON UpdateApplication'{..}
           = object
               (catMaybes
-                 [("applicationArn" .=) <$> _uaApplicationARN,
-                  ("resourceGroupArn" .=) <$> _uaResourceGroupARN,
-                  ("applicationName" .=) <$> _uaApplicationName])
+                 [Just ("applicationArn" .= _uaApplicationARN),
+                  Just ("applicationName" .= _uaApplicationName),
+                  Just ("resourceGroupArn" .= _uaResourceGroupARN)])
 
 instance ToPath UpdateApplication where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/UpdateAssessment.hs b/gen/Network/AWS/Inspector/UpdateAssessment.hs
--- a/gen/Network/AWS/Inspector/UpdateAssessment.hs
+++ b/gen/Network/AWS/Inspector/UpdateAssessment.hs
@@ -28,8 +28,8 @@
     , UpdateAssessment
     -- * Request Lenses
     , uaAssessmentARN
-    , uaDurationInSeconds
     , uaAssessmentName
+    , uaDurationInSeconds
 
     -- * Destructuring the Response
     , updateAssessmentResponse
@@ -41,15 +41,16 @@
 
 import           Network.AWS.Inspector.Types
 import           Network.AWS.Inspector.Types.Product
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Request
 import           Network.AWS.Response
 
 -- | /See:/ 'updateAssessment' smart constructor.
 data UpdateAssessment = UpdateAssessment'
-    { _uaAssessmentARN     :: !(Maybe Text)
-    , _uaDurationInSeconds :: !(Maybe Int)
-    , _uaAssessmentName    :: !(Maybe Text)
+    { _uaAssessmentARN     :: !Text
+    , _uaAssessmentName    :: !Text
+    , _uaDurationInSeconds :: !Int
     } deriving (Eq,Read,Show,Data,Typeable,Generic)
 
 -- | Creates a value of 'UpdateAssessment' with the minimum fields required to make a request.
@@ -58,32 +59,35 @@
 --
 -- * 'uaAssessmentARN'
 --
--- * 'uaDurationInSeconds'
---
 -- * 'uaAssessmentName'
+--
+-- * 'uaDurationInSeconds'
 updateAssessment
-    :: UpdateAssessment
-updateAssessment =
+    :: Text -- ^ 'uaAssessmentARN'
+    -> Text -- ^ 'uaAssessmentName'
+    -> Int -- ^ 'uaDurationInSeconds'
+    -> UpdateAssessment
+updateAssessment pAssessmentARN_ pAssessmentName_ pDurationInSeconds_ =
     UpdateAssessment'
-    { _uaAssessmentARN = Nothing
-    , _uaDurationInSeconds = Nothing
-    , _uaAssessmentName = Nothing
+    { _uaAssessmentARN = pAssessmentARN_
+    , _uaAssessmentName = pAssessmentName_
+    , _uaDurationInSeconds = pDurationInSeconds_
     }
 
 -- | Asessment ARN that you want to update.
-uaAssessmentARN :: Lens' UpdateAssessment (Maybe Text)
+uaAssessmentARN :: Lens' UpdateAssessment Text
 uaAssessmentARN = lens _uaAssessmentARN (\ s a -> s{_uaAssessmentARN = a});
 
+-- | Assessment name that you want to update.
+uaAssessmentName :: Lens' UpdateAssessment Text
+uaAssessmentName = lens _uaAssessmentName (\ s a -> s{_uaAssessmentName = a});
+
 -- | Assessment duration in seconds that you want to update. The default
 -- value is 3600 seconds (one hour). The maximum value is 86400 seconds
 -- (one day).
-uaDurationInSeconds :: Lens' UpdateAssessment (Maybe Int)
+uaDurationInSeconds :: Lens' UpdateAssessment Int
 uaDurationInSeconds = lens _uaDurationInSeconds (\ s a -> s{_uaDurationInSeconds = a});
 
--- | Assessment name that you want to update.
-uaAssessmentName :: Lens' UpdateAssessment (Maybe Text)
-uaAssessmentName = lens _uaAssessmentName (\ s a -> s{_uaAssessmentName = a});
-
 instance AWSRequest UpdateAssessment where
         type Rs UpdateAssessment = UpdateAssessmentResponse
         request = postJSON inspector
@@ -106,9 +110,9 @@
         toJSON UpdateAssessment'{..}
           = object
               (catMaybes
-                 [("assessmentArn" .=) <$> _uaAssessmentARN,
-                  ("durationInSeconds" .=) <$> _uaDurationInSeconds,
-                  ("assessmentName" .=) <$> _uaAssessmentName])
+                 [Just ("assessmentArn" .= _uaAssessmentARN),
+                  Just ("assessmentName" .= _uaAssessmentName),
+                  Just ("durationInSeconds" .= _uaDurationInSeconds)])
 
 instance ToPath UpdateAssessment where
         toPath = const "/"
diff --git a/gen/Network/AWS/Inspector/Waiters.hs b/gen/Network/AWS/Inspector/Waiters.hs
--- a/gen/Network/AWS/Inspector/Waiters.hs
+++ b/gen/Network/AWS/Inspector/Waiters.hs
@@ -16,5 +16,6 @@
 module Network.AWS.Inspector.Waiters where
 
 import           Network.AWS.Inspector.Types
+import           Network.AWS.Lens
 import           Network.AWS.Prelude
 import           Network.AWS.Waiter
