{-
   AWS Lambda Runtime API

   AWS Lambda Runtime API is an HTTP API for implementing custom runtimes

   OpenAPI Version: 3.0.0
   AWS Lambda Runtime API API version: 1.0.3
   Generated by OpenAPI Generator (https://openapi-generator.tech)
-}

{-|
Module : AWSLambdaRuntime.Lens
-}

{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RecordWildCards #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-matches -fno-warn-unused-binds -fno-warn-unused-imports #-}

module AWSLambdaRuntime.ModelLens where

import qualified Data.Aeson as A
import qualified Data.ByteString.Lazy as BL
import qualified Data.Data as P (Data, Typeable)
import qualified Data.Map as Map
import qualified Data.Set as Set
import qualified Data.Time as TI

import Data.Text (Text)

import Prelude (($), (.),(<$>),(<*>),(=<<),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P

import AWSLambdaRuntime.Model
import AWSLambdaRuntime.Core


-- * ErrorRequest

-- | 'errorRequestErrorMessage' Lens
errorRequestErrorMessageL :: Lens_' ErrorRequest (Maybe Text)
errorRequestErrorMessageL f ErrorRequest{..} = (\errorRequestErrorMessage -> ErrorRequest { errorRequestErrorMessage, ..} ) <$> f errorRequestErrorMessage
{-# INLINE errorRequestErrorMessageL #-}

-- | 'errorRequestErrorType' Lens
errorRequestErrorTypeL :: Lens_' ErrorRequest (Maybe Text)
errorRequestErrorTypeL f ErrorRequest{..} = (\errorRequestErrorType -> ErrorRequest { errorRequestErrorType, ..} ) <$> f errorRequestErrorType
{-# INLINE errorRequestErrorTypeL #-}

-- | 'errorRequestStackTrace' Lens
errorRequestStackTraceL :: Lens_' ErrorRequest (Maybe [Text])
errorRequestStackTraceL f ErrorRequest{..} = (\errorRequestStackTrace -> ErrorRequest { errorRequestStackTrace, ..} ) <$> f errorRequestStackTrace
{-# INLINE errorRequestStackTraceL #-}



-- * ErrorResponse

-- | 'errorResponseErrorMessage' Lens
errorResponseErrorMessageL :: Lens_' ErrorResponse (Maybe Text)
errorResponseErrorMessageL f ErrorResponse{..} = (\errorResponseErrorMessage -> ErrorResponse { errorResponseErrorMessage, ..} ) <$> f errorResponseErrorMessage
{-# INLINE errorResponseErrorMessageL #-}

-- | 'errorResponseErrorType' Lens
errorResponseErrorTypeL :: Lens_' ErrorResponse (Maybe Text)
errorResponseErrorTypeL f ErrorResponse{..} = (\errorResponseErrorType -> ErrorResponse { errorResponseErrorType, ..} ) <$> f errorResponseErrorType
{-# INLINE errorResponseErrorTypeL #-}



-- * StatusResponse

-- | 'statusResponseStatus' Lens
statusResponseStatusL :: Lens_' StatusResponse (Maybe Text)
statusResponseStatusL f StatusResponse{..} = (\statusResponseStatus -> StatusResponse { statusResponseStatus, ..} ) <$> f statusResponseStatus
{-# INLINE statusResponseStatusL #-}