stratosphere-0.46.0: library-gen/Stratosphere/ResourceProperties/AppMeshRouteGrpcRouteMetadataMatchMethod.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html
module Stratosphere.ResourceProperties.AppMeshRouteGrpcRouteMetadataMatchMethod where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.AppMeshRouteMatchRange
-- | Full data type definition for AppMeshRouteGrpcRouteMetadataMatchMethod.
-- See 'appMeshRouteGrpcRouteMetadataMatchMethod' for a more convenient
-- constructor.
data AppMeshRouteGrpcRouteMetadataMatchMethod =
AppMeshRouteGrpcRouteMetadataMatchMethod
{ _appMeshRouteGrpcRouteMetadataMatchMethodExact :: Maybe (Val Text)
, _appMeshRouteGrpcRouteMetadataMatchMethodPrefix :: Maybe (Val Text)
, _appMeshRouteGrpcRouteMetadataMatchMethodRange :: Maybe AppMeshRouteMatchRange
, _appMeshRouteGrpcRouteMetadataMatchMethodRegex :: Maybe (Val Text)
, _appMeshRouteGrpcRouteMetadataMatchMethodSuffix :: Maybe (Val Text)
} deriving (Show, Eq)
instance ToJSON AppMeshRouteGrpcRouteMetadataMatchMethod where
toJSON AppMeshRouteGrpcRouteMetadataMatchMethod{..} =
object $
catMaybes
[ fmap (("Exact",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodExact
, fmap (("Prefix",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodPrefix
, fmap (("Range",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodRange
, fmap (("Regex",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodRegex
, fmap (("Suffix",) . toJSON) _appMeshRouteGrpcRouteMetadataMatchMethodSuffix
]
-- | Constructor for 'AppMeshRouteGrpcRouteMetadataMatchMethod' containing
-- required fields as arguments.
appMeshRouteGrpcRouteMetadataMatchMethod
:: AppMeshRouteGrpcRouteMetadataMatchMethod
appMeshRouteGrpcRouteMetadataMatchMethod =
AppMeshRouteGrpcRouteMetadataMatchMethod
{ _appMeshRouteGrpcRouteMetadataMatchMethodExact = Nothing
, _appMeshRouteGrpcRouteMetadataMatchMethodPrefix = Nothing
, _appMeshRouteGrpcRouteMetadataMatchMethodRange = Nothing
, _appMeshRouteGrpcRouteMetadataMatchMethodRegex = Nothing
, _appMeshRouteGrpcRouteMetadataMatchMethodSuffix = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-exact
amrgrmmmExact :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe (Val Text))
amrgrmmmExact = lens _appMeshRouteGrpcRouteMetadataMatchMethodExact (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodExact = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-prefix
amrgrmmmPrefix :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe (Val Text))
amrgrmmmPrefix = lens _appMeshRouteGrpcRouteMetadataMatchMethodPrefix (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodPrefix = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-range
amrgrmmmRange :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe AppMeshRouteMatchRange)
amrgrmmmRange = lens _appMeshRouteGrpcRouteMetadataMatchMethodRange (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodRange = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-regex
amrgrmmmRegex :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe (Val Text))
amrgrmmmRegex = lens _appMeshRouteGrpcRouteMetadataMatchMethodRegex (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodRegex = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-route-grpcroutemetadatamatchmethod.html#cfn-appmesh-route-grpcroutemetadatamatchmethod-suffix
amrgrmmmSuffix :: Lens' AppMeshRouteGrpcRouteMetadataMatchMethod (Maybe (Val Text))
amrgrmmmSuffix = lens _appMeshRouteGrpcRouteMetadataMatchMethodSuffix (\s a -> s { _appMeshRouteGrpcRouteMetadataMatchMethodSuffix = a })