stratosphere-0.53.0: library-gen/Stratosphere/Resources/GlobalAcceleratorEndpointGroup.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html
module Stratosphere.Resources.GlobalAcceleratorEndpointGroup where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.GlobalAcceleratorEndpointGroupEndpointConfiguration
-- | Full data type definition for GlobalAcceleratorEndpointGroup. See
-- 'globalAcceleratorEndpointGroup' for a more convenient constructor.
data GlobalAcceleratorEndpointGroup =
GlobalAcceleratorEndpointGroup
{ _globalAcceleratorEndpointGroupEndpointConfigurations :: Maybe [GlobalAcceleratorEndpointGroupEndpointConfiguration]
, _globalAcceleratorEndpointGroupEndpointGroupRegion :: Val Text
, _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds :: Maybe (Val Integer)
, _globalAcceleratorEndpointGroupHealthCheckPath :: Maybe (Val Text)
, _globalAcceleratorEndpointGroupHealthCheckPort :: Maybe (Val Integer)
, _globalAcceleratorEndpointGroupHealthCheckProtocol :: Maybe (Val Text)
, _globalAcceleratorEndpointGroupListenerArn :: Val Text
, _globalAcceleratorEndpointGroupThresholdCount :: Maybe (Val Integer)
, _globalAcceleratorEndpointGroupTrafficDialPercentage :: Maybe (Val Double)
} deriving (Show, Eq)
instance ToResourceProperties GlobalAcceleratorEndpointGroup where
toResourceProperties GlobalAcceleratorEndpointGroup{..} =
ResourceProperties
{ resourcePropertiesType = "AWS::GlobalAccelerator::EndpointGroup"
, resourcePropertiesProperties =
hashMapFromList $ catMaybes
[ fmap (("EndpointConfigurations",) . toJSON) _globalAcceleratorEndpointGroupEndpointConfigurations
, (Just . ("EndpointGroupRegion",) . toJSON) _globalAcceleratorEndpointGroupEndpointGroupRegion
, fmap (("HealthCheckIntervalSeconds",) . toJSON) _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds
, fmap (("HealthCheckPath",) . toJSON) _globalAcceleratorEndpointGroupHealthCheckPath
, fmap (("HealthCheckPort",) . toJSON) _globalAcceleratorEndpointGroupHealthCheckPort
, fmap (("HealthCheckProtocol",) . toJSON) _globalAcceleratorEndpointGroupHealthCheckProtocol
, (Just . ("ListenerArn",) . toJSON) _globalAcceleratorEndpointGroupListenerArn
, fmap (("ThresholdCount",) . toJSON) _globalAcceleratorEndpointGroupThresholdCount
, fmap (("TrafficDialPercentage",) . toJSON) _globalAcceleratorEndpointGroupTrafficDialPercentage
]
}
-- | Constructor for 'GlobalAcceleratorEndpointGroup' containing required
-- fields as arguments.
globalAcceleratorEndpointGroup
:: Val Text -- ^ 'gaegEndpointGroupRegion'
-> Val Text -- ^ 'gaegListenerArn'
-> GlobalAcceleratorEndpointGroup
globalAcceleratorEndpointGroup endpointGroupRegionarg listenerArnarg =
GlobalAcceleratorEndpointGroup
{ _globalAcceleratorEndpointGroupEndpointConfigurations = Nothing
, _globalAcceleratorEndpointGroupEndpointGroupRegion = endpointGroupRegionarg
, _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds = Nothing
, _globalAcceleratorEndpointGroupHealthCheckPath = Nothing
, _globalAcceleratorEndpointGroupHealthCheckPort = Nothing
, _globalAcceleratorEndpointGroupHealthCheckProtocol = Nothing
, _globalAcceleratorEndpointGroupListenerArn = listenerArnarg
, _globalAcceleratorEndpointGroupThresholdCount = Nothing
, _globalAcceleratorEndpointGroupTrafficDialPercentage = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-endpointconfigurations
gaegEndpointConfigurations :: Lens' GlobalAcceleratorEndpointGroup (Maybe [GlobalAcceleratorEndpointGroupEndpointConfiguration])
gaegEndpointConfigurations = lens _globalAcceleratorEndpointGroupEndpointConfigurations (\s a -> s { _globalAcceleratorEndpointGroupEndpointConfigurations = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-endpointgroupregion
gaegEndpointGroupRegion :: Lens' GlobalAcceleratorEndpointGroup (Val Text)
gaegEndpointGroupRegion = lens _globalAcceleratorEndpointGroupEndpointGroupRegion (\s a -> s { _globalAcceleratorEndpointGroupEndpointGroupRegion = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckintervalseconds
gaegHealthCheckIntervalSeconds :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Integer))
gaegHealthCheckIntervalSeconds = lens _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds (\s a -> s { _globalAcceleratorEndpointGroupHealthCheckIntervalSeconds = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckpath
gaegHealthCheckPath :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Text))
gaegHealthCheckPath = lens _globalAcceleratorEndpointGroupHealthCheckPath (\s a -> s { _globalAcceleratorEndpointGroupHealthCheckPath = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckport
gaegHealthCheckPort :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Integer))
gaegHealthCheckPort = lens _globalAcceleratorEndpointGroupHealthCheckPort (\s a -> s { _globalAcceleratorEndpointGroupHealthCheckPort = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-healthcheckprotocol
gaegHealthCheckProtocol :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Text))
gaegHealthCheckProtocol = lens _globalAcceleratorEndpointGroupHealthCheckProtocol (\s a -> s { _globalAcceleratorEndpointGroupHealthCheckProtocol = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-listenerarn
gaegListenerArn :: Lens' GlobalAcceleratorEndpointGroup (Val Text)
gaegListenerArn = lens _globalAcceleratorEndpointGroupListenerArn (\s a -> s { _globalAcceleratorEndpointGroupListenerArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-thresholdcount
gaegThresholdCount :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Integer))
gaegThresholdCount = lens _globalAcceleratorEndpointGroupThresholdCount (\s a -> s { _globalAcceleratorEndpointGroupThresholdCount = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-endpointgroup.html#cfn-globalaccelerator-endpointgroup-trafficdialpercentage
gaegTrafficDialPercentage :: Lens' GlobalAcceleratorEndpointGroup (Maybe (Val Double))
gaegTrafficDialPercentage = lens _globalAcceleratorEndpointGroupTrafficDialPercentage (\s a -> s { _globalAcceleratorEndpointGroupTrafficDialPercentage = a })