stratosphere-0.59.0: library-gen/Stratosphere/ResourceProperties/CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html
module Stratosphere.ResourceProperties.CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.CloudFrontCachePolicyCookiesConfig
import Stratosphere.ResourceProperties.CloudFrontCachePolicyHeadersConfig
import Stratosphere.ResourceProperties.CloudFrontCachePolicyQueryStringsConfig
-- | Full data type definition for
-- CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin. See
-- 'cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin' for a
-- more convenient constructor.
data CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin =
CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
{ _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig :: CloudFrontCachePolicyCookiesConfig
, _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip :: Val Bool
, _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig :: CloudFrontCachePolicyHeadersConfig
, _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig :: CloudFrontCachePolicyQueryStringsConfig
} deriving (Show, Eq)
instance ToJSON CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin where
toJSON CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin{..} =
object $
catMaybes
[ (Just . ("CookiesConfig",) . toJSON) _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig
, (Just . ("EnableAcceptEncodingGzip",) . toJSON) _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip
, (Just . ("HeadersConfig",) . toJSON) _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig
, (Just . ("QueryStringsConfig",) . toJSON) _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig
]
-- | Constructor for
-- 'CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin'
-- containing required fields as arguments.
cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
:: CloudFrontCachePolicyCookiesConfig -- ^ 'cfcppickaftoCookiesConfig'
-> Val Bool -- ^ 'cfcppickaftoEnableAcceptEncodingGzip'
-> CloudFrontCachePolicyHeadersConfig -- ^ 'cfcppickaftoHeadersConfig'
-> CloudFrontCachePolicyQueryStringsConfig -- ^ 'cfcppickaftoQueryStringsConfig'
-> CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin cookiesConfigarg enableAcceptEncodingGziparg headersConfigarg queryStringsConfigarg =
CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin
{ _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig = cookiesConfigarg
, _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip = enableAcceptEncodingGziparg
, _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig = headersConfigarg
, _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig = queryStringsConfigarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-cookiesconfig
cfcppickaftoCookiesConfig :: Lens' CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin CloudFrontCachePolicyCookiesConfig
cfcppickaftoCookiesConfig = lens _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig (\s a -> s { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginCookiesConfig = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-enableacceptencodinggzip
cfcppickaftoEnableAcceptEncodingGzip :: Lens' CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin (Val Bool)
cfcppickaftoEnableAcceptEncodingGzip = lens _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip (\s a -> s { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginEnableAcceptEncodingGzip = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-headersconfig
cfcppickaftoHeadersConfig :: Lens' CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin CloudFrontCachePolicyHeadersConfig
cfcppickaftoHeadersConfig = lens _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig (\s a -> s { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginHeadersConfig = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-querystringsconfig
cfcppickaftoQueryStringsConfig :: Lens' CloudFrontCachePolicyParametersInCacheKeyAndForwardedToOrigin CloudFrontCachePolicyQueryStringsConfig
cfcppickaftoQueryStringsConfig = lens _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig (\s a -> s { _cloudFrontCachePolicyParametersInCacheKeyAndForwardedToOriginQueryStringsConfig = a })