{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.ApiGatewayV2.UpdateRoute
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates a Route.
module Amazonka.ApiGatewayV2.UpdateRoute
  ( -- * Creating a Request
    UpdateRoute (..),
    newUpdateRoute,

    -- * Request Lenses
    updateRoute_apiKeyRequired,
    updateRoute_authorizationScopes,
    updateRoute_authorizationType,
    updateRoute_authorizerId,
    updateRoute_modelSelectionExpression,
    updateRoute_operationName,
    updateRoute_requestModels,
    updateRoute_requestParameters,
    updateRoute_routeKey,
    updateRoute_routeResponseSelectionExpression,
    updateRoute_target,
    updateRoute_apiId,
    updateRoute_routeId,

    -- * Destructuring the Response
    UpdateRouteResponse' (..),
    newUpdateRouteResponse',

    -- * Response Lenses
    updateRouteResponse'_apiGatewayManaged,
    updateRouteResponse'_apiKeyRequired,
    updateRouteResponse'_authorizationScopes,
    updateRouteResponse'_authorizationType,
    updateRouteResponse'_authorizerId,
    updateRouteResponse'_modelSelectionExpression,
    updateRouteResponse'_operationName,
    updateRouteResponse'_requestModels,
    updateRouteResponse'_requestParameters,
    updateRouteResponse'_routeId,
    updateRouteResponse'_routeKey,
    updateRouteResponse'_routeResponseSelectionExpression,
    updateRouteResponse'_target,
    updateRouteResponse'_httpStatus,
  )
where

import Amazonka.ApiGatewayV2.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | Updates a Route.
--
-- /See:/ 'newUpdateRoute' smart constructor.
data UpdateRoute = UpdateRoute'
  { -- | Specifies whether an API key is required for the route. Supported only
    -- for WebSocket APIs.
    UpdateRoute -> Maybe Bool
apiKeyRequired :: Prelude.Maybe Prelude.Bool,
    -- | The authorization scopes supported by this route.
    UpdateRoute -> Maybe [Text]
authorizationScopes :: Prelude.Maybe [Prelude.Text],
    -- | The authorization type for the route. For WebSocket APIs, valid values
    -- are NONE for open access, AWS_IAM for using AWS IAM permissions, and
    -- CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are
    -- NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using
    -- AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
    UpdateRoute -> Maybe AuthorizationType
authorizationType :: Prelude.Maybe AuthorizationType,
    -- | The identifier of the Authorizer resource to be associated with this
    -- route. The authorizer identifier is generated by API Gateway when you
    -- created the authorizer.
    UpdateRoute -> Maybe Text
authorizerId :: Prelude.Maybe Prelude.Text,
    -- | The model selection expression for the route. Supported only for
    -- WebSocket APIs.
    UpdateRoute -> Maybe Text
modelSelectionExpression :: Prelude.Maybe Prelude.Text,
    -- | The operation name for the route.
    UpdateRoute -> Maybe Text
operationName :: Prelude.Maybe Prelude.Text,
    -- | The request models for the route. Supported only for WebSocket APIs.
    UpdateRoute -> Maybe (HashMap Text Text)
requestModels :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The request parameters for the route. Supported only for WebSocket APIs.
    UpdateRoute -> Maybe (HashMap Text ParameterConstraints)
requestParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text ParameterConstraints),
    -- | The route key for the route.
    UpdateRoute -> Maybe Text
routeKey :: Prelude.Maybe Prelude.Text,
    -- | The route response selection expression for the route. Supported only
    -- for WebSocket APIs.
    UpdateRoute -> Maybe Text
routeResponseSelectionExpression :: Prelude.Maybe Prelude.Text,
    -- | The target for the route.
    UpdateRoute -> Maybe Text
target :: Prelude.Maybe Prelude.Text,
    -- | The API identifier.
    UpdateRoute -> Text
apiId :: Prelude.Text,
    -- | The route ID.
    UpdateRoute -> Text
routeId :: Prelude.Text
  }
  deriving (UpdateRoute -> UpdateRoute -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateRoute -> UpdateRoute -> Bool
$c/= :: UpdateRoute -> UpdateRoute -> Bool
== :: UpdateRoute -> UpdateRoute -> Bool
$c== :: UpdateRoute -> UpdateRoute -> Bool
Prelude.Eq, ReadPrec [UpdateRoute]
ReadPrec UpdateRoute
Int -> ReadS UpdateRoute
ReadS [UpdateRoute]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateRoute]
$creadListPrec :: ReadPrec [UpdateRoute]
readPrec :: ReadPrec UpdateRoute
$creadPrec :: ReadPrec UpdateRoute
readList :: ReadS [UpdateRoute]
$creadList :: ReadS [UpdateRoute]
readsPrec :: Int -> ReadS UpdateRoute
$creadsPrec :: Int -> ReadS UpdateRoute
Prelude.Read, Int -> UpdateRoute -> ShowS
[UpdateRoute] -> ShowS
UpdateRoute -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateRoute] -> ShowS
$cshowList :: [UpdateRoute] -> ShowS
show :: UpdateRoute -> String
$cshow :: UpdateRoute -> String
showsPrec :: Int -> UpdateRoute -> ShowS
$cshowsPrec :: Int -> UpdateRoute -> ShowS
Prelude.Show, forall x. Rep UpdateRoute x -> UpdateRoute
forall x. UpdateRoute -> Rep UpdateRoute x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateRoute x -> UpdateRoute
$cfrom :: forall x. UpdateRoute -> Rep UpdateRoute x
Prelude.Generic)

-- |
-- Create a value of 'UpdateRoute' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'apiKeyRequired', 'updateRoute_apiKeyRequired' - Specifies whether an API key is required for the route. Supported only
-- for WebSocket APIs.
--
-- 'authorizationScopes', 'updateRoute_authorizationScopes' - The authorization scopes supported by this route.
--
-- 'authorizationType', 'updateRoute_authorizationType' - The authorization type for the route. For WebSocket APIs, valid values
-- are NONE for open access, AWS_IAM for using AWS IAM permissions, and
-- CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are
-- NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using
-- AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
--
-- 'authorizerId', 'updateRoute_authorizerId' - The identifier of the Authorizer resource to be associated with this
-- route. The authorizer identifier is generated by API Gateway when you
-- created the authorizer.
--
-- 'modelSelectionExpression', 'updateRoute_modelSelectionExpression' - The model selection expression for the route. Supported only for
-- WebSocket APIs.
--
-- 'operationName', 'updateRoute_operationName' - The operation name for the route.
--
-- 'requestModels', 'updateRoute_requestModels' - The request models for the route. Supported only for WebSocket APIs.
--
-- 'requestParameters', 'updateRoute_requestParameters' - The request parameters for the route. Supported only for WebSocket APIs.
--
-- 'routeKey', 'updateRoute_routeKey' - The route key for the route.
--
-- 'routeResponseSelectionExpression', 'updateRoute_routeResponseSelectionExpression' - The route response selection expression for the route. Supported only
-- for WebSocket APIs.
--
-- 'target', 'updateRoute_target' - The target for the route.
--
-- 'apiId', 'updateRoute_apiId' - The API identifier.
--
-- 'routeId', 'updateRoute_routeId' - The route ID.
newUpdateRoute ::
  -- | 'apiId'
  Prelude.Text ->
  -- | 'routeId'
  Prelude.Text ->
  UpdateRoute
newUpdateRoute :: Text -> Text -> UpdateRoute
newUpdateRoute Text
pApiId_ Text
pRouteId_ =
  UpdateRoute'
    { $sel:apiKeyRequired:UpdateRoute' :: Maybe Bool
apiKeyRequired = forall a. Maybe a
Prelude.Nothing,
      $sel:authorizationScopes:UpdateRoute' :: Maybe [Text]
authorizationScopes = forall a. Maybe a
Prelude.Nothing,
      $sel:authorizationType:UpdateRoute' :: Maybe AuthorizationType
authorizationType = forall a. Maybe a
Prelude.Nothing,
      $sel:authorizerId:UpdateRoute' :: Maybe Text
authorizerId = forall a. Maybe a
Prelude.Nothing,
      $sel:modelSelectionExpression:UpdateRoute' :: Maybe Text
modelSelectionExpression = forall a. Maybe a
Prelude.Nothing,
      $sel:operationName:UpdateRoute' :: Maybe Text
operationName = forall a. Maybe a
Prelude.Nothing,
      $sel:requestModels:UpdateRoute' :: Maybe (HashMap Text Text)
requestModels = forall a. Maybe a
Prelude.Nothing,
      $sel:requestParameters:UpdateRoute' :: Maybe (HashMap Text ParameterConstraints)
requestParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:routeKey:UpdateRoute' :: Maybe Text
routeKey = forall a. Maybe a
Prelude.Nothing,
      $sel:routeResponseSelectionExpression:UpdateRoute' :: Maybe Text
routeResponseSelectionExpression = forall a. Maybe a
Prelude.Nothing,
      $sel:target:UpdateRoute' :: Maybe Text
target = forall a. Maybe a
Prelude.Nothing,
      $sel:apiId:UpdateRoute' :: Text
apiId = Text
pApiId_,
      $sel:routeId:UpdateRoute' :: Text
routeId = Text
pRouteId_
    }

-- | Specifies whether an API key is required for the route. Supported only
-- for WebSocket APIs.
updateRoute_apiKeyRequired :: Lens.Lens' UpdateRoute (Prelude.Maybe Prelude.Bool)
updateRoute_apiKeyRequired :: Lens' UpdateRoute (Maybe Bool)
updateRoute_apiKeyRequired = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe Bool
apiKeyRequired :: Maybe Bool
$sel:apiKeyRequired:UpdateRoute' :: UpdateRoute -> Maybe Bool
apiKeyRequired} -> Maybe Bool
apiKeyRequired) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe Bool
a -> UpdateRoute
s {$sel:apiKeyRequired:UpdateRoute' :: Maybe Bool
apiKeyRequired = Maybe Bool
a} :: UpdateRoute)

-- | The authorization scopes supported by this route.
updateRoute_authorizationScopes :: Lens.Lens' UpdateRoute (Prelude.Maybe [Prelude.Text])
updateRoute_authorizationScopes :: Lens' UpdateRoute (Maybe [Text])
updateRoute_authorizationScopes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe [Text]
authorizationScopes :: Maybe [Text]
$sel:authorizationScopes:UpdateRoute' :: UpdateRoute -> Maybe [Text]
authorizationScopes} -> Maybe [Text]
authorizationScopes) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe [Text]
a -> UpdateRoute
s {$sel:authorizationScopes:UpdateRoute' :: Maybe [Text]
authorizationScopes = Maybe [Text]
a} :: UpdateRoute) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The authorization type for the route. For WebSocket APIs, valid values
-- are NONE for open access, AWS_IAM for using AWS IAM permissions, and
-- CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are
-- NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using
-- AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
updateRoute_authorizationType :: Lens.Lens' UpdateRoute (Prelude.Maybe AuthorizationType)
updateRoute_authorizationType :: Lens' UpdateRoute (Maybe AuthorizationType)
updateRoute_authorizationType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe AuthorizationType
authorizationType :: Maybe AuthorizationType
$sel:authorizationType:UpdateRoute' :: UpdateRoute -> Maybe AuthorizationType
authorizationType} -> Maybe AuthorizationType
authorizationType) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe AuthorizationType
a -> UpdateRoute
s {$sel:authorizationType:UpdateRoute' :: Maybe AuthorizationType
authorizationType = Maybe AuthorizationType
a} :: UpdateRoute)

-- | The identifier of the Authorizer resource to be associated with this
-- route. The authorizer identifier is generated by API Gateway when you
-- created the authorizer.
updateRoute_authorizerId :: Lens.Lens' UpdateRoute (Prelude.Maybe Prelude.Text)
updateRoute_authorizerId :: Lens' UpdateRoute (Maybe Text)
updateRoute_authorizerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe Text
authorizerId :: Maybe Text
$sel:authorizerId:UpdateRoute' :: UpdateRoute -> Maybe Text
authorizerId} -> Maybe Text
authorizerId) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe Text
a -> UpdateRoute
s {$sel:authorizerId:UpdateRoute' :: Maybe Text
authorizerId = Maybe Text
a} :: UpdateRoute)

-- | The model selection expression for the route. Supported only for
-- WebSocket APIs.
updateRoute_modelSelectionExpression :: Lens.Lens' UpdateRoute (Prelude.Maybe Prelude.Text)
updateRoute_modelSelectionExpression :: Lens' UpdateRoute (Maybe Text)
updateRoute_modelSelectionExpression = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe Text
modelSelectionExpression :: Maybe Text
$sel:modelSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
modelSelectionExpression} -> Maybe Text
modelSelectionExpression) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe Text
a -> UpdateRoute
s {$sel:modelSelectionExpression:UpdateRoute' :: Maybe Text
modelSelectionExpression = Maybe Text
a} :: UpdateRoute)

-- | The operation name for the route.
updateRoute_operationName :: Lens.Lens' UpdateRoute (Prelude.Maybe Prelude.Text)
updateRoute_operationName :: Lens' UpdateRoute (Maybe Text)
updateRoute_operationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe Text
operationName :: Maybe Text
$sel:operationName:UpdateRoute' :: UpdateRoute -> Maybe Text
operationName} -> Maybe Text
operationName) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe Text
a -> UpdateRoute
s {$sel:operationName:UpdateRoute' :: Maybe Text
operationName = Maybe Text
a} :: UpdateRoute)

-- | The request models for the route. Supported only for WebSocket APIs.
updateRoute_requestModels :: Lens.Lens' UpdateRoute (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
updateRoute_requestModels :: Lens' UpdateRoute (Maybe (HashMap Text Text))
updateRoute_requestModels = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe (HashMap Text Text)
requestModels :: Maybe (HashMap Text Text)
$sel:requestModels:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text Text)
requestModels} -> Maybe (HashMap Text Text)
requestModels) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe (HashMap Text Text)
a -> UpdateRoute
s {$sel:requestModels:UpdateRoute' :: Maybe (HashMap Text Text)
requestModels = Maybe (HashMap Text Text)
a} :: UpdateRoute) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The request parameters for the route. Supported only for WebSocket APIs.
updateRoute_requestParameters :: Lens.Lens' UpdateRoute (Prelude.Maybe (Prelude.HashMap Prelude.Text ParameterConstraints))
updateRoute_requestParameters :: Lens' UpdateRoute (Maybe (HashMap Text ParameterConstraints))
updateRoute_requestParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe (HashMap Text ParameterConstraints)
requestParameters :: Maybe (HashMap Text ParameterConstraints)
$sel:requestParameters:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text ParameterConstraints)
requestParameters} -> Maybe (HashMap Text ParameterConstraints)
requestParameters) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe (HashMap Text ParameterConstraints)
a -> UpdateRoute
s {$sel:requestParameters:UpdateRoute' :: Maybe (HashMap Text ParameterConstraints)
requestParameters = Maybe (HashMap Text ParameterConstraints)
a} :: UpdateRoute) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The route key for the route.
updateRoute_routeKey :: Lens.Lens' UpdateRoute (Prelude.Maybe Prelude.Text)
updateRoute_routeKey :: Lens' UpdateRoute (Maybe Text)
updateRoute_routeKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe Text
routeKey :: Maybe Text
$sel:routeKey:UpdateRoute' :: UpdateRoute -> Maybe Text
routeKey} -> Maybe Text
routeKey) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe Text
a -> UpdateRoute
s {$sel:routeKey:UpdateRoute' :: Maybe Text
routeKey = Maybe Text
a} :: UpdateRoute)

-- | The route response selection expression for the route. Supported only
-- for WebSocket APIs.
updateRoute_routeResponseSelectionExpression :: Lens.Lens' UpdateRoute (Prelude.Maybe Prelude.Text)
updateRoute_routeResponseSelectionExpression :: Lens' UpdateRoute (Maybe Text)
updateRoute_routeResponseSelectionExpression = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe Text
routeResponseSelectionExpression :: Maybe Text
$sel:routeResponseSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
routeResponseSelectionExpression} -> Maybe Text
routeResponseSelectionExpression) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe Text
a -> UpdateRoute
s {$sel:routeResponseSelectionExpression:UpdateRoute' :: Maybe Text
routeResponseSelectionExpression = Maybe Text
a} :: UpdateRoute)

-- | The target for the route.
updateRoute_target :: Lens.Lens' UpdateRoute (Prelude.Maybe Prelude.Text)
updateRoute_target :: Lens' UpdateRoute (Maybe Text)
updateRoute_target = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Maybe Text
target :: Maybe Text
$sel:target:UpdateRoute' :: UpdateRoute -> Maybe Text
target} -> Maybe Text
target) (\s :: UpdateRoute
s@UpdateRoute' {} Maybe Text
a -> UpdateRoute
s {$sel:target:UpdateRoute' :: Maybe Text
target = Maybe Text
a} :: UpdateRoute)

-- | The API identifier.
updateRoute_apiId :: Lens.Lens' UpdateRoute Prelude.Text
updateRoute_apiId :: Lens' UpdateRoute Text
updateRoute_apiId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Text
apiId :: Text
$sel:apiId:UpdateRoute' :: UpdateRoute -> Text
apiId} -> Text
apiId) (\s :: UpdateRoute
s@UpdateRoute' {} Text
a -> UpdateRoute
s {$sel:apiId:UpdateRoute' :: Text
apiId = Text
a} :: UpdateRoute)

-- | The route ID.
updateRoute_routeId :: Lens.Lens' UpdateRoute Prelude.Text
updateRoute_routeId :: Lens' UpdateRoute Text
updateRoute_routeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRoute' {Text
routeId :: Text
$sel:routeId:UpdateRoute' :: UpdateRoute -> Text
routeId} -> Text
routeId) (\s :: UpdateRoute
s@UpdateRoute' {} Text
a -> UpdateRoute
s {$sel:routeId:UpdateRoute' :: Text
routeId = Text
a} :: UpdateRoute)

instance Core.AWSRequest UpdateRoute where
  type AWSResponse UpdateRoute = UpdateRouteResponse'
  request :: (Service -> Service) -> UpdateRoute -> Request UpdateRoute
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.patchJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateRoute
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateRoute)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Bool
-> Maybe Bool
-> Maybe [Text]
-> Maybe AuthorizationType
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe (HashMap Text Text)
-> Maybe (HashMap Text ParameterConstraints)
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Int
-> UpdateRouteResponse'
UpdateRouteResponse''
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"apiGatewayManaged")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"apiKeyRequired")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"authorizationScopes"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"authorizationType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"authorizerId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"modelSelectionExpression")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"operationName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"requestModels" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"requestParameters"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"routeId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"routeKey")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"routeResponseSelectionExpression")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"target")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable UpdateRoute where
  hashWithSalt :: Int -> UpdateRoute -> Int
hashWithSalt Int
_salt UpdateRoute' {Maybe Bool
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Text ParameterConstraints)
Maybe AuthorizationType
Text
routeId :: Text
apiId :: Text
target :: Maybe Text
routeResponseSelectionExpression :: Maybe Text
routeKey :: Maybe Text
requestParameters :: Maybe (HashMap Text ParameterConstraints)
requestModels :: Maybe (HashMap Text Text)
operationName :: Maybe Text
modelSelectionExpression :: Maybe Text
authorizerId :: Maybe Text
authorizationType :: Maybe AuthorizationType
authorizationScopes :: Maybe [Text]
apiKeyRequired :: Maybe Bool
$sel:routeId:UpdateRoute' :: UpdateRoute -> Text
$sel:apiId:UpdateRoute' :: UpdateRoute -> Text
$sel:target:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:routeResponseSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:routeKey:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:requestParameters:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text ParameterConstraints)
$sel:requestModels:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text Text)
$sel:operationName:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:modelSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:authorizerId:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:authorizationType:UpdateRoute' :: UpdateRoute -> Maybe AuthorizationType
$sel:authorizationScopes:UpdateRoute' :: UpdateRoute -> Maybe [Text]
$sel:apiKeyRequired:UpdateRoute' :: UpdateRoute -> Maybe Bool
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
apiKeyRequired
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
authorizationScopes
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AuthorizationType
authorizationType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
authorizerId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
modelSelectionExpression
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
operationName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
requestModels
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text ParameterConstraints)
requestParameters
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
routeKey
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
routeResponseSelectionExpression
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
target
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
apiId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
routeId

instance Prelude.NFData UpdateRoute where
  rnf :: UpdateRoute -> ()
rnf UpdateRoute' {Maybe Bool
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Text ParameterConstraints)
Maybe AuthorizationType
Text
routeId :: Text
apiId :: Text
target :: Maybe Text
routeResponseSelectionExpression :: Maybe Text
routeKey :: Maybe Text
requestParameters :: Maybe (HashMap Text ParameterConstraints)
requestModels :: Maybe (HashMap Text Text)
operationName :: Maybe Text
modelSelectionExpression :: Maybe Text
authorizerId :: Maybe Text
authorizationType :: Maybe AuthorizationType
authorizationScopes :: Maybe [Text]
apiKeyRequired :: Maybe Bool
$sel:routeId:UpdateRoute' :: UpdateRoute -> Text
$sel:apiId:UpdateRoute' :: UpdateRoute -> Text
$sel:target:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:routeResponseSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:routeKey:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:requestParameters:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text ParameterConstraints)
$sel:requestModels:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text Text)
$sel:operationName:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:modelSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:authorizerId:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:authorizationType:UpdateRoute' :: UpdateRoute -> Maybe AuthorizationType
$sel:authorizationScopes:UpdateRoute' :: UpdateRoute -> Maybe [Text]
$sel:apiKeyRequired:UpdateRoute' :: UpdateRoute -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
apiKeyRequired
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
authorizationScopes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AuthorizationType
authorizationType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
authorizerId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelSelectionExpression
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
operationName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
requestModels
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text ParameterConstraints)
requestParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
routeKey
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
routeResponseSelectionExpression
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
target
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
apiId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
routeId

instance Data.ToHeaders UpdateRoute where
  toHeaders :: UpdateRoute -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON UpdateRoute where
  toJSON :: UpdateRoute -> Value
toJSON UpdateRoute' {Maybe Bool
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Text ParameterConstraints)
Maybe AuthorizationType
Text
routeId :: Text
apiId :: Text
target :: Maybe Text
routeResponseSelectionExpression :: Maybe Text
routeKey :: Maybe Text
requestParameters :: Maybe (HashMap Text ParameterConstraints)
requestModels :: Maybe (HashMap Text Text)
operationName :: Maybe Text
modelSelectionExpression :: Maybe Text
authorizerId :: Maybe Text
authorizationType :: Maybe AuthorizationType
authorizationScopes :: Maybe [Text]
apiKeyRequired :: Maybe Bool
$sel:routeId:UpdateRoute' :: UpdateRoute -> Text
$sel:apiId:UpdateRoute' :: UpdateRoute -> Text
$sel:target:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:routeResponseSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:routeKey:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:requestParameters:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text ParameterConstraints)
$sel:requestModels:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text Text)
$sel:operationName:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:modelSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:authorizerId:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:authorizationType:UpdateRoute' :: UpdateRoute -> Maybe AuthorizationType
$sel:authorizationScopes:UpdateRoute' :: UpdateRoute -> Maybe [Text]
$sel:apiKeyRequired:UpdateRoute' :: UpdateRoute -> Maybe Bool
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"apiKeyRequired" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
apiKeyRequired,
            (Key
"authorizationScopes" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
authorizationScopes,
            (Key
"authorizationType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe AuthorizationType
authorizationType,
            (Key
"authorizerId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
authorizerId,
            (Key
"modelSelectionExpression" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
modelSelectionExpression,
            (Key
"operationName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
operationName,
            (Key
"requestModels" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text Text)
requestModels,
            (Key
"requestParameters" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (HashMap Text ParameterConstraints)
requestParameters,
            (Key
"routeKey" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
routeKey,
            (Key
"routeResponseSelectionExpression" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
routeResponseSelectionExpression,
            (Key
"target" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
target
          ]
      )

instance Data.ToPath UpdateRoute where
  toPath :: UpdateRoute -> ByteString
toPath UpdateRoute' {Maybe Bool
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Text ParameterConstraints)
Maybe AuthorizationType
Text
routeId :: Text
apiId :: Text
target :: Maybe Text
routeResponseSelectionExpression :: Maybe Text
routeKey :: Maybe Text
requestParameters :: Maybe (HashMap Text ParameterConstraints)
requestModels :: Maybe (HashMap Text Text)
operationName :: Maybe Text
modelSelectionExpression :: Maybe Text
authorizerId :: Maybe Text
authorizationType :: Maybe AuthorizationType
authorizationScopes :: Maybe [Text]
apiKeyRequired :: Maybe Bool
$sel:routeId:UpdateRoute' :: UpdateRoute -> Text
$sel:apiId:UpdateRoute' :: UpdateRoute -> Text
$sel:target:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:routeResponseSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:routeKey:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:requestParameters:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text ParameterConstraints)
$sel:requestModels:UpdateRoute' :: UpdateRoute -> Maybe (HashMap Text Text)
$sel:operationName:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:modelSelectionExpression:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:authorizerId:UpdateRoute' :: UpdateRoute -> Maybe Text
$sel:authorizationType:UpdateRoute' :: UpdateRoute -> Maybe AuthorizationType
$sel:authorizationScopes:UpdateRoute' :: UpdateRoute -> Maybe [Text]
$sel:apiKeyRequired:UpdateRoute' :: UpdateRoute -> Maybe Bool
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/v2/apis/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
apiId,
        ByteString
"/routes/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
routeId
      ]

instance Data.ToQuery UpdateRoute where
  toQuery :: UpdateRoute -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newUpdateRouteResponse'' smart constructor.
data UpdateRouteResponse' = UpdateRouteResponse''
  { -- | Specifies whether a route is managed by API Gateway. If you created an
    -- API using quick create, the $default route is managed by API Gateway.
    -- You can\'t modify the $default route key.
    UpdateRouteResponse' -> Maybe Bool
apiGatewayManaged :: Prelude.Maybe Prelude.Bool,
    -- | Specifies whether an API key is required for this route. Supported only
    -- for WebSocket APIs.
    UpdateRouteResponse' -> Maybe Bool
apiKeyRequired :: Prelude.Maybe Prelude.Bool,
    -- | A list of authorization scopes configured on a route. The scopes are
    -- used with a JWT authorizer to authorize the method invocation. The
    -- authorization works by matching the route scopes against the scopes
    -- parsed from the access token in the incoming request. The method
    -- invocation is authorized if any route scope matches a claimed scope in
    -- the access token. Otherwise, the invocation is not authorized. When the
    -- route scope is configured, the client must provide an access token
    -- instead of an identity token for authorization purposes.
    UpdateRouteResponse' -> Maybe [Text]
authorizationScopes :: Prelude.Maybe [Prelude.Text],
    -- | The authorization type for the route. For WebSocket APIs, valid values
    -- are NONE for open access, AWS_IAM for using AWS IAM permissions, and
    -- CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are
    -- NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using
    -- AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
    UpdateRouteResponse' -> Maybe AuthorizationType
authorizationType :: Prelude.Maybe AuthorizationType,
    -- | The identifier of the Authorizer resource to be associated with this
    -- route. The authorizer identifier is generated by API Gateway when you
    -- created the authorizer.
    UpdateRouteResponse' -> Maybe Text
authorizerId :: Prelude.Maybe Prelude.Text,
    -- | The model selection expression for the route. Supported only for
    -- WebSocket APIs.
    UpdateRouteResponse' -> Maybe Text
modelSelectionExpression :: Prelude.Maybe Prelude.Text,
    -- | The operation name for the route.
    UpdateRouteResponse' -> Maybe Text
operationName :: Prelude.Maybe Prelude.Text,
    -- | The request models for the route. Supported only for WebSocket APIs.
    UpdateRouteResponse' -> Maybe (HashMap Text Text)
requestModels :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    -- | The request parameters for the route. Supported only for WebSocket APIs.
    UpdateRouteResponse' -> Maybe (HashMap Text ParameterConstraints)
requestParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text ParameterConstraints),
    -- | The route ID.
    UpdateRouteResponse' -> Maybe Text
routeId :: Prelude.Maybe Prelude.Text,
    -- | The route key for the route.
    UpdateRouteResponse' -> Maybe Text
routeKey :: Prelude.Maybe Prelude.Text,
    -- | The route response selection expression for the route. Supported only
    -- for WebSocket APIs.
    UpdateRouteResponse' -> Maybe Text
routeResponseSelectionExpression :: Prelude.Maybe Prelude.Text,
    -- | The target for the route.
    UpdateRouteResponse' -> Maybe Text
target :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    UpdateRouteResponse' -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateRouteResponse' -> UpdateRouteResponse' -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateRouteResponse' -> UpdateRouteResponse' -> Bool
$c/= :: UpdateRouteResponse' -> UpdateRouteResponse' -> Bool
== :: UpdateRouteResponse' -> UpdateRouteResponse' -> Bool
$c== :: UpdateRouteResponse' -> UpdateRouteResponse' -> Bool
Prelude.Eq, ReadPrec [UpdateRouteResponse']
ReadPrec UpdateRouteResponse'
Int -> ReadS UpdateRouteResponse'
ReadS [UpdateRouteResponse']
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateRouteResponse']
$creadListPrec :: ReadPrec [UpdateRouteResponse']
readPrec :: ReadPrec UpdateRouteResponse'
$creadPrec :: ReadPrec UpdateRouteResponse'
readList :: ReadS [UpdateRouteResponse']
$creadList :: ReadS [UpdateRouteResponse']
readsPrec :: Int -> ReadS UpdateRouteResponse'
$creadsPrec :: Int -> ReadS UpdateRouteResponse'
Prelude.Read, Int -> UpdateRouteResponse' -> ShowS
[UpdateRouteResponse'] -> ShowS
UpdateRouteResponse' -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateRouteResponse'] -> ShowS
$cshowList :: [UpdateRouteResponse'] -> ShowS
show :: UpdateRouteResponse' -> String
$cshow :: UpdateRouteResponse' -> String
showsPrec :: Int -> UpdateRouteResponse' -> ShowS
$cshowsPrec :: Int -> UpdateRouteResponse' -> ShowS
Prelude.Show, forall x. Rep UpdateRouteResponse' x -> UpdateRouteResponse'
forall x. UpdateRouteResponse' -> Rep UpdateRouteResponse' x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateRouteResponse' x -> UpdateRouteResponse'
$cfrom :: forall x. UpdateRouteResponse' -> Rep UpdateRouteResponse' x
Prelude.Generic)

-- |
-- Create a value of 'UpdateRouteResponse'' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'apiGatewayManaged', 'updateRouteResponse'_apiGatewayManaged' - Specifies whether a route is managed by API Gateway. If you created an
-- API using quick create, the $default route is managed by API Gateway.
-- You can\'t modify the $default route key.
--
-- 'apiKeyRequired', 'updateRouteResponse'_apiKeyRequired' - Specifies whether an API key is required for this route. Supported only
-- for WebSocket APIs.
--
-- 'authorizationScopes', 'updateRouteResponse'_authorizationScopes' - A list of authorization scopes configured on a route. The scopes are
-- used with a JWT authorizer to authorize the method invocation. The
-- authorization works by matching the route scopes against the scopes
-- parsed from the access token in the incoming request. The method
-- invocation is authorized if any route scope matches a claimed scope in
-- the access token. Otherwise, the invocation is not authorized. When the
-- route scope is configured, the client must provide an access token
-- instead of an identity token for authorization purposes.
--
-- 'authorizationType', 'updateRouteResponse'_authorizationType' - The authorization type for the route. For WebSocket APIs, valid values
-- are NONE for open access, AWS_IAM for using AWS IAM permissions, and
-- CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are
-- NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using
-- AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
--
-- 'authorizerId', 'updateRouteResponse'_authorizerId' - The identifier of the Authorizer resource to be associated with this
-- route. The authorizer identifier is generated by API Gateway when you
-- created the authorizer.
--
-- 'modelSelectionExpression', 'updateRouteResponse'_modelSelectionExpression' - The model selection expression for the route. Supported only for
-- WebSocket APIs.
--
-- 'operationName', 'updateRouteResponse'_operationName' - The operation name for the route.
--
-- 'requestModels', 'updateRouteResponse'_requestModels' - The request models for the route. Supported only for WebSocket APIs.
--
-- 'requestParameters', 'updateRouteResponse'_requestParameters' - The request parameters for the route. Supported only for WebSocket APIs.
--
-- 'routeId', 'updateRouteResponse'_routeId' - The route ID.
--
-- 'routeKey', 'updateRouteResponse'_routeKey' - The route key for the route.
--
-- 'routeResponseSelectionExpression', 'updateRouteResponse'_routeResponseSelectionExpression' - The route response selection expression for the route. Supported only
-- for WebSocket APIs.
--
-- 'target', 'updateRouteResponse'_target' - The target for the route.
--
-- 'httpStatus', 'updateRouteResponse'_httpStatus' - The response's http status code.
newUpdateRouteResponse' ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateRouteResponse'
newUpdateRouteResponse' :: Int -> UpdateRouteResponse'
newUpdateRouteResponse' Int
pHttpStatus_ =
  UpdateRouteResponse''
    { $sel:apiGatewayManaged:UpdateRouteResponse'' :: Maybe Bool
apiGatewayManaged =
        forall a. Maybe a
Prelude.Nothing,
      $sel:apiKeyRequired:UpdateRouteResponse'' :: Maybe Bool
apiKeyRequired = forall a. Maybe a
Prelude.Nothing,
      $sel:authorizationScopes:UpdateRouteResponse'' :: Maybe [Text]
authorizationScopes = forall a. Maybe a
Prelude.Nothing,
      $sel:authorizationType:UpdateRouteResponse'' :: Maybe AuthorizationType
authorizationType = forall a. Maybe a
Prelude.Nothing,
      $sel:authorizerId:UpdateRouteResponse'' :: Maybe Text
authorizerId = forall a. Maybe a
Prelude.Nothing,
      $sel:modelSelectionExpression:UpdateRouteResponse'' :: Maybe Text
modelSelectionExpression = forall a. Maybe a
Prelude.Nothing,
      $sel:operationName:UpdateRouteResponse'' :: Maybe Text
operationName = forall a. Maybe a
Prelude.Nothing,
      $sel:requestModels:UpdateRouteResponse'' :: Maybe (HashMap Text Text)
requestModels = forall a. Maybe a
Prelude.Nothing,
      $sel:requestParameters:UpdateRouteResponse'' :: Maybe (HashMap Text ParameterConstraints)
requestParameters = forall a. Maybe a
Prelude.Nothing,
      $sel:routeId:UpdateRouteResponse'' :: Maybe Text
routeId = forall a. Maybe a
Prelude.Nothing,
      $sel:routeKey:UpdateRouteResponse'' :: Maybe Text
routeKey = forall a. Maybe a
Prelude.Nothing,
      $sel:routeResponseSelectionExpression:UpdateRouteResponse'' :: Maybe Text
routeResponseSelectionExpression = forall a. Maybe a
Prelude.Nothing,
      $sel:target:UpdateRouteResponse'' :: Maybe Text
target = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateRouteResponse'' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Specifies whether a route is managed by API Gateway. If you created an
-- API using quick create, the $default route is managed by API Gateway.
-- You can\'t modify the $default route key.
updateRouteResponse'_apiGatewayManaged :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe Prelude.Bool)
updateRouteResponse'_apiGatewayManaged :: Lens' UpdateRouteResponse' (Maybe Bool)
updateRouteResponse'_apiGatewayManaged = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe Bool
apiGatewayManaged :: Maybe Bool
$sel:apiGatewayManaged:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Bool
apiGatewayManaged} -> Maybe Bool
apiGatewayManaged) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe Bool
a -> UpdateRouteResponse'
s {$sel:apiGatewayManaged:UpdateRouteResponse'' :: Maybe Bool
apiGatewayManaged = Maybe Bool
a} :: UpdateRouteResponse')

-- | Specifies whether an API key is required for this route. Supported only
-- for WebSocket APIs.
updateRouteResponse'_apiKeyRequired :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe Prelude.Bool)
updateRouteResponse'_apiKeyRequired :: Lens' UpdateRouteResponse' (Maybe Bool)
updateRouteResponse'_apiKeyRequired = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe Bool
apiKeyRequired :: Maybe Bool
$sel:apiKeyRequired:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Bool
apiKeyRequired} -> Maybe Bool
apiKeyRequired) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe Bool
a -> UpdateRouteResponse'
s {$sel:apiKeyRequired:UpdateRouteResponse'' :: Maybe Bool
apiKeyRequired = Maybe Bool
a} :: UpdateRouteResponse')

-- | A list of authorization scopes configured on a route. The scopes are
-- used with a JWT authorizer to authorize the method invocation. The
-- authorization works by matching the route scopes against the scopes
-- parsed from the access token in the incoming request. The method
-- invocation is authorized if any route scope matches a claimed scope in
-- the access token. Otherwise, the invocation is not authorized. When the
-- route scope is configured, the client must provide an access token
-- instead of an identity token for authorization purposes.
updateRouteResponse'_authorizationScopes :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe [Prelude.Text])
updateRouteResponse'_authorizationScopes :: Lens' UpdateRouteResponse' (Maybe [Text])
updateRouteResponse'_authorizationScopes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe [Text]
authorizationScopes :: Maybe [Text]
$sel:authorizationScopes:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe [Text]
authorizationScopes} -> Maybe [Text]
authorizationScopes) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe [Text]
a -> UpdateRouteResponse'
s {$sel:authorizationScopes:UpdateRouteResponse'' :: Maybe [Text]
authorizationScopes = Maybe [Text]
a} :: UpdateRouteResponse') forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The authorization type for the route. For WebSocket APIs, valid values
-- are NONE for open access, AWS_IAM for using AWS IAM permissions, and
-- CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are
-- NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using
-- AWS IAM permissions, and CUSTOM for using a Lambda authorizer.
updateRouteResponse'_authorizationType :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe AuthorizationType)
updateRouteResponse'_authorizationType :: Lens' UpdateRouteResponse' (Maybe AuthorizationType)
updateRouteResponse'_authorizationType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe AuthorizationType
authorizationType :: Maybe AuthorizationType
$sel:authorizationType:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe AuthorizationType
authorizationType} -> Maybe AuthorizationType
authorizationType) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe AuthorizationType
a -> UpdateRouteResponse'
s {$sel:authorizationType:UpdateRouteResponse'' :: Maybe AuthorizationType
authorizationType = Maybe AuthorizationType
a} :: UpdateRouteResponse')

-- | The identifier of the Authorizer resource to be associated with this
-- route. The authorizer identifier is generated by API Gateway when you
-- created the authorizer.
updateRouteResponse'_authorizerId :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe Prelude.Text)
updateRouteResponse'_authorizerId :: Lens' UpdateRouteResponse' (Maybe Text)
updateRouteResponse'_authorizerId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe Text
authorizerId :: Maybe Text
$sel:authorizerId:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
authorizerId} -> Maybe Text
authorizerId) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe Text
a -> UpdateRouteResponse'
s {$sel:authorizerId:UpdateRouteResponse'' :: Maybe Text
authorizerId = Maybe Text
a} :: UpdateRouteResponse')

-- | The model selection expression for the route. Supported only for
-- WebSocket APIs.
updateRouteResponse'_modelSelectionExpression :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe Prelude.Text)
updateRouteResponse'_modelSelectionExpression :: Lens' UpdateRouteResponse' (Maybe Text)
updateRouteResponse'_modelSelectionExpression = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe Text
modelSelectionExpression :: Maybe Text
$sel:modelSelectionExpression:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
modelSelectionExpression} -> Maybe Text
modelSelectionExpression) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe Text
a -> UpdateRouteResponse'
s {$sel:modelSelectionExpression:UpdateRouteResponse'' :: Maybe Text
modelSelectionExpression = Maybe Text
a} :: UpdateRouteResponse')

-- | The operation name for the route.
updateRouteResponse'_operationName :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe Prelude.Text)
updateRouteResponse'_operationName :: Lens' UpdateRouteResponse' (Maybe Text)
updateRouteResponse'_operationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe Text
operationName :: Maybe Text
$sel:operationName:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
operationName} -> Maybe Text
operationName) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe Text
a -> UpdateRouteResponse'
s {$sel:operationName:UpdateRouteResponse'' :: Maybe Text
operationName = Maybe Text
a} :: UpdateRouteResponse')

-- | The request models for the route. Supported only for WebSocket APIs.
updateRouteResponse'_requestModels :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
updateRouteResponse'_requestModels :: Lens' UpdateRouteResponse' (Maybe (HashMap Text Text))
updateRouteResponse'_requestModels = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe (HashMap Text Text)
requestModels :: Maybe (HashMap Text Text)
$sel:requestModels:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe (HashMap Text Text)
requestModels} -> Maybe (HashMap Text Text)
requestModels) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe (HashMap Text Text)
a -> UpdateRouteResponse'
s {$sel:requestModels:UpdateRouteResponse'' :: Maybe (HashMap Text Text)
requestModels = Maybe (HashMap Text Text)
a} :: UpdateRouteResponse') forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The request parameters for the route. Supported only for WebSocket APIs.
updateRouteResponse'_requestParameters :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe (Prelude.HashMap Prelude.Text ParameterConstraints))
updateRouteResponse'_requestParameters :: Lens'
  UpdateRouteResponse' (Maybe (HashMap Text ParameterConstraints))
updateRouteResponse'_requestParameters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe (HashMap Text ParameterConstraints)
requestParameters :: Maybe (HashMap Text ParameterConstraints)
$sel:requestParameters:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe (HashMap Text ParameterConstraints)
requestParameters} -> Maybe (HashMap Text ParameterConstraints)
requestParameters) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe (HashMap Text ParameterConstraints)
a -> UpdateRouteResponse'
s {$sel:requestParameters:UpdateRouteResponse'' :: Maybe (HashMap Text ParameterConstraints)
requestParameters = Maybe (HashMap Text ParameterConstraints)
a} :: UpdateRouteResponse') forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The route ID.
updateRouteResponse'_routeId :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe Prelude.Text)
updateRouteResponse'_routeId :: Lens' UpdateRouteResponse' (Maybe Text)
updateRouteResponse'_routeId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe Text
routeId :: Maybe Text
$sel:routeId:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
routeId} -> Maybe Text
routeId) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe Text
a -> UpdateRouteResponse'
s {$sel:routeId:UpdateRouteResponse'' :: Maybe Text
routeId = Maybe Text
a} :: UpdateRouteResponse')

-- | The route key for the route.
updateRouteResponse'_routeKey :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe Prelude.Text)
updateRouteResponse'_routeKey :: Lens' UpdateRouteResponse' (Maybe Text)
updateRouteResponse'_routeKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe Text
routeKey :: Maybe Text
$sel:routeKey:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
routeKey} -> Maybe Text
routeKey) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe Text
a -> UpdateRouteResponse'
s {$sel:routeKey:UpdateRouteResponse'' :: Maybe Text
routeKey = Maybe Text
a} :: UpdateRouteResponse')

-- | The route response selection expression for the route. Supported only
-- for WebSocket APIs.
updateRouteResponse'_routeResponseSelectionExpression :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe Prelude.Text)
updateRouteResponse'_routeResponseSelectionExpression :: Lens' UpdateRouteResponse' (Maybe Text)
updateRouteResponse'_routeResponseSelectionExpression = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe Text
routeResponseSelectionExpression :: Maybe Text
$sel:routeResponseSelectionExpression:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
routeResponseSelectionExpression} -> Maybe Text
routeResponseSelectionExpression) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe Text
a -> UpdateRouteResponse'
s {$sel:routeResponseSelectionExpression:UpdateRouteResponse'' :: Maybe Text
routeResponseSelectionExpression = Maybe Text
a} :: UpdateRouteResponse')

-- | The target for the route.
updateRouteResponse'_target :: Lens.Lens' UpdateRouteResponse' (Prelude.Maybe Prelude.Text)
updateRouteResponse'_target :: Lens' UpdateRouteResponse' (Maybe Text)
updateRouteResponse'_target = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Maybe Text
target :: Maybe Text
$sel:target:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
target} -> Maybe Text
target) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Maybe Text
a -> UpdateRouteResponse'
s {$sel:target:UpdateRouteResponse'' :: Maybe Text
target = Maybe Text
a} :: UpdateRouteResponse')

-- | The response's http status code.
updateRouteResponse'_httpStatus :: Lens.Lens' UpdateRouteResponse' Prelude.Int
updateRouteResponse'_httpStatus :: Lens' UpdateRouteResponse' Int
updateRouteResponse'_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateRouteResponse'' {Int
httpStatus :: Int
$sel:httpStatus:UpdateRouteResponse'' :: UpdateRouteResponse' -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateRouteResponse'
s@UpdateRouteResponse'' {} Int
a -> UpdateRouteResponse'
s {$sel:httpStatus:UpdateRouteResponse'' :: Int
httpStatus = Int
a} :: UpdateRouteResponse')

instance Prelude.NFData UpdateRouteResponse' where
  rnf :: UpdateRouteResponse' -> ()
rnf UpdateRouteResponse'' {Int
Maybe Bool
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Text ParameterConstraints)
Maybe AuthorizationType
httpStatus :: Int
target :: Maybe Text
routeResponseSelectionExpression :: Maybe Text
routeKey :: Maybe Text
routeId :: Maybe Text
requestParameters :: Maybe (HashMap Text ParameterConstraints)
requestModels :: Maybe (HashMap Text Text)
operationName :: Maybe Text
modelSelectionExpression :: Maybe Text
authorizerId :: Maybe Text
authorizationType :: Maybe AuthorizationType
authorizationScopes :: Maybe [Text]
apiKeyRequired :: Maybe Bool
apiGatewayManaged :: Maybe Bool
$sel:httpStatus:UpdateRouteResponse'' :: UpdateRouteResponse' -> Int
$sel:target:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
$sel:routeResponseSelectionExpression:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
$sel:routeKey:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
$sel:routeId:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
$sel:requestParameters:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe (HashMap Text ParameterConstraints)
$sel:requestModels:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe (HashMap Text Text)
$sel:operationName:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
$sel:modelSelectionExpression:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
$sel:authorizerId:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Text
$sel:authorizationType:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe AuthorizationType
$sel:authorizationScopes:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe [Text]
$sel:apiKeyRequired:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Bool
$sel:apiGatewayManaged:UpdateRouteResponse'' :: UpdateRouteResponse' -> Maybe Bool
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
apiGatewayManaged
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
apiKeyRequired
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
authorizationScopes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AuthorizationType
authorizationType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
authorizerId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelSelectionExpression
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
operationName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
requestModels
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text ParameterConstraints)
requestParameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
routeId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
routeKey
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
routeResponseSelectionExpression
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
target
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus