stratosphere-0.57.0: library-gen/Stratosphere/ResourceProperties/AppMeshGatewayRouteHttpGatewayRoute.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html
module Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRoute where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteAction
import Stratosphere.ResourceProperties.AppMeshGatewayRouteHttpGatewayRouteMatch
-- | Full data type definition for AppMeshGatewayRouteHttpGatewayRoute. See
-- 'appMeshGatewayRouteHttpGatewayRoute' for a more convenient constructor.
data AppMeshGatewayRouteHttpGatewayRoute =
AppMeshGatewayRouteHttpGatewayRoute
{ _appMeshGatewayRouteHttpGatewayRouteAction :: AppMeshGatewayRouteHttpGatewayRouteAction
, _appMeshGatewayRouteHttpGatewayRouteMatch :: AppMeshGatewayRouteHttpGatewayRouteMatch
} deriving (Show, Eq)
instance ToJSON AppMeshGatewayRouteHttpGatewayRoute where
toJSON AppMeshGatewayRouteHttpGatewayRoute{..} =
object $
catMaybes
[ (Just . ("Action",) . toJSON) _appMeshGatewayRouteHttpGatewayRouteAction
, (Just . ("Match",) . toJSON) _appMeshGatewayRouteHttpGatewayRouteMatch
]
-- | Constructor for 'AppMeshGatewayRouteHttpGatewayRoute' containing required
-- fields as arguments.
appMeshGatewayRouteHttpGatewayRoute
:: AppMeshGatewayRouteHttpGatewayRouteAction -- ^ 'amgrhgrAction'
-> AppMeshGatewayRouteHttpGatewayRouteMatch -- ^ 'amgrhgrMatch'
-> AppMeshGatewayRouteHttpGatewayRoute
appMeshGatewayRouteHttpGatewayRoute actionarg matcharg =
AppMeshGatewayRouteHttpGatewayRoute
{ _appMeshGatewayRouteHttpGatewayRouteAction = actionarg
, _appMeshGatewayRouteHttpGatewayRouteMatch = matcharg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-action
amgrhgrAction :: Lens' AppMeshGatewayRouteHttpGatewayRoute AppMeshGatewayRouteHttpGatewayRouteAction
amgrhgrAction = lens _appMeshGatewayRouteHttpGatewayRouteAction (\s a -> s { _appMeshGatewayRouteHttpGatewayRouteAction = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-gatewayroute-httpgatewayroute.html#cfn-appmesh-gatewayroute-httpgatewayroute-match
amgrhgrMatch :: Lens' AppMeshGatewayRouteHttpGatewayRoute AppMeshGatewayRouteHttpGatewayRouteMatch
amgrhgrMatch = lens _appMeshGatewayRouteHttpGatewayRouteMatch (\s a -> s { _appMeshGatewayRouteHttpGatewayRouteMatch = a })