packages feed

stratosphere-cloudfront (empty) → 1.0.0

raw patch · 202 files changed

+7473/−0 lines, 202 filesdep +aesondep +basedep +stratosphere

Dependencies added: aeson, base, stratosphere

Files

+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/CloudFront/AnycastIpList.hs view
@@ -0,0 +1,63 @@+module Stratosphere.CloudFront.AnycastIpList (+        module Exports, AnycastIpList(..), mkAnycastIpList+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.AnycastIpList.TagsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnycastIpList+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html>+    AnycastIpList {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html#cfn-cloudfront-anycastiplist-ipaddresstype>+                   ipAddressType :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html#cfn-cloudfront-anycastiplist-ipcount>+                   ipCount :: (Value Prelude.Integer),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html#cfn-cloudfront-anycastiplist-name>+                   name :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-anycastiplist.html#cfn-cloudfront-anycastiplist-tags>+                   tags :: (Prelude.Maybe TagsProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnycastIpList ::+  Value Prelude.Integer -> Value Prelude.Text -> AnycastIpList+mkAnycastIpList ipCount name+  = AnycastIpList+      {haddock_workaround_ = (), ipCount = ipCount, name = name,+       ipAddressType = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties AnycastIpList where+  toResourceProperties AnycastIpList {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::AnycastIpList",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IpCount" JSON..= ipCount, "Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON AnycastIpList where+  toJSON AnycastIpList {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IpCount" JSON..= ipCount, "Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "IpAddressType" AnycastIpList where+  type PropertyType "IpAddressType" AnycastIpList = Value Prelude.Text+  set newValue AnycastIpList {..}+    = AnycastIpList {ipAddressType = Prelude.pure newValue, ..}+instance Property "IpCount" AnycastIpList where+  type PropertyType "IpCount" AnycastIpList = Value Prelude.Integer+  set newValue AnycastIpList {..}+    = AnycastIpList {ipCount = newValue, ..}+instance Property "Name" AnycastIpList where+  type PropertyType "Name" AnycastIpList = Value Prelude.Text+  set newValue AnycastIpList {..}+    = AnycastIpList {name = newValue, ..}+instance Property "Tags" AnycastIpList where+  type PropertyType "Tags" AnycastIpList = TagsProperty+  set newValue AnycastIpList {..}+    = AnycastIpList {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/AnycastIpList/AnycastIpListProperty.hs view
@@ -0,0 +1,104 @@+module Stratosphere.CloudFront.AnycastIpList.AnycastIpListProperty (+        AnycastIpListProperty(..), mkAnycastIpListProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnycastIpListProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html>+    AnycastIpListProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-anycastips>+                           anycastIps :: (ValueList Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-arn>+                           arn :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-id>+                           id :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-ipaddresstype>+                           ipAddressType :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-ipcount>+                           ipCount :: (Value Prelude.Integer),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-lastmodifiedtime>+                           lastModifiedTime :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-name>+                           name :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-anycastiplist.html#cfn-cloudfront-anycastiplist-anycastiplist-status>+                           status :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnycastIpListProperty ::+  ValueList Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> Value Prelude.Integer+           -> Value Prelude.Text+              -> Value Prelude.Text+                 -> Value Prelude.Text -> AnycastIpListProperty+mkAnycastIpListProperty+  anycastIps+  arn+  id+  ipCount+  lastModifiedTime+  name+  status+  = AnycastIpListProperty+      {haddock_workaround_ = (), anycastIps = anycastIps, arn = arn,+       id = id, ipCount = ipCount, lastModifiedTime = lastModifiedTime,+       name = name, status = status, ipAddressType = Prelude.Nothing}+instance ToResourceProperties AnycastIpListProperty where+  toResourceProperties AnycastIpListProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::AnycastIpList.AnycastIpList",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AnycastIps" JSON..= anycastIps, "Arn" JSON..= arn,+                            "Id" JSON..= id, "IpCount" JSON..= ipCount,+                            "LastModifiedTime" JSON..= lastModifiedTime, "Name" JSON..= name,+                            "Status" JSON..= status]+                           (Prelude.catMaybes+                              [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType]))}+instance JSON.ToJSON AnycastIpListProperty where+  toJSON AnycastIpListProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AnycastIps" JSON..= anycastIps, "Arn" JSON..= arn,+               "Id" JSON..= id, "IpCount" JSON..= ipCount,+               "LastModifiedTime" JSON..= lastModifiedTime, "Name" JSON..= name,+               "Status" JSON..= status]+              (Prelude.catMaybes+                 [(JSON..=) "IpAddressType" Prelude.<$> ipAddressType])))+instance Property "AnycastIps" AnycastIpListProperty where+  type PropertyType "AnycastIps" AnycastIpListProperty = ValueList Prelude.Text+  set newValue AnycastIpListProperty {..}+    = AnycastIpListProperty {anycastIps = newValue, ..}+instance Property "Arn" AnycastIpListProperty where+  type PropertyType "Arn" AnycastIpListProperty = Value Prelude.Text+  set newValue AnycastIpListProperty {..}+    = AnycastIpListProperty {arn = newValue, ..}+instance Property "Id" AnycastIpListProperty where+  type PropertyType "Id" AnycastIpListProperty = Value Prelude.Text+  set newValue AnycastIpListProperty {..}+    = AnycastIpListProperty {id = newValue, ..}+instance Property "IpAddressType" AnycastIpListProperty where+  type PropertyType "IpAddressType" AnycastIpListProperty = Value Prelude.Text+  set newValue AnycastIpListProperty {..}+    = AnycastIpListProperty {ipAddressType = Prelude.pure newValue, ..}+instance Property "IpCount" AnycastIpListProperty where+  type PropertyType "IpCount" AnycastIpListProperty = Value Prelude.Integer+  set newValue AnycastIpListProperty {..}+    = AnycastIpListProperty {ipCount = newValue, ..}+instance Property "LastModifiedTime" AnycastIpListProperty where+  type PropertyType "LastModifiedTime" AnycastIpListProperty = Value Prelude.Text+  set newValue AnycastIpListProperty {..}+    = AnycastIpListProperty {lastModifiedTime = newValue, ..}+instance Property "Name" AnycastIpListProperty where+  type PropertyType "Name" AnycastIpListProperty = Value Prelude.Text+  set newValue AnycastIpListProperty {..}+    = AnycastIpListProperty {name = newValue, ..}+instance Property "Status" AnycastIpListProperty where+  type PropertyType "Status" AnycastIpListProperty = Value Prelude.Text+  set newValue AnycastIpListProperty {..}+    = AnycastIpListProperty {status = newValue, ..}
+ gen/Stratosphere/CloudFront/AnycastIpList/AnycastIpListProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.AnycastIpList.AnycastIpListProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AnycastIpListProperty :: Prelude.Type+instance ToResourceProperties AnycastIpListProperty+instance Prelude.Eq AnycastIpListProperty+instance Prelude.Show AnycastIpListProperty+instance JSON.ToJSON AnycastIpListProperty
+ gen/Stratosphere/CloudFront/AnycastIpList/TagsProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.CloudFront.AnycastIpList.TagsProperty (+        TagsProperty(..), mkTagsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+data TagsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-tags.html>+    TagsProperty {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-anycastiplist-tags.html#cfn-cloudfront-anycastiplist-tags-items>+                  items :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTagsProperty :: TagsProperty+mkTagsProperty+  = TagsProperty {haddock_workaround_ = (), items = Prelude.Nothing}+instance ToResourceProperties TagsProperty where+  toResourceProperties TagsProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::AnycastIpList.Tags",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Items" Prelude.<$> items])}+instance JSON.ToJSON TagsProperty where+  toJSON TagsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Items" Prelude.<$> items]))+instance Property "Items" TagsProperty where+  type PropertyType "Items" TagsProperty = [Tag]+  set newValue TagsProperty {..}+    = TagsProperty {items = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/AnycastIpList/TagsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.AnycastIpList.TagsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TagsProperty :: Prelude.Type+instance ToResourceProperties TagsProperty+instance Prelude.Eq TagsProperty+instance Prelude.Show TagsProperty+instance JSON.ToJSON TagsProperty
+ gen/Stratosphere/CloudFront/CachePolicy.hs view
@@ -0,0 +1,31 @@+module Stratosphere.CloudFront.CachePolicy (+        module Exports, CachePolicy(..), mkCachePolicy+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.CachePolicy.CachePolicyConfigProperty as Exports+import Stratosphere.ResourceProperties+data CachePolicy+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html>+    CachePolicy {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cachepolicy.html#cfn-cloudfront-cachepolicy-cachepolicyconfig>+                 cachePolicyConfig :: CachePolicyConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCachePolicy :: CachePolicyConfigProperty -> CachePolicy+mkCachePolicy cachePolicyConfig+  = CachePolicy+      {haddock_workaround_ = (), cachePolicyConfig = cachePolicyConfig}+instance ToResourceProperties CachePolicy where+  toResourceProperties CachePolicy {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::CachePolicy",+         supportsTags = Prelude.False,+         properties = ["CachePolicyConfig" JSON..= cachePolicyConfig]}+instance JSON.ToJSON CachePolicy where+  toJSON CachePolicy {..}+    = JSON.object ["CachePolicyConfig" JSON..= cachePolicyConfig]+instance Property "CachePolicyConfig" CachePolicy where+  type PropertyType "CachePolicyConfig" CachePolicy = CachePolicyConfigProperty+  set newValue CachePolicy {..}+    = CachePolicy {cachePolicyConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/CachePolicy/CachePolicyConfigProperty.hs view
@@ -0,0 +1,91 @@+module Stratosphere.CloudFront.CachePolicy.CachePolicyConfigProperty (+        module Exports, CachePolicyConfigProperty(..),+        mkCachePolicyConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.CachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CachePolicyConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html>+    CachePolicyConfigProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-comment>+                               comment :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-defaultttl>+                               defaultTTL :: (Value Prelude.Double),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-maxttl>+                               maxTTL :: (Value Prelude.Double),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-minttl>+                               minTTL :: (Value Prelude.Double),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-name>+                               name :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cachepolicyconfig.html#cfn-cloudfront-cachepolicy-cachepolicyconfig-parametersincachekeyandforwardedtoorigin>+                               parametersInCacheKeyAndForwardedToOrigin :: ParametersInCacheKeyAndForwardedToOriginProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCachePolicyConfigProperty ::+  Value Prelude.Double+  -> Value Prelude.Double+     -> Value Prelude.Double+        -> Value Prelude.Text+           -> ParametersInCacheKeyAndForwardedToOriginProperty+              -> CachePolicyConfigProperty+mkCachePolicyConfigProperty+  defaultTTL+  maxTTL+  minTTL+  name+  parametersInCacheKeyAndForwardedToOrigin+  = CachePolicyConfigProperty+      {haddock_workaround_ = (), defaultTTL = defaultTTL,+       maxTTL = maxTTL, minTTL = minTTL, name = name,+       parametersInCacheKeyAndForwardedToOrigin = parametersInCacheKeyAndForwardedToOrigin,+       comment = Prelude.Nothing}+instance ToResourceProperties CachePolicyConfigProperty where+  toResourceProperties CachePolicyConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::CachePolicy.CachePolicyConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DefaultTTL" JSON..= defaultTTL, "MaxTTL" JSON..= maxTTL,+                            "MinTTL" JSON..= minTTL, "Name" JSON..= name,+                            "ParametersInCacheKeyAndForwardedToOrigin"+                              JSON..= parametersInCacheKeyAndForwardedToOrigin]+                           (Prelude.catMaybes [(JSON..=) "Comment" Prelude.<$> comment]))}+instance JSON.ToJSON CachePolicyConfigProperty where+  toJSON CachePolicyConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DefaultTTL" JSON..= defaultTTL, "MaxTTL" JSON..= maxTTL,+               "MinTTL" JSON..= minTTL, "Name" JSON..= name,+               "ParametersInCacheKeyAndForwardedToOrigin"+                 JSON..= parametersInCacheKeyAndForwardedToOrigin]+              (Prelude.catMaybes [(JSON..=) "Comment" Prelude.<$> comment])))+instance Property "Comment" CachePolicyConfigProperty where+  type PropertyType "Comment" CachePolicyConfigProperty = Value Prelude.Text+  set newValue CachePolicyConfigProperty {..}+    = CachePolicyConfigProperty {comment = Prelude.pure newValue, ..}+instance Property "DefaultTTL" CachePolicyConfigProperty where+  type PropertyType "DefaultTTL" CachePolicyConfigProperty = Value Prelude.Double+  set newValue CachePolicyConfigProperty {..}+    = CachePolicyConfigProperty {defaultTTL = newValue, ..}+instance Property "MaxTTL" CachePolicyConfigProperty where+  type PropertyType "MaxTTL" CachePolicyConfigProperty = Value Prelude.Double+  set newValue CachePolicyConfigProperty {..}+    = CachePolicyConfigProperty {maxTTL = newValue, ..}+instance Property "MinTTL" CachePolicyConfigProperty where+  type PropertyType "MinTTL" CachePolicyConfigProperty = Value Prelude.Double+  set newValue CachePolicyConfigProperty {..}+    = CachePolicyConfigProperty {minTTL = newValue, ..}+instance Property "Name" CachePolicyConfigProperty where+  type PropertyType "Name" CachePolicyConfigProperty = Value Prelude.Text+  set newValue CachePolicyConfigProperty {..}+    = CachePolicyConfigProperty {name = newValue, ..}+instance Property "ParametersInCacheKeyAndForwardedToOrigin" CachePolicyConfigProperty where+  type PropertyType "ParametersInCacheKeyAndForwardedToOrigin" CachePolicyConfigProperty = ParametersInCacheKeyAndForwardedToOriginProperty+  set newValue CachePolicyConfigProperty {..}+    = CachePolicyConfigProperty+        {parametersInCacheKeyAndForwardedToOrigin = newValue, ..}
+ gen/Stratosphere/CloudFront/CachePolicy/CachePolicyConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.CachePolicy.CachePolicyConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CachePolicyConfigProperty :: Prelude.Type+instance ToResourceProperties CachePolicyConfigProperty+instance Prelude.Eq CachePolicyConfigProperty+instance Prelude.Show CachePolicyConfigProperty+instance JSON.ToJSON CachePolicyConfigProperty
+ gen/Stratosphere/CloudFront/CachePolicy/CookiesConfigProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.CloudFront.CachePolicy.CookiesConfigProperty (+        CookiesConfigProperty(..), mkCookiesConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CookiesConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cookiesconfig.html>+    CookiesConfigProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cookiesconfig.html#cfn-cloudfront-cachepolicy-cookiesconfig-cookiebehavior>+                           cookieBehavior :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-cookiesconfig.html#cfn-cloudfront-cachepolicy-cookiesconfig-cookies>+                           cookies :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCookiesConfigProperty ::+  Value Prelude.Text -> CookiesConfigProperty+mkCookiesConfigProperty cookieBehavior+  = CookiesConfigProperty+      {haddock_workaround_ = (), cookieBehavior = cookieBehavior,+       cookies = Prelude.Nothing}+instance ToResourceProperties CookiesConfigProperty where+  toResourceProperties CookiesConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::CachePolicy.CookiesConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["CookieBehavior" JSON..= cookieBehavior]+                           (Prelude.catMaybes [(JSON..=) "Cookies" Prelude.<$> cookies]))}+instance JSON.ToJSON CookiesConfigProperty where+  toJSON CookiesConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["CookieBehavior" JSON..= cookieBehavior]+              (Prelude.catMaybes [(JSON..=) "Cookies" Prelude.<$> cookies])))+instance Property "CookieBehavior" CookiesConfigProperty where+  type PropertyType "CookieBehavior" CookiesConfigProperty = Value Prelude.Text+  set newValue CookiesConfigProperty {..}+    = CookiesConfigProperty {cookieBehavior = newValue, ..}+instance Property "Cookies" CookiesConfigProperty where+  type PropertyType "Cookies" CookiesConfigProperty = ValueList Prelude.Text+  set newValue CookiesConfigProperty {..}+    = CookiesConfigProperty {cookies = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/CachePolicy/CookiesConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.CachePolicy.CookiesConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CookiesConfigProperty :: Prelude.Type+instance ToResourceProperties CookiesConfigProperty+instance Prelude.Eq CookiesConfigProperty+instance Prelude.Show CookiesConfigProperty+instance JSON.ToJSON CookiesConfigProperty
+ gen/Stratosphere/CloudFront/CachePolicy/HeadersConfigProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.CloudFront.CachePolicy.HeadersConfigProperty (+        HeadersConfigProperty(..), mkHeadersConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HeadersConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-headersconfig.html>+    HeadersConfigProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-headersconfig.html#cfn-cloudfront-cachepolicy-headersconfig-headerbehavior>+                           headerBehavior :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-headersconfig.html#cfn-cloudfront-cachepolicy-headersconfig-headers>+                           headers :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHeadersConfigProperty ::+  Value Prelude.Text -> HeadersConfigProperty+mkHeadersConfigProperty headerBehavior+  = HeadersConfigProperty+      {haddock_workaround_ = (), headerBehavior = headerBehavior,+       headers = Prelude.Nothing}+instance ToResourceProperties HeadersConfigProperty where+  toResourceProperties HeadersConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::CachePolicy.HeadersConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["HeaderBehavior" JSON..= headerBehavior]+                           (Prelude.catMaybes [(JSON..=) "Headers" Prelude.<$> headers]))}+instance JSON.ToJSON HeadersConfigProperty where+  toJSON HeadersConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["HeaderBehavior" JSON..= headerBehavior]+              (Prelude.catMaybes [(JSON..=) "Headers" Prelude.<$> headers])))+instance Property "HeaderBehavior" HeadersConfigProperty where+  type PropertyType "HeaderBehavior" HeadersConfigProperty = Value Prelude.Text+  set newValue HeadersConfigProperty {..}+    = HeadersConfigProperty {headerBehavior = newValue, ..}+instance Property "Headers" HeadersConfigProperty where+  type PropertyType "Headers" HeadersConfigProperty = ValueList Prelude.Text+  set newValue HeadersConfigProperty {..}+    = HeadersConfigProperty {headers = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/CachePolicy/HeadersConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.CachePolicy.HeadersConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HeadersConfigProperty :: Prelude.Type+instance ToResourceProperties HeadersConfigProperty+instance Prelude.Eq HeadersConfigProperty+instance Prelude.Show HeadersConfigProperty+instance JSON.ToJSON HeadersConfigProperty
+ gen/Stratosphere/CloudFront/CachePolicy/ParametersInCacheKeyAndForwardedToOriginProperty.hs view
@@ -0,0 +1,96 @@+module Stratosphere.CloudFront.CachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty (+        module Exports,+        ParametersInCacheKeyAndForwardedToOriginProperty(..),+        mkParametersInCacheKeyAndForwardedToOriginProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.CachePolicy.CookiesConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.CachePolicy.HeadersConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.CachePolicy.QueryStringsConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ParametersInCacheKeyAndForwardedToOriginProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html>+    ParametersInCacheKeyAndForwardedToOriginProperty {haddock_workaround_ :: (),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-cookiesconfig>+                                                      cookiesConfig :: CookiesConfigProperty,+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-enableacceptencodingbrotli>+                                                      enableAcceptEncodingBrotli :: (Prelude.Maybe (Value Prelude.Bool)),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-enableacceptencodinggzip>+                                                      enableAcceptEncodingGzip :: (Value Prelude.Bool),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-headersconfig>+                                                      headersConfig :: HeadersConfigProperty,+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin.html#cfn-cloudfront-cachepolicy-parametersincachekeyandforwardedtoorigin-querystringsconfig>+                                                      queryStringsConfig :: QueryStringsConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkParametersInCacheKeyAndForwardedToOriginProperty ::+  CookiesConfigProperty+  -> Value Prelude.Bool+     -> HeadersConfigProperty+        -> QueryStringsConfigProperty+           -> ParametersInCacheKeyAndForwardedToOriginProperty+mkParametersInCacheKeyAndForwardedToOriginProperty+  cookiesConfig+  enableAcceptEncodingGzip+  headersConfig+  queryStringsConfig+  = ParametersInCacheKeyAndForwardedToOriginProperty+      {haddock_workaround_ = (), cookiesConfig = cookiesConfig,+       enableAcceptEncodingGzip = enableAcceptEncodingGzip,+       headersConfig = headersConfig,+       queryStringsConfig = queryStringsConfig,+       enableAcceptEncodingBrotli = Prelude.Nothing}+instance ToResourceProperties ParametersInCacheKeyAndForwardedToOriginProperty where+  toResourceProperties+    ParametersInCacheKeyAndForwardedToOriginProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::CachePolicy.ParametersInCacheKeyAndForwardedToOrigin",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["CookiesConfig" JSON..= cookiesConfig,+                            "EnableAcceptEncodingGzip" JSON..= enableAcceptEncodingGzip,+                            "HeadersConfig" JSON..= headersConfig,+                            "QueryStringsConfig" JSON..= queryStringsConfig]+                           (Prelude.catMaybes+                              [(JSON..=) "EnableAcceptEncodingBrotli"+                                 Prelude.<$> enableAcceptEncodingBrotli]))}+instance JSON.ToJSON ParametersInCacheKeyAndForwardedToOriginProperty where+  toJSON ParametersInCacheKeyAndForwardedToOriginProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["CookiesConfig" JSON..= cookiesConfig,+               "EnableAcceptEncodingGzip" JSON..= enableAcceptEncodingGzip,+               "HeadersConfig" JSON..= headersConfig,+               "QueryStringsConfig" JSON..= queryStringsConfig]+              (Prelude.catMaybes+                 [(JSON..=) "EnableAcceptEncodingBrotli"+                    Prelude.<$> enableAcceptEncodingBrotli])))+instance Property "CookiesConfig" ParametersInCacheKeyAndForwardedToOriginProperty where+  type PropertyType "CookiesConfig" ParametersInCacheKeyAndForwardedToOriginProperty = CookiesConfigProperty+  set newValue ParametersInCacheKeyAndForwardedToOriginProperty {..}+    = ParametersInCacheKeyAndForwardedToOriginProperty+        {cookiesConfig = newValue, ..}+instance Property "EnableAcceptEncodingBrotli" ParametersInCacheKeyAndForwardedToOriginProperty where+  type PropertyType "EnableAcceptEncodingBrotli" ParametersInCacheKeyAndForwardedToOriginProperty = Value Prelude.Bool+  set newValue ParametersInCacheKeyAndForwardedToOriginProperty {..}+    = ParametersInCacheKeyAndForwardedToOriginProperty+        {enableAcceptEncodingBrotli = Prelude.pure newValue, ..}+instance Property "EnableAcceptEncodingGzip" ParametersInCacheKeyAndForwardedToOriginProperty where+  type PropertyType "EnableAcceptEncodingGzip" ParametersInCacheKeyAndForwardedToOriginProperty = Value Prelude.Bool+  set newValue ParametersInCacheKeyAndForwardedToOriginProperty {..}+    = ParametersInCacheKeyAndForwardedToOriginProperty+        {enableAcceptEncodingGzip = newValue, ..}+instance Property "HeadersConfig" ParametersInCacheKeyAndForwardedToOriginProperty where+  type PropertyType "HeadersConfig" ParametersInCacheKeyAndForwardedToOriginProperty = HeadersConfigProperty+  set newValue ParametersInCacheKeyAndForwardedToOriginProperty {..}+    = ParametersInCacheKeyAndForwardedToOriginProperty+        {headersConfig = newValue, ..}+instance Property "QueryStringsConfig" ParametersInCacheKeyAndForwardedToOriginProperty where+  type PropertyType "QueryStringsConfig" ParametersInCacheKeyAndForwardedToOriginProperty = QueryStringsConfigProperty+  set newValue ParametersInCacheKeyAndForwardedToOriginProperty {..}+    = ParametersInCacheKeyAndForwardedToOriginProperty+        {queryStringsConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/CachePolicy/ParametersInCacheKeyAndForwardedToOriginProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.CachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ParametersInCacheKeyAndForwardedToOriginProperty :: Prelude.Type+instance ToResourceProperties ParametersInCacheKeyAndForwardedToOriginProperty+instance Prelude.Eq ParametersInCacheKeyAndForwardedToOriginProperty+instance Prelude.Show ParametersInCacheKeyAndForwardedToOriginProperty+instance JSON.ToJSON ParametersInCacheKeyAndForwardedToOriginProperty
+ gen/Stratosphere/CloudFront/CachePolicy/QueryStringsConfigProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.CloudFront.CachePolicy.QueryStringsConfigProperty (+        QueryStringsConfigProperty(..), mkQueryStringsConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data QueryStringsConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-querystringsconfig.html>+    QueryStringsConfigProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-querystringsconfig.html#cfn-cloudfront-cachepolicy-querystringsconfig-querystringbehavior>+                                queryStringBehavior :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cachepolicy-querystringsconfig.html#cfn-cloudfront-cachepolicy-querystringsconfig-querystrings>+                                queryStrings :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkQueryStringsConfigProperty ::+  Value Prelude.Text -> QueryStringsConfigProperty+mkQueryStringsConfigProperty queryStringBehavior+  = QueryStringsConfigProperty+      {haddock_workaround_ = (),+       queryStringBehavior = queryStringBehavior,+       queryStrings = Prelude.Nothing}+instance ToResourceProperties QueryStringsConfigProperty where+  toResourceProperties QueryStringsConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::CachePolicy.QueryStringsConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["QueryStringBehavior" JSON..= queryStringBehavior]+                           (Prelude.catMaybes+                              [(JSON..=) "QueryStrings" Prelude.<$> queryStrings]))}+instance JSON.ToJSON QueryStringsConfigProperty where+  toJSON QueryStringsConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["QueryStringBehavior" JSON..= queryStringBehavior]+              (Prelude.catMaybes+                 [(JSON..=) "QueryStrings" Prelude.<$> queryStrings])))+instance Property "QueryStringBehavior" QueryStringsConfigProperty where+  type PropertyType "QueryStringBehavior" QueryStringsConfigProperty = Value Prelude.Text+  set newValue QueryStringsConfigProperty {..}+    = QueryStringsConfigProperty {queryStringBehavior = newValue, ..}+instance Property "QueryStrings" QueryStringsConfigProperty where+  type PropertyType "QueryStrings" QueryStringsConfigProperty = ValueList Prelude.Text+  set newValue QueryStringsConfigProperty {..}+    = QueryStringsConfigProperty+        {queryStrings = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/CachePolicy/QueryStringsConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.CachePolicy.QueryStringsConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data QueryStringsConfigProperty :: Prelude.Type+instance ToResourceProperties QueryStringsConfigProperty+instance Prelude.Eq QueryStringsConfigProperty+instance Prelude.Show QueryStringsConfigProperty+instance JSON.ToJSON QueryStringsConfigProperty
+ gen/Stratosphere/CloudFront/CloudFrontOriginAccessIdentity.hs view
@@ -0,0 +1,40 @@+module Stratosphere.CloudFront.CloudFrontOriginAccessIdentity (+        module Exports, CloudFrontOriginAccessIdentity(..),+        mkCloudFrontOriginAccessIdentity+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty as Exports+import Stratosphere.ResourceProperties+data CloudFrontOriginAccessIdentity+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html>+    CloudFrontOriginAccessIdentity {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-cloudfrontoriginaccessidentity.html#cfn-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig>+                                    cloudFrontOriginAccessIdentityConfig :: CloudFrontOriginAccessIdentityConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCloudFrontOriginAccessIdentity ::+  CloudFrontOriginAccessIdentityConfigProperty+  -> CloudFrontOriginAccessIdentity+mkCloudFrontOriginAccessIdentity+  cloudFrontOriginAccessIdentityConfig+  = CloudFrontOriginAccessIdentity+      {haddock_workaround_ = (),+       cloudFrontOriginAccessIdentityConfig = cloudFrontOriginAccessIdentityConfig}+instance ToResourceProperties CloudFrontOriginAccessIdentity where+  toResourceProperties CloudFrontOriginAccessIdentity {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::CloudFrontOriginAccessIdentity",+         supportsTags = Prelude.False,+         properties = ["CloudFrontOriginAccessIdentityConfig"+                         JSON..= cloudFrontOriginAccessIdentityConfig]}+instance JSON.ToJSON CloudFrontOriginAccessIdentity where+  toJSON CloudFrontOriginAccessIdentity {..}+    = JSON.object+        ["CloudFrontOriginAccessIdentityConfig"+           JSON..= cloudFrontOriginAccessIdentityConfig]+instance Property "CloudFrontOriginAccessIdentityConfig" CloudFrontOriginAccessIdentity where+  type PropertyType "CloudFrontOriginAccessIdentityConfig" CloudFrontOriginAccessIdentity = CloudFrontOriginAccessIdentityConfigProperty+  set newValue CloudFrontOriginAccessIdentity {..}+    = CloudFrontOriginAccessIdentity+        {cloudFrontOriginAccessIdentityConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/CloudFrontOriginAccessIdentity/CloudFrontOriginAccessIdentityConfigProperty.hs view
@@ -0,0 +1,35 @@+module Stratosphere.CloudFront.CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty (+        CloudFrontOriginAccessIdentityConfigProperty(..),+        mkCloudFrontOriginAccessIdentityConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CloudFrontOriginAccessIdentityConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig.html>+    CloudFrontOriginAccessIdentityConfigProperty {haddock_workaround_ :: (),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig.html#cfn-cloudfront-cloudfrontoriginaccessidentity-cloudfrontoriginaccessidentityconfig-comment>+                                                  comment :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCloudFrontOriginAccessIdentityConfigProperty ::+  Value Prelude.Text -> CloudFrontOriginAccessIdentityConfigProperty+mkCloudFrontOriginAccessIdentityConfigProperty comment+  = CloudFrontOriginAccessIdentityConfigProperty+      {haddock_workaround_ = (), comment = comment}+instance ToResourceProperties CloudFrontOriginAccessIdentityConfigProperty where+  toResourceProperties+    CloudFrontOriginAccessIdentityConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfig",+         supportsTags = Prelude.False,+         properties = ["Comment" JSON..= comment]}+instance JSON.ToJSON CloudFrontOriginAccessIdentityConfigProperty where+  toJSON CloudFrontOriginAccessIdentityConfigProperty {..}+    = JSON.object ["Comment" JSON..= comment]+instance Property "Comment" CloudFrontOriginAccessIdentityConfigProperty where+  type PropertyType "Comment" CloudFrontOriginAccessIdentityConfigProperty = Value Prelude.Text+  set newValue CloudFrontOriginAccessIdentityConfigProperty {..}+    = CloudFrontOriginAccessIdentityConfigProperty+        {comment = newValue, ..}
+ gen/Stratosphere/CloudFront/CloudFrontOriginAccessIdentity/CloudFrontOriginAccessIdentityConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CloudFrontOriginAccessIdentityConfigProperty :: Prelude.Type+instance ToResourceProperties CloudFrontOriginAccessIdentityConfigProperty+instance Prelude.Eq CloudFrontOriginAccessIdentityConfigProperty+instance Prelude.Show CloudFrontOriginAccessIdentityConfigProperty+instance JSON.ToJSON CloudFrontOriginAccessIdentityConfigProperty
+ gen/Stratosphere/CloudFront/ConnectionGroup.hs view
@@ -0,0 +1,73 @@+module Stratosphere.CloudFront.ConnectionGroup (+        ConnectionGroup(..), mkConnectionGroup+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data ConnectionGroup+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-connectiongroup.html>+    ConnectionGroup {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-connectiongroup.html#cfn-cloudfront-connectiongroup-anycastiplistid>+                     anycastIpListId :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-connectiongroup.html#cfn-cloudfront-connectiongroup-enabled>+                     enabled :: (Prelude.Maybe (Value Prelude.Bool)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-connectiongroup.html#cfn-cloudfront-connectiongroup-ipv6enabled>+                     ipv6Enabled :: (Prelude.Maybe (Value Prelude.Bool)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-connectiongroup.html#cfn-cloudfront-connectiongroup-name>+                     name :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-connectiongroup.html#cfn-cloudfront-connectiongroup-tags>+                     tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkConnectionGroup :: Value Prelude.Text -> ConnectionGroup+mkConnectionGroup name+  = ConnectionGroup+      {haddock_workaround_ = (), name = name,+       anycastIpListId = Prelude.Nothing, enabled = Prelude.Nothing,+       ipv6Enabled = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties ConnectionGroup where+  toResourceProperties ConnectionGroup {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ConnectionGroup",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "AnycastIpListId" Prelude.<$> anycastIpListId,+                               (JSON..=) "Enabled" Prelude.<$> enabled,+                               (JSON..=) "Ipv6Enabled" Prelude.<$> ipv6Enabled,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON ConnectionGroup where+  toJSON ConnectionGroup {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "AnycastIpListId" Prelude.<$> anycastIpListId,+                  (JSON..=) "Enabled" Prelude.<$> enabled,+                  (JSON..=) "Ipv6Enabled" Prelude.<$> ipv6Enabled,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AnycastIpListId" ConnectionGroup where+  type PropertyType "AnycastIpListId" ConnectionGroup = Value Prelude.Text+  set newValue ConnectionGroup {..}+    = ConnectionGroup {anycastIpListId = Prelude.pure newValue, ..}+instance Property "Enabled" ConnectionGroup where+  type PropertyType "Enabled" ConnectionGroup = Value Prelude.Bool+  set newValue ConnectionGroup {..}+    = ConnectionGroup {enabled = Prelude.pure newValue, ..}+instance Property "Ipv6Enabled" ConnectionGroup where+  type PropertyType "Ipv6Enabled" ConnectionGroup = Value Prelude.Bool+  set newValue ConnectionGroup {..}+    = ConnectionGroup {ipv6Enabled = Prelude.pure newValue, ..}+instance Property "Name" ConnectionGroup where+  type PropertyType "Name" ConnectionGroup = Value Prelude.Text+  set newValue ConnectionGroup {..}+    = ConnectionGroup {name = newValue, ..}+instance Property "Tags" ConnectionGroup where+  type PropertyType "Tags" ConnectionGroup = [Tag]+  set newValue ConnectionGroup {..}+    = ConnectionGroup {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy.hs view
@@ -0,0 +1,39 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy (+        module Exports, ContinuousDeploymentPolicy(..),+        mkContinuousDeploymentPolicy+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty as Exports+import Stratosphere.ResourceProperties+data ContinuousDeploymentPolicy+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html>+    ContinuousDeploymentPolicy {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-continuousdeploymentpolicy.html#cfn-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig>+                                continuousDeploymentPolicyConfig :: ContinuousDeploymentPolicyConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkContinuousDeploymentPolicy ::+  ContinuousDeploymentPolicyConfigProperty+  -> ContinuousDeploymentPolicy+mkContinuousDeploymentPolicy continuousDeploymentPolicyConfig+  = ContinuousDeploymentPolicy+      {haddock_workaround_ = (),+       continuousDeploymentPolicyConfig = continuousDeploymentPolicyConfig}+instance ToResourceProperties ContinuousDeploymentPolicy where+  toResourceProperties ContinuousDeploymentPolicy {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ContinuousDeploymentPolicy",+         supportsTags = Prelude.False,+         properties = ["ContinuousDeploymentPolicyConfig"+                         JSON..= continuousDeploymentPolicyConfig]}+instance JSON.ToJSON ContinuousDeploymentPolicy where+  toJSON ContinuousDeploymentPolicy {..}+    = JSON.object+        ["ContinuousDeploymentPolicyConfig"+           JSON..= continuousDeploymentPolicyConfig]+instance Property "ContinuousDeploymentPolicyConfig" ContinuousDeploymentPolicy where+  type PropertyType "ContinuousDeploymentPolicyConfig" ContinuousDeploymentPolicy = ContinuousDeploymentPolicyConfigProperty+  set newValue ContinuousDeploymentPolicy {..}+    = ContinuousDeploymentPolicy+        {continuousDeploymentPolicyConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/ContinuousDeploymentPolicyConfigProperty.hs view
@@ -0,0 +1,100 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty (+        module Exports, ContinuousDeploymentPolicyConfigProperty(..),+        mkContinuousDeploymentPolicyConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleHeaderPolicyConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleWeightPolicyConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ContinuousDeploymentPolicy.TrafficConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ContinuousDeploymentPolicyConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig.html>+    ContinuousDeploymentPolicyConfigProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig-enabled>+                                              enabled :: (Value Prelude.Bool),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig-singleheaderpolicyconfig>+                                              singleHeaderPolicyConfig :: (Prelude.Maybe SingleHeaderPolicyConfigProperty),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig-singleweightpolicyconfig>+                                              singleWeightPolicyConfig :: (Prelude.Maybe SingleWeightPolicyConfigProperty),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig-stagingdistributiondnsnames>+                                              stagingDistributionDnsNames :: (ValueList Prelude.Text),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig-trafficconfig>+                                              trafficConfig :: (Prelude.Maybe TrafficConfigProperty),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-continuousdeploymentpolicyconfig-type>+                                              type' :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkContinuousDeploymentPolicyConfigProperty ::+  Value Prelude.Bool+  -> ValueList Prelude.Text+     -> ContinuousDeploymentPolicyConfigProperty+mkContinuousDeploymentPolicyConfigProperty+  enabled+  stagingDistributionDnsNames+  = ContinuousDeploymentPolicyConfigProperty+      {haddock_workaround_ = (), enabled = enabled,+       stagingDistributionDnsNames = stagingDistributionDnsNames,+       singleHeaderPolicyConfig = Prelude.Nothing,+       singleWeightPolicyConfig = Prelude.Nothing,+       trafficConfig = Prelude.Nothing, type' = Prelude.Nothing}+instance ToResourceProperties ContinuousDeploymentPolicyConfigProperty where+  toResourceProperties ContinuousDeploymentPolicyConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Enabled" JSON..= enabled,+                            "StagingDistributionDnsNames" JSON..= stagingDistributionDnsNames]+                           (Prelude.catMaybes+                              [(JSON..=) "SingleHeaderPolicyConfig"+                                 Prelude.<$> singleHeaderPolicyConfig,+                               (JSON..=) "SingleWeightPolicyConfig"+                                 Prelude.<$> singleWeightPolicyConfig,+                               (JSON..=) "TrafficConfig" Prelude.<$> trafficConfig,+                               (JSON..=) "Type" Prelude.<$> type']))}+instance JSON.ToJSON ContinuousDeploymentPolicyConfigProperty where+  toJSON ContinuousDeploymentPolicyConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Enabled" JSON..= enabled,+               "StagingDistributionDnsNames" JSON..= stagingDistributionDnsNames]+              (Prelude.catMaybes+                 [(JSON..=) "SingleHeaderPolicyConfig"+                    Prelude.<$> singleHeaderPolicyConfig,+                  (JSON..=) "SingleWeightPolicyConfig"+                    Prelude.<$> singleWeightPolicyConfig,+                  (JSON..=) "TrafficConfig" Prelude.<$> trafficConfig,+                  (JSON..=) "Type" Prelude.<$> type'])))+instance Property "Enabled" ContinuousDeploymentPolicyConfigProperty where+  type PropertyType "Enabled" ContinuousDeploymentPolicyConfigProperty = Value Prelude.Bool+  set newValue ContinuousDeploymentPolicyConfigProperty {..}+    = ContinuousDeploymentPolicyConfigProperty {enabled = newValue, ..}+instance Property "SingleHeaderPolicyConfig" ContinuousDeploymentPolicyConfigProperty where+  type PropertyType "SingleHeaderPolicyConfig" ContinuousDeploymentPolicyConfigProperty = SingleHeaderPolicyConfigProperty+  set newValue ContinuousDeploymentPolicyConfigProperty {..}+    = ContinuousDeploymentPolicyConfigProperty+        {singleHeaderPolicyConfig = Prelude.pure newValue, ..}+instance Property "SingleWeightPolicyConfig" ContinuousDeploymentPolicyConfigProperty where+  type PropertyType "SingleWeightPolicyConfig" ContinuousDeploymentPolicyConfigProperty = SingleWeightPolicyConfigProperty+  set newValue ContinuousDeploymentPolicyConfigProperty {..}+    = ContinuousDeploymentPolicyConfigProperty+        {singleWeightPolicyConfig = Prelude.pure newValue, ..}+instance Property "StagingDistributionDnsNames" ContinuousDeploymentPolicyConfigProperty where+  type PropertyType "StagingDistributionDnsNames" ContinuousDeploymentPolicyConfigProperty = ValueList Prelude.Text+  set newValue ContinuousDeploymentPolicyConfigProperty {..}+    = ContinuousDeploymentPolicyConfigProperty+        {stagingDistributionDnsNames = newValue, ..}+instance Property "TrafficConfig" ContinuousDeploymentPolicyConfigProperty where+  type PropertyType "TrafficConfig" ContinuousDeploymentPolicyConfigProperty = TrafficConfigProperty+  set newValue ContinuousDeploymentPolicyConfigProperty {..}+    = ContinuousDeploymentPolicyConfigProperty+        {trafficConfig = Prelude.pure newValue, ..}+instance Property "Type" ContinuousDeploymentPolicyConfigProperty where+  type PropertyType "Type" ContinuousDeploymentPolicyConfigProperty = Value Prelude.Text+  set newValue ContinuousDeploymentPolicyConfigProperty {..}+    = ContinuousDeploymentPolicyConfigProperty+        {type' = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/ContinuousDeploymentPolicyConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ContinuousDeploymentPolicyConfigProperty :: Prelude.Type+instance ToResourceProperties ContinuousDeploymentPolicyConfigProperty+instance Prelude.Eq ContinuousDeploymentPolicyConfigProperty+instance Prelude.Show ContinuousDeploymentPolicyConfigProperty+instance JSON.ToJSON ContinuousDeploymentPolicyConfigProperty
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SessionStickinessConfigProperty.hs view
@@ -0,0 +1,43 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SessionStickinessConfigProperty (+        SessionStickinessConfigProperty(..),+        mkSessionStickinessConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SessionStickinessConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-sessionstickinessconfig.html>+    SessionStickinessConfigProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-sessionstickinessconfig.html#cfn-cloudfront-continuousdeploymentpolicy-sessionstickinessconfig-idlettl>+                                     idleTTL :: (Value Prelude.Integer),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-sessionstickinessconfig.html#cfn-cloudfront-continuousdeploymentpolicy-sessionstickinessconfig-maximumttl>+                                     maximumTTL :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSessionStickinessConfigProperty ::+  Value Prelude.Integer+  -> Value Prelude.Integer -> SessionStickinessConfigProperty+mkSessionStickinessConfigProperty idleTTL maximumTTL+  = SessionStickinessConfigProperty+      {haddock_workaround_ = (), idleTTL = idleTTL,+       maximumTTL = maximumTTL}+instance ToResourceProperties SessionStickinessConfigProperty where+  toResourceProperties SessionStickinessConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ContinuousDeploymentPolicy.SessionStickinessConfig",+         supportsTags = Prelude.False,+         properties = ["IdleTTL" JSON..= idleTTL,+                       "MaximumTTL" JSON..= maximumTTL]}+instance JSON.ToJSON SessionStickinessConfigProperty where+  toJSON SessionStickinessConfigProperty {..}+    = JSON.object+        ["IdleTTL" JSON..= idleTTL, "MaximumTTL" JSON..= maximumTTL]+instance Property "IdleTTL" SessionStickinessConfigProperty where+  type PropertyType "IdleTTL" SessionStickinessConfigProperty = Value Prelude.Integer+  set newValue SessionStickinessConfigProperty {..}+    = SessionStickinessConfigProperty {idleTTL = newValue, ..}+instance Property "MaximumTTL" SessionStickinessConfigProperty where+  type PropertyType "MaximumTTL" SessionStickinessConfigProperty = Value Prelude.Integer+  set newValue SessionStickinessConfigProperty {..}+    = SessionStickinessConfigProperty {maximumTTL = newValue, ..}
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SessionStickinessConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SessionStickinessConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SessionStickinessConfigProperty :: Prelude.Type+instance ToResourceProperties SessionStickinessConfigProperty+instance Prelude.Eq SessionStickinessConfigProperty+instance Prelude.Show SessionStickinessConfigProperty+instance JSON.ToJSON SessionStickinessConfigProperty
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SingleHeaderConfigProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleHeaderConfigProperty (+        SingleHeaderConfigProperty(..), mkSingleHeaderConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SingleHeaderConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleheaderconfig.html>+    SingleHeaderConfigProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleheaderconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleheaderconfig-header>+                                header :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleheaderconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleheaderconfig-value>+                                value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSingleHeaderConfigProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> SingleHeaderConfigProperty+mkSingleHeaderConfigProperty header value+  = SingleHeaderConfigProperty+      {haddock_workaround_ = (), header = header, value = value}+instance ToResourceProperties SingleHeaderConfigProperty where+  toResourceProperties SingleHeaderConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderConfig",+         supportsTags = Prelude.False,+         properties = ["Header" JSON..= header, "Value" JSON..= value]}+instance JSON.ToJSON SingleHeaderConfigProperty where+  toJSON SingleHeaderConfigProperty {..}+    = JSON.object ["Header" JSON..= header, "Value" JSON..= value]+instance Property "Header" SingleHeaderConfigProperty where+  type PropertyType "Header" SingleHeaderConfigProperty = Value Prelude.Text+  set newValue SingleHeaderConfigProperty {..}+    = SingleHeaderConfigProperty {header = newValue, ..}+instance Property "Value" SingleHeaderConfigProperty where+  type PropertyType "Value" SingleHeaderConfigProperty = Value Prelude.Text+  set newValue SingleHeaderConfigProperty {..}+    = SingleHeaderConfigProperty {value = newValue, ..}
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SingleHeaderConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleHeaderConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SingleHeaderConfigProperty :: Prelude.Type+instance ToResourceProperties SingleHeaderConfigProperty+instance Prelude.Eq SingleHeaderConfigProperty+instance Prelude.Show SingleHeaderConfigProperty+instance JSON.ToJSON SingleHeaderConfigProperty
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SingleHeaderPolicyConfigProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleHeaderPolicyConfigProperty (+        SingleHeaderPolicyConfigProperty(..),+        mkSingleHeaderPolicyConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SingleHeaderPolicyConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig.html>+    SingleHeaderPolicyConfigProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig-header>+                                      header :: (Value Prelude.Text),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleheaderpolicyconfig-value>+                                      value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSingleHeaderPolicyConfigProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> SingleHeaderPolicyConfigProperty+mkSingleHeaderPolicyConfigProperty header value+  = SingleHeaderPolicyConfigProperty+      {haddock_workaround_ = (), header = header, value = value}+instance ToResourceProperties SingleHeaderPolicyConfigProperty where+  toResourceProperties SingleHeaderPolicyConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ContinuousDeploymentPolicy.SingleHeaderPolicyConfig",+         supportsTags = Prelude.False,+         properties = ["Header" JSON..= header, "Value" JSON..= value]}+instance JSON.ToJSON SingleHeaderPolicyConfigProperty where+  toJSON SingleHeaderPolicyConfigProperty {..}+    = JSON.object ["Header" JSON..= header, "Value" JSON..= value]+instance Property "Header" SingleHeaderPolicyConfigProperty where+  type PropertyType "Header" SingleHeaderPolicyConfigProperty = Value Prelude.Text+  set newValue SingleHeaderPolicyConfigProperty {..}+    = SingleHeaderPolicyConfigProperty {header = newValue, ..}+instance Property "Value" SingleHeaderPolicyConfigProperty where+  type PropertyType "Value" SingleHeaderPolicyConfigProperty = Value Prelude.Text+  set newValue SingleHeaderPolicyConfigProperty {..}+    = SingleHeaderPolicyConfigProperty {value = newValue, ..}
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SingleHeaderPolicyConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleHeaderPolicyConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SingleHeaderPolicyConfigProperty :: Prelude.Type+instance ToResourceProperties SingleHeaderPolicyConfigProperty+instance Prelude.Eq SingleHeaderPolicyConfigProperty+instance Prelude.Show SingleHeaderPolicyConfigProperty+instance JSON.ToJSON SingleHeaderPolicyConfigProperty
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SingleWeightConfigProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleWeightConfigProperty (+        module Exports, SingleWeightConfigProperty(..),+        mkSingleWeightConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ContinuousDeploymentPolicy.SessionStickinessConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SingleWeightConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleweightconfig.html>+    SingleWeightConfigProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleweightconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleweightconfig-sessionstickinessconfig>+                                sessionStickinessConfig :: (Prelude.Maybe SessionStickinessConfigProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleweightconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleweightconfig-weight>+                                weight :: (Value Prelude.Double)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSingleWeightConfigProperty ::+  Value Prelude.Double -> SingleWeightConfigProperty+mkSingleWeightConfigProperty weight+  = SingleWeightConfigProperty+      {haddock_workaround_ = (), weight = weight,+       sessionStickinessConfig = Prelude.Nothing}+instance ToResourceProperties SingleWeightConfigProperty where+  toResourceProperties SingleWeightConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Weight" JSON..= weight]+                           (Prelude.catMaybes+                              [(JSON..=) "SessionStickinessConfig"+                                 Prelude.<$> sessionStickinessConfig]))}+instance JSON.ToJSON SingleWeightConfigProperty where+  toJSON SingleWeightConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Weight" JSON..= weight]+              (Prelude.catMaybes+                 [(JSON..=) "SessionStickinessConfig"+                    Prelude.<$> sessionStickinessConfig])))+instance Property "SessionStickinessConfig" SingleWeightConfigProperty where+  type PropertyType "SessionStickinessConfig" SingleWeightConfigProperty = SessionStickinessConfigProperty+  set newValue SingleWeightConfigProperty {..}+    = SingleWeightConfigProperty+        {sessionStickinessConfig = Prelude.pure newValue, ..}+instance Property "Weight" SingleWeightConfigProperty where+  type PropertyType "Weight" SingleWeightConfigProperty = Value Prelude.Double+  set newValue SingleWeightConfigProperty {..}+    = SingleWeightConfigProperty {weight = newValue, ..}
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SingleWeightConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleWeightConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SingleWeightConfigProperty :: Prelude.Type+instance ToResourceProperties SingleWeightConfigProperty+instance Prelude.Eq SingleWeightConfigProperty+instance Prelude.Show SingleWeightConfigProperty+instance JSON.ToJSON SingleWeightConfigProperty
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SingleWeightPolicyConfigProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleWeightPolicyConfigProperty (+        module Exports, SingleWeightPolicyConfigProperty(..),+        mkSingleWeightPolicyConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ContinuousDeploymentPolicy.SessionStickinessConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SingleWeightPolicyConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleweightpolicyconfig.html>+    SingleWeightPolicyConfigProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleweightpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleweightpolicyconfig-sessionstickinessconfig>+                                      sessionStickinessConfig :: (Prelude.Maybe SessionStickinessConfigProperty),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-singleweightpolicyconfig.html#cfn-cloudfront-continuousdeploymentpolicy-singleweightpolicyconfig-weight>+                                      weight :: (Value Prelude.Double)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSingleWeightPolicyConfigProperty ::+  Value Prelude.Double -> SingleWeightPolicyConfigProperty+mkSingleWeightPolicyConfigProperty weight+  = SingleWeightPolicyConfigProperty+      {haddock_workaround_ = (), weight = weight,+       sessionStickinessConfig = Prelude.Nothing}+instance ToResourceProperties SingleWeightPolicyConfigProperty where+  toResourceProperties SingleWeightPolicyConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ContinuousDeploymentPolicy.SingleWeightPolicyConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Weight" JSON..= weight]+                           (Prelude.catMaybes+                              [(JSON..=) "SessionStickinessConfig"+                                 Prelude.<$> sessionStickinessConfig]))}+instance JSON.ToJSON SingleWeightPolicyConfigProperty where+  toJSON SingleWeightPolicyConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Weight" JSON..= weight]+              (Prelude.catMaybes+                 [(JSON..=) "SessionStickinessConfig"+                    Prelude.<$> sessionStickinessConfig])))+instance Property "SessionStickinessConfig" SingleWeightPolicyConfigProperty where+  type PropertyType "SessionStickinessConfig" SingleWeightPolicyConfigProperty = SessionStickinessConfigProperty+  set newValue SingleWeightPolicyConfigProperty {..}+    = SingleWeightPolicyConfigProperty+        {sessionStickinessConfig = Prelude.pure newValue, ..}+instance Property "Weight" SingleWeightPolicyConfigProperty where+  type PropertyType "Weight" SingleWeightPolicyConfigProperty = Value Prelude.Double+  set newValue SingleWeightPolicyConfigProperty {..}+    = SingleWeightPolicyConfigProperty {weight = newValue, ..}
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/SingleWeightPolicyConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleWeightPolicyConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SingleWeightPolicyConfigProperty :: Prelude.Type+instance ToResourceProperties SingleWeightPolicyConfigProperty+instance Prelude.Eq SingleWeightPolicyConfigProperty+instance Prelude.Show SingleWeightPolicyConfigProperty+instance JSON.ToJSON SingleWeightPolicyConfigProperty
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/TrafficConfigProperty.hs view
@@ -0,0 +1,61 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.TrafficConfigProperty (+        module Exports, TrafficConfigProperty(..), mkTrafficConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleHeaderConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleWeightConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TrafficConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-trafficconfig.html>+    TrafficConfigProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-trafficconfig.html#cfn-cloudfront-continuousdeploymentpolicy-trafficconfig-singleheaderconfig>+                           singleHeaderConfig :: (Prelude.Maybe SingleHeaderConfigProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-trafficconfig.html#cfn-cloudfront-continuousdeploymentpolicy-trafficconfig-singleweightconfig>+                           singleWeightConfig :: (Prelude.Maybe SingleWeightConfigProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-continuousdeploymentpolicy-trafficconfig.html#cfn-cloudfront-continuousdeploymentpolicy-trafficconfig-type>+                           type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTrafficConfigProperty ::+  Value Prelude.Text -> TrafficConfigProperty+mkTrafficConfigProperty type'+  = TrafficConfigProperty+      {haddock_workaround_ = (), type' = type',+       singleHeaderConfig = Prelude.Nothing,+       singleWeightConfig = Prelude.Nothing}+instance ToResourceProperties TrafficConfigProperty where+  toResourceProperties TrafficConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ContinuousDeploymentPolicy.TrafficConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Type" JSON..= type']+                           (Prelude.catMaybes+                              [(JSON..=) "SingleHeaderConfig" Prelude.<$> singleHeaderConfig,+                               (JSON..=) "SingleWeightConfig" Prelude.<$> singleWeightConfig]))}+instance JSON.ToJSON TrafficConfigProperty where+  toJSON TrafficConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Type" JSON..= type']+              (Prelude.catMaybes+                 [(JSON..=) "SingleHeaderConfig" Prelude.<$> singleHeaderConfig,+                  (JSON..=) "SingleWeightConfig" Prelude.<$> singleWeightConfig])))+instance Property "SingleHeaderConfig" TrafficConfigProperty where+  type PropertyType "SingleHeaderConfig" TrafficConfigProperty = SingleHeaderConfigProperty+  set newValue TrafficConfigProperty {..}+    = TrafficConfigProperty+        {singleHeaderConfig = Prelude.pure newValue, ..}+instance Property "SingleWeightConfig" TrafficConfigProperty where+  type PropertyType "SingleWeightConfig" TrafficConfigProperty = SingleWeightConfigProperty+  set newValue TrafficConfigProperty {..}+    = TrafficConfigProperty+        {singleWeightConfig = Prelude.pure newValue, ..}+instance Property "Type" TrafficConfigProperty where+  type PropertyType "Type" TrafficConfigProperty = Value Prelude.Text+  set newValue TrafficConfigProperty {..}+    = TrafficConfigProperty {type' = newValue, ..}
+ gen/Stratosphere/CloudFront/ContinuousDeploymentPolicy/TrafficConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ContinuousDeploymentPolicy.TrafficConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TrafficConfigProperty :: Prelude.Type+instance ToResourceProperties TrafficConfigProperty+instance Prelude.Eq TrafficConfigProperty+instance Prelude.Show TrafficConfigProperty+instance JSON.ToJSON TrafficConfigProperty
+ gen/Stratosphere/CloudFront/Distribution.hs view
@@ -0,0 +1,46 @@+module Stratosphere.CloudFront.Distribution (+        module Exports, Distribution(..), mkDistribution+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.DistributionConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+data Distribution+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html>+    Distribution {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html#cfn-cloudfront-distribution-distributionconfig>+                  distributionConfig :: DistributionConfigProperty,+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html#cfn-cloudfront-distribution-tags>+                  tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDistribution :: DistributionConfigProperty -> Distribution+mkDistribution distributionConfig+  = Distribution+      {haddock_workaround_ = (), distributionConfig = distributionConfig,+       tags = Prelude.Nothing}+instance ToResourceProperties Distribution where+  toResourceProperties Distribution {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DistributionConfig" JSON..= distributionConfig]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON Distribution where+  toJSON Distribution {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DistributionConfig" JSON..= distributionConfig]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "DistributionConfig" Distribution where+  type PropertyType "DistributionConfig" Distribution = DistributionConfigProperty+  set newValue Distribution {..}+    = Distribution {distributionConfig = newValue, ..}+instance Property "Tags" Distribution where+  type PropertyType "Tags" Distribution = [Tag]+  set newValue Distribution {..}+    = Distribution {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/CacheBehaviorProperty.hs view
@@ -0,0 +1,244 @@+module Stratosphere.CloudFront.Distribution.CacheBehaviorProperty (+        module Exports, CacheBehaviorProperty(..), mkCacheBehaviorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.ForwardedValuesProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.FunctionAssociationProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.GrpcConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.LambdaFunctionAssociationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CacheBehaviorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html>+    CacheBehaviorProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-allowedmethods>+                           allowedMethods :: (Prelude.Maybe (ValueList Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-cachepolicyid>+                           cachePolicyId :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-cachedmethods>+                           cachedMethods :: (Prelude.Maybe (ValueList Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-compress>+                           compress :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-defaultttl>+                           defaultTTL :: (Prelude.Maybe (Value Prelude.Double)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-fieldlevelencryptionid>+                           fieldLevelEncryptionId :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-forwardedvalues>+                           forwardedValues :: (Prelude.Maybe ForwardedValuesProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-functionassociations>+                           functionAssociations :: (Prelude.Maybe [FunctionAssociationProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-grpcconfig>+                           grpcConfig :: (Prelude.Maybe GrpcConfigProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-lambdafunctionassociations>+                           lambdaFunctionAssociations :: (Prelude.Maybe [LambdaFunctionAssociationProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-maxttl>+                           maxTTL :: (Prelude.Maybe (Value Prelude.Double)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-minttl>+                           minTTL :: (Prelude.Maybe (Value Prelude.Double)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-originrequestpolicyid>+                           originRequestPolicyId :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-pathpattern>+                           pathPattern :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-realtimelogconfigarn>+                           realtimeLogConfigArn :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-responseheaderspolicyid>+                           responseHeadersPolicyId :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-smoothstreaming>+                           smoothStreaming :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-targetoriginid>+                           targetOriginId :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-trustedkeygroups>+                           trustedKeyGroups :: (Prelude.Maybe (ValueList Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-trustedsigners>+                           trustedSigners :: (Prelude.Maybe (ValueList Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cachebehavior.html#cfn-cloudfront-distribution-cachebehavior-viewerprotocolpolicy>+                           viewerProtocolPolicy :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCacheBehaviorProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> CacheBehaviorProperty+mkCacheBehaviorProperty+  pathPattern+  targetOriginId+  viewerProtocolPolicy+  = CacheBehaviorProperty+      {haddock_workaround_ = (), pathPattern = pathPattern,+       targetOriginId = targetOriginId,+       viewerProtocolPolicy = viewerProtocolPolicy,+       allowedMethods = Prelude.Nothing, cachePolicyId = Prelude.Nothing,+       cachedMethods = Prelude.Nothing, compress = Prelude.Nothing,+       defaultTTL = Prelude.Nothing,+       fieldLevelEncryptionId = Prelude.Nothing,+       forwardedValues = Prelude.Nothing,+       functionAssociations = Prelude.Nothing,+       grpcConfig = Prelude.Nothing,+       lambdaFunctionAssociations = Prelude.Nothing,+       maxTTL = Prelude.Nothing, minTTL = Prelude.Nothing,+       originRequestPolicyId = Prelude.Nothing,+       realtimeLogConfigArn = Prelude.Nothing,+       responseHeadersPolicyId = Prelude.Nothing,+       smoothStreaming = Prelude.Nothing,+       trustedKeyGroups = Prelude.Nothing,+       trustedSigners = Prelude.Nothing}+instance ToResourceProperties CacheBehaviorProperty where+  toResourceProperties CacheBehaviorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.CacheBehavior",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PathPattern" JSON..= pathPattern,+                            "TargetOriginId" JSON..= targetOriginId,+                            "ViewerProtocolPolicy" JSON..= viewerProtocolPolicy]+                           (Prelude.catMaybes+                              [(JSON..=) "AllowedMethods" Prelude.<$> allowedMethods,+                               (JSON..=) "CachePolicyId" Prelude.<$> cachePolicyId,+                               (JSON..=) "CachedMethods" Prelude.<$> cachedMethods,+                               (JSON..=) "Compress" Prelude.<$> compress,+                               (JSON..=) "DefaultTTL" Prelude.<$> defaultTTL,+                               (JSON..=) "FieldLevelEncryptionId"+                                 Prelude.<$> fieldLevelEncryptionId,+                               (JSON..=) "ForwardedValues" Prelude.<$> forwardedValues,+                               (JSON..=) "FunctionAssociations" Prelude.<$> functionAssociations,+                               (JSON..=) "GrpcConfig" Prelude.<$> grpcConfig,+                               (JSON..=) "LambdaFunctionAssociations"+                                 Prelude.<$> lambdaFunctionAssociations,+                               (JSON..=) "MaxTTL" Prelude.<$> maxTTL,+                               (JSON..=) "MinTTL" Prelude.<$> minTTL,+                               (JSON..=) "OriginRequestPolicyId"+                                 Prelude.<$> originRequestPolicyId,+                               (JSON..=) "RealtimeLogConfigArn" Prelude.<$> realtimeLogConfigArn,+                               (JSON..=) "ResponseHeadersPolicyId"+                                 Prelude.<$> responseHeadersPolicyId,+                               (JSON..=) "SmoothStreaming" Prelude.<$> smoothStreaming,+                               (JSON..=) "TrustedKeyGroups" Prelude.<$> trustedKeyGroups,+                               (JSON..=) "TrustedSigners" Prelude.<$> trustedSigners]))}+instance JSON.ToJSON CacheBehaviorProperty where+  toJSON CacheBehaviorProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PathPattern" JSON..= pathPattern,+               "TargetOriginId" JSON..= targetOriginId,+               "ViewerProtocolPolicy" JSON..= viewerProtocolPolicy]+              (Prelude.catMaybes+                 [(JSON..=) "AllowedMethods" Prelude.<$> allowedMethods,+                  (JSON..=) "CachePolicyId" Prelude.<$> cachePolicyId,+                  (JSON..=) "CachedMethods" Prelude.<$> cachedMethods,+                  (JSON..=) "Compress" Prelude.<$> compress,+                  (JSON..=) "DefaultTTL" Prelude.<$> defaultTTL,+                  (JSON..=) "FieldLevelEncryptionId"+                    Prelude.<$> fieldLevelEncryptionId,+                  (JSON..=) "ForwardedValues" Prelude.<$> forwardedValues,+                  (JSON..=) "FunctionAssociations" Prelude.<$> functionAssociations,+                  (JSON..=) "GrpcConfig" Prelude.<$> grpcConfig,+                  (JSON..=) "LambdaFunctionAssociations"+                    Prelude.<$> lambdaFunctionAssociations,+                  (JSON..=) "MaxTTL" Prelude.<$> maxTTL,+                  (JSON..=) "MinTTL" Prelude.<$> minTTL,+                  (JSON..=) "OriginRequestPolicyId"+                    Prelude.<$> originRequestPolicyId,+                  (JSON..=) "RealtimeLogConfigArn" Prelude.<$> realtimeLogConfigArn,+                  (JSON..=) "ResponseHeadersPolicyId"+                    Prelude.<$> responseHeadersPolicyId,+                  (JSON..=) "SmoothStreaming" Prelude.<$> smoothStreaming,+                  (JSON..=) "TrustedKeyGroups" Prelude.<$> trustedKeyGroups,+                  (JSON..=) "TrustedSigners" Prelude.<$> trustedSigners])))+instance Property "AllowedMethods" CacheBehaviorProperty where+  type PropertyType "AllowedMethods" CacheBehaviorProperty = ValueList Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {allowedMethods = Prelude.pure newValue, ..}+instance Property "CachePolicyId" CacheBehaviorProperty where+  type PropertyType "CachePolicyId" CacheBehaviorProperty = Value Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {cachePolicyId = Prelude.pure newValue, ..}+instance Property "CachedMethods" CacheBehaviorProperty where+  type PropertyType "CachedMethods" CacheBehaviorProperty = ValueList Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {cachedMethods = Prelude.pure newValue, ..}+instance Property "Compress" CacheBehaviorProperty where+  type PropertyType "Compress" CacheBehaviorProperty = Value Prelude.Bool+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {compress = Prelude.pure newValue, ..}+instance Property "DefaultTTL" CacheBehaviorProperty where+  type PropertyType "DefaultTTL" CacheBehaviorProperty = Value Prelude.Double+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {defaultTTL = Prelude.pure newValue, ..}+instance Property "FieldLevelEncryptionId" CacheBehaviorProperty where+  type PropertyType "FieldLevelEncryptionId" CacheBehaviorProperty = Value Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {fieldLevelEncryptionId = Prelude.pure newValue, ..}+instance Property "ForwardedValues" CacheBehaviorProperty where+  type PropertyType "ForwardedValues" CacheBehaviorProperty = ForwardedValuesProperty+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {forwardedValues = Prelude.pure newValue, ..}+instance Property "FunctionAssociations" CacheBehaviorProperty where+  type PropertyType "FunctionAssociations" CacheBehaviorProperty = [FunctionAssociationProperty]+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {functionAssociations = Prelude.pure newValue, ..}+instance Property "GrpcConfig" CacheBehaviorProperty where+  type PropertyType "GrpcConfig" CacheBehaviorProperty = GrpcConfigProperty+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {grpcConfig = Prelude.pure newValue, ..}+instance Property "LambdaFunctionAssociations" CacheBehaviorProperty where+  type PropertyType "LambdaFunctionAssociations" CacheBehaviorProperty = [LambdaFunctionAssociationProperty]+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {lambdaFunctionAssociations = Prelude.pure newValue, ..}+instance Property "MaxTTL" CacheBehaviorProperty where+  type PropertyType "MaxTTL" CacheBehaviorProperty = Value Prelude.Double+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {maxTTL = Prelude.pure newValue, ..}+instance Property "MinTTL" CacheBehaviorProperty where+  type PropertyType "MinTTL" CacheBehaviorProperty = Value Prelude.Double+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {minTTL = Prelude.pure newValue, ..}+instance Property "OriginRequestPolicyId" CacheBehaviorProperty where+  type PropertyType "OriginRequestPolicyId" CacheBehaviorProperty = Value Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {originRequestPolicyId = Prelude.pure newValue, ..}+instance Property "PathPattern" CacheBehaviorProperty where+  type PropertyType "PathPattern" CacheBehaviorProperty = Value Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {pathPattern = newValue, ..}+instance Property "RealtimeLogConfigArn" CacheBehaviorProperty where+  type PropertyType "RealtimeLogConfigArn" CacheBehaviorProperty = Value Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {realtimeLogConfigArn = Prelude.pure newValue, ..}+instance Property "ResponseHeadersPolicyId" CacheBehaviorProperty where+  type PropertyType "ResponseHeadersPolicyId" CacheBehaviorProperty = Value Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {responseHeadersPolicyId = Prelude.pure newValue, ..}+instance Property "SmoothStreaming" CacheBehaviorProperty where+  type PropertyType "SmoothStreaming" CacheBehaviorProperty = Value Prelude.Bool+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {smoothStreaming = Prelude.pure newValue, ..}+instance Property "TargetOriginId" CacheBehaviorProperty where+  type PropertyType "TargetOriginId" CacheBehaviorProperty = Value Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {targetOriginId = newValue, ..}+instance Property "TrustedKeyGroups" CacheBehaviorProperty where+  type PropertyType "TrustedKeyGroups" CacheBehaviorProperty = ValueList Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {trustedKeyGroups = Prelude.pure newValue, ..}+instance Property "TrustedSigners" CacheBehaviorProperty where+  type PropertyType "TrustedSigners" CacheBehaviorProperty = ValueList Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty+        {trustedSigners = Prelude.pure newValue, ..}+instance Property "ViewerProtocolPolicy" CacheBehaviorProperty where+  type PropertyType "ViewerProtocolPolicy" CacheBehaviorProperty = Value Prelude.Text+  set newValue CacheBehaviorProperty {..}+    = CacheBehaviorProperty {viewerProtocolPolicy = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/CacheBehaviorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.CacheBehaviorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CacheBehaviorProperty :: Prelude.Type+instance ToResourceProperties CacheBehaviorProperty+instance Prelude.Eq CacheBehaviorProperty+instance Prelude.Show CacheBehaviorProperty+instance JSON.ToJSON CacheBehaviorProperty
+ gen/Stratosphere/CloudFront/Distribution/CookiesProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.CloudFront.Distribution.CookiesProperty (+        CookiesProperty(..), mkCookiesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CookiesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html>+    CookiesProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html#cfn-cloudfront-distribution-cookies-forward>+                     forward :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-cookies.html#cfn-cloudfront-distribution-cookies-whitelistednames>+                     whitelistedNames :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCookiesProperty :: Value Prelude.Text -> CookiesProperty+mkCookiesProperty forward+  = CookiesProperty+      {haddock_workaround_ = (), forward = forward,+       whitelistedNames = Prelude.Nothing}+instance ToResourceProperties CookiesProperty where+  toResourceProperties CookiesProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.Cookies",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Forward" JSON..= forward]+                           (Prelude.catMaybes+                              [(JSON..=) "WhitelistedNames" Prelude.<$> whitelistedNames]))}+instance JSON.ToJSON CookiesProperty where+  toJSON CookiesProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Forward" JSON..= forward]+              (Prelude.catMaybes+                 [(JSON..=) "WhitelistedNames" Prelude.<$> whitelistedNames])))+instance Property "Forward" CookiesProperty where+  type PropertyType "Forward" CookiesProperty = Value Prelude.Text+  set newValue CookiesProperty {..}+    = CookiesProperty {forward = newValue, ..}+instance Property "WhitelistedNames" CookiesProperty where+  type PropertyType "WhitelistedNames" CookiesProperty = ValueList Prelude.Text+  set newValue CookiesProperty {..}+    = CookiesProperty {whitelistedNames = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/CookiesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.CookiesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CookiesProperty :: Prelude.Type+instance ToResourceProperties CookiesProperty+instance Prelude.Eq CookiesProperty+instance Prelude.Show CookiesProperty+instance JSON.ToJSON CookiesProperty
+ gen/Stratosphere/CloudFront/Distribution/CustomErrorResponseProperty.hs view
@@ -0,0 +1,68 @@+module Stratosphere.CloudFront.Distribution.CustomErrorResponseProperty (+        CustomErrorResponseProperty(..), mkCustomErrorResponseProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomErrorResponseProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html>+    CustomErrorResponseProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-errorcachingminttl>+                                 errorCachingMinTTL :: (Prelude.Maybe (Value Prelude.Double)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-errorcode>+                                 errorCode :: (Value Prelude.Integer),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-responsecode>+                                 responseCode :: (Prelude.Maybe (Value Prelude.Integer)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customerrorresponse.html#cfn-cloudfront-distribution-customerrorresponse-responsepagepath>+                                 responsePagePath :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomErrorResponseProperty ::+  Value Prelude.Integer -> CustomErrorResponseProperty+mkCustomErrorResponseProperty errorCode+  = CustomErrorResponseProperty+      {haddock_workaround_ = (), errorCode = errorCode,+       errorCachingMinTTL = Prelude.Nothing,+       responseCode = Prelude.Nothing, responsePagePath = Prelude.Nothing}+instance ToResourceProperties CustomErrorResponseProperty where+  toResourceProperties CustomErrorResponseProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.CustomErrorResponse",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ErrorCode" JSON..= errorCode]+                           (Prelude.catMaybes+                              [(JSON..=) "ErrorCachingMinTTL" Prelude.<$> errorCachingMinTTL,+                               (JSON..=) "ResponseCode" Prelude.<$> responseCode,+                               (JSON..=) "ResponsePagePath" Prelude.<$> responsePagePath]))}+instance JSON.ToJSON CustomErrorResponseProperty where+  toJSON CustomErrorResponseProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ErrorCode" JSON..= errorCode]+              (Prelude.catMaybes+                 [(JSON..=) "ErrorCachingMinTTL" Prelude.<$> errorCachingMinTTL,+                  (JSON..=) "ResponseCode" Prelude.<$> responseCode,+                  (JSON..=) "ResponsePagePath" Prelude.<$> responsePagePath])))+instance Property "ErrorCachingMinTTL" CustomErrorResponseProperty where+  type PropertyType "ErrorCachingMinTTL" CustomErrorResponseProperty = Value Prelude.Double+  set newValue CustomErrorResponseProperty {..}+    = CustomErrorResponseProperty+        {errorCachingMinTTL = Prelude.pure newValue, ..}+instance Property "ErrorCode" CustomErrorResponseProperty where+  type PropertyType "ErrorCode" CustomErrorResponseProperty = Value Prelude.Integer+  set newValue CustomErrorResponseProperty {..}+    = CustomErrorResponseProperty {errorCode = newValue, ..}+instance Property "ResponseCode" CustomErrorResponseProperty where+  type PropertyType "ResponseCode" CustomErrorResponseProperty = Value Prelude.Integer+  set newValue CustomErrorResponseProperty {..}+    = CustomErrorResponseProperty+        {responseCode = Prelude.pure newValue, ..}+instance Property "ResponsePagePath" CustomErrorResponseProperty where+  type PropertyType "ResponsePagePath" CustomErrorResponseProperty = Value Prelude.Text+  set newValue CustomErrorResponseProperty {..}+    = CustomErrorResponseProperty+        {responsePagePath = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/CustomErrorResponseProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.CustomErrorResponseProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomErrorResponseProperty :: Prelude.Type+instance ToResourceProperties CustomErrorResponseProperty+instance Prelude.Eq CustomErrorResponseProperty+instance Prelude.Show CustomErrorResponseProperty+instance JSON.ToJSON CustomErrorResponseProperty
+ gen/Stratosphere/CloudFront/Distribution/CustomOriginConfigProperty.hs view
@@ -0,0 +1,100 @@+module Stratosphere.CloudFront.Distribution.CustomOriginConfigProperty (+        CustomOriginConfigProperty(..), mkCustomOriginConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomOriginConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html>+    CustomOriginConfigProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-httpport>+                                hTTPPort :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-httpsport>+                                hTTPSPort :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-ipaddresstype>+                                ipAddressType :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originkeepalivetimeout>+                                originKeepaliveTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originprotocolpolicy>+                                originProtocolPolicy :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originreadtimeout>+                                originReadTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-customoriginconfig.html#cfn-cloudfront-distribution-customoriginconfig-originsslprotocols>+                                originSSLProtocols :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomOriginConfigProperty ::+  Value Prelude.Text -> CustomOriginConfigProperty+mkCustomOriginConfigProperty originProtocolPolicy+  = CustomOriginConfigProperty+      {haddock_workaround_ = (),+       originProtocolPolicy = originProtocolPolicy,+       hTTPPort = Prelude.Nothing, hTTPSPort = Prelude.Nothing,+       ipAddressType = Prelude.Nothing,+       originKeepaliveTimeout = Prelude.Nothing,+       originReadTimeout = Prelude.Nothing,+       originSSLProtocols = Prelude.Nothing}+instance ToResourceProperties CustomOriginConfigProperty where+  toResourceProperties CustomOriginConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.CustomOriginConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["OriginProtocolPolicy" JSON..= originProtocolPolicy]+                           (Prelude.catMaybes+                              [(JSON..=) "HTTPPort" Prelude.<$> hTTPPort,+                               (JSON..=) "HTTPSPort" Prelude.<$> hTTPSPort,+                               (JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                               (JSON..=) "OriginKeepaliveTimeout"+                                 Prelude.<$> originKeepaliveTimeout,+                               (JSON..=) "OriginReadTimeout" Prelude.<$> originReadTimeout,+                               (JSON..=) "OriginSSLProtocols" Prelude.<$> originSSLProtocols]))}+instance JSON.ToJSON CustomOriginConfigProperty where+  toJSON CustomOriginConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["OriginProtocolPolicy" JSON..= originProtocolPolicy]+              (Prelude.catMaybes+                 [(JSON..=) "HTTPPort" Prelude.<$> hTTPPort,+                  (JSON..=) "HTTPSPort" Prelude.<$> hTTPSPort,+                  (JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                  (JSON..=) "OriginKeepaliveTimeout"+                    Prelude.<$> originKeepaliveTimeout,+                  (JSON..=) "OriginReadTimeout" Prelude.<$> originReadTimeout,+                  (JSON..=) "OriginSSLProtocols" Prelude.<$> originSSLProtocols])))+instance Property "HTTPPort" CustomOriginConfigProperty where+  type PropertyType "HTTPPort" CustomOriginConfigProperty = Value Prelude.Integer+  set newValue CustomOriginConfigProperty {..}+    = CustomOriginConfigProperty {hTTPPort = Prelude.pure newValue, ..}+instance Property "HTTPSPort" CustomOriginConfigProperty where+  type PropertyType "HTTPSPort" CustomOriginConfigProperty = Value Prelude.Integer+  set newValue CustomOriginConfigProperty {..}+    = CustomOriginConfigProperty+        {hTTPSPort = Prelude.pure newValue, ..}+instance Property "IpAddressType" CustomOriginConfigProperty where+  type PropertyType "IpAddressType" CustomOriginConfigProperty = Value Prelude.Text+  set newValue CustomOriginConfigProperty {..}+    = CustomOriginConfigProperty+        {ipAddressType = Prelude.pure newValue, ..}+instance Property "OriginKeepaliveTimeout" CustomOriginConfigProperty where+  type PropertyType "OriginKeepaliveTimeout" CustomOriginConfigProperty = Value Prelude.Integer+  set newValue CustomOriginConfigProperty {..}+    = CustomOriginConfigProperty+        {originKeepaliveTimeout = Prelude.pure newValue, ..}+instance Property "OriginProtocolPolicy" CustomOriginConfigProperty where+  type PropertyType "OriginProtocolPolicy" CustomOriginConfigProperty = Value Prelude.Text+  set newValue CustomOriginConfigProperty {..}+    = CustomOriginConfigProperty {originProtocolPolicy = newValue, ..}+instance Property "OriginReadTimeout" CustomOriginConfigProperty where+  type PropertyType "OriginReadTimeout" CustomOriginConfigProperty = Value Prelude.Integer+  set newValue CustomOriginConfigProperty {..}+    = CustomOriginConfigProperty+        {originReadTimeout = Prelude.pure newValue, ..}+instance Property "OriginSSLProtocols" CustomOriginConfigProperty where+  type PropertyType "OriginSSLProtocols" CustomOriginConfigProperty = ValueList Prelude.Text+  set newValue CustomOriginConfigProperty {..}+    = CustomOriginConfigProperty+        {originSSLProtocols = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/CustomOriginConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.CustomOriginConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomOriginConfigProperty :: Prelude.Type+instance ToResourceProperties CustomOriginConfigProperty+instance Prelude.Eq CustomOriginConfigProperty+instance Prelude.Show CustomOriginConfigProperty+instance JSON.ToJSON CustomOriginConfigProperty
+ gen/Stratosphere/CloudFront/Distribution/DefaultCacheBehaviorProperty.hs view
@@ -0,0 +1,238 @@+module Stratosphere.CloudFront.Distribution.DefaultCacheBehaviorProperty (+        module Exports, DefaultCacheBehaviorProperty(..),+        mkDefaultCacheBehaviorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.ForwardedValuesProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.FunctionAssociationProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.GrpcConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.LambdaFunctionAssociationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DefaultCacheBehaviorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html>+    DefaultCacheBehaviorProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-allowedmethods>+                                  allowedMethods :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachepolicyid>+                                  cachePolicyId :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-cachedmethods>+                                  cachedMethods :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-compress>+                                  compress :: (Prelude.Maybe (Value Prelude.Bool)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-defaultttl>+                                  defaultTTL :: (Prelude.Maybe (Value Prelude.Double)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-fieldlevelencryptionid>+                                  fieldLevelEncryptionId :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-forwardedvalues>+                                  forwardedValues :: (Prelude.Maybe ForwardedValuesProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-functionassociations>+                                  functionAssociations :: (Prelude.Maybe [FunctionAssociationProperty]),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-grpcconfig>+                                  grpcConfig :: (Prelude.Maybe GrpcConfigProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-lambdafunctionassociations>+                                  lambdaFunctionAssociations :: (Prelude.Maybe [LambdaFunctionAssociationProperty]),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-maxttl>+                                  maxTTL :: (Prelude.Maybe (Value Prelude.Double)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-minttl>+                                  minTTL :: (Prelude.Maybe (Value Prelude.Double)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-originrequestpolicyid>+                                  originRequestPolicyId :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-realtimelogconfigarn>+                                  realtimeLogConfigArn :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-responseheaderspolicyid>+                                  responseHeadersPolicyId :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-smoothstreaming>+                                  smoothStreaming :: (Prelude.Maybe (Value Prelude.Bool)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-targetoriginid>+                                  targetOriginId :: (Value Prelude.Text),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedkeygroups>+                                  trustedKeyGroups :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-trustedsigners>+                                  trustedSigners :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-defaultcachebehavior.html#cfn-cloudfront-distribution-defaultcachebehavior-viewerprotocolpolicy>+                                  viewerProtocolPolicy :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDefaultCacheBehaviorProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> DefaultCacheBehaviorProperty+mkDefaultCacheBehaviorProperty targetOriginId viewerProtocolPolicy+  = DefaultCacheBehaviorProperty+      {haddock_workaround_ = (), targetOriginId = targetOriginId,+       viewerProtocolPolicy = viewerProtocolPolicy,+       allowedMethods = Prelude.Nothing, cachePolicyId = Prelude.Nothing,+       cachedMethods = Prelude.Nothing, compress = Prelude.Nothing,+       defaultTTL = Prelude.Nothing,+       fieldLevelEncryptionId = Prelude.Nothing,+       forwardedValues = Prelude.Nothing,+       functionAssociations = Prelude.Nothing,+       grpcConfig = Prelude.Nothing,+       lambdaFunctionAssociations = Prelude.Nothing,+       maxTTL = Prelude.Nothing, minTTL = Prelude.Nothing,+       originRequestPolicyId = Prelude.Nothing,+       realtimeLogConfigArn = Prelude.Nothing,+       responseHeadersPolicyId = Prelude.Nothing,+       smoothStreaming = Prelude.Nothing,+       trustedKeyGroups = Prelude.Nothing,+       trustedSigners = Prelude.Nothing}+instance ToResourceProperties DefaultCacheBehaviorProperty where+  toResourceProperties DefaultCacheBehaviorProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.DefaultCacheBehavior",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TargetOriginId" JSON..= targetOriginId,+                            "ViewerProtocolPolicy" JSON..= viewerProtocolPolicy]+                           (Prelude.catMaybes+                              [(JSON..=) "AllowedMethods" Prelude.<$> allowedMethods,+                               (JSON..=) "CachePolicyId" Prelude.<$> cachePolicyId,+                               (JSON..=) "CachedMethods" Prelude.<$> cachedMethods,+                               (JSON..=) "Compress" Prelude.<$> compress,+                               (JSON..=) "DefaultTTL" Prelude.<$> defaultTTL,+                               (JSON..=) "FieldLevelEncryptionId"+                                 Prelude.<$> fieldLevelEncryptionId,+                               (JSON..=) "ForwardedValues" Prelude.<$> forwardedValues,+                               (JSON..=) "FunctionAssociations" Prelude.<$> functionAssociations,+                               (JSON..=) "GrpcConfig" Prelude.<$> grpcConfig,+                               (JSON..=) "LambdaFunctionAssociations"+                                 Prelude.<$> lambdaFunctionAssociations,+                               (JSON..=) "MaxTTL" Prelude.<$> maxTTL,+                               (JSON..=) "MinTTL" Prelude.<$> minTTL,+                               (JSON..=) "OriginRequestPolicyId"+                                 Prelude.<$> originRequestPolicyId,+                               (JSON..=) "RealtimeLogConfigArn" Prelude.<$> realtimeLogConfigArn,+                               (JSON..=) "ResponseHeadersPolicyId"+                                 Prelude.<$> responseHeadersPolicyId,+                               (JSON..=) "SmoothStreaming" Prelude.<$> smoothStreaming,+                               (JSON..=) "TrustedKeyGroups" Prelude.<$> trustedKeyGroups,+                               (JSON..=) "TrustedSigners" Prelude.<$> trustedSigners]))}+instance JSON.ToJSON DefaultCacheBehaviorProperty where+  toJSON DefaultCacheBehaviorProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TargetOriginId" JSON..= targetOriginId,+               "ViewerProtocolPolicy" JSON..= viewerProtocolPolicy]+              (Prelude.catMaybes+                 [(JSON..=) "AllowedMethods" Prelude.<$> allowedMethods,+                  (JSON..=) "CachePolicyId" Prelude.<$> cachePolicyId,+                  (JSON..=) "CachedMethods" Prelude.<$> cachedMethods,+                  (JSON..=) "Compress" Prelude.<$> compress,+                  (JSON..=) "DefaultTTL" Prelude.<$> defaultTTL,+                  (JSON..=) "FieldLevelEncryptionId"+                    Prelude.<$> fieldLevelEncryptionId,+                  (JSON..=) "ForwardedValues" Prelude.<$> forwardedValues,+                  (JSON..=) "FunctionAssociations" Prelude.<$> functionAssociations,+                  (JSON..=) "GrpcConfig" Prelude.<$> grpcConfig,+                  (JSON..=) "LambdaFunctionAssociations"+                    Prelude.<$> lambdaFunctionAssociations,+                  (JSON..=) "MaxTTL" Prelude.<$> maxTTL,+                  (JSON..=) "MinTTL" Prelude.<$> minTTL,+                  (JSON..=) "OriginRequestPolicyId"+                    Prelude.<$> originRequestPolicyId,+                  (JSON..=) "RealtimeLogConfigArn" Prelude.<$> realtimeLogConfigArn,+                  (JSON..=) "ResponseHeadersPolicyId"+                    Prelude.<$> responseHeadersPolicyId,+                  (JSON..=) "SmoothStreaming" Prelude.<$> smoothStreaming,+                  (JSON..=) "TrustedKeyGroups" Prelude.<$> trustedKeyGroups,+                  (JSON..=) "TrustedSigners" Prelude.<$> trustedSigners])))+instance Property "AllowedMethods" DefaultCacheBehaviorProperty where+  type PropertyType "AllowedMethods" DefaultCacheBehaviorProperty = ValueList Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {allowedMethods = Prelude.pure newValue, ..}+instance Property "CachePolicyId" DefaultCacheBehaviorProperty where+  type PropertyType "CachePolicyId" DefaultCacheBehaviorProperty = Value Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {cachePolicyId = Prelude.pure newValue, ..}+instance Property "CachedMethods" DefaultCacheBehaviorProperty where+  type PropertyType "CachedMethods" DefaultCacheBehaviorProperty = ValueList Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {cachedMethods = Prelude.pure newValue, ..}+instance Property "Compress" DefaultCacheBehaviorProperty where+  type PropertyType "Compress" DefaultCacheBehaviorProperty = Value Prelude.Bool+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {compress = Prelude.pure newValue, ..}+instance Property "DefaultTTL" DefaultCacheBehaviorProperty where+  type PropertyType "DefaultTTL" DefaultCacheBehaviorProperty = Value Prelude.Double+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {defaultTTL = Prelude.pure newValue, ..}+instance Property "FieldLevelEncryptionId" DefaultCacheBehaviorProperty where+  type PropertyType "FieldLevelEncryptionId" DefaultCacheBehaviorProperty = Value Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {fieldLevelEncryptionId = Prelude.pure newValue, ..}+instance Property "ForwardedValues" DefaultCacheBehaviorProperty where+  type PropertyType "ForwardedValues" DefaultCacheBehaviorProperty = ForwardedValuesProperty+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {forwardedValues = Prelude.pure newValue, ..}+instance Property "FunctionAssociations" DefaultCacheBehaviorProperty where+  type PropertyType "FunctionAssociations" DefaultCacheBehaviorProperty = [FunctionAssociationProperty]+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {functionAssociations = Prelude.pure newValue, ..}+instance Property "GrpcConfig" DefaultCacheBehaviorProperty where+  type PropertyType "GrpcConfig" DefaultCacheBehaviorProperty = GrpcConfigProperty+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {grpcConfig = Prelude.pure newValue, ..}+instance Property "LambdaFunctionAssociations" DefaultCacheBehaviorProperty where+  type PropertyType "LambdaFunctionAssociations" DefaultCacheBehaviorProperty = [LambdaFunctionAssociationProperty]+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {lambdaFunctionAssociations = Prelude.pure newValue, ..}+instance Property "MaxTTL" DefaultCacheBehaviorProperty where+  type PropertyType "MaxTTL" DefaultCacheBehaviorProperty = Value Prelude.Double+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty {maxTTL = Prelude.pure newValue, ..}+instance Property "MinTTL" DefaultCacheBehaviorProperty where+  type PropertyType "MinTTL" DefaultCacheBehaviorProperty = Value Prelude.Double+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty {minTTL = Prelude.pure newValue, ..}+instance Property "OriginRequestPolicyId" DefaultCacheBehaviorProperty where+  type PropertyType "OriginRequestPolicyId" DefaultCacheBehaviorProperty = Value Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {originRequestPolicyId = Prelude.pure newValue, ..}+instance Property "RealtimeLogConfigArn" DefaultCacheBehaviorProperty where+  type PropertyType "RealtimeLogConfigArn" DefaultCacheBehaviorProperty = Value Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {realtimeLogConfigArn = Prelude.pure newValue, ..}+instance Property "ResponseHeadersPolicyId" DefaultCacheBehaviorProperty where+  type PropertyType "ResponseHeadersPolicyId" DefaultCacheBehaviorProperty = Value Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {responseHeadersPolicyId = Prelude.pure newValue, ..}+instance Property "SmoothStreaming" DefaultCacheBehaviorProperty where+  type PropertyType "SmoothStreaming" DefaultCacheBehaviorProperty = Value Prelude.Bool+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {smoothStreaming = Prelude.pure newValue, ..}+instance Property "TargetOriginId" DefaultCacheBehaviorProperty where+  type PropertyType "TargetOriginId" DefaultCacheBehaviorProperty = Value Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty {targetOriginId = newValue, ..}+instance Property "TrustedKeyGroups" DefaultCacheBehaviorProperty where+  type PropertyType "TrustedKeyGroups" DefaultCacheBehaviorProperty = ValueList Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {trustedKeyGroups = Prelude.pure newValue, ..}+instance Property "TrustedSigners" DefaultCacheBehaviorProperty where+  type PropertyType "TrustedSigners" DefaultCacheBehaviorProperty = ValueList Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {trustedSigners = Prelude.pure newValue, ..}+instance Property "ViewerProtocolPolicy" DefaultCacheBehaviorProperty where+  type PropertyType "ViewerProtocolPolicy" DefaultCacheBehaviorProperty = Value Prelude.Text+  set newValue DefaultCacheBehaviorProperty {..}+    = DefaultCacheBehaviorProperty+        {viewerProtocolPolicy = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/DefaultCacheBehaviorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.DefaultCacheBehaviorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DefaultCacheBehaviorProperty :: Prelude.Type+instance ToResourceProperties DefaultCacheBehaviorProperty+instance Prelude.Eq DefaultCacheBehaviorProperty+instance Prelude.Show DefaultCacheBehaviorProperty+instance JSON.ToJSON DefaultCacheBehaviorProperty
+ gen/Stratosphere/CloudFront/Distribution/DefinitionProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.CloudFront.Distribution.DefinitionProperty (+        module Exports, DefinitionProperty(..), mkDefinitionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.StringSchemaProperty as Exports+import Stratosphere.ResourceProperties+data DefinitionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-definition.html>+    DefinitionProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-definition.html#cfn-cloudfront-distribution-definition-stringschema>+                        stringSchema :: (Prelude.Maybe StringSchemaProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDefinitionProperty :: DefinitionProperty+mkDefinitionProperty+  = DefinitionProperty+      {haddock_workaround_ = (), stringSchema = Prelude.Nothing}+instance ToResourceProperties DefinitionProperty where+  toResourceProperties DefinitionProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.Definition",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "StringSchema" Prelude.<$> stringSchema])}+instance JSON.ToJSON DefinitionProperty where+  toJSON DefinitionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "StringSchema" Prelude.<$> stringSchema]))+instance Property "StringSchema" DefinitionProperty where+  type PropertyType "StringSchema" DefinitionProperty = StringSchemaProperty+  set newValue DefinitionProperty {..}+    = DefinitionProperty {stringSchema = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/DefinitionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.DefinitionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DefinitionProperty :: Prelude.Type+instance ToResourceProperties DefinitionProperty+instance Prelude.Eq DefinitionProperty+instance Prelude.Show DefinitionProperty+instance JSON.ToJSON DefinitionProperty
+ gen/Stratosphere/CloudFront/Distribution/DistributionConfigProperty.hs view
@@ -0,0 +1,266 @@+module Stratosphere.CloudFront.Distribution.DistributionConfigProperty (+        module Exports, DistributionConfigProperty(..),+        mkDistributionConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.CacheBehaviorProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.CustomErrorResponseProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.DefaultCacheBehaviorProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.LegacyCustomOriginProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.LegacyS3OriginProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.LoggingProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginGroupsProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.RestrictionsProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.TenantConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.ViewerCertificateProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DistributionConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html>+    DistributionConfigProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-aliases>+                                aliases :: (Prelude.Maybe (ValueList Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-anycastiplistid>+                                anycastIpListId :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-cnames>+                                cNAMEs :: (Prelude.Maybe (ValueList Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-cachebehaviors>+                                cacheBehaviors :: (Prelude.Maybe [CacheBehaviorProperty]),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-comment>+                                comment :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-connectionmode>+                                connectionMode :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-continuousdeploymentpolicyid>+                                continuousDeploymentPolicyId :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-customerrorresponses>+                                customErrorResponses :: (Prelude.Maybe [CustomErrorResponseProperty]),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-customorigin>+                                customOrigin :: (Prelude.Maybe LegacyCustomOriginProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-defaultcachebehavior>+                                defaultCacheBehavior :: DefaultCacheBehaviorProperty,+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-defaultrootobject>+                                defaultRootObject :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-enabled>+                                enabled :: (Value Prelude.Bool),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-httpversion>+                                httpVersion :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-ipv6enabled>+                                iPV6Enabled :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-logging>+                                logging :: (Prelude.Maybe LoggingProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origingroups>+                                originGroups :: (Prelude.Maybe OriginGroupsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-origins>+                                origins :: (Prelude.Maybe [OriginProperty]),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-priceclass>+                                priceClass :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-restrictions>+                                restrictions :: (Prelude.Maybe RestrictionsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-s3origin>+                                s3Origin :: (Prelude.Maybe LegacyS3OriginProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-staging>+                                staging :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-tenantconfig>+                                tenantConfig :: (Prelude.Maybe TenantConfigProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-viewercertificate>+                                viewerCertificate :: (Prelude.Maybe ViewerCertificateProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-distributionconfig.html#cfn-cloudfront-distribution-distributionconfig-webaclid>+                                webACLId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDistributionConfigProperty ::+  DefaultCacheBehaviorProperty+  -> Value Prelude.Bool -> DistributionConfigProperty+mkDistributionConfigProperty defaultCacheBehavior enabled+  = DistributionConfigProperty+      {haddock_workaround_ = (),+       defaultCacheBehavior = defaultCacheBehavior, enabled = enabled,+       aliases = Prelude.Nothing, anycastIpListId = Prelude.Nothing,+       cNAMEs = Prelude.Nothing, cacheBehaviors = Prelude.Nothing,+       comment = Prelude.Nothing, connectionMode = Prelude.Nothing,+       continuousDeploymentPolicyId = Prelude.Nothing,+       customErrorResponses = Prelude.Nothing,+       customOrigin = Prelude.Nothing,+       defaultRootObject = Prelude.Nothing, httpVersion = Prelude.Nothing,+       iPV6Enabled = Prelude.Nothing, logging = Prelude.Nothing,+       originGroups = Prelude.Nothing, origins = Prelude.Nothing,+       priceClass = Prelude.Nothing, restrictions = Prelude.Nothing,+       s3Origin = Prelude.Nothing, staging = Prelude.Nothing,+       tenantConfig = Prelude.Nothing,+       viewerCertificate = Prelude.Nothing, webACLId = Prelude.Nothing}+instance ToResourceProperties DistributionConfigProperty where+  toResourceProperties DistributionConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.DistributionConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DefaultCacheBehavior" JSON..= defaultCacheBehavior,+                            "Enabled" JSON..= enabled]+                           (Prelude.catMaybes+                              [(JSON..=) "Aliases" Prelude.<$> aliases,+                               (JSON..=) "AnycastIpListId" Prelude.<$> anycastIpListId,+                               (JSON..=) "CNAMEs" Prelude.<$> cNAMEs,+                               (JSON..=) "CacheBehaviors" Prelude.<$> cacheBehaviors,+                               (JSON..=) "Comment" Prelude.<$> comment,+                               (JSON..=) "ConnectionMode" Prelude.<$> connectionMode,+                               (JSON..=) "ContinuousDeploymentPolicyId"+                                 Prelude.<$> continuousDeploymentPolicyId,+                               (JSON..=) "CustomErrorResponses" Prelude.<$> customErrorResponses,+                               (JSON..=) "CustomOrigin" Prelude.<$> customOrigin,+                               (JSON..=) "DefaultRootObject" Prelude.<$> defaultRootObject,+                               (JSON..=) "HttpVersion" Prelude.<$> httpVersion,+                               (JSON..=) "IPV6Enabled" Prelude.<$> iPV6Enabled,+                               (JSON..=) "Logging" Prelude.<$> logging,+                               (JSON..=) "OriginGroups" Prelude.<$> originGroups,+                               (JSON..=) "Origins" Prelude.<$> origins,+                               (JSON..=) "PriceClass" Prelude.<$> priceClass,+                               (JSON..=) "Restrictions" Prelude.<$> restrictions,+                               (JSON..=) "S3Origin" Prelude.<$> s3Origin,+                               (JSON..=) "Staging" Prelude.<$> staging,+                               (JSON..=) "TenantConfig" Prelude.<$> tenantConfig,+                               (JSON..=) "ViewerCertificate" Prelude.<$> viewerCertificate,+                               (JSON..=) "WebACLId" Prelude.<$> webACLId]))}+instance JSON.ToJSON DistributionConfigProperty where+  toJSON DistributionConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DefaultCacheBehavior" JSON..= defaultCacheBehavior,+               "Enabled" JSON..= enabled]+              (Prelude.catMaybes+                 [(JSON..=) "Aliases" Prelude.<$> aliases,+                  (JSON..=) "AnycastIpListId" Prelude.<$> anycastIpListId,+                  (JSON..=) "CNAMEs" Prelude.<$> cNAMEs,+                  (JSON..=) "CacheBehaviors" Prelude.<$> cacheBehaviors,+                  (JSON..=) "Comment" Prelude.<$> comment,+                  (JSON..=) "ConnectionMode" Prelude.<$> connectionMode,+                  (JSON..=) "ContinuousDeploymentPolicyId"+                    Prelude.<$> continuousDeploymentPolicyId,+                  (JSON..=) "CustomErrorResponses" Prelude.<$> customErrorResponses,+                  (JSON..=) "CustomOrigin" Prelude.<$> customOrigin,+                  (JSON..=) "DefaultRootObject" Prelude.<$> defaultRootObject,+                  (JSON..=) "HttpVersion" Prelude.<$> httpVersion,+                  (JSON..=) "IPV6Enabled" Prelude.<$> iPV6Enabled,+                  (JSON..=) "Logging" Prelude.<$> logging,+                  (JSON..=) "OriginGroups" Prelude.<$> originGroups,+                  (JSON..=) "Origins" Prelude.<$> origins,+                  (JSON..=) "PriceClass" Prelude.<$> priceClass,+                  (JSON..=) "Restrictions" Prelude.<$> restrictions,+                  (JSON..=) "S3Origin" Prelude.<$> s3Origin,+                  (JSON..=) "Staging" Prelude.<$> staging,+                  (JSON..=) "TenantConfig" Prelude.<$> tenantConfig,+                  (JSON..=) "ViewerCertificate" Prelude.<$> viewerCertificate,+                  (JSON..=) "WebACLId" Prelude.<$> webACLId])))+instance Property "Aliases" DistributionConfigProperty where+  type PropertyType "Aliases" DistributionConfigProperty = ValueList Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {aliases = Prelude.pure newValue, ..}+instance Property "AnycastIpListId" DistributionConfigProperty where+  type PropertyType "AnycastIpListId" DistributionConfigProperty = Value Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {anycastIpListId = Prelude.pure newValue, ..}+instance Property "CNAMEs" DistributionConfigProperty where+  type PropertyType "CNAMEs" DistributionConfigProperty = ValueList Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {cNAMEs = Prelude.pure newValue, ..}+instance Property "CacheBehaviors" DistributionConfigProperty where+  type PropertyType "CacheBehaviors" DistributionConfigProperty = [CacheBehaviorProperty]+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {cacheBehaviors = Prelude.pure newValue, ..}+instance Property "Comment" DistributionConfigProperty where+  type PropertyType "Comment" DistributionConfigProperty = Value Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {comment = Prelude.pure newValue, ..}+instance Property "ConnectionMode" DistributionConfigProperty where+  type PropertyType "ConnectionMode" DistributionConfigProperty = Value Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {connectionMode = Prelude.pure newValue, ..}+instance Property "ContinuousDeploymentPolicyId" DistributionConfigProperty where+  type PropertyType "ContinuousDeploymentPolicyId" DistributionConfigProperty = Value Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {continuousDeploymentPolicyId = Prelude.pure newValue, ..}+instance Property "CustomErrorResponses" DistributionConfigProperty where+  type PropertyType "CustomErrorResponses" DistributionConfigProperty = [CustomErrorResponseProperty]+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {customErrorResponses = Prelude.pure newValue, ..}+instance Property "CustomOrigin" DistributionConfigProperty where+  type PropertyType "CustomOrigin" DistributionConfigProperty = LegacyCustomOriginProperty+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {customOrigin = Prelude.pure newValue, ..}+instance Property "DefaultCacheBehavior" DistributionConfigProperty where+  type PropertyType "DefaultCacheBehavior" DistributionConfigProperty = DefaultCacheBehaviorProperty+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {defaultCacheBehavior = newValue, ..}+instance Property "DefaultRootObject" DistributionConfigProperty where+  type PropertyType "DefaultRootObject" DistributionConfigProperty = Value Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {defaultRootObject = Prelude.pure newValue, ..}+instance Property "Enabled" DistributionConfigProperty where+  type PropertyType "Enabled" DistributionConfigProperty = Value Prelude.Bool+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {enabled = newValue, ..}+instance Property "HttpVersion" DistributionConfigProperty where+  type PropertyType "HttpVersion" DistributionConfigProperty = Value Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {httpVersion = Prelude.pure newValue, ..}+instance Property "IPV6Enabled" DistributionConfigProperty where+  type PropertyType "IPV6Enabled" DistributionConfigProperty = Value Prelude.Bool+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {iPV6Enabled = Prelude.pure newValue, ..}+instance Property "Logging" DistributionConfigProperty where+  type PropertyType "Logging" DistributionConfigProperty = LoggingProperty+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {logging = Prelude.pure newValue, ..}+instance Property "OriginGroups" DistributionConfigProperty where+  type PropertyType "OriginGroups" DistributionConfigProperty = OriginGroupsProperty+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {originGroups = Prelude.pure newValue, ..}+instance Property "Origins" DistributionConfigProperty where+  type PropertyType "Origins" DistributionConfigProperty = [OriginProperty]+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {origins = Prelude.pure newValue, ..}+instance Property "PriceClass" DistributionConfigProperty where+  type PropertyType "PriceClass" DistributionConfigProperty = Value Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {priceClass = Prelude.pure newValue, ..}+instance Property "Restrictions" DistributionConfigProperty where+  type PropertyType "Restrictions" DistributionConfigProperty = RestrictionsProperty+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {restrictions = Prelude.pure newValue, ..}+instance Property "S3Origin" DistributionConfigProperty where+  type PropertyType "S3Origin" DistributionConfigProperty = LegacyS3OriginProperty+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {s3Origin = Prelude.pure newValue, ..}+instance Property "Staging" DistributionConfigProperty where+  type PropertyType "Staging" DistributionConfigProperty = Value Prelude.Bool+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {staging = Prelude.pure newValue, ..}+instance Property "TenantConfig" DistributionConfigProperty where+  type PropertyType "TenantConfig" DistributionConfigProperty = TenantConfigProperty+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {tenantConfig = Prelude.pure newValue, ..}+instance Property "ViewerCertificate" DistributionConfigProperty where+  type PropertyType "ViewerCertificate" DistributionConfigProperty = ViewerCertificateProperty+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty+        {viewerCertificate = Prelude.pure newValue, ..}+instance Property "WebACLId" DistributionConfigProperty where+  type PropertyType "WebACLId" DistributionConfigProperty = Value Prelude.Text+  set newValue DistributionConfigProperty {..}+    = DistributionConfigProperty {webACLId = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/DistributionConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.DistributionConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DistributionConfigProperty :: Prelude.Type+instance ToResourceProperties DistributionConfigProperty+instance Prelude.Eq DistributionConfigProperty+instance Prelude.Show DistributionConfigProperty+instance JSON.ToJSON DistributionConfigProperty
+ gen/Stratosphere/CloudFront/Distribution/ForwardedValuesProperty.hs view
@@ -0,0 +1,70 @@+module Stratosphere.CloudFront.Distribution.ForwardedValuesProperty (+        module Exports, ForwardedValuesProperty(..),+        mkForwardedValuesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.CookiesProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ForwardedValuesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html>+    ForwardedValuesProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-cookies>+                             cookies :: (Prelude.Maybe CookiesProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-headers>+                             headers :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-querystring>+                             queryString :: (Value Prelude.Bool),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-forwardedvalues.html#cfn-cloudfront-distribution-forwardedvalues-querystringcachekeys>+                             queryStringCacheKeys :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkForwardedValuesProperty ::+  Value Prelude.Bool -> ForwardedValuesProperty+mkForwardedValuesProperty queryString+  = ForwardedValuesProperty+      {haddock_workaround_ = (), queryString = queryString,+       cookies = Prelude.Nothing, headers = Prelude.Nothing,+       queryStringCacheKeys = Prelude.Nothing}+instance ToResourceProperties ForwardedValuesProperty where+  toResourceProperties ForwardedValuesProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.ForwardedValues",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["QueryString" JSON..= queryString]+                           (Prelude.catMaybes+                              [(JSON..=) "Cookies" Prelude.<$> cookies,+                               (JSON..=) "Headers" Prelude.<$> headers,+                               (JSON..=) "QueryStringCacheKeys"+                                 Prelude.<$> queryStringCacheKeys]))}+instance JSON.ToJSON ForwardedValuesProperty where+  toJSON ForwardedValuesProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["QueryString" JSON..= queryString]+              (Prelude.catMaybes+                 [(JSON..=) "Cookies" Prelude.<$> cookies,+                  (JSON..=) "Headers" Prelude.<$> headers,+                  (JSON..=) "QueryStringCacheKeys"+                    Prelude.<$> queryStringCacheKeys])))+instance Property "Cookies" ForwardedValuesProperty where+  type PropertyType "Cookies" ForwardedValuesProperty = CookiesProperty+  set newValue ForwardedValuesProperty {..}+    = ForwardedValuesProperty {cookies = Prelude.pure newValue, ..}+instance Property "Headers" ForwardedValuesProperty where+  type PropertyType "Headers" ForwardedValuesProperty = ValueList Prelude.Text+  set newValue ForwardedValuesProperty {..}+    = ForwardedValuesProperty {headers = Prelude.pure newValue, ..}+instance Property "QueryString" ForwardedValuesProperty where+  type PropertyType "QueryString" ForwardedValuesProperty = Value Prelude.Bool+  set newValue ForwardedValuesProperty {..}+    = ForwardedValuesProperty {queryString = newValue, ..}+instance Property "QueryStringCacheKeys" ForwardedValuesProperty where+  type PropertyType "QueryStringCacheKeys" ForwardedValuesProperty = ValueList Prelude.Text+  set newValue ForwardedValuesProperty {..}+    = ForwardedValuesProperty+        {queryStringCacheKeys = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/ForwardedValuesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.ForwardedValuesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ForwardedValuesProperty :: Prelude.Type+instance ToResourceProperties ForwardedValuesProperty+instance Prelude.Eq ForwardedValuesProperty+instance Prelude.Show ForwardedValuesProperty+instance JSON.ToJSON ForwardedValuesProperty
+ gen/Stratosphere/CloudFront/Distribution/FunctionAssociationProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.CloudFront.Distribution.FunctionAssociationProperty (+        FunctionAssociationProperty(..), mkFunctionAssociationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FunctionAssociationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-functionassociation.html>+    FunctionAssociationProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-functionassociation.html#cfn-cloudfront-distribution-functionassociation-eventtype>+                                 eventType :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-functionassociation.html#cfn-cloudfront-distribution-functionassociation-functionarn>+                                 functionARN :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFunctionAssociationProperty :: FunctionAssociationProperty+mkFunctionAssociationProperty+  = FunctionAssociationProperty+      {haddock_workaround_ = (), eventType = Prelude.Nothing,+       functionARN = Prelude.Nothing}+instance ToResourceProperties FunctionAssociationProperty where+  toResourceProperties FunctionAssociationProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.FunctionAssociation",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EventType" Prelude.<$> eventType,+                            (JSON..=) "FunctionARN" Prelude.<$> functionARN])}+instance JSON.ToJSON FunctionAssociationProperty where+  toJSON FunctionAssociationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EventType" Prelude.<$> eventType,+               (JSON..=) "FunctionARN" Prelude.<$> functionARN]))+instance Property "EventType" FunctionAssociationProperty where+  type PropertyType "EventType" FunctionAssociationProperty = Value Prelude.Text+  set newValue FunctionAssociationProperty {..}+    = FunctionAssociationProperty+        {eventType = Prelude.pure newValue, ..}+instance Property "FunctionARN" FunctionAssociationProperty where+  type PropertyType "FunctionARN" FunctionAssociationProperty = Value Prelude.Text+  set newValue FunctionAssociationProperty {..}+    = FunctionAssociationProperty+        {functionARN = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/FunctionAssociationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.FunctionAssociationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FunctionAssociationProperty :: Prelude.Type+instance ToResourceProperties FunctionAssociationProperty+instance Prelude.Eq FunctionAssociationProperty+instance Prelude.Show FunctionAssociationProperty+instance JSON.ToJSON FunctionAssociationProperty
+ gen/Stratosphere/CloudFront/Distribution/GeoRestrictionProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.CloudFront.Distribution.GeoRestrictionProperty (+        GeoRestrictionProperty(..), mkGeoRestrictionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GeoRestrictionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html>+    GeoRestrictionProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html#cfn-cloudfront-distribution-georestriction-locations>+                            locations :: (Prelude.Maybe (ValueList Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-georestriction.html#cfn-cloudfront-distribution-georestriction-restrictiontype>+                            restrictionType :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGeoRestrictionProperty ::+  Value Prelude.Text -> GeoRestrictionProperty+mkGeoRestrictionProperty restrictionType+  = GeoRestrictionProperty+      {haddock_workaround_ = (), restrictionType = restrictionType,+       locations = Prelude.Nothing}+instance ToResourceProperties GeoRestrictionProperty where+  toResourceProperties GeoRestrictionProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.GeoRestriction",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["RestrictionType" JSON..= restrictionType]+                           (Prelude.catMaybes [(JSON..=) "Locations" Prelude.<$> locations]))}+instance JSON.ToJSON GeoRestrictionProperty where+  toJSON GeoRestrictionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["RestrictionType" JSON..= restrictionType]+              (Prelude.catMaybes [(JSON..=) "Locations" Prelude.<$> locations])))+instance Property "Locations" GeoRestrictionProperty where+  type PropertyType "Locations" GeoRestrictionProperty = ValueList Prelude.Text+  set newValue GeoRestrictionProperty {..}+    = GeoRestrictionProperty {locations = Prelude.pure newValue, ..}+instance Property "RestrictionType" GeoRestrictionProperty where+  type PropertyType "RestrictionType" GeoRestrictionProperty = Value Prelude.Text+  set newValue GeoRestrictionProperty {..}+    = GeoRestrictionProperty {restrictionType = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/GeoRestrictionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.GeoRestrictionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GeoRestrictionProperty :: Prelude.Type+instance ToResourceProperties GeoRestrictionProperty+instance Prelude.Eq GeoRestrictionProperty+instance Prelude.Show GeoRestrictionProperty+instance JSON.ToJSON GeoRestrictionProperty
+ gen/Stratosphere/CloudFront/Distribution/GrpcConfigProperty.hs view
@@ -0,0 +1,30 @@+module Stratosphere.CloudFront.Distribution.GrpcConfigProperty (+        GrpcConfigProperty(..), mkGrpcConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GrpcConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-grpcconfig.html>+    GrpcConfigProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-grpcconfig.html#cfn-cloudfront-distribution-grpcconfig-enabled>+                        enabled :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGrpcConfigProperty :: Value Prelude.Bool -> GrpcConfigProperty+mkGrpcConfigProperty enabled+  = GrpcConfigProperty {haddock_workaround_ = (), enabled = enabled}+instance ToResourceProperties GrpcConfigProperty where+  toResourceProperties GrpcConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.GrpcConfig",+         supportsTags = Prelude.False,+         properties = ["Enabled" JSON..= enabled]}+instance JSON.ToJSON GrpcConfigProperty where+  toJSON GrpcConfigProperty {..}+    = JSON.object ["Enabled" JSON..= enabled]+instance Property "Enabled" GrpcConfigProperty where+  type PropertyType "Enabled" GrpcConfigProperty = Value Prelude.Bool+  set newValue GrpcConfigProperty {..}+    = GrpcConfigProperty {enabled = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/GrpcConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.GrpcConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GrpcConfigProperty :: Prelude.Type+instance ToResourceProperties GrpcConfigProperty+instance Prelude.Eq GrpcConfigProperty+instance Prelude.Show GrpcConfigProperty+instance JSON.ToJSON GrpcConfigProperty
+ gen/Stratosphere/CloudFront/Distribution/LambdaFunctionAssociationProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.CloudFront.Distribution.LambdaFunctionAssociationProperty (+        LambdaFunctionAssociationProperty(..),+        mkLambdaFunctionAssociationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LambdaFunctionAssociationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html>+    LambdaFunctionAssociationProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-eventtype>+                                       eventType :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-includebody>+                                       includeBody :: (Prelude.Maybe (Value Prelude.Bool)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-lambdafunctionassociation.html#cfn-cloudfront-distribution-lambdafunctionassociation-lambdafunctionarn>+                                       lambdaFunctionARN :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLambdaFunctionAssociationProperty ::+  LambdaFunctionAssociationProperty+mkLambdaFunctionAssociationProperty+  = LambdaFunctionAssociationProperty+      {haddock_workaround_ = (), eventType = Prelude.Nothing,+       includeBody = Prelude.Nothing, lambdaFunctionARN = Prelude.Nothing}+instance ToResourceProperties LambdaFunctionAssociationProperty where+  toResourceProperties LambdaFunctionAssociationProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.LambdaFunctionAssociation",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EventType" Prelude.<$> eventType,+                            (JSON..=) "IncludeBody" Prelude.<$> includeBody,+                            (JSON..=) "LambdaFunctionARN" Prelude.<$> lambdaFunctionARN])}+instance JSON.ToJSON LambdaFunctionAssociationProperty where+  toJSON LambdaFunctionAssociationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EventType" Prelude.<$> eventType,+               (JSON..=) "IncludeBody" Prelude.<$> includeBody,+               (JSON..=) "LambdaFunctionARN" Prelude.<$> lambdaFunctionARN]))+instance Property "EventType" LambdaFunctionAssociationProperty where+  type PropertyType "EventType" LambdaFunctionAssociationProperty = Value Prelude.Text+  set newValue LambdaFunctionAssociationProperty {..}+    = LambdaFunctionAssociationProperty+        {eventType = Prelude.pure newValue, ..}+instance Property "IncludeBody" LambdaFunctionAssociationProperty where+  type PropertyType "IncludeBody" LambdaFunctionAssociationProperty = Value Prelude.Bool+  set newValue LambdaFunctionAssociationProperty {..}+    = LambdaFunctionAssociationProperty+        {includeBody = Prelude.pure newValue, ..}+instance Property "LambdaFunctionARN" LambdaFunctionAssociationProperty where+  type PropertyType "LambdaFunctionARN" LambdaFunctionAssociationProperty = Value Prelude.Text+  set newValue LambdaFunctionAssociationProperty {..}+    = LambdaFunctionAssociationProperty+        {lambdaFunctionARN = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/LambdaFunctionAssociationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.LambdaFunctionAssociationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LambdaFunctionAssociationProperty :: Prelude.Type+instance ToResourceProperties LambdaFunctionAssociationProperty+instance Prelude.Eq LambdaFunctionAssociationProperty+instance Prelude.Show LambdaFunctionAssociationProperty+instance JSON.ToJSON LambdaFunctionAssociationProperty
+ gen/Stratosphere/CloudFront/Distribution/LegacyCustomOriginProperty.hs view
@@ -0,0 +1,80 @@+module Stratosphere.CloudFront.Distribution.LegacyCustomOriginProperty (+        LegacyCustomOriginProperty(..), mkLegacyCustomOriginProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LegacyCustomOriginProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacycustomorigin.html>+    LegacyCustomOriginProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacycustomorigin.html#cfn-cloudfront-distribution-legacycustomorigin-dnsname>+                                dNSName :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacycustomorigin.html#cfn-cloudfront-distribution-legacycustomorigin-httpport>+                                hTTPPort :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacycustomorigin.html#cfn-cloudfront-distribution-legacycustomorigin-httpsport>+                                hTTPSPort :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacycustomorigin.html#cfn-cloudfront-distribution-legacycustomorigin-originprotocolpolicy>+                                originProtocolPolicy :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacycustomorigin.html#cfn-cloudfront-distribution-legacycustomorigin-originsslprotocols>+                                originSSLProtocols :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLegacyCustomOriginProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> ValueList Prelude.Text -> LegacyCustomOriginProperty+mkLegacyCustomOriginProperty+  dNSName+  originProtocolPolicy+  originSSLProtocols+  = LegacyCustomOriginProperty+      {haddock_workaround_ = (), dNSName = dNSName,+       originProtocolPolicy = originProtocolPolicy,+       originSSLProtocols = originSSLProtocols,+       hTTPPort = Prelude.Nothing, hTTPSPort = Prelude.Nothing}+instance ToResourceProperties LegacyCustomOriginProperty where+  toResourceProperties LegacyCustomOriginProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.LegacyCustomOrigin",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DNSName" JSON..= dNSName,+                            "OriginProtocolPolicy" JSON..= originProtocolPolicy,+                            "OriginSSLProtocols" JSON..= originSSLProtocols]+                           (Prelude.catMaybes+                              [(JSON..=) "HTTPPort" Prelude.<$> hTTPPort,+                               (JSON..=) "HTTPSPort" Prelude.<$> hTTPSPort]))}+instance JSON.ToJSON LegacyCustomOriginProperty where+  toJSON LegacyCustomOriginProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DNSName" JSON..= dNSName,+               "OriginProtocolPolicy" JSON..= originProtocolPolicy,+               "OriginSSLProtocols" JSON..= originSSLProtocols]+              (Prelude.catMaybes+                 [(JSON..=) "HTTPPort" Prelude.<$> hTTPPort,+                  (JSON..=) "HTTPSPort" Prelude.<$> hTTPSPort])))+instance Property "DNSName" LegacyCustomOriginProperty where+  type PropertyType "DNSName" LegacyCustomOriginProperty = Value Prelude.Text+  set newValue LegacyCustomOriginProperty {..}+    = LegacyCustomOriginProperty {dNSName = newValue, ..}+instance Property "HTTPPort" LegacyCustomOriginProperty where+  type PropertyType "HTTPPort" LegacyCustomOriginProperty = Value Prelude.Integer+  set newValue LegacyCustomOriginProperty {..}+    = LegacyCustomOriginProperty {hTTPPort = Prelude.pure newValue, ..}+instance Property "HTTPSPort" LegacyCustomOriginProperty where+  type PropertyType "HTTPSPort" LegacyCustomOriginProperty = Value Prelude.Integer+  set newValue LegacyCustomOriginProperty {..}+    = LegacyCustomOriginProperty+        {hTTPSPort = Prelude.pure newValue, ..}+instance Property "OriginProtocolPolicy" LegacyCustomOriginProperty where+  type PropertyType "OriginProtocolPolicy" LegacyCustomOriginProperty = Value Prelude.Text+  set newValue LegacyCustomOriginProperty {..}+    = LegacyCustomOriginProperty {originProtocolPolicy = newValue, ..}+instance Property "OriginSSLProtocols" LegacyCustomOriginProperty where+  type PropertyType "OriginSSLProtocols" LegacyCustomOriginProperty = ValueList Prelude.Text+  set newValue LegacyCustomOriginProperty {..}+    = LegacyCustomOriginProperty {originSSLProtocols = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/LegacyCustomOriginProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.LegacyCustomOriginProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LegacyCustomOriginProperty :: Prelude.Type+instance ToResourceProperties LegacyCustomOriginProperty+instance Prelude.Eq LegacyCustomOriginProperty+instance Prelude.Show LegacyCustomOriginProperty+instance JSON.ToJSON LegacyCustomOriginProperty
+ gen/Stratosphere/CloudFront/Distribution/LegacyS3OriginProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.CloudFront.Distribution.LegacyS3OriginProperty (+        LegacyS3OriginProperty(..), mkLegacyS3OriginProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LegacyS3OriginProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacys3origin.html>+    LegacyS3OriginProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacys3origin.html#cfn-cloudfront-distribution-legacys3origin-dnsname>+                            dNSName :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-legacys3origin.html#cfn-cloudfront-distribution-legacys3origin-originaccessidentity>+                            originAccessIdentity :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLegacyS3OriginProperty ::+  Value Prelude.Text -> LegacyS3OriginProperty+mkLegacyS3OriginProperty dNSName+  = LegacyS3OriginProperty+      {haddock_workaround_ = (), dNSName = dNSName,+       originAccessIdentity = Prelude.Nothing}+instance ToResourceProperties LegacyS3OriginProperty where+  toResourceProperties LegacyS3OriginProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.LegacyS3Origin",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DNSName" JSON..= dNSName]+                           (Prelude.catMaybes+                              [(JSON..=) "OriginAccessIdentity"+                                 Prelude.<$> originAccessIdentity]))}+instance JSON.ToJSON LegacyS3OriginProperty where+  toJSON LegacyS3OriginProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DNSName" JSON..= dNSName]+              (Prelude.catMaybes+                 [(JSON..=) "OriginAccessIdentity"+                    Prelude.<$> originAccessIdentity])))+instance Property "DNSName" LegacyS3OriginProperty where+  type PropertyType "DNSName" LegacyS3OriginProperty = Value Prelude.Text+  set newValue LegacyS3OriginProperty {..}+    = LegacyS3OriginProperty {dNSName = newValue, ..}+instance Property "OriginAccessIdentity" LegacyS3OriginProperty where+  type PropertyType "OriginAccessIdentity" LegacyS3OriginProperty = Value Prelude.Text+  set newValue LegacyS3OriginProperty {..}+    = LegacyS3OriginProperty+        {originAccessIdentity = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/LegacyS3OriginProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.LegacyS3OriginProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LegacyS3OriginProperty :: Prelude.Type+instance ToResourceProperties LegacyS3OriginProperty+instance Prelude.Eq LegacyS3OriginProperty+instance Prelude.Show LegacyS3OriginProperty+instance JSON.ToJSON LegacyS3OriginProperty
+ gen/Stratosphere/CloudFront/Distribution/LoggingProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.CloudFront.Distribution.LoggingProperty (+        LoggingProperty(..), mkLoggingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LoggingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html>+    LoggingProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html#cfn-cloudfront-distribution-logging-bucket>+                     bucket :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html#cfn-cloudfront-distribution-logging-includecookies>+                     includeCookies :: (Prelude.Maybe (Value Prelude.Bool)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-logging.html#cfn-cloudfront-distribution-logging-prefix>+                     prefix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLoggingProperty :: LoggingProperty+mkLoggingProperty+  = LoggingProperty+      {haddock_workaround_ = (), bucket = Prelude.Nothing,+       includeCookies = Prelude.Nothing, prefix = Prelude.Nothing}+instance ToResourceProperties LoggingProperty where+  toResourceProperties LoggingProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.Logging",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Bucket" Prelude.<$> bucket,+                            (JSON..=) "IncludeCookies" Prelude.<$> includeCookies,+                            (JSON..=) "Prefix" Prelude.<$> prefix])}+instance JSON.ToJSON LoggingProperty where+  toJSON LoggingProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Bucket" Prelude.<$> bucket,+               (JSON..=) "IncludeCookies" Prelude.<$> includeCookies,+               (JSON..=) "Prefix" Prelude.<$> prefix]))+instance Property "Bucket" LoggingProperty where+  type PropertyType "Bucket" LoggingProperty = Value Prelude.Text+  set newValue LoggingProperty {..}+    = LoggingProperty {bucket = Prelude.pure newValue, ..}+instance Property "IncludeCookies" LoggingProperty where+  type PropertyType "IncludeCookies" LoggingProperty = Value Prelude.Bool+  set newValue LoggingProperty {..}+    = LoggingProperty {includeCookies = Prelude.pure newValue, ..}+instance Property "Prefix" LoggingProperty where+  type PropertyType "Prefix" LoggingProperty = Value Prelude.Text+  set newValue LoggingProperty {..}+    = LoggingProperty {prefix = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/LoggingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.LoggingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LoggingProperty :: Prelude.Type+instance ToResourceProperties LoggingProperty+instance Prelude.Eq LoggingProperty+instance Prelude.Show LoggingProperty+instance JSON.ToJSON LoggingProperty
+ gen/Stratosphere/CloudFront/Distribution/OriginCustomHeaderProperty.hs view
@@ -0,0 +1,43 @@+module Stratosphere.CloudFront.Distribution.OriginCustomHeaderProperty (+        OriginCustomHeaderProperty(..), mkOriginCustomHeaderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OriginCustomHeaderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origincustomheader.html>+    OriginCustomHeaderProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origincustomheader.html#cfn-cloudfront-distribution-origincustomheader-headername>+                                headerName :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origincustomheader.html#cfn-cloudfront-distribution-origincustomheader-headervalue>+                                headerValue :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginCustomHeaderProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> OriginCustomHeaderProperty+mkOriginCustomHeaderProperty headerName headerValue+  = OriginCustomHeaderProperty+      {haddock_workaround_ = (), headerName = headerName,+       headerValue = headerValue}+instance ToResourceProperties OriginCustomHeaderProperty where+  toResourceProperties OriginCustomHeaderProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.OriginCustomHeader",+         supportsTags = Prelude.False,+         properties = ["HeaderName" JSON..= headerName,+                       "HeaderValue" JSON..= headerValue]}+instance JSON.ToJSON OriginCustomHeaderProperty where+  toJSON OriginCustomHeaderProperty {..}+    = JSON.object+        ["HeaderName" JSON..= headerName,+         "HeaderValue" JSON..= headerValue]+instance Property "HeaderName" OriginCustomHeaderProperty where+  type PropertyType "HeaderName" OriginCustomHeaderProperty = Value Prelude.Text+  set newValue OriginCustomHeaderProperty {..}+    = OriginCustomHeaderProperty {headerName = newValue, ..}+instance Property "HeaderValue" OriginCustomHeaderProperty where+  type PropertyType "HeaderValue" OriginCustomHeaderProperty = Value Prelude.Text+  set newValue OriginCustomHeaderProperty {..}+    = OriginCustomHeaderProperty {headerValue = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/OriginCustomHeaderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.OriginCustomHeaderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginCustomHeaderProperty :: Prelude.Type+instance ToResourceProperties OriginCustomHeaderProperty+instance Prelude.Eq OriginCustomHeaderProperty+instance Prelude.Show OriginCustomHeaderProperty+instance JSON.ToJSON OriginCustomHeaderProperty
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupFailoverCriteriaProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.CloudFront.Distribution.OriginGroupFailoverCriteriaProperty (+        module Exports, OriginGroupFailoverCriteriaProperty(..),+        mkOriginGroupFailoverCriteriaProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.StatusCodesProperty as Exports+import Stratosphere.ResourceProperties+data OriginGroupFailoverCriteriaProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupfailovercriteria.html>+    OriginGroupFailoverCriteriaProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupfailovercriteria.html#cfn-cloudfront-distribution-origingroupfailovercriteria-statuscodes>+                                         statusCodes :: StatusCodesProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginGroupFailoverCriteriaProperty ::+  StatusCodesProperty -> OriginGroupFailoverCriteriaProperty+mkOriginGroupFailoverCriteriaProperty statusCodes+  = OriginGroupFailoverCriteriaProperty+      {haddock_workaround_ = (), statusCodes = statusCodes}+instance ToResourceProperties OriginGroupFailoverCriteriaProperty where+  toResourceProperties OriginGroupFailoverCriteriaProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.OriginGroupFailoverCriteria",+         supportsTags = Prelude.False,+         properties = ["StatusCodes" JSON..= statusCodes]}+instance JSON.ToJSON OriginGroupFailoverCriteriaProperty where+  toJSON OriginGroupFailoverCriteriaProperty {..}+    = JSON.object ["StatusCodes" JSON..= statusCodes]+instance Property "StatusCodes" OriginGroupFailoverCriteriaProperty where+  type PropertyType "StatusCodes" OriginGroupFailoverCriteriaProperty = StatusCodesProperty+  set newValue OriginGroupFailoverCriteriaProperty {..}+    = OriginGroupFailoverCriteriaProperty {statusCodes = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupFailoverCriteriaProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.OriginGroupFailoverCriteriaProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginGroupFailoverCriteriaProperty :: Prelude.Type+instance ToResourceProperties OriginGroupFailoverCriteriaProperty+instance Prelude.Eq OriginGroupFailoverCriteriaProperty+instance Prelude.Show OriginGroupFailoverCriteriaProperty+instance JSON.ToJSON OriginGroupFailoverCriteriaProperty
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupMemberProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.CloudFront.Distribution.OriginGroupMemberProperty (+        OriginGroupMemberProperty(..), mkOriginGroupMemberProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OriginGroupMemberProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmember.html>+    OriginGroupMemberProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmember.html#cfn-cloudfront-distribution-origingroupmember-originid>+                               originId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginGroupMemberProperty ::+  Value Prelude.Text -> OriginGroupMemberProperty+mkOriginGroupMemberProperty originId+  = OriginGroupMemberProperty+      {haddock_workaround_ = (), originId = originId}+instance ToResourceProperties OriginGroupMemberProperty where+  toResourceProperties OriginGroupMemberProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.OriginGroupMember",+         supportsTags = Prelude.False,+         properties = ["OriginId" JSON..= originId]}+instance JSON.ToJSON OriginGroupMemberProperty where+  toJSON OriginGroupMemberProperty {..}+    = JSON.object ["OriginId" JSON..= originId]+instance Property "OriginId" OriginGroupMemberProperty where+  type PropertyType "OriginId" OriginGroupMemberProperty = Value Prelude.Text+  set newValue OriginGroupMemberProperty {..}+    = OriginGroupMemberProperty {originId = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupMemberProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.OriginGroupMemberProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginGroupMemberProperty :: Prelude.Type+instance ToResourceProperties OriginGroupMemberProperty+instance Prelude.Eq OriginGroupMemberProperty+instance Prelude.Show OriginGroupMemberProperty+instance JSON.ToJSON OriginGroupMemberProperty
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupMembersProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.CloudFront.Distribution.OriginGroupMembersProperty (+        module Exports, OriginGroupMembersProperty(..),+        mkOriginGroupMembersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginGroupMemberProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OriginGroupMembersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html>+    OriginGroupMembersProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html#cfn-cloudfront-distribution-origingroupmembers-items>+                                items :: [OriginGroupMemberProperty],+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroupmembers.html#cfn-cloudfront-distribution-origingroupmembers-quantity>+                                quantity :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginGroupMembersProperty ::+  [OriginGroupMemberProperty]+  -> Value Prelude.Integer -> OriginGroupMembersProperty+mkOriginGroupMembersProperty items quantity+  = OriginGroupMembersProperty+      {haddock_workaround_ = (), items = items, quantity = quantity}+instance ToResourceProperties OriginGroupMembersProperty where+  toResourceProperties OriginGroupMembersProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.OriginGroupMembers",+         supportsTags = Prelude.False,+         properties = ["Items" JSON..= items, "Quantity" JSON..= quantity]}+instance JSON.ToJSON OriginGroupMembersProperty where+  toJSON OriginGroupMembersProperty {..}+    = JSON.object ["Items" JSON..= items, "Quantity" JSON..= quantity]+instance Property "Items" OriginGroupMembersProperty where+  type PropertyType "Items" OriginGroupMembersProperty = [OriginGroupMemberProperty]+  set newValue OriginGroupMembersProperty {..}+    = OriginGroupMembersProperty {items = newValue, ..}+instance Property "Quantity" OriginGroupMembersProperty where+  type PropertyType "Quantity" OriginGroupMembersProperty = Value Prelude.Integer+  set newValue OriginGroupMembersProperty {..}+    = OriginGroupMembersProperty {quantity = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupMembersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.OriginGroupMembersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginGroupMembersProperty :: Prelude.Type+instance ToResourceProperties OriginGroupMembersProperty+instance Prelude.Eq OriginGroupMembersProperty+instance Prelude.Show OriginGroupMembersProperty+instance JSON.ToJSON OriginGroupMembersProperty
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupProperty.hs view
@@ -0,0 +1,67 @@+module Stratosphere.CloudFront.Distribution.OriginGroupProperty (+        module Exports, OriginGroupProperty(..), mkOriginGroupProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginGroupFailoverCriteriaProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginGroupMembersProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OriginGroupProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html>+    OriginGroupProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-failovercriteria>+                         failoverCriteria :: OriginGroupFailoverCriteriaProperty,+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-id>+                         id :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-members>+                         members :: OriginGroupMembersProperty,+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroup.html#cfn-cloudfront-distribution-origingroup-selectioncriteria>+                         selectionCriteria :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginGroupProperty ::+  OriginGroupFailoverCriteriaProperty+  -> Value Prelude.Text+     -> OriginGroupMembersProperty -> OriginGroupProperty+mkOriginGroupProperty failoverCriteria id members+  = OriginGroupProperty+      {haddock_workaround_ = (), failoverCriteria = failoverCriteria,+       id = id, members = members, selectionCriteria = Prelude.Nothing}+instance ToResourceProperties OriginGroupProperty where+  toResourceProperties OriginGroupProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.OriginGroup",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["FailoverCriteria" JSON..= failoverCriteria, "Id" JSON..= id,+                            "Members" JSON..= members]+                           (Prelude.catMaybes+                              [(JSON..=) "SelectionCriteria" Prelude.<$> selectionCriteria]))}+instance JSON.ToJSON OriginGroupProperty where+  toJSON OriginGroupProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["FailoverCriteria" JSON..= failoverCriteria, "Id" JSON..= id,+               "Members" JSON..= members]+              (Prelude.catMaybes+                 [(JSON..=) "SelectionCriteria" Prelude.<$> selectionCriteria])))+instance Property "FailoverCriteria" OriginGroupProperty where+  type PropertyType "FailoverCriteria" OriginGroupProperty = OriginGroupFailoverCriteriaProperty+  set newValue OriginGroupProperty {..}+    = OriginGroupProperty {failoverCriteria = newValue, ..}+instance Property "Id" OriginGroupProperty where+  type PropertyType "Id" OriginGroupProperty = Value Prelude.Text+  set newValue OriginGroupProperty {..}+    = OriginGroupProperty {id = newValue, ..}+instance Property "Members" OriginGroupProperty where+  type PropertyType "Members" OriginGroupProperty = OriginGroupMembersProperty+  set newValue OriginGroupProperty {..}+    = OriginGroupProperty {members = newValue, ..}+instance Property "SelectionCriteria" OriginGroupProperty where+  type PropertyType "SelectionCriteria" OriginGroupProperty = Value Prelude.Text+  set newValue OriginGroupProperty {..}+    = OriginGroupProperty+        {selectionCriteria = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.OriginGroupProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginGroupProperty :: Prelude.Type+instance ToResourceProperties OriginGroupProperty+instance Prelude.Eq OriginGroupProperty+instance Prelude.Show OriginGroupProperty+instance JSON.ToJSON OriginGroupProperty
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupsProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.CloudFront.Distribution.OriginGroupsProperty (+        module Exports, OriginGroupsProperty(..), mkOriginGroupsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginGroupProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OriginGroupsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html>+    OriginGroupsProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html#cfn-cloudfront-distribution-origingroups-items>+                          items :: (Prelude.Maybe [OriginGroupProperty]),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origingroups.html#cfn-cloudfront-distribution-origingroups-quantity>+                          quantity :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginGroupsProperty ::+  Value Prelude.Integer -> OriginGroupsProperty+mkOriginGroupsProperty quantity+  = OriginGroupsProperty+      {haddock_workaround_ = (), quantity = quantity,+       items = Prelude.Nothing}+instance ToResourceProperties OriginGroupsProperty where+  toResourceProperties OriginGroupsProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.OriginGroups",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Quantity" JSON..= quantity]+                           (Prelude.catMaybes [(JSON..=) "Items" Prelude.<$> items]))}+instance JSON.ToJSON OriginGroupsProperty where+  toJSON OriginGroupsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Quantity" JSON..= quantity]+              (Prelude.catMaybes [(JSON..=) "Items" Prelude.<$> items])))+instance Property "Items" OriginGroupsProperty where+  type PropertyType "Items" OriginGroupsProperty = [OriginGroupProperty]+  set newValue OriginGroupsProperty {..}+    = OriginGroupsProperty {items = Prelude.pure newValue, ..}+instance Property "Quantity" OriginGroupsProperty where+  type PropertyType "Quantity" OriginGroupsProperty = Value Prelude.Integer+  set newValue OriginGroupsProperty {..}+    = OriginGroupsProperty {quantity = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/OriginGroupsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.OriginGroupsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginGroupsProperty :: Prelude.Type+instance ToResourceProperties OriginGroupsProperty+instance Prelude.Eq OriginGroupsProperty+instance Prelude.Show OriginGroupsProperty+instance JSON.ToJSON OriginGroupsProperty
+ gen/Stratosphere/CloudFront/Distribution/OriginProperty.hs view
@@ -0,0 +1,145 @@+module Stratosphere.CloudFront.Distribution.OriginProperty (+        module Exports, OriginProperty(..), mkOriginProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.CustomOriginConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginCustomHeaderProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.OriginShieldProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.S3OriginConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.VpcOriginConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OriginProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html>+    OriginProperty {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectionattempts>+                    connectionAttempts :: (Prelude.Maybe (Value Prelude.Integer)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-connectiontimeout>+                    connectionTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-customoriginconfig>+                    customOriginConfig :: (Prelude.Maybe CustomOriginConfigProperty),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-domainname>+                    domainName :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-id>+                    id :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originaccesscontrolid>+                    originAccessControlId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-origincustomheaders>+                    originCustomHeaders :: (Prelude.Maybe [OriginCustomHeaderProperty]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originpath>+                    originPath :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-originshield>+                    originShield :: (Prelude.Maybe OriginShieldProperty),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-responsecompletiontimeout>+                    responseCompletionTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-s3originconfig>+                    s3OriginConfig :: (Prelude.Maybe S3OriginConfigProperty),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-origin.html#cfn-cloudfront-distribution-origin-vpcoriginconfig>+                    vpcOriginConfig :: (Prelude.Maybe VpcOriginConfigProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginProperty ::+  Value Prelude.Text -> Value Prelude.Text -> OriginProperty+mkOriginProperty domainName id+  = OriginProperty+      {haddock_workaround_ = (), domainName = domainName, id = id,+       connectionAttempts = Prelude.Nothing,+       connectionTimeout = Prelude.Nothing,+       customOriginConfig = Prelude.Nothing,+       originAccessControlId = Prelude.Nothing,+       originCustomHeaders = Prelude.Nothing,+       originPath = Prelude.Nothing, originShield = Prelude.Nothing,+       responseCompletionTimeout = Prelude.Nothing,+       s3OriginConfig = Prelude.Nothing,+       vpcOriginConfig = Prelude.Nothing}+instance ToResourceProperties OriginProperty where+  toResourceProperties OriginProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.Origin",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DomainName" JSON..= domainName, "Id" JSON..= id]+                           (Prelude.catMaybes+                              [(JSON..=) "ConnectionAttempts" Prelude.<$> connectionAttempts,+                               (JSON..=) "ConnectionTimeout" Prelude.<$> connectionTimeout,+                               (JSON..=) "CustomOriginConfig" Prelude.<$> customOriginConfig,+                               (JSON..=) "OriginAccessControlId"+                                 Prelude.<$> originAccessControlId,+                               (JSON..=) "OriginCustomHeaders" Prelude.<$> originCustomHeaders,+                               (JSON..=) "OriginPath" Prelude.<$> originPath,+                               (JSON..=) "OriginShield" Prelude.<$> originShield,+                               (JSON..=) "ResponseCompletionTimeout"+                                 Prelude.<$> responseCompletionTimeout,+                               (JSON..=) "S3OriginConfig" Prelude.<$> s3OriginConfig,+                               (JSON..=) "VpcOriginConfig" Prelude.<$> vpcOriginConfig]))}+instance JSON.ToJSON OriginProperty where+  toJSON OriginProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DomainName" JSON..= domainName, "Id" JSON..= id]+              (Prelude.catMaybes+                 [(JSON..=) "ConnectionAttempts" Prelude.<$> connectionAttempts,+                  (JSON..=) "ConnectionTimeout" Prelude.<$> connectionTimeout,+                  (JSON..=) "CustomOriginConfig" Prelude.<$> customOriginConfig,+                  (JSON..=) "OriginAccessControlId"+                    Prelude.<$> originAccessControlId,+                  (JSON..=) "OriginCustomHeaders" Prelude.<$> originCustomHeaders,+                  (JSON..=) "OriginPath" Prelude.<$> originPath,+                  (JSON..=) "OriginShield" Prelude.<$> originShield,+                  (JSON..=) "ResponseCompletionTimeout"+                    Prelude.<$> responseCompletionTimeout,+                  (JSON..=) "S3OriginConfig" Prelude.<$> s3OriginConfig,+                  (JSON..=) "VpcOriginConfig" Prelude.<$> vpcOriginConfig])))+instance Property "ConnectionAttempts" OriginProperty where+  type PropertyType "ConnectionAttempts" OriginProperty = Value Prelude.Integer+  set newValue OriginProperty {..}+    = OriginProperty {connectionAttempts = Prelude.pure newValue, ..}+instance Property "ConnectionTimeout" OriginProperty where+  type PropertyType "ConnectionTimeout" OriginProperty = Value Prelude.Integer+  set newValue OriginProperty {..}+    = OriginProperty {connectionTimeout = Prelude.pure newValue, ..}+instance Property "CustomOriginConfig" OriginProperty where+  type PropertyType "CustomOriginConfig" OriginProperty = CustomOriginConfigProperty+  set newValue OriginProperty {..}+    = OriginProperty {customOriginConfig = Prelude.pure newValue, ..}+instance Property "DomainName" OriginProperty where+  type PropertyType "DomainName" OriginProperty = Value Prelude.Text+  set newValue OriginProperty {..}+    = OriginProperty {domainName = newValue, ..}+instance Property "Id" OriginProperty where+  type PropertyType "Id" OriginProperty = Value Prelude.Text+  set newValue OriginProperty {..}+    = OriginProperty {id = newValue, ..}+instance Property "OriginAccessControlId" OriginProperty where+  type PropertyType "OriginAccessControlId" OriginProperty = Value Prelude.Text+  set newValue OriginProperty {..}+    = OriginProperty+        {originAccessControlId = Prelude.pure newValue, ..}+instance Property "OriginCustomHeaders" OriginProperty where+  type PropertyType "OriginCustomHeaders" OriginProperty = [OriginCustomHeaderProperty]+  set newValue OriginProperty {..}+    = OriginProperty {originCustomHeaders = Prelude.pure newValue, ..}+instance Property "OriginPath" OriginProperty where+  type PropertyType "OriginPath" OriginProperty = Value Prelude.Text+  set newValue OriginProperty {..}+    = OriginProperty {originPath = Prelude.pure newValue, ..}+instance Property "OriginShield" OriginProperty where+  type PropertyType "OriginShield" OriginProperty = OriginShieldProperty+  set newValue OriginProperty {..}+    = OriginProperty {originShield = Prelude.pure newValue, ..}+instance Property "ResponseCompletionTimeout" OriginProperty where+  type PropertyType "ResponseCompletionTimeout" OriginProperty = Value Prelude.Integer+  set newValue OriginProperty {..}+    = OriginProperty+        {responseCompletionTimeout = Prelude.pure newValue, ..}+instance Property "S3OriginConfig" OriginProperty where+  type PropertyType "S3OriginConfig" OriginProperty = S3OriginConfigProperty+  set newValue OriginProperty {..}+    = OriginProperty {s3OriginConfig = Prelude.pure newValue, ..}+instance Property "VpcOriginConfig" OriginProperty where+  type PropertyType "VpcOriginConfig" OriginProperty = VpcOriginConfigProperty+  set newValue OriginProperty {..}+    = OriginProperty {vpcOriginConfig = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/OriginProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.OriginProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginProperty :: Prelude.Type+instance ToResourceProperties OriginProperty+instance Prelude.Eq OriginProperty+instance Prelude.Show OriginProperty+instance JSON.ToJSON OriginProperty
+ gen/Stratosphere/CloudFront/Distribution/OriginShieldProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.CloudFront.Distribution.OriginShieldProperty (+        OriginShieldProperty(..), mkOriginShieldProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OriginShieldProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html>+    OriginShieldProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html#cfn-cloudfront-distribution-originshield-enabled>+                          enabled :: (Prelude.Maybe (Value Prelude.Bool)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-originshield.html#cfn-cloudfront-distribution-originshield-originshieldregion>+                          originShieldRegion :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginShieldProperty :: OriginShieldProperty+mkOriginShieldProperty+  = OriginShieldProperty+      {haddock_workaround_ = (), enabled = Prelude.Nothing,+       originShieldRegion = Prelude.Nothing}+instance ToResourceProperties OriginShieldProperty where+  toResourceProperties OriginShieldProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.OriginShield",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Enabled" Prelude.<$> enabled,+                            (JSON..=) "OriginShieldRegion" Prelude.<$> originShieldRegion])}+instance JSON.ToJSON OriginShieldProperty where+  toJSON OriginShieldProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Enabled" Prelude.<$> enabled,+               (JSON..=) "OriginShieldRegion" Prelude.<$> originShieldRegion]))+instance Property "Enabled" OriginShieldProperty where+  type PropertyType "Enabled" OriginShieldProperty = Value Prelude.Bool+  set newValue OriginShieldProperty {..}+    = OriginShieldProperty {enabled = Prelude.pure newValue, ..}+instance Property "OriginShieldRegion" OriginShieldProperty where+  type PropertyType "OriginShieldRegion" OriginShieldProperty = Value Prelude.Text+  set newValue OriginShieldProperty {..}+    = OriginShieldProperty+        {originShieldRegion = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/OriginShieldProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.OriginShieldProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginShieldProperty :: Prelude.Type+instance ToResourceProperties OriginShieldProperty+instance Prelude.Eq OriginShieldProperty+instance Prelude.Show OriginShieldProperty+instance JSON.ToJSON OriginShieldProperty
+ gen/Stratosphere/CloudFront/Distribution/ParameterDefinitionProperty.hs view
@@ -0,0 +1,43 @@+module Stratosphere.CloudFront.Distribution.ParameterDefinitionProperty (+        module Exports, ParameterDefinitionProperty(..),+        mkParameterDefinitionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.DefinitionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ParameterDefinitionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-parameterdefinition.html>+    ParameterDefinitionProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-parameterdefinition.html#cfn-cloudfront-distribution-parameterdefinition-definition>+                                 definition :: DefinitionProperty,+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-parameterdefinition.html#cfn-cloudfront-distribution-parameterdefinition-name>+                                 name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkParameterDefinitionProperty ::+  DefinitionProperty+  -> Value Prelude.Text -> ParameterDefinitionProperty+mkParameterDefinitionProperty definition name+  = ParameterDefinitionProperty+      {haddock_workaround_ = (), definition = definition, name = name}+instance ToResourceProperties ParameterDefinitionProperty where+  toResourceProperties ParameterDefinitionProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.ParameterDefinition",+         supportsTags = Prelude.False,+         properties = ["Definition" JSON..= definition,+                       "Name" JSON..= name]}+instance JSON.ToJSON ParameterDefinitionProperty where+  toJSON ParameterDefinitionProperty {..}+    = JSON.object+        ["Definition" JSON..= definition, "Name" JSON..= name]+instance Property "Definition" ParameterDefinitionProperty where+  type PropertyType "Definition" ParameterDefinitionProperty = DefinitionProperty+  set newValue ParameterDefinitionProperty {..}+    = ParameterDefinitionProperty {definition = newValue, ..}+instance Property "Name" ParameterDefinitionProperty where+  type PropertyType "Name" ParameterDefinitionProperty = Value Prelude.Text+  set newValue ParameterDefinitionProperty {..}+    = ParameterDefinitionProperty {name = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/ParameterDefinitionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.ParameterDefinitionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ParameterDefinitionProperty :: Prelude.Type+instance ToResourceProperties ParameterDefinitionProperty+instance Prelude.Eq ParameterDefinitionProperty+instance Prelude.Show ParameterDefinitionProperty+instance JSON.ToJSON ParameterDefinitionProperty
+ gen/Stratosphere/CloudFront/Distribution/RestrictionsProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.CloudFront.Distribution.RestrictionsProperty (+        module Exports, RestrictionsProperty(..), mkRestrictionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.GeoRestrictionProperty as Exports+import Stratosphere.ResourceProperties+data RestrictionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-restrictions.html>+    RestrictionsProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-restrictions.html#cfn-cloudfront-distribution-restrictions-georestriction>+                          geoRestriction :: GeoRestrictionProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRestrictionsProperty ::+  GeoRestrictionProperty -> RestrictionsProperty+mkRestrictionsProperty geoRestriction+  = RestrictionsProperty+      {haddock_workaround_ = (), geoRestriction = geoRestriction}+instance ToResourceProperties RestrictionsProperty where+  toResourceProperties RestrictionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.Restrictions",+         supportsTags = Prelude.False,+         properties = ["GeoRestriction" JSON..= geoRestriction]}+instance JSON.ToJSON RestrictionsProperty where+  toJSON RestrictionsProperty {..}+    = JSON.object ["GeoRestriction" JSON..= geoRestriction]+instance Property "GeoRestriction" RestrictionsProperty where+  type PropertyType "GeoRestriction" RestrictionsProperty = GeoRestrictionProperty+  set newValue RestrictionsProperty {..}+    = RestrictionsProperty {geoRestriction = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/RestrictionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.RestrictionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RestrictionsProperty :: Prelude.Type+instance ToResourceProperties RestrictionsProperty+instance Prelude.Eq RestrictionsProperty+instance Prelude.Show RestrictionsProperty+instance JSON.ToJSON RestrictionsProperty
+ gen/Stratosphere/CloudFront/Distribution/S3OriginConfigProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.CloudFront.Distribution.S3OriginConfigProperty (+        S3OriginConfigProperty(..), mkS3OriginConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data S3OriginConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html>+    S3OriginConfigProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html#cfn-cloudfront-distribution-s3originconfig-originaccessidentity>+                            originAccessIdentity :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-s3originconfig.html#cfn-cloudfront-distribution-s3originconfig-originreadtimeout>+                            originReadTimeout :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkS3OriginConfigProperty :: S3OriginConfigProperty+mkS3OriginConfigProperty+  = S3OriginConfigProperty+      {haddock_workaround_ = (), originAccessIdentity = Prelude.Nothing,+       originReadTimeout = Prelude.Nothing}+instance ToResourceProperties S3OriginConfigProperty where+  toResourceProperties S3OriginConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.S3OriginConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "OriginAccessIdentity" Prelude.<$> originAccessIdentity,+                            (JSON..=) "OriginReadTimeout" Prelude.<$> originReadTimeout])}+instance JSON.ToJSON S3OriginConfigProperty where+  toJSON S3OriginConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "OriginAccessIdentity" Prelude.<$> originAccessIdentity,+               (JSON..=) "OriginReadTimeout" Prelude.<$> originReadTimeout]))+instance Property "OriginAccessIdentity" S3OriginConfigProperty where+  type PropertyType "OriginAccessIdentity" S3OriginConfigProperty = Value Prelude.Text+  set newValue S3OriginConfigProperty {..}+    = S3OriginConfigProperty+        {originAccessIdentity = Prelude.pure newValue, ..}+instance Property "OriginReadTimeout" S3OriginConfigProperty where+  type PropertyType "OriginReadTimeout" S3OriginConfigProperty = Value Prelude.Integer+  set newValue S3OriginConfigProperty {..}+    = S3OriginConfigProperty+        {originReadTimeout = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/S3OriginConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.S3OriginConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data S3OriginConfigProperty :: Prelude.Type+instance ToResourceProperties S3OriginConfigProperty+instance Prelude.Eq S3OriginConfigProperty+instance Prelude.Show S3OriginConfigProperty+instance JSON.ToJSON S3OriginConfigProperty
+ gen/Stratosphere/CloudFront/Distribution/StatusCodesProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.CloudFront.Distribution.StatusCodesProperty (+        StatusCodesProperty(..), mkStatusCodesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StatusCodesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html>+    StatusCodesProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html#cfn-cloudfront-distribution-statuscodes-items>+                         items :: (ValueList Prelude.Integer),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-statuscodes.html#cfn-cloudfront-distribution-statuscodes-quantity>+                         quantity :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStatusCodesProperty ::+  ValueList Prelude.Integer+  -> Value Prelude.Integer -> StatusCodesProperty+mkStatusCodesProperty items quantity+  = StatusCodesProperty+      {haddock_workaround_ = (), items = items, quantity = quantity}+instance ToResourceProperties StatusCodesProperty where+  toResourceProperties StatusCodesProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.StatusCodes",+         supportsTags = Prelude.False,+         properties = ["Items" JSON..= items, "Quantity" JSON..= quantity]}+instance JSON.ToJSON StatusCodesProperty where+  toJSON StatusCodesProperty {..}+    = JSON.object ["Items" JSON..= items, "Quantity" JSON..= quantity]+instance Property "Items" StatusCodesProperty where+  type PropertyType "Items" StatusCodesProperty = ValueList Prelude.Integer+  set newValue StatusCodesProperty {..}+    = StatusCodesProperty {items = newValue, ..}+instance Property "Quantity" StatusCodesProperty where+  type PropertyType "Quantity" StatusCodesProperty = Value Prelude.Integer+  set newValue StatusCodesProperty {..}+    = StatusCodesProperty {quantity = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/StatusCodesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.StatusCodesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StatusCodesProperty :: Prelude.Type+instance ToResourceProperties StatusCodesProperty+instance Prelude.Eq StatusCodesProperty+instance Prelude.Show StatusCodesProperty+instance JSON.ToJSON StatusCodesProperty
+ gen/Stratosphere/CloudFront/Distribution/StringSchemaProperty.hs view
@@ -0,0 +1,56 @@+module Stratosphere.CloudFront.Distribution.StringSchemaProperty (+        StringSchemaProperty(..), mkStringSchemaProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StringSchemaProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-stringschema.html>+    StringSchemaProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-stringschema.html#cfn-cloudfront-distribution-stringschema-comment>+                          comment :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-stringschema.html#cfn-cloudfront-distribution-stringschema-defaultvalue>+                          defaultValue :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-stringschema.html#cfn-cloudfront-distribution-stringschema-required>+                          required :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStringSchemaProperty ::+  Value Prelude.Bool -> StringSchemaProperty+mkStringSchemaProperty required+  = StringSchemaProperty+      {haddock_workaround_ = (), required = required,+       comment = Prelude.Nothing, defaultValue = Prelude.Nothing}+instance ToResourceProperties StringSchemaProperty where+  toResourceProperties StringSchemaProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.StringSchema",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Required" JSON..= required]+                           (Prelude.catMaybes+                              [(JSON..=) "Comment" Prelude.<$> comment,+                               (JSON..=) "DefaultValue" Prelude.<$> defaultValue]))}+instance JSON.ToJSON StringSchemaProperty where+  toJSON StringSchemaProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Required" JSON..= required]+              (Prelude.catMaybes+                 [(JSON..=) "Comment" Prelude.<$> comment,+                  (JSON..=) "DefaultValue" Prelude.<$> defaultValue])))+instance Property "Comment" StringSchemaProperty where+  type PropertyType "Comment" StringSchemaProperty = Value Prelude.Text+  set newValue StringSchemaProperty {..}+    = StringSchemaProperty {comment = Prelude.pure newValue, ..}+instance Property "DefaultValue" StringSchemaProperty where+  type PropertyType "DefaultValue" StringSchemaProperty = Value Prelude.Text+  set newValue StringSchemaProperty {..}+    = StringSchemaProperty {defaultValue = Prelude.pure newValue, ..}+instance Property "Required" StringSchemaProperty where+  type PropertyType "Required" StringSchemaProperty = Value Prelude.Bool+  set newValue StringSchemaProperty {..}+    = StringSchemaProperty {required = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/StringSchemaProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.StringSchemaProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StringSchemaProperty :: Prelude.Type+instance ToResourceProperties StringSchemaProperty+instance Prelude.Eq StringSchemaProperty+instance Prelude.Show StringSchemaProperty+instance JSON.ToJSON StringSchemaProperty
+ gen/Stratosphere/CloudFront/Distribution/TenantConfigProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.CloudFront.Distribution.TenantConfigProperty (+        module Exports, TenantConfigProperty(..), mkTenantConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Distribution.ParameterDefinitionProperty as Exports+import Stratosphere.ResourceProperties+data TenantConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-tenantconfig.html>+    TenantConfigProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-tenantconfig.html#cfn-cloudfront-distribution-tenantconfig-parameterdefinitions>+                          parameterDefinitions :: (Prelude.Maybe [ParameterDefinitionProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTenantConfigProperty :: TenantConfigProperty+mkTenantConfigProperty+  = TenantConfigProperty+      {haddock_workaround_ = (), parameterDefinitions = Prelude.Nothing}+instance ToResourceProperties TenantConfigProperty where+  toResourceProperties TenantConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.TenantConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ParameterDefinitions"+                              Prelude.<$> parameterDefinitions])}+instance JSON.ToJSON TenantConfigProperty where+  toJSON TenantConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ParameterDefinitions"+                 Prelude.<$> parameterDefinitions]))+instance Property "ParameterDefinitions" TenantConfigProperty where+  type PropertyType "ParameterDefinitions" TenantConfigProperty = [ParameterDefinitionProperty]+  set newValue TenantConfigProperty {..}+    = TenantConfigProperty+        {parameterDefinitions = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/TenantConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.TenantConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TenantConfigProperty :: Prelude.Type+instance ToResourceProperties TenantConfigProperty+instance Prelude.Eq TenantConfigProperty+instance Prelude.Show TenantConfigProperty+instance JSON.ToJSON TenantConfigProperty
+ gen/Stratosphere/CloudFront/Distribution/ViewerCertificateProperty.hs view
@@ -0,0 +1,81 @@+module Stratosphere.CloudFront.Distribution.ViewerCertificateProperty (+        ViewerCertificateProperty(..), mkViewerCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ViewerCertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html>+    ViewerCertificateProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-acmcertificatearn>+                               acmCertificateArn :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-cloudfrontdefaultcertificate>+                               cloudFrontDefaultCertificate :: (Prelude.Maybe (Value Prelude.Bool)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-iamcertificateid>+                               iamCertificateId :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-minimumprotocolversion>+                               minimumProtocolVersion :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-viewercertificate.html#cfn-cloudfront-distribution-viewercertificate-sslsupportmethod>+                               sslSupportMethod :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkViewerCertificateProperty :: ViewerCertificateProperty+mkViewerCertificateProperty+  = ViewerCertificateProperty+      {haddock_workaround_ = (), acmCertificateArn = Prelude.Nothing,+       cloudFrontDefaultCertificate = Prelude.Nothing,+       iamCertificateId = Prelude.Nothing,+       minimumProtocolVersion = Prelude.Nothing,+       sslSupportMethod = Prelude.Nothing}+instance ToResourceProperties ViewerCertificateProperty where+  toResourceProperties ViewerCertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.ViewerCertificate",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AcmCertificateArn" Prelude.<$> acmCertificateArn,+                            (JSON..=) "CloudFrontDefaultCertificate"+                              Prelude.<$> cloudFrontDefaultCertificate,+                            (JSON..=) "IamCertificateId" Prelude.<$> iamCertificateId,+                            (JSON..=) "MinimumProtocolVersion"+                              Prelude.<$> minimumProtocolVersion,+                            (JSON..=) "SslSupportMethod" Prelude.<$> sslSupportMethod])}+instance JSON.ToJSON ViewerCertificateProperty where+  toJSON ViewerCertificateProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AcmCertificateArn" Prelude.<$> acmCertificateArn,+               (JSON..=) "CloudFrontDefaultCertificate"+                 Prelude.<$> cloudFrontDefaultCertificate,+               (JSON..=) "IamCertificateId" Prelude.<$> iamCertificateId,+               (JSON..=) "MinimumProtocolVersion"+                 Prelude.<$> minimumProtocolVersion,+               (JSON..=) "SslSupportMethod" Prelude.<$> sslSupportMethod]))+instance Property "AcmCertificateArn" ViewerCertificateProperty where+  type PropertyType "AcmCertificateArn" ViewerCertificateProperty = Value Prelude.Text+  set newValue ViewerCertificateProperty {..}+    = ViewerCertificateProperty+        {acmCertificateArn = Prelude.pure newValue, ..}+instance Property "CloudFrontDefaultCertificate" ViewerCertificateProperty where+  type PropertyType "CloudFrontDefaultCertificate" ViewerCertificateProperty = Value Prelude.Bool+  set newValue ViewerCertificateProperty {..}+    = ViewerCertificateProperty+        {cloudFrontDefaultCertificate = Prelude.pure newValue, ..}+instance Property "IamCertificateId" ViewerCertificateProperty where+  type PropertyType "IamCertificateId" ViewerCertificateProperty = Value Prelude.Text+  set newValue ViewerCertificateProperty {..}+    = ViewerCertificateProperty+        {iamCertificateId = Prelude.pure newValue, ..}+instance Property "MinimumProtocolVersion" ViewerCertificateProperty where+  type PropertyType "MinimumProtocolVersion" ViewerCertificateProperty = Value Prelude.Text+  set newValue ViewerCertificateProperty {..}+    = ViewerCertificateProperty+        {minimumProtocolVersion = Prelude.pure newValue, ..}+instance Property "SslSupportMethod" ViewerCertificateProperty where+  type PropertyType "SslSupportMethod" ViewerCertificateProperty = Value Prelude.Text+  set newValue ViewerCertificateProperty {..}+    = ViewerCertificateProperty+        {sslSupportMethod = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/ViewerCertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.ViewerCertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ViewerCertificateProperty :: Prelude.Type+instance ToResourceProperties ViewerCertificateProperty+instance Prelude.Eq ViewerCertificateProperty+instance Prelude.Show ViewerCertificateProperty+instance JSON.ToJSON ViewerCertificateProperty
+ gen/Stratosphere/CloudFront/Distribution/VpcOriginConfigProperty.hs view
@@ -0,0 +1,71 @@+module Stratosphere.CloudFront.Distribution.VpcOriginConfigProperty (+        VpcOriginConfigProperty(..), mkVpcOriginConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VpcOriginConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-vpcoriginconfig.html>+    VpcOriginConfigProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-vpcoriginconfig.html#cfn-cloudfront-distribution-vpcoriginconfig-originkeepalivetimeout>+                             originKeepaliveTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-vpcoriginconfig.html#cfn-cloudfront-distribution-vpcoriginconfig-originreadtimeout>+                             originReadTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-vpcoriginconfig.html#cfn-cloudfront-distribution-vpcoriginconfig-owneraccountid>+                             ownerAccountId :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distribution-vpcoriginconfig.html#cfn-cloudfront-distribution-vpcoriginconfig-vpcoriginid>+                             vpcOriginId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVpcOriginConfigProperty ::+  Value Prelude.Text -> VpcOriginConfigProperty+mkVpcOriginConfigProperty vpcOriginId+  = VpcOriginConfigProperty+      {haddock_workaround_ = (), vpcOriginId = vpcOriginId,+       originKeepaliveTimeout = Prelude.Nothing,+       originReadTimeout = Prelude.Nothing,+       ownerAccountId = Prelude.Nothing}+instance ToResourceProperties VpcOriginConfigProperty where+  toResourceProperties VpcOriginConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Distribution.VpcOriginConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcOriginId" JSON..= vpcOriginId]+                           (Prelude.catMaybes+                              [(JSON..=) "OriginKeepaliveTimeout"+                                 Prelude.<$> originKeepaliveTimeout,+                               (JSON..=) "OriginReadTimeout" Prelude.<$> originReadTimeout,+                               (JSON..=) "OwnerAccountId" Prelude.<$> ownerAccountId]))}+instance JSON.ToJSON VpcOriginConfigProperty where+  toJSON VpcOriginConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcOriginId" JSON..= vpcOriginId]+              (Prelude.catMaybes+                 [(JSON..=) "OriginKeepaliveTimeout"+                    Prelude.<$> originKeepaliveTimeout,+                  (JSON..=) "OriginReadTimeout" Prelude.<$> originReadTimeout,+                  (JSON..=) "OwnerAccountId" Prelude.<$> ownerAccountId])))+instance Property "OriginKeepaliveTimeout" VpcOriginConfigProperty where+  type PropertyType "OriginKeepaliveTimeout" VpcOriginConfigProperty = Value Prelude.Integer+  set newValue VpcOriginConfigProperty {..}+    = VpcOriginConfigProperty+        {originKeepaliveTimeout = Prelude.pure newValue, ..}+instance Property "OriginReadTimeout" VpcOriginConfigProperty where+  type PropertyType "OriginReadTimeout" VpcOriginConfigProperty = Value Prelude.Integer+  set newValue VpcOriginConfigProperty {..}+    = VpcOriginConfigProperty+        {originReadTimeout = Prelude.pure newValue, ..}+instance Property "OwnerAccountId" VpcOriginConfigProperty where+  type PropertyType "OwnerAccountId" VpcOriginConfigProperty = Value Prelude.Text+  set newValue VpcOriginConfigProperty {..}+    = VpcOriginConfigProperty+        {ownerAccountId = Prelude.pure newValue, ..}+instance Property "VpcOriginId" VpcOriginConfigProperty where+  type PropertyType "VpcOriginId" VpcOriginConfigProperty = Value Prelude.Text+  set newValue VpcOriginConfigProperty {..}+    = VpcOriginConfigProperty {vpcOriginId = newValue, ..}
+ gen/Stratosphere/CloudFront/Distribution/VpcOriginConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Distribution.VpcOriginConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VpcOriginConfigProperty :: Prelude.Type+instance ToResourceProperties VpcOriginConfigProperty+instance Prelude.Eq VpcOriginConfigProperty+instance Prelude.Show VpcOriginConfigProperty+instance JSON.ToJSON VpcOriginConfigProperty
+ gen/Stratosphere/CloudFront/DistributionTenant.hs view
@@ -0,0 +1,116 @@+module Stratosphere.CloudFront.DistributionTenant (+        module Exports, DistributionTenant(..), mkDistributionTenant+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.DistributionTenant.CustomizationsProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.DistributionTenant.ManagedCertificateRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.DistributionTenant.ParameterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data DistributionTenant+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html>+    DistributionTenant {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html#cfn-cloudfront-distributiontenant-connectiongroupid>+                        connectionGroupId :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html#cfn-cloudfront-distributiontenant-customizations>+                        customizations :: (Prelude.Maybe CustomizationsProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html#cfn-cloudfront-distributiontenant-distributionid>+                        distributionId :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html#cfn-cloudfront-distributiontenant-domains>+                        domains :: (ValueList Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html#cfn-cloudfront-distributiontenant-enabled>+                        enabled :: (Prelude.Maybe (Value Prelude.Bool)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html#cfn-cloudfront-distributiontenant-managedcertificaterequest>+                        managedCertificateRequest :: (Prelude.Maybe ManagedCertificateRequestProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html#cfn-cloudfront-distributiontenant-name>+                        name :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html#cfn-cloudfront-distributiontenant-parameters>+                        parameters :: (Prelude.Maybe [ParameterProperty]),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distributiontenant.html#cfn-cloudfront-distributiontenant-tags>+                        tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDistributionTenant ::+  Value Prelude.Text+  -> ValueList Prelude.Text+     -> Value Prelude.Text -> DistributionTenant+mkDistributionTenant distributionId domains name+  = DistributionTenant+      {haddock_workaround_ = (), distributionId = distributionId,+       domains = domains, name = name,+       connectionGroupId = Prelude.Nothing,+       customizations = Prelude.Nothing, enabled = Prelude.Nothing,+       managedCertificateRequest = Prelude.Nothing,+       parameters = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties DistributionTenant where+  toResourceProperties DistributionTenant {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::DistributionTenant",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DistributionId" JSON..= distributionId,+                            "Domains" JSON..= domains, "Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "ConnectionGroupId" Prelude.<$> connectionGroupId,+                               (JSON..=) "Customizations" Prelude.<$> customizations,+                               (JSON..=) "Enabled" Prelude.<$> enabled,+                               (JSON..=) "ManagedCertificateRequest"+                                 Prelude.<$> managedCertificateRequest,+                               (JSON..=) "Parameters" Prelude.<$> parameters,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON DistributionTenant where+  toJSON DistributionTenant {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DistributionId" JSON..= distributionId,+               "Domains" JSON..= domains, "Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "ConnectionGroupId" Prelude.<$> connectionGroupId,+                  (JSON..=) "Customizations" Prelude.<$> customizations,+                  (JSON..=) "Enabled" Prelude.<$> enabled,+                  (JSON..=) "ManagedCertificateRequest"+                    Prelude.<$> managedCertificateRequest,+                  (JSON..=) "Parameters" Prelude.<$> parameters,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ConnectionGroupId" DistributionTenant where+  type PropertyType "ConnectionGroupId" DistributionTenant = Value Prelude.Text+  set newValue DistributionTenant {..}+    = DistributionTenant+        {connectionGroupId = Prelude.pure newValue, ..}+instance Property "Customizations" DistributionTenant where+  type PropertyType "Customizations" DistributionTenant = CustomizationsProperty+  set newValue DistributionTenant {..}+    = DistributionTenant {customizations = Prelude.pure newValue, ..}+instance Property "DistributionId" DistributionTenant where+  type PropertyType "DistributionId" DistributionTenant = Value Prelude.Text+  set newValue DistributionTenant {..}+    = DistributionTenant {distributionId = newValue, ..}+instance Property "Domains" DistributionTenant where+  type PropertyType "Domains" DistributionTenant = ValueList Prelude.Text+  set newValue DistributionTenant {..}+    = DistributionTenant {domains = newValue, ..}+instance Property "Enabled" DistributionTenant where+  type PropertyType "Enabled" DistributionTenant = Value Prelude.Bool+  set newValue DistributionTenant {..}+    = DistributionTenant {enabled = Prelude.pure newValue, ..}+instance Property "ManagedCertificateRequest" DistributionTenant where+  type PropertyType "ManagedCertificateRequest" DistributionTenant = ManagedCertificateRequestProperty+  set newValue DistributionTenant {..}+    = DistributionTenant+        {managedCertificateRequest = Prelude.pure newValue, ..}+instance Property "Name" DistributionTenant where+  type PropertyType "Name" DistributionTenant = Value Prelude.Text+  set newValue DistributionTenant {..}+    = DistributionTenant {name = newValue, ..}+instance Property "Parameters" DistributionTenant where+  type PropertyType "Parameters" DistributionTenant = [ParameterProperty]+  set newValue DistributionTenant {..}+    = DistributionTenant {parameters = Prelude.pure newValue, ..}+instance Property "Tags" DistributionTenant where+  type PropertyType "Tags" DistributionTenant = [Tag]+  set newValue DistributionTenant {..}+    = DistributionTenant {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/DistributionTenant/CertificateProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.CloudFront.DistributionTenant.CertificateProperty (+        CertificateProperty(..), mkCertificateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CertificateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-certificate.html>+    CertificateProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-certificate.html#cfn-cloudfront-distributiontenant-certificate-arn>+                         arn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCertificateProperty :: CertificateProperty+mkCertificateProperty+  = CertificateProperty+      {haddock_workaround_ = (), arn = Prelude.Nothing}+instance ToResourceProperties CertificateProperty where+  toResourceProperties CertificateProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::DistributionTenant.Certificate",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Arn" Prelude.<$> arn])}+instance JSON.ToJSON CertificateProperty where+  toJSON CertificateProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Arn" Prelude.<$> arn]))+instance Property "Arn" CertificateProperty where+  type PropertyType "Arn" CertificateProperty = Value Prelude.Text+  set newValue CertificateProperty {..}+    = CertificateProperty {arn = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/DistributionTenant/CertificateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.DistributionTenant.CertificateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CertificateProperty :: Prelude.Type+instance ToResourceProperties CertificateProperty+instance Prelude.Eq CertificateProperty+instance Prelude.Show CertificateProperty+instance JSON.ToJSON CertificateProperty
+ gen/Stratosphere/CloudFront/DistributionTenant/CustomizationsProperty.hs view
@@ -0,0 +1,57 @@+module Stratosphere.CloudFront.DistributionTenant.CustomizationsProperty (+        module Exports, CustomizationsProperty(..),+        mkCustomizationsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.DistributionTenant.CertificateProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.DistributionTenant.GeoRestrictionCustomizationProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.DistributionTenant.WebAclCustomizationProperty as Exports+import Stratosphere.ResourceProperties+data CustomizationsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-customizations.html>+    CustomizationsProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-customizations.html#cfn-cloudfront-distributiontenant-customizations-certificate>+                            certificate :: (Prelude.Maybe CertificateProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-customizations.html#cfn-cloudfront-distributiontenant-customizations-georestrictions>+                            geoRestrictions :: (Prelude.Maybe GeoRestrictionCustomizationProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-customizations.html#cfn-cloudfront-distributiontenant-customizations-webacl>+                            webAcl :: (Prelude.Maybe WebAclCustomizationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomizationsProperty :: CustomizationsProperty+mkCustomizationsProperty+  = CustomizationsProperty+      {haddock_workaround_ = (), certificate = Prelude.Nothing,+       geoRestrictions = Prelude.Nothing, webAcl = Prelude.Nothing}+instance ToResourceProperties CustomizationsProperty where+  toResourceProperties CustomizationsProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::DistributionTenant.Customizations",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Certificate" Prelude.<$> certificate,+                            (JSON..=) "GeoRestrictions" Prelude.<$> geoRestrictions,+                            (JSON..=) "WebAcl" Prelude.<$> webAcl])}+instance JSON.ToJSON CustomizationsProperty where+  toJSON CustomizationsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Certificate" Prelude.<$> certificate,+               (JSON..=) "GeoRestrictions" Prelude.<$> geoRestrictions,+               (JSON..=) "WebAcl" Prelude.<$> webAcl]))+instance Property "Certificate" CustomizationsProperty where+  type PropertyType "Certificate" CustomizationsProperty = CertificateProperty+  set newValue CustomizationsProperty {..}+    = CustomizationsProperty {certificate = Prelude.pure newValue, ..}+instance Property "GeoRestrictions" CustomizationsProperty where+  type PropertyType "GeoRestrictions" CustomizationsProperty = GeoRestrictionCustomizationProperty+  set newValue CustomizationsProperty {..}+    = CustomizationsProperty+        {geoRestrictions = Prelude.pure newValue, ..}+instance Property "WebAcl" CustomizationsProperty where+  type PropertyType "WebAcl" CustomizationsProperty = WebAclCustomizationProperty+  set newValue CustomizationsProperty {..}+    = CustomizationsProperty {webAcl = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/DistributionTenant/CustomizationsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.DistributionTenant.CustomizationsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomizationsProperty :: Prelude.Type+instance ToResourceProperties CustomizationsProperty+instance Prelude.Eq CustomizationsProperty+instance Prelude.Show CustomizationsProperty+instance JSON.ToJSON CustomizationsProperty
+ gen/Stratosphere/CloudFront/DistributionTenant/DomainResultProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.CloudFront.DistributionTenant.DomainResultProperty (+        DomainResultProperty(..), mkDomainResultProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DomainResultProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-domainresult.html>+    DomainResultProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-domainresult.html#cfn-cloudfront-distributiontenant-domainresult-domain>+                          domain :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-domainresult.html#cfn-cloudfront-distributiontenant-domainresult-status>+                          status :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDomainResultProperty :: DomainResultProperty+mkDomainResultProperty+  = DomainResultProperty+      {haddock_workaround_ = (), domain = Prelude.Nothing,+       status = Prelude.Nothing}+instance ToResourceProperties DomainResultProperty where+  toResourceProperties DomainResultProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::DistributionTenant.DomainResult",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Domain" Prelude.<$> domain,+                            (JSON..=) "Status" Prelude.<$> status])}+instance JSON.ToJSON DomainResultProperty where+  toJSON DomainResultProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Domain" Prelude.<$> domain,+               (JSON..=) "Status" Prelude.<$> status]))+instance Property "Domain" DomainResultProperty where+  type PropertyType "Domain" DomainResultProperty = Value Prelude.Text+  set newValue DomainResultProperty {..}+    = DomainResultProperty {domain = Prelude.pure newValue, ..}+instance Property "Status" DomainResultProperty where+  type PropertyType "Status" DomainResultProperty = Value Prelude.Text+  set newValue DomainResultProperty {..}+    = DomainResultProperty {status = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/DistributionTenant/DomainResultProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.DistributionTenant.DomainResultProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DomainResultProperty :: Prelude.Type+instance ToResourceProperties DomainResultProperty+instance Prelude.Eq DomainResultProperty+instance Prelude.Show DomainResultProperty+instance JSON.ToJSON DomainResultProperty
+ gen/Stratosphere/CloudFront/DistributionTenant/GeoRestrictionCustomizationProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.CloudFront.DistributionTenant.GeoRestrictionCustomizationProperty (+        GeoRestrictionCustomizationProperty(..),+        mkGeoRestrictionCustomizationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GeoRestrictionCustomizationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-georestrictioncustomization.html>+    GeoRestrictionCustomizationProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-georestrictioncustomization.html#cfn-cloudfront-distributiontenant-georestrictioncustomization-locations>+                                         locations :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-georestrictioncustomization.html#cfn-cloudfront-distributiontenant-georestrictioncustomization-restrictiontype>+                                         restrictionType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGeoRestrictionCustomizationProperty ::+  GeoRestrictionCustomizationProperty+mkGeoRestrictionCustomizationProperty+  = GeoRestrictionCustomizationProperty+      {haddock_workaround_ = (), locations = Prelude.Nothing,+       restrictionType = Prelude.Nothing}+instance ToResourceProperties GeoRestrictionCustomizationProperty where+  toResourceProperties GeoRestrictionCustomizationProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::DistributionTenant.GeoRestrictionCustomization",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Locations" Prelude.<$> locations,+                            (JSON..=) "RestrictionType" Prelude.<$> restrictionType])}+instance JSON.ToJSON GeoRestrictionCustomizationProperty where+  toJSON GeoRestrictionCustomizationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Locations" Prelude.<$> locations,+               (JSON..=) "RestrictionType" Prelude.<$> restrictionType]))+instance Property "Locations" GeoRestrictionCustomizationProperty where+  type PropertyType "Locations" GeoRestrictionCustomizationProperty = ValueList Prelude.Text+  set newValue GeoRestrictionCustomizationProperty {..}+    = GeoRestrictionCustomizationProperty+        {locations = Prelude.pure newValue, ..}+instance Property "RestrictionType" GeoRestrictionCustomizationProperty where+  type PropertyType "RestrictionType" GeoRestrictionCustomizationProperty = Value Prelude.Text+  set newValue GeoRestrictionCustomizationProperty {..}+    = GeoRestrictionCustomizationProperty+        {restrictionType = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/DistributionTenant/GeoRestrictionCustomizationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.DistributionTenant.GeoRestrictionCustomizationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GeoRestrictionCustomizationProperty :: Prelude.Type+instance ToResourceProperties GeoRestrictionCustomizationProperty+instance Prelude.Eq GeoRestrictionCustomizationProperty+instance Prelude.Show GeoRestrictionCustomizationProperty+instance JSON.ToJSON GeoRestrictionCustomizationProperty
+ gen/Stratosphere/CloudFront/DistributionTenant/ManagedCertificateRequestProperty.hs view
@@ -0,0 +1,63 @@+module Stratosphere.CloudFront.DistributionTenant.ManagedCertificateRequestProperty (+        ManagedCertificateRequestProperty(..),+        mkManagedCertificateRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ManagedCertificateRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-managedcertificaterequest.html>+    ManagedCertificateRequestProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-managedcertificaterequest.html#cfn-cloudfront-distributiontenant-managedcertificaterequest-certificatetransparencyloggingpreference>+                                       certificateTransparencyLoggingPreference :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-managedcertificaterequest.html#cfn-cloudfront-distributiontenant-managedcertificaterequest-primarydomainname>+                                       primaryDomainName :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-managedcertificaterequest.html#cfn-cloudfront-distributiontenant-managedcertificaterequest-validationtokenhost>+                                       validationTokenHost :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkManagedCertificateRequestProperty ::+  ManagedCertificateRequestProperty+mkManagedCertificateRequestProperty+  = ManagedCertificateRequestProperty+      {haddock_workaround_ = (),+       certificateTransparencyLoggingPreference = Prelude.Nothing,+       primaryDomainName = Prelude.Nothing,+       validationTokenHost = Prelude.Nothing}+instance ToResourceProperties ManagedCertificateRequestProperty where+  toResourceProperties ManagedCertificateRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::DistributionTenant.ManagedCertificateRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CertificateTransparencyLoggingPreference"+                              Prelude.<$> certificateTransparencyLoggingPreference,+                            (JSON..=) "PrimaryDomainName" Prelude.<$> primaryDomainName,+                            (JSON..=) "ValidationTokenHost" Prelude.<$> validationTokenHost])}+instance JSON.ToJSON ManagedCertificateRequestProperty where+  toJSON ManagedCertificateRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CertificateTransparencyLoggingPreference"+                 Prelude.<$> certificateTransparencyLoggingPreference,+               (JSON..=) "PrimaryDomainName" Prelude.<$> primaryDomainName,+               (JSON..=) "ValidationTokenHost" Prelude.<$> validationTokenHost]))+instance Property "CertificateTransparencyLoggingPreference" ManagedCertificateRequestProperty where+  type PropertyType "CertificateTransparencyLoggingPreference" ManagedCertificateRequestProperty = Value Prelude.Text+  set newValue ManagedCertificateRequestProperty {..}+    = ManagedCertificateRequestProperty+        {certificateTransparencyLoggingPreference = Prelude.pure newValue,+         ..}+instance Property "PrimaryDomainName" ManagedCertificateRequestProperty where+  type PropertyType "PrimaryDomainName" ManagedCertificateRequestProperty = Value Prelude.Text+  set newValue ManagedCertificateRequestProperty {..}+    = ManagedCertificateRequestProperty+        {primaryDomainName = Prelude.pure newValue, ..}+instance Property "ValidationTokenHost" ManagedCertificateRequestProperty where+  type PropertyType "ValidationTokenHost" ManagedCertificateRequestProperty = Value Prelude.Text+  set newValue ManagedCertificateRequestProperty {..}+    = ManagedCertificateRequestProperty+        {validationTokenHost = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/DistributionTenant/ManagedCertificateRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.DistributionTenant.ManagedCertificateRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ManagedCertificateRequestProperty :: Prelude.Type+instance ToResourceProperties ManagedCertificateRequestProperty+instance Prelude.Eq ManagedCertificateRequestProperty+instance Prelude.Show ManagedCertificateRequestProperty+instance JSON.ToJSON ManagedCertificateRequestProperty
+ gen/Stratosphere/CloudFront/DistributionTenant/ParameterProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.CloudFront.DistributionTenant.ParameterProperty (+        ParameterProperty(..), mkParameterProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ParameterProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-parameter.html>+    ParameterProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-parameter.html#cfn-cloudfront-distributiontenant-parameter-name>+                       name :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-parameter.html#cfn-cloudfront-distributiontenant-parameter-value>+                       value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkParameterProperty :: ParameterProperty+mkParameterProperty+  = ParameterProperty+      {haddock_workaround_ = (), name = Prelude.Nothing,+       value = Prelude.Nothing}+instance ToResourceProperties ParameterProperty where+  toResourceProperties ParameterProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::DistributionTenant.Parameter",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON ParameterProperty where+  toJSON ParameterProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "Value" Prelude.<$> value]))+instance Property "Name" ParameterProperty where+  type PropertyType "Name" ParameterProperty = Value Prelude.Text+  set newValue ParameterProperty {..}+    = ParameterProperty {name = Prelude.pure newValue, ..}+instance Property "Value" ParameterProperty where+  type PropertyType "Value" ParameterProperty = Value Prelude.Text+  set newValue ParameterProperty {..}+    = ParameterProperty {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/DistributionTenant/ParameterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.DistributionTenant.ParameterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ParameterProperty :: Prelude.Type+instance ToResourceProperties ParameterProperty+instance Prelude.Eq ParameterProperty+instance Prelude.Show ParameterProperty+instance JSON.ToJSON ParameterProperty
+ gen/Stratosphere/CloudFront/DistributionTenant/WebAclCustomizationProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.CloudFront.DistributionTenant.WebAclCustomizationProperty (+        WebAclCustomizationProperty(..), mkWebAclCustomizationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data WebAclCustomizationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-webaclcustomization.html>+    WebAclCustomizationProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-webaclcustomization.html#cfn-cloudfront-distributiontenant-webaclcustomization-action>+                                 action :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-distributiontenant-webaclcustomization.html#cfn-cloudfront-distributiontenant-webaclcustomization-arn>+                                 arn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkWebAclCustomizationProperty :: WebAclCustomizationProperty+mkWebAclCustomizationProperty+  = WebAclCustomizationProperty+      {haddock_workaround_ = (), action = Prelude.Nothing,+       arn = Prelude.Nothing}+instance ToResourceProperties WebAclCustomizationProperty where+  toResourceProperties WebAclCustomizationProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::DistributionTenant.WebAclCustomization",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Action" Prelude.<$> action,+                            (JSON..=) "Arn" Prelude.<$> arn])}+instance JSON.ToJSON WebAclCustomizationProperty where+  toJSON WebAclCustomizationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Action" Prelude.<$> action,+               (JSON..=) "Arn" Prelude.<$> arn]))+instance Property "Action" WebAclCustomizationProperty where+  type PropertyType "Action" WebAclCustomizationProperty = Value Prelude.Text+  set newValue WebAclCustomizationProperty {..}+    = WebAclCustomizationProperty {action = Prelude.pure newValue, ..}+instance Property "Arn" WebAclCustomizationProperty where+  type PropertyType "Arn" WebAclCustomizationProperty = Value Prelude.Text+  set newValue WebAclCustomizationProperty {..}+    = WebAclCustomizationProperty {arn = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/DistributionTenant/WebAclCustomizationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.DistributionTenant.WebAclCustomizationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data WebAclCustomizationProperty :: Prelude.Type+instance ToResourceProperties WebAclCustomizationProperty+instance Prelude.Eq WebAclCustomizationProperty+instance Prelude.Show WebAclCustomizationProperty+instance JSON.ToJSON WebAclCustomizationProperty
+ gen/Stratosphere/CloudFront/Function.hs view
@@ -0,0 +1,72 @@+module Stratosphere.CloudFront.Function (+        module Exports, Function(..), mkFunction+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Function.FunctionConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.Function.FunctionMetadataProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Function+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html>+    Function {haddock_workaround_ :: (),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html#cfn-cloudfront-function-autopublish>+              autoPublish :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html#cfn-cloudfront-function-functioncode>+              functionCode :: (Value Prelude.Text),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html#cfn-cloudfront-function-functionconfig>+              functionConfig :: FunctionConfigProperty,+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html#cfn-cloudfront-function-functionmetadata>+              functionMetadata :: (Prelude.Maybe FunctionMetadataProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-function.html#cfn-cloudfront-function-name>+              name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFunction ::+  Value Prelude.Text+  -> FunctionConfigProperty -> Value Prelude.Text -> Function+mkFunction functionCode functionConfig name+  = Function+      {haddock_workaround_ = (), functionCode = functionCode,+       functionConfig = functionConfig, name = name,+       autoPublish = Prelude.Nothing, functionMetadata = Prelude.Nothing}+instance ToResourceProperties Function where+  toResourceProperties Function {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Function",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["FunctionCode" JSON..= functionCode,+                            "FunctionConfig" JSON..= functionConfig, "Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "AutoPublish" Prelude.<$> autoPublish,+                               (JSON..=) "FunctionMetadata" Prelude.<$> functionMetadata]))}+instance JSON.ToJSON Function where+  toJSON Function {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["FunctionCode" JSON..= functionCode,+               "FunctionConfig" JSON..= functionConfig, "Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "AutoPublish" Prelude.<$> autoPublish,+                  (JSON..=) "FunctionMetadata" Prelude.<$> functionMetadata])))+instance Property "AutoPublish" Function where+  type PropertyType "AutoPublish" Function = Value Prelude.Bool+  set newValue Function {..}+    = Function {autoPublish = Prelude.pure newValue, ..}+instance Property "FunctionCode" Function where+  type PropertyType "FunctionCode" Function = Value Prelude.Text+  set newValue Function {..} = Function {functionCode = newValue, ..}+instance Property "FunctionConfig" Function where+  type PropertyType "FunctionConfig" Function = FunctionConfigProperty+  set newValue Function {..}+    = Function {functionConfig = newValue, ..}+instance Property "FunctionMetadata" Function where+  type PropertyType "FunctionMetadata" Function = FunctionMetadataProperty+  set newValue Function {..}+    = Function {functionMetadata = Prelude.pure newValue, ..}+instance Property "Name" Function where+  type PropertyType "Name" Function = Value Prelude.Text+  set newValue Function {..} = Function {name = newValue, ..}
+ gen/Stratosphere/CloudFront/Function/FunctionConfigProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.CloudFront.Function.FunctionConfigProperty (+        module Exports, FunctionConfigProperty(..),+        mkFunctionConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.Function.KeyValueStoreAssociationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FunctionConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-function-functionconfig.html>+    FunctionConfigProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-function-functionconfig.html#cfn-cloudfront-function-functionconfig-comment>+                            comment :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-function-functionconfig.html#cfn-cloudfront-function-functionconfig-keyvaluestoreassociations>+                            keyValueStoreAssociations :: (Prelude.Maybe [KeyValueStoreAssociationProperty]),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-function-functionconfig.html#cfn-cloudfront-function-functionconfig-runtime>+                            runtime :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFunctionConfigProperty ::+  Value Prelude.Text -> Value Prelude.Text -> FunctionConfigProperty+mkFunctionConfigProperty comment runtime+  = FunctionConfigProperty+      {haddock_workaround_ = (), comment = comment, runtime = runtime,+       keyValueStoreAssociations = Prelude.Nothing}+instance ToResourceProperties FunctionConfigProperty where+  toResourceProperties FunctionConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Function.FunctionConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Comment" JSON..= comment, "Runtime" JSON..= runtime]+                           (Prelude.catMaybes+                              [(JSON..=) "KeyValueStoreAssociations"+                                 Prelude.<$> keyValueStoreAssociations]))}+instance JSON.ToJSON FunctionConfigProperty where+  toJSON FunctionConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Comment" JSON..= comment, "Runtime" JSON..= runtime]+              (Prelude.catMaybes+                 [(JSON..=) "KeyValueStoreAssociations"+                    Prelude.<$> keyValueStoreAssociations])))+instance Property "Comment" FunctionConfigProperty where+  type PropertyType "Comment" FunctionConfigProperty = Value Prelude.Text+  set newValue FunctionConfigProperty {..}+    = FunctionConfigProperty {comment = newValue, ..}+instance Property "KeyValueStoreAssociations" FunctionConfigProperty where+  type PropertyType "KeyValueStoreAssociations" FunctionConfigProperty = [KeyValueStoreAssociationProperty]+  set newValue FunctionConfigProperty {..}+    = FunctionConfigProperty+        {keyValueStoreAssociations = Prelude.pure newValue, ..}+instance Property "Runtime" FunctionConfigProperty where+  type PropertyType "Runtime" FunctionConfigProperty = Value Prelude.Text+  set newValue FunctionConfigProperty {..}+    = FunctionConfigProperty {runtime = newValue, ..}
+ gen/Stratosphere/CloudFront/Function/FunctionConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Function.FunctionConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FunctionConfigProperty :: Prelude.Type+instance ToResourceProperties FunctionConfigProperty+instance Prelude.Eq FunctionConfigProperty+instance Prelude.Show FunctionConfigProperty+instance JSON.ToJSON FunctionConfigProperty
+ gen/Stratosphere/CloudFront/Function/FunctionMetadataProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.CloudFront.Function.FunctionMetadataProperty (+        FunctionMetadataProperty(..), mkFunctionMetadataProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FunctionMetadataProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-function-functionmetadata.html>+    FunctionMetadataProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-function-functionmetadata.html#cfn-cloudfront-function-functionmetadata-functionarn>+                              functionARN :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFunctionMetadataProperty :: FunctionMetadataProperty+mkFunctionMetadataProperty+  = FunctionMetadataProperty+      {haddock_workaround_ = (), functionARN = Prelude.Nothing}+instance ToResourceProperties FunctionMetadataProperty where+  toResourceProperties FunctionMetadataProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Function.FunctionMetadata",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "FunctionARN" Prelude.<$> functionARN])}+instance JSON.ToJSON FunctionMetadataProperty where+  toJSON FunctionMetadataProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "FunctionARN" Prelude.<$> functionARN]))+instance Property "FunctionARN" FunctionMetadataProperty where+  type PropertyType "FunctionARN" FunctionMetadataProperty = Value Prelude.Text+  set newValue FunctionMetadataProperty {..}+    = FunctionMetadataProperty+        {functionARN = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/Function/FunctionMetadataProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Function.FunctionMetadataProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FunctionMetadataProperty :: Prelude.Type+instance ToResourceProperties FunctionMetadataProperty+instance Prelude.Eq FunctionMetadataProperty+instance Prelude.Show FunctionMetadataProperty+instance JSON.ToJSON FunctionMetadataProperty
+ gen/Stratosphere/CloudFront/Function/KeyValueStoreAssociationProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.CloudFront.Function.KeyValueStoreAssociationProperty (+        KeyValueStoreAssociationProperty(..),+        mkKeyValueStoreAssociationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data KeyValueStoreAssociationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-function-keyvaluestoreassociation.html>+    KeyValueStoreAssociationProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-function-keyvaluestoreassociation.html#cfn-cloudfront-function-keyvaluestoreassociation-keyvaluestorearn>+                                      keyValueStoreARN :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkKeyValueStoreAssociationProperty ::+  Value Prelude.Text -> KeyValueStoreAssociationProperty+mkKeyValueStoreAssociationProperty keyValueStoreARN+  = KeyValueStoreAssociationProperty+      {haddock_workaround_ = (), keyValueStoreARN = keyValueStoreARN}+instance ToResourceProperties KeyValueStoreAssociationProperty where+  toResourceProperties KeyValueStoreAssociationProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::Function.KeyValueStoreAssociation",+         supportsTags = Prelude.False,+         properties = ["KeyValueStoreARN" JSON..= keyValueStoreARN]}+instance JSON.ToJSON KeyValueStoreAssociationProperty where+  toJSON KeyValueStoreAssociationProperty {..}+    = JSON.object ["KeyValueStoreARN" JSON..= keyValueStoreARN]+instance Property "KeyValueStoreARN" KeyValueStoreAssociationProperty where+  type PropertyType "KeyValueStoreARN" KeyValueStoreAssociationProperty = Value Prelude.Text+  set newValue KeyValueStoreAssociationProperty {..}+    = KeyValueStoreAssociationProperty+        {keyValueStoreARN = newValue, ..}
+ gen/Stratosphere/CloudFront/Function/KeyValueStoreAssociationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.Function.KeyValueStoreAssociationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data KeyValueStoreAssociationProperty :: Prelude.Type+instance ToResourceProperties KeyValueStoreAssociationProperty+instance Prelude.Eq KeyValueStoreAssociationProperty+instance Prelude.Show KeyValueStoreAssociationProperty+instance JSON.ToJSON KeyValueStoreAssociationProperty
+ gen/Stratosphere/CloudFront/KeyGroup.hs view
@@ -0,0 +1,31 @@+module Stratosphere.CloudFront.KeyGroup (+        module Exports, KeyGroup(..), mkKeyGroup+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.KeyGroup.KeyGroupConfigProperty as Exports+import Stratosphere.ResourceProperties+data KeyGroup+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html>+    KeyGroup {haddock_workaround_ :: (),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keygroup.html#cfn-cloudfront-keygroup-keygroupconfig>+              keyGroupConfig :: KeyGroupConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkKeyGroup :: KeyGroupConfigProperty -> KeyGroup+mkKeyGroup keyGroupConfig+  = KeyGroup+      {haddock_workaround_ = (), keyGroupConfig = keyGroupConfig}+instance ToResourceProperties KeyGroup where+  toResourceProperties KeyGroup {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::KeyGroup",+         supportsTags = Prelude.False,+         properties = ["KeyGroupConfig" JSON..= keyGroupConfig]}+instance JSON.ToJSON KeyGroup where+  toJSON KeyGroup {..}+    = JSON.object ["KeyGroupConfig" JSON..= keyGroupConfig]+instance Property "KeyGroupConfig" KeyGroup where+  type PropertyType "KeyGroupConfig" KeyGroup = KeyGroupConfigProperty+  set newValue KeyGroup {..}+    = KeyGroup {keyGroupConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/KeyGroup/KeyGroupConfigProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.CloudFront.KeyGroup.KeyGroupConfigProperty (+        KeyGroupConfigProperty(..), mkKeyGroupConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data KeyGroupConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keygroup-keygroupconfig.html>+    KeyGroupConfigProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keygroup-keygroupconfig.html#cfn-cloudfront-keygroup-keygroupconfig-comment>+                            comment :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keygroup-keygroupconfig.html#cfn-cloudfront-keygroup-keygroupconfig-items>+                            items :: (ValueList Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keygroup-keygroupconfig.html#cfn-cloudfront-keygroup-keygroupconfig-name>+                            name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkKeyGroupConfigProperty ::+  ValueList Prelude.Text+  -> Value Prelude.Text -> KeyGroupConfigProperty+mkKeyGroupConfigProperty items name+  = KeyGroupConfigProperty+      {haddock_workaround_ = (), items = items, name = name,+       comment = Prelude.Nothing}+instance ToResourceProperties KeyGroupConfigProperty where+  toResourceProperties KeyGroupConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::KeyGroup.KeyGroupConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Items" JSON..= items, "Name" JSON..= name]+                           (Prelude.catMaybes [(JSON..=) "Comment" Prelude.<$> comment]))}+instance JSON.ToJSON KeyGroupConfigProperty where+  toJSON KeyGroupConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Items" JSON..= items, "Name" JSON..= name]+              (Prelude.catMaybes [(JSON..=) "Comment" Prelude.<$> comment])))+instance Property "Comment" KeyGroupConfigProperty where+  type PropertyType "Comment" KeyGroupConfigProperty = Value Prelude.Text+  set newValue KeyGroupConfigProperty {..}+    = KeyGroupConfigProperty {comment = Prelude.pure newValue, ..}+instance Property "Items" KeyGroupConfigProperty where+  type PropertyType "Items" KeyGroupConfigProperty = ValueList Prelude.Text+  set newValue KeyGroupConfigProperty {..}+    = KeyGroupConfigProperty {items = newValue, ..}+instance Property "Name" KeyGroupConfigProperty where+  type PropertyType "Name" KeyGroupConfigProperty = Value Prelude.Text+  set newValue KeyGroupConfigProperty {..}+    = KeyGroupConfigProperty {name = newValue, ..}
+ gen/Stratosphere/CloudFront/KeyGroup/KeyGroupConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.KeyGroup.KeyGroupConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data KeyGroupConfigProperty :: Prelude.Type+instance ToResourceProperties KeyGroupConfigProperty+instance Prelude.Eq KeyGroupConfigProperty+instance Prelude.Show KeyGroupConfigProperty+instance JSON.ToJSON KeyGroupConfigProperty
+ gen/Stratosphere/CloudFront/KeyValueStore.hs view
@@ -0,0 +1,56 @@+module Stratosphere.CloudFront.KeyValueStore (+        module Exports, KeyValueStore(..), mkKeyValueStore+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.KeyValueStore.ImportSourceProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data KeyValueStore+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html>+    KeyValueStore {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html#cfn-cloudfront-keyvaluestore-comment>+                   comment :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html#cfn-cloudfront-keyvaluestore-importsource>+                   importSource :: (Prelude.Maybe ImportSourceProperty),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-keyvaluestore.html#cfn-cloudfront-keyvaluestore-name>+                   name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkKeyValueStore :: Value Prelude.Text -> KeyValueStore+mkKeyValueStore name+  = KeyValueStore+      {haddock_workaround_ = (), name = name, comment = Prelude.Nothing,+       importSource = Prelude.Nothing}+instance ToResourceProperties KeyValueStore where+  toResourceProperties KeyValueStore {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::KeyValueStore",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "Comment" Prelude.<$> comment,+                               (JSON..=) "ImportSource" Prelude.<$> importSource]))}+instance JSON.ToJSON KeyValueStore where+  toJSON KeyValueStore {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "Comment" Prelude.<$> comment,+                  (JSON..=) "ImportSource" Prelude.<$> importSource])))+instance Property "Comment" KeyValueStore where+  type PropertyType "Comment" KeyValueStore = Value Prelude.Text+  set newValue KeyValueStore {..}+    = KeyValueStore {comment = Prelude.pure newValue, ..}+instance Property "ImportSource" KeyValueStore where+  type PropertyType "ImportSource" KeyValueStore = ImportSourceProperty+  set newValue KeyValueStore {..}+    = KeyValueStore {importSource = Prelude.pure newValue, ..}+instance Property "Name" KeyValueStore where+  type PropertyType "Name" KeyValueStore = Value Prelude.Text+  set newValue KeyValueStore {..}+    = KeyValueStore {name = newValue, ..}
+ gen/Stratosphere/CloudFront/KeyValueStore/ImportSourceProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.CloudFront.KeyValueStore.ImportSourceProperty (+        ImportSourceProperty(..), mkImportSourceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ImportSourceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keyvaluestore-importsource.html>+    ImportSourceProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keyvaluestore-importsource.html#cfn-cloudfront-keyvaluestore-importsource-sourcearn>+                          sourceArn :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-keyvaluestore-importsource.html#cfn-cloudfront-keyvaluestore-importsource-sourcetype>+                          sourceType :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkImportSourceProperty ::+  Value Prelude.Text -> Value Prelude.Text -> ImportSourceProperty+mkImportSourceProperty sourceArn sourceType+  = ImportSourceProperty+      {haddock_workaround_ = (), sourceArn = sourceArn,+       sourceType = sourceType}+instance ToResourceProperties ImportSourceProperty where+  toResourceProperties ImportSourceProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::KeyValueStore.ImportSource",+         supportsTags = Prelude.False,+         properties = ["SourceArn" JSON..= sourceArn,+                       "SourceType" JSON..= sourceType]}+instance JSON.ToJSON ImportSourceProperty where+  toJSON ImportSourceProperty {..}+    = JSON.object+        ["SourceArn" JSON..= sourceArn, "SourceType" JSON..= sourceType]+instance Property "SourceArn" ImportSourceProperty where+  type PropertyType "SourceArn" ImportSourceProperty = Value Prelude.Text+  set newValue ImportSourceProperty {..}+    = ImportSourceProperty {sourceArn = newValue, ..}+instance Property "SourceType" ImportSourceProperty where+  type PropertyType "SourceType" ImportSourceProperty = Value Prelude.Text+  set newValue ImportSourceProperty {..}+    = ImportSourceProperty {sourceType = newValue, ..}
+ gen/Stratosphere/CloudFront/KeyValueStore/ImportSourceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.KeyValueStore.ImportSourceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ImportSourceProperty :: Prelude.Type+instance ToResourceProperties ImportSourceProperty+instance Prelude.Eq ImportSourceProperty+instance Prelude.Show ImportSourceProperty+instance JSON.ToJSON ImportSourceProperty
+ gen/Stratosphere/CloudFront/MonitoringSubscription.hs view
@@ -0,0 +1,45 @@+module Stratosphere.CloudFront.MonitoringSubscription (+        module Exports, MonitoringSubscription(..),+        mkMonitoringSubscription+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.MonitoringSubscription.MonitoringSubscriptionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MonitoringSubscription+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html>+    MonitoringSubscription {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html#cfn-cloudfront-monitoringsubscription-distributionid>+                            distributionId :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-monitoringsubscription.html#cfn-cloudfront-monitoringsubscription-monitoringsubscription>+                            monitoringSubscription :: MonitoringSubscriptionProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMonitoringSubscription ::+  Value Prelude.Text+  -> MonitoringSubscriptionProperty -> MonitoringSubscription+mkMonitoringSubscription distributionId monitoringSubscription+  = MonitoringSubscription+      {haddock_workaround_ = (), distributionId = distributionId,+       monitoringSubscription = monitoringSubscription}+instance ToResourceProperties MonitoringSubscription where+  toResourceProperties MonitoringSubscription {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::MonitoringSubscription",+         supportsTags = Prelude.False,+         properties = ["DistributionId" JSON..= distributionId,+                       "MonitoringSubscription" JSON..= monitoringSubscription]}+instance JSON.ToJSON MonitoringSubscription where+  toJSON MonitoringSubscription {..}+    = JSON.object+        ["DistributionId" JSON..= distributionId,+         "MonitoringSubscription" JSON..= monitoringSubscription]+instance Property "DistributionId" MonitoringSubscription where+  type PropertyType "DistributionId" MonitoringSubscription = Value Prelude.Text+  set newValue MonitoringSubscription {..}+    = MonitoringSubscription {distributionId = newValue, ..}+instance Property "MonitoringSubscription" MonitoringSubscription where+  type PropertyType "MonitoringSubscription" MonitoringSubscription = MonitoringSubscriptionProperty+  set newValue MonitoringSubscription {..}+    = MonitoringSubscription {monitoringSubscription = newValue, ..}
+ gen/Stratosphere/CloudFront/MonitoringSubscription/MonitoringSubscriptionProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.CloudFront.MonitoringSubscription.MonitoringSubscriptionProperty (+        module Exports, MonitoringSubscriptionProperty(..),+        mkMonitoringSubscriptionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.MonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty as Exports+import Stratosphere.ResourceProperties+data MonitoringSubscriptionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-monitoringsubscription-monitoringsubscription.html>+    MonitoringSubscriptionProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-monitoringsubscription-monitoringsubscription.html#cfn-cloudfront-monitoringsubscription-monitoringsubscription-realtimemetricssubscriptionconfig>+                                    realtimeMetricsSubscriptionConfig :: (Prelude.Maybe RealtimeMetricsSubscriptionConfigProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMonitoringSubscriptionProperty :: MonitoringSubscriptionProperty+mkMonitoringSubscriptionProperty+  = MonitoringSubscriptionProperty+      {haddock_workaround_ = (),+       realtimeMetricsSubscriptionConfig = Prelude.Nothing}+instance ToResourceProperties MonitoringSubscriptionProperty where+  toResourceProperties MonitoringSubscriptionProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::MonitoringSubscription.MonitoringSubscription",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "RealtimeMetricsSubscriptionConfig"+                              Prelude.<$> realtimeMetricsSubscriptionConfig])}+instance JSON.ToJSON MonitoringSubscriptionProperty where+  toJSON MonitoringSubscriptionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "RealtimeMetricsSubscriptionConfig"+                 Prelude.<$> realtimeMetricsSubscriptionConfig]))+instance Property "RealtimeMetricsSubscriptionConfig" MonitoringSubscriptionProperty where+  type PropertyType "RealtimeMetricsSubscriptionConfig" MonitoringSubscriptionProperty = RealtimeMetricsSubscriptionConfigProperty+  set newValue MonitoringSubscriptionProperty {..}+    = MonitoringSubscriptionProperty+        {realtimeMetricsSubscriptionConfig = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/MonitoringSubscription/MonitoringSubscriptionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.MonitoringSubscription.MonitoringSubscriptionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MonitoringSubscriptionProperty :: Prelude.Type+instance ToResourceProperties MonitoringSubscriptionProperty+instance Prelude.Eq MonitoringSubscriptionProperty+instance Prelude.Show MonitoringSubscriptionProperty+instance JSON.ToJSON MonitoringSubscriptionProperty
+ gen/Stratosphere/CloudFront/MonitoringSubscription/RealtimeMetricsSubscriptionConfigProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.CloudFront.MonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty (+        RealtimeMetricsSubscriptionConfigProperty(..),+        mkRealtimeMetricsSubscriptionConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RealtimeMetricsSubscriptionConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-monitoringsubscription-realtimemetricssubscriptionconfig.html>+    RealtimeMetricsSubscriptionConfigProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-monitoringsubscription-realtimemetricssubscriptionconfig.html#cfn-cloudfront-monitoringsubscription-realtimemetricssubscriptionconfig-realtimemetricssubscriptionstatus>+                                               realtimeMetricsSubscriptionStatus :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRealtimeMetricsSubscriptionConfigProperty ::+  Value Prelude.Text -> RealtimeMetricsSubscriptionConfigProperty+mkRealtimeMetricsSubscriptionConfigProperty+  realtimeMetricsSubscriptionStatus+  = RealtimeMetricsSubscriptionConfigProperty+      {haddock_workaround_ = (),+       realtimeMetricsSubscriptionStatus = realtimeMetricsSubscriptionStatus}+instance ToResourceProperties RealtimeMetricsSubscriptionConfigProperty where+  toResourceProperties RealtimeMetricsSubscriptionConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::MonitoringSubscription.RealtimeMetricsSubscriptionConfig",+         supportsTags = Prelude.False,+         properties = ["RealtimeMetricsSubscriptionStatus"+                         JSON..= realtimeMetricsSubscriptionStatus]}+instance JSON.ToJSON RealtimeMetricsSubscriptionConfigProperty where+  toJSON RealtimeMetricsSubscriptionConfigProperty {..}+    = JSON.object+        ["RealtimeMetricsSubscriptionStatus"+           JSON..= realtimeMetricsSubscriptionStatus]+instance Property "RealtimeMetricsSubscriptionStatus" RealtimeMetricsSubscriptionConfigProperty where+  type PropertyType "RealtimeMetricsSubscriptionStatus" RealtimeMetricsSubscriptionConfigProperty = Value Prelude.Text+  set newValue RealtimeMetricsSubscriptionConfigProperty {..}+    = RealtimeMetricsSubscriptionConfigProperty+        {realtimeMetricsSubscriptionStatus = newValue, ..}
+ gen/Stratosphere/CloudFront/MonitoringSubscription/RealtimeMetricsSubscriptionConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.MonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RealtimeMetricsSubscriptionConfigProperty :: Prelude.Type+instance ToResourceProperties RealtimeMetricsSubscriptionConfigProperty+instance Prelude.Eq RealtimeMetricsSubscriptionConfigProperty+instance Prelude.Show RealtimeMetricsSubscriptionConfigProperty+instance JSON.ToJSON RealtimeMetricsSubscriptionConfigProperty
+ gen/Stratosphere/CloudFront/OriginAccessControl.hs view
@@ -0,0 +1,35 @@+module Stratosphere.CloudFront.OriginAccessControl (+        module Exports, OriginAccessControl(..), mkOriginAccessControl+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.OriginAccessControl.OriginAccessControlConfigProperty as Exports+import Stratosphere.ResourceProperties+data OriginAccessControl+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html>+    OriginAccessControl {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html#cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig>+                         originAccessControlConfig :: OriginAccessControlConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginAccessControl ::+  OriginAccessControlConfigProperty -> OriginAccessControl+mkOriginAccessControl originAccessControlConfig+  = OriginAccessControl+      {haddock_workaround_ = (),+       originAccessControlConfig = originAccessControlConfig}+instance ToResourceProperties OriginAccessControl where+  toResourceProperties OriginAccessControl {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::OriginAccessControl",+         supportsTags = Prelude.False,+         properties = ["OriginAccessControlConfig"+                         JSON..= originAccessControlConfig]}+instance JSON.ToJSON OriginAccessControl where+  toJSON OriginAccessControl {..}+    = JSON.object+        ["OriginAccessControlConfig" JSON..= originAccessControlConfig]+instance Property "OriginAccessControlConfig" OriginAccessControl where+  type PropertyType "OriginAccessControlConfig" OriginAccessControl = OriginAccessControlConfigProperty+  set newValue OriginAccessControl {..}+    = OriginAccessControl {originAccessControlConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/OriginAccessControl/OriginAccessControlConfigProperty.hs view
@@ -0,0 +1,88 @@+module Stratosphere.CloudFront.OriginAccessControl.OriginAccessControlConfigProperty (+        OriginAccessControlConfigProperty(..),+        mkOriginAccessControlConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OriginAccessControlConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originaccesscontrol-originaccesscontrolconfig.html>+    OriginAccessControlConfigProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originaccesscontrol-originaccesscontrolconfig.html#cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-description>+                                       description :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originaccesscontrol-originaccesscontrolconfig.html#cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-name>+                                       name :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originaccesscontrol-originaccesscontrolconfig.html#cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-originaccesscontrolorigintype>+                                       originAccessControlOriginType :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originaccesscontrol-originaccesscontrolconfig.html#cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-signingbehavior>+                                       signingBehavior :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originaccesscontrol-originaccesscontrolconfig.html#cfn-cloudfront-originaccesscontrol-originaccesscontrolconfig-signingprotocol>+                                       signingProtocol :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginAccessControlConfigProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> Value Prelude.Text -> OriginAccessControlConfigProperty+mkOriginAccessControlConfigProperty+  name+  originAccessControlOriginType+  signingBehavior+  signingProtocol+  = OriginAccessControlConfigProperty+      {haddock_workaround_ = (), name = name,+       originAccessControlOriginType = originAccessControlOriginType,+       signingBehavior = signingBehavior,+       signingProtocol = signingProtocol, description = Prelude.Nothing}+instance ToResourceProperties OriginAccessControlConfigProperty where+  toResourceProperties OriginAccessControlConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::OriginAccessControl.OriginAccessControlConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name,+                            "OriginAccessControlOriginType"+                              JSON..= originAccessControlOriginType,+                            "SigningBehavior" JSON..= signingBehavior,+                            "SigningProtocol" JSON..= signingProtocol]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description]))}+instance JSON.ToJSON OriginAccessControlConfigProperty where+  toJSON OriginAccessControlConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name,+               "OriginAccessControlOriginType"+                 JSON..= originAccessControlOriginType,+               "SigningBehavior" JSON..= signingBehavior,+               "SigningProtocol" JSON..= signingProtocol]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description])))+instance Property "Description" OriginAccessControlConfigProperty where+  type PropertyType "Description" OriginAccessControlConfigProperty = Value Prelude.Text+  set newValue OriginAccessControlConfigProperty {..}+    = OriginAccessControlConfigProperty+        {description = Prelude.pure newValue, ..}+instance Property "Name" OriginAccessControlConfigProperty where+  type PropertyType "Name" OriginAccessControlConfigProperty = Value Prelude.Text+  set newValue OriginAccessControlConfigProperty {..}+    = OriginAccessControlConfigProperty {name = newValue, ..}+instance Property "OriginAccessControlOriginType" OriginAccessControlConfigProperty where+  type PropertyType "OriginAccessControlOriginType" OriginAccessControlConfigProperty = Value Prelude.Text+  set newValue OriginAccessControlConfigProperty {..}+    = OriginAccessControlConfigProperty+        {originAccessControlOriginType = newValue, ..}+instance Property "SigningBehavior" OriginAccessControlConfigProperty where+  type PropertyType "SigningBehavior" OriginAccessControlConfigProperty = Value Prelude.Text+  set newValue OriginAccessControlConfigProperty {..}+    = OriginAccessControlConfigProperty+        {signingBehavior = newValue, ..}+instance Property "SigningProtocol" OriginAccessControlConfigProperty where+  type PropertyType "SigningProtocol" OriginAccessControlConfigProperty = Value Prelude.Text+  set newValue OriginAccessControlConfigProperty {..}+    = OriginAccessControlConfigProperty+        {signingProtocol = newValue, ..}
+ gen/Stratosphere/CloudFront/OriginAccessControl/OriginAccessControlConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.OriginAccessControl.OriginAccessControlConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginAccessControlConfigProperty :: Prelude.Type+instance ToResourceProperties OriginAccessControlConfigProperty+instance Prelude.Eq OriginAccessControlConfigProperty+instance Prelude.Show OriginAccessControlConfigProperty+instance JSON.ToJSON OriginAccessControlConfigProperty
+ gen/Stratosphere/CloudFront/OriginRequestPolicy.hs view
@@ -0,0 +1,35 @@+module Stratosphere.CloudFront.OriginRequestPolicy (+        module Exports, OriginRequestPolicy(..), mkOriginRequestPolicy+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.OriginRequestPolicy.OriginRequestPolicyConfigProperty as Exports+import Stratosphere.ResourceProperties+data OriginRequestPolicy+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html>+    OriginRequestPolicy {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originrequestpolicy.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig>+                         originRequestPolicyConfig :: OriginRequestPolicyConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginRequestPolicy ::+  OriginRequestPolicyConfigProperty -> OriginRequestPolicy+mkOriginRequestPolicy originRequestPolicyConfig+  = OriginRequestPolicy+      {haddock_workaround_ = (),+       originRequestPolicyConfig = originRequestPolicyConfig}+instance ToResourceProperties OriginRequestPolicy where+  toResourceProperties OriginRequestPolicy {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::OriginRequestPolicy",+         supportsTags = Prelude.False,+         properties = ["OriginRequestPolicyConfig"+                         JSON..= originRequestPolicyConfig]}+instance JSON.ToJSON OriginRequestPolicy where+  toJSON OriginRequestPolicy {..}+    = JSON.object+        ["OriginRequestPolicyConfig" JSON..= originRequestPolicyConfig]+instance Property "OriginRequestPolicyConfig" OriginRequestPolicy where+  type PropertyType "OriginRequestPolicyConfig" OriginRequestPolicy = OriginRequestPolicyConfigProperty+  set newValue OriginRequestPolicy {..}+    = OriginRequestPolicy {originRequestPolicyConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/OriginRequestPolicy/CookiesConfigProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.CloudFront.OriginRequestPolicy.CookiesConfigProperty (+        CookiesConfigProperty(..), mkCookiesConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CookiesConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html>+    CookiesConfigProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html#cfn-cloudfront-originrequestpolicy-cookiesconfig-cookiebehavior>+                           cookieBehavior :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html#cfn-cloudfront-originrequestpolicy-cookiesconfig-cookies>+                           cookies :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCookiesConfigProperty ::+  Value Prelude.Text -> CookiesConfigProperty+mkCookiesConfigProperty cookieBehavior+  = CookiesConfigProperty+      {haddock_workaround_ = (), cookieBehavior = cookieBehavior,+       cookies = Prelude.Nothing}+instance ToResourceProperties CookiesConfigProperty where+  toResourceProperties CookiesConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::OriginRequestPolicy.CookiesConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["CookieBehavior" JSON..= cookieBehavior]+                           (Prelude.catMaybes [(JSON..=) "Cookies" Prelude.<$> cookies]))}+instance JSON.ToJSON CookiesConfigProperty where+  toJSON CookiesConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["CookieBehavior" JSON..= cookieBehavior]+              (Prelude.catMaybes [(JSON..=) "Cookies" Prelude.<$> cookies])))+instance Property "CookieBehavior" CookiesConfigProperty where+  type PropertyType "CookieBehavior" CookiesConfigProperty = Value Prelude.Text+  set newValue CookiesConfigProperty {..}+    = CookiesConfigProperty {cookieBehavior = newValue, ..}+instance Property "Cookies" CookiesConfigProperty where+  type PropertyType "Cookies" CookiesConfigProperty = ValueList Prelude.Text+  set newValue CookiesConfigProperty {..}+    = CookiesConfigProperty {cookies = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/OriginRequestPolicy/CookiesConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.OriginRequestPolicy.CookiesConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CookiesConfigProperty :: Prelude.Type+instance ToResourceProperties CookiesConfigProperty+instance Prelude.Eq CookiesConfigProperty+instance Prelude.Show CookiesConfigProperty+instance JSON.ToJSON CookiesConfigProperty
+ gen/Stratosphere/CloudFront/OriginRequestPolicy/HeadersConfigProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.CloudFront.OriginRequestPolicy.HeadersConfigProperty (+        HeadersConfigProperty(..), mkHeadersConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HeadersConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-headersconfig.html>+    HeadersConfigProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-headersconfig.html#cfn-cloudfront-originrequestpolicy-headersconfig-headerbehavior>+                           headerBehavior :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-headersconfig.html#cfn-cloudfront-originrequestpolicy-headersconfig-headers>+                           headers :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHeadersConfigProperty ::+  Value Prelude.Text -> HeadersConfigProperty+mkHeadersConfigProperty headerBehavior+  = HeadersConfigProperty+      {haddock_workaround_ = (), headerBehavior = headerBehavior,+       headers = Prelude.Nothing}+instance ToResourceProperties HeadersConfigProperty where+  toResourceProperties HeadersConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::OriginRequestPolicy.HeadersConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["HeaderBehavior" JSON..= headerBehavior]+                           (Prelude.catMaybes [(JSON..=) "Headers" Prelude.<$> headers]))}+instance JSON.ToJSON HeadersConfigProperty where+  toJSON HeadersConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["HeaderBehavior" JSON..= headerBehavior]+              (Prelude.catMaybes [(JSON..=) "Headers" Prelude.<$> headers])))+instance Property "HeaderBehavior" HeadersConfigProperty where+  type PropertyType "HeaderBehavior" HeadersConfigProperty = Value Prelude.Text+  set newValue HeadersConfigProperty {..}+    = HeadersConfigProperty {headerBehavior = newValue, ..}+instance Property "Headers" HeadersConfigProperty where+  type PropertyType "Headers" HeadersConfigProperty = ValueList Prelude.Text+  set newValue HeadersConfigProperty {..}+    = HeadersConfigProperty {headers = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/OriginRequestPolicy/HeadersConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.OriginRequestPolicy.HeadersConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HeadersConfigProperty :: Prelude.Type+instance ToResourceProperties HeadersConfigProperty+instance Prelude.Eq HeadersConfigProperty+instance Prelude.Show HeadersConfigProperty+instance JSON.ToJSON HeadersConfigProperty
+ gen/Stratosphere/CloudFront/OriginRequestPolicy/OriginRequestPolicyConfigProperty.hs view
@@ -0,0 +1,82 @@+module Stratosphere.CloudFront.OriginRequestPolicy.OriginRequestPolicyConfigProperty (+        module Exports, OriginRequestPolicyConfigProperty(..),+        mkOriginRequestPolicyConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.OriginRequestPolicy.CookiesConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.OriginRequestPolicy.HeadersConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.OriginRequestPolicy.QueryStringsConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OriginRequestPolicyConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html>+    OriginRequestPolicyConfigProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-comment>+                                       comment :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-cookiesconfig>+                                       cookiesConfig :: CookiesConfigProperty,+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-headersconfig>+                                       headersConfig :: HeadersConfigProperty,+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-name>+                                       name :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-originrequestpolicyconfig.html#cfn-cloudfront-originrequestpolicy-originrequestpolicyconfig-querystringsconfig>+                                       queryStringsConfig :: QueryStringsConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOriginRequestPolicyConfigProperty ::+  CookiesConfigProperty+  -> HeadersConfigProperty+     -> Value Prelude.Text+        -> QueryStringsConfigProperty -> OriginRequestPolicyConfigProperty+mkOriginRequestPolicyConfigProperty+  cookiesConfig+  headersConfig+  name+  queryStringsConfig+  = OriginRequestPolicyConfigProperty+      {haddock_workaround_ = (), cookiesConfig = cookiesConfig,+       headersConfig = headersConfig, name = name,+       queryStringsConfig = queryStringsConfig, comment = Prelude.Nothing}+instance ToResourceProperties OriginRequestPolicyConfigProperty where+  toResourceProperties OriginRequestPolicyConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::OriginRequestPolicy.OriginRequestPolicyConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["CookiesConfig" JSON..= cookiesConfig,+                            "HeadersConfig" JSON..= headersConfig, "Name" JSON..= name,+                            "QueryStringsConfig" JSON..= queryStringsConfig]+                           (Prelude.catMaybes [(JSON..=) "Comment" Prelude.<$> comment]))}+instance JSON.ToJSON OriginRequestPolicyConfigProperty where+  toJSON OriginRequestPolicyConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["CookiesConfig" JSON..= cookiesConfig,+               "HeadersConfig" JSON..= headersConfig, "Name" JSON..= name,+               "QueryStringsConfig" JSON..= queryStringsConfig]+              (Prelude.catMaybes [(JSON..=) "Comment" Prelude.<$> comment])))+instance Property "Comment" OriginRequestPolicyConfigProperty where+  type PropertyType "Comment" OriginRequestPolicyConfigProperty = Value Prelude.Text+  set newValue OriginRequestPolicyConfigProperty {..}+    = OriginRequestPolicyConfigProperty+        {comment = Prelude.pure newValue, ..}+instance Property "CookiesConfig" OriginRequestPolicyConfigProperty where+  type PropertyType "CookiesConfig" OriginRequestPolicyConfigProperty = CookiesConfigProperty+  set newValue OriginRequestPolicyConfigProperty {..}+    = OriginRequestPolicyConfigProperty {cookiesConfig = newValue, ..}+instance Property "HeadersConfig" OriginRequestPolicyConfigProperty where+  type PropertyType "HeadersConfig" OriginRequestPolicyConfigProperty = HeadersConfigProperty+  set newValue OriginRequestPolicyConfigProperty {..}+    = OriginRequestPolicyConfigProperty {headersConfig = newValue, ..}+instance Property "Name" OriginRequestPolicyConfigProperty where+  type PropertyType "Name" OriginRequestPolicyConfigProperty = Value Prelude.Text+  set newValue OriginRequestPolicyConfigProperty {..}+    = OriginRequestPolicyConfigProperty {name = newValue, ..}+instance Property "QueryStringsConfig" OriginRequestPolicyConfigProperty where+  type PropertyType "QueryStringsConfig" OriginRequestPolicyConfigProperty = QueryStringsConfigProperty+  set newValue OriginRequestPolicyConfigProperty {..}+    = OriginRequestPolicyConfigProperty+        {queryStringsConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/OriginRequestPolicy/OriginRequestPolicyConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.OriginRequestPolicy.OriginRequestPolicyConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OriginRequestPolicyConfigProperty :: Prelude.Type+instance ToResourceProperties OriginRequestPolicyConfigProperty+instance Prelude.Eq OriginRequestPolicyConfigProperty+instance Prelude.Show OriginRequestPolicyConfigProperty+instance JSON.ToJSON OriginRequestPolicyConfigProperty
+ gen/Stratosphere/CloudFront/OriginRequestPolicy/QueryStringsConfigProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.CloudFront.OriginRequestPolicy.QueryStringsConfigProperty (+        QueryStringsConfigProperty(..), mkQueryStringsConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data QueryStringsConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html>+    QueryStringsConfigProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html#cfn-cloudfront-originrequestpolicy-querystringsconfig-querystringbehavior>+                                queryStringBehavior :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html#cfn-cloudfront-originrequestpolicy-querystringsconfig-querystrings>+                                queryStrings :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkQueryStringsConfigProperty ::+  Value Prelude.Text -> QueryStringsConfigProperty+mkQueryStringsConfigProperty queryStringBehavior+  = QueryStringsConfigProperty+      {haddock_workaround_ = (),+       queryStringBehavior = queryStringBehavior,+       queryStrings = Prelude.Nothing}+instance ToResourceProperties QueryStringsConfigProperty where+  toResourceProperties QueryStringsConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::OriginRequestPolicy.QueryStringsConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["QueryStringBehavior" JSON..= queryStringBehavior]+                           (Prelude.catMaybes+                              [(JSON..=) "QueryStrings" Prelude.<$> queryStrings]))}+instance JSON.ToJSON QueryStringsConfigProperty where+  toJSON QueryStringsConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["QueryStringBehavior" JSON..= queryStringBehavior]+              (Prelude.catMaybes+                 [(JSON..=) "QueryStrings" Prelude.<$> queryStrings])))+instance Property "QueryStringBehavior" QueryStringsConfigProperty where+  type PropertyType "QueryStringBehavior" QueryStringsConfigProperty = Value Prelude.Text+  set newValue QueryStringsConfigProperty {..}+    = QueryStringsConfigProperty {queryStringBehavior = newValue, ..}+instance Property "QueryStrings" QueryStringsConfigProperty where+  type PropertyType "QueryStrings" QueryStringsConfigProperty = ValueList Prelude.Text+  set newValue QueryStringsConfigProperty {..}+    = QueryStringsConfigProperty+        {queryStrings = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/OriginRequestPolicy/QueryStringsConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.OriginRequestPolicy.QueryStringsConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data QueryStringsConfigProperty :: Prelude.Type+instance ToResourceProperties QueryStringsConfigProperty+instance Prelude.Eq QueryStringsConfigProperty+instance Prelude.Show QueryStringsConfigProperty+instance JSON.ToJSON QueryStringsConfigProperty
+ gen/Stratosphere/CloudFront/PublicKey.hs view
@@ -0,0 +1,31 @@+module Stratosphere.CloudFront.PublicKey (+        module Exports, PublicKey(..), mkPublicKey+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.PublicKey.PublicKeyConfigProperty as Exports+import Stratosphere.ResourceProperties+data PublicKey+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html>+    PublicKey {haddock_workaround_ :: (),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-publickey.html#cfn-cloudfront-publickey-publickeyconfig>+               publicKeyConfig :: PublicKeyConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPublicKey :: PublicKeyConfigProperty -> PublicKey+mkPublicKey publicKeyConfig+  = PublicKey+      {haddock_workaround_ = (), publicKeyConfig = publicKeyConfig}+instance ToResourceProperties PublicKey where+  toResourceProperties PublicKey {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::PublicKey",+         supportsTags = Prelude.False,+         properties = ["PublicKeyConfig" JSON..= publicKeyConfig]}+instance JSON.ToJSON PublicKey where+  toJSON PublicKey {..}+    = JSON.object ["PublicKeyConfig" JSON..= publicKeyConfig]+instance Property "PublicKeyConfig" PublicKey where+  type PropertyType "PublicKeyConfig" PublicKey = PublicKeyConfigProperty+  set newValue PublicKey {..}+    = PublicKey {publicKeyConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/PublicKey/PublicKeyConfigProperty.hs view
@@ -0,0 +1,62 @@+module Stratosphere.CloudFront.PublicKey.PublicKeyConfigProperty (+        PublicKeyConfigProperty(..), mkPublicKeyConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PublicKeyConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html>+    PublicKeyConfigProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html#cfn-cloudfront-publickey-publickeyconfig-callerreference>+                             callerReference :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html#cfn-cloudfront-publickey-publickeyconfig-comment>+                             comment :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html#cfn-cloudfront-publickey-publickeyconfig-encodedkey>+                             encodedKey :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-publickey-publickeyconfig.html#cfn-cloudfront-publickey-publickeyconfig-name>+                             name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPublicKeyConfigProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> PublicKeyConfigProperty+mkPublicKeyConfigProperty callerReference encodedKey name+  = PublicKeyConfigProperty+      {haddock_workaround_ = (), callerReference = callerReference,+       encodedKey = encodedKey, name = name, comment = Prelude.Nothing}+instance ToResourceProperties PublicKeyConfigProperty where+  toResourceProperties PublicKeyConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::PublicKey.PublicKeyConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["CallerReference" JSON..= callerReference,+                            "EncodedKey" JSON..= encodedKey, "Name" JSON..= name]+                           (Prelude.catMaybes [(JSON..=) "Comment" Prelude.<$> comment]))}+instance JSON.ToJSON PublicKeyConfigProperty where+  toJSON PublicKeyConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["CallerReference" JSON..= callerReference,+               "EncodedKey" JSON..= encodedKey, "Name" JSON..= name]+              (Prelude.catMaybes [(JSON..=) "Comment" Prelude.<$> comment])))+instance Property "CallerReference" PublicKeyConfigProperty where+  type PropertyType "CallerReference" PublicKeyConfigProperty = Value Prelude.Text+  set newValue PublicKeyConfigProperty {..}+    = PublicKeyConfigProperty {callerReference = newValue, ..}+instance Property "Comment" PublicKeyConfigProperty where+  type PropertyType "Comment" PublicKeyConfigProperty = Value Prelude.Text+  set newValue PublicKeyConfigProperty {..}+    = PublicKeyConfigProperty {comment = Prelude.pure newValue, ..}+instance Property "EncodedKey" PublicKeyConfigProperty where+  type PropertyType "EncodedKey" PublicKeyConfigProperty = Value Prelude.Text+  set newValue PublicKeyConfigProperty {..}+    = PublicKeyConfigProperty {encodedKey = newValue, ..}+instance Property "Name" PublicKeyConfigProperty where+  type PropertyType "Name" PublicKeyConfigProperty = Value Prelude.Text+  set newValue PublicKeyConfigProperty {..}+    = PublicKeyConfigProperty {name = newValue, ..}
+ gen/Stratosphere/CloudFront/PublicKey/PublicKeyConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.PublicKey.PublicKeyConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PublicKeyConfigProperty :: Prelude.Type+instance ToResourceProperties PublicKeyConfigProperty+instance Prelude.Eq PublicKeyConfigProperty+instance Prelude.Show PublicKeyConfigProperty+instance JSON.ToJSON PublicKeyConfigProperty
+ gen/Stratosphere/CloudFront/RealtimeLogConfig.hs view
@@ -0,0 +1,58 @@+module Stratosphere.CloudFront.RealtimeLogConfig (+        module Exports, RealtimeLogConfig(..), mkRealtimeLogConfig+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.RealtimeLogConfig.EndPointProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RealtimeLogConfig+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html>+    RealtimeLogConfig {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-endpoints>+                       endPoints :: [EndPointProperty],+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-fields>+                       fields :: (ValueList Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-name>+                       name :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-realtimelogconfig.html#cfn-cloudfront-realtimelogconfig-samplingrate>+                       samplingRate :: (Value Prelude.Double)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRealtimeLogConfig ::+  [EndPointProperty]+  -> ValueList Prelude.Text+     -> Value Prelude.Text -> Value Prelude.Double -> RealtimeLogConfig+mkRealtimeLogConfig endPoints fields name samplingRate+  = RealtimeLogConfig+      {haddock_workaround_ = (), endPoints = endPoints, fields = fields,+       name = name, samplingRate = samplingRate}+instance ToResourceProperties RealtimeLogConfig where+  toResourceProperties RealtimeLogConfig {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::RealtimeLogConfig",+         supportsTags = Prelude.False,+         properties = ["EndPoints" JSON..= endPoints,+                       "Fields" JSON..= fields, "Name" JSON..= name,+                       "SamplingRate" JSON..= samplingRate]}+instance JSON.ToJSON RealtimeLogConfig where+  toJSON RealtimeLogConfig {..}+    = JSON.object+        ["EndPoints" JSON..= endPoints, "Fields" JSON..= fields,+         "Name" JSON..= name, "SamplingRate" JSON..= samplingRate]+instance Property "EndPoints" RealtimeLogConfig where+  type PropertyType "EndPoints" RealtimeLogConfig = [EndPointProperty]+  set newValue RealtimeLogConfig {..}+    = RealtimeLogConfig {endPoints = newValue, ..}+instance Property "Fields" RealtimeLogConfig where+  type PropertyType "Fields" RealtimeLogConfig = ValueList Prelude.Text+  set newValue RealtimeLogConfig {..}+    = RealtimeLogConfig {fields = newValue, ..}+instance Property "Name" RealtimeLogConfig where+  type PropertyType "Name" RealtimeLogConfig = Value Prelude.Text+  set newValue RealtimeLogConfig {..}+    = RealtimeLogConfig {name = newValue, ..}+instance Property "SamplingRate" RealtimeLogConfig where+  type PropertyType "SamplingRate" RealtimeLogConfig = Value Prelude.Double+  set newValue RealtimeLogConfig {..}+    = RealtimeLogConfig {samplingRate = newValue, ..}
+ gen/Stratosphere/CloudFront/RealtimeLogConfig/EndPointProperty.hs view
@@ -0,0 +1,44 @@+module Stratosphere.CloudFront.RealtimeLogConfig.EndPointProperty (+        module Exports, EndPointProperty(..), mkEndPointProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.RealtimeLogConfig.KinesisStreamConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EndPointProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-endpoint.html>+    EndPointProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-endpoint.html#cfn-cloudfront-realtimelogconfig-endpoint-kinesisstreamconfig>+                      kinesisStreamConfig :: KinesisStreamConfigProperty,+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-endpoint.html#cfn-cloudfront-realtimelogconfig-endpoint-streamtype>+                      streamType :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEndPointProperty ::+  KinesisStreamConfigProperty+  -> Value Prelude.Text -> EndPointProperty+mkEndPointProperty kinesisStreamConfig streamType+  = EndPointProperty+      {haddock_workaround_ = (),+       kinesisStreamConfig = kinesisStreamConfig, streamType = streamType}+instance ToResourceProperties EndPointProperty where+  toResourceProperties EndPointProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::RealtimeLogConfig.EndPoint",+         supportsTags = Prelude.False,+         properties = ["KinesisStreamConfig" JSON..= kinesisStreamConfig,+                       "StreamType" JSON..= streamType]}+instance JSON.ToJSON EndPointProperty where+  toJSON EndPointProperty {..}+    = JSON.object+        ["KinesisStreamConfig" JSON..= kinesisStreamConfig,+         "StreamType" JSON..= streamType]+instance Property "KinesisStreamConfig" EndPointProperty where+  type PropertyType "KinesisStreamConfig" EndPointProperty = KinesisStreamConfigProperty+  set newValue EndPointProperty {..}+    = EndPointProperty {kinesisStreamConfig = newValue, ..}+instance Property "StreamType" EndPointProperty where+  type PropertyType "StreamType" EndPointProperty = Value Prelude.Text+  set newValue EndPointProperty {..}+    = EndPointProperty {streamType = newValue, ..}
+ gen/Stratosphere/CloudFront/RealtimeLogConfig/EndPointProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.RealtimeLogConfig.EndPointProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EndPointProperty :: Prelude.Type+instance ToResourceProperties EndPointProperty+instance Prelude.Eq EndPointProperty+instance Prelude.Show EndPointProperty+instance JSON.ToJSON EndPointProperty
+ gen/Stratosphere/CloudFront/RealtimeLogConfig/KinesisStreamConfigProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.CloudFront.RealtimeLogConfig.KinesisStreamConfigProperty (+        KinesisStreamConfigProperty(..), mkKinesisStreamConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data KinesisStreamConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-kinesisstreamconfig.html>+    KinesisStreamConfigProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-kinesisstreamconfig.html#cfn-cloudfront-realtimelogconfig-kinesisstreamconfig-rolearn>+                                 roleArn :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-realtimelogconfig-kinesisstreamconfig.html#cfn-cloudfront-realtimelogconfig-kinesisstreamconfig-streamarn>+                                 streamArn :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkKinesisStreamConfigProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> KinesisStreamConfigProperty+mkKinesisStreamConfigProperty roleArn streamArn+  = KinesisStreamConfigProperty+      {haddock_workaround_ = (), roleArn = roleArn,+       streamArn = streamArn}+instance ToResourceProperties KinesisStreamConfigProperty where+  toResourceProperties KinesisStreamConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::RealtimeLogConfig.KinesisStreamConfig",+         supportsTags = Prelude.False,+         properties = ["RoleArn" JSON..= roleArn,+                       "StreamArn" JSON..= streamArn]}+instance JSON.ToJSON KinesisStreamConfigProperty where+  toJSON KinesisStreamConfigProperty {..}+    = JSON.object+        ["RoleArn" JSON..= roleArn, "StreamArn" JSON..= streamArn]+instance Property "RoleArn" KinesisStreamConfigProperty where+  type PropertyType "RoleArn" KinesisStreamConfigProperty = Value Prelude.Text+  set newValue KinesisStreamConfigProperty {..}+    = KinesisStreamConfigProperty {roleArn = newValue, ..}+instance Property "StreamArn" KinesisStreamConfigProperty where+  type PropertyType "StreamArn" KinesisStreamConfigProperty = Value Prelude.Text+  set newValue KinesisStreamConfigProperty {..}+    = KinesisStreamConfigProperty {streamArn = newValue, ..}
+ gen/Stratosphere/CloudFront/RealtimeLogConfig/KinesisStreamConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.RealtimeLogConfig.KinesisStreamConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data KinesisStreamConfigProperty :: Prelude.Type+instance ToResourceProperties KinesisStreamConfigProperty+instance Prelude.Eq KinesisStreamConfigProperty+instance Prelude.Show KinesisStreamConfigProperty+instance JSON.ToJSON KinesisStreamConfigProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy.hs view
@@ -0,0 +1,36 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy (+        module Exports, ResponseHeadersPolicy(..), mkResponseHeadersPolicy+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty as Exports+import Stratosphere.ResourceProperties+data ResponseHeadersPolicy+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html>+    ResponseHeadersPolicy {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-responseheaderspolicy.html#cfn-cloudfront-responseheaderspolicy-responseheaderspolicyconfig>+                           responseHeadersPolicyConfig :: ResponseHeadersPolicyConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResponseHeadersPolicy ::+  ResponseHeadersPolicyConfigProperty -> ResponseHeadersPolicy+mkResponseHeadersPolicy responseHeadersPolicyConfig+  = ResponseHeadersPolicy+      {haddock_workaround_ = (),+       responseHeadersPolicyConfig = responseHeadersPolicyConfig}+instance ToResourceProperties ResponseHeadersPolicy where+  toResourceProperties ResponseHeadersPolicy {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy",+         supportsTags = Prelude.False,+         properties = ["ResponseHeadersPolicyConfig"+                         JSON..= responseHeadersPolicyConfig]}+instance JSON.ToJSON ResponseHeadersPolicy where+  toJSON ResponseHeadersPolicy {..}+    = JSON.object+        ["ResponseHeadersPolicyConfig" JSON..= responseHeadersPolicyConfig]+instance Property "ResponseHeadersPolicyConfig" ResponseHeadersPolicy where+  type PropertyType "ResponseHeadersPolicyConfig" ResponseHeadersPolicy = ResponseHeadersPolicyConfigProperty+  set newValue ResponseHeadersPolicy {..}+    = ResponseHeadersPolicy+        {responseHeadersPolicyConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/AccessControlAllowHeadersProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowHeadersProperty (+        AccessControlAllowHeadersProperty(..),+        mkAccessControlAllowHeadersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessControlAllowHeadersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-accesscontrolallowheaders.html>+    AccessControlAllowHeadersProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-accesscontrolallowheaders.html#cfn-cloudfront-responseheaderspolicy-accesscontrolallowheaders-items>+                                       items :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessControlAllowHeadersProperty ::+  ValueList Prelude.Text -> AccessControlAllowHeadersProperty+mkAccessControlAllowHeadersProperty items+  = AccessControlAllowHeadersProperty+      {haddock_workaround_ = (), items = items}+instance ToResourceProperties AccessControlAllowHeadersProperty where+  toResourceProperties AccessControlAllowHeadersProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowHeaders",+         supportsTags = Prelude.False, properties = ["Items" JSON..= items]}+instance JSON.ToJSON AccessControlAllowHeadersProperty where+  toJSON AccessControlAllowHeadersProperty {..}+    = JSON.object ["Items" JSON..= items]+instance Property "Items" AccessControlAllowHeadersProperty where+  type PropertyType "Items" AccessControlAllowHeadersProperty = ValueList Prelude.Text+  set newValue AccessControlAllowHeadersProperty {..}+    = AccessControlAllowHeadersProperty {items = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/AccessControlAllowHeadersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowHeadersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessControlAllowHeadersProperty :: Prelude.Type+instance ToResourceProperties AccessControlAllowHeadersProperty+instance Prelude.Eq AccessControlAllowHeadersProperty+instance Prelude.Show AccessControlAllowHeadersProperty+instance JSON.ToJSON AccessControlAllowHeadersProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/AccessControlAllowMethodsProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowMethodsProperty (+        AccessControlAllowMethodsProperty(..),+        mkAccessControlAllowMethodsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessControlAllowMethodsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-accesscontrolallowmethods.html>+    AccessControlAllowMethodsProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-accesscontrolallowmethods.html#cfn-cloudfront-responseheaderspolicy-accesscontrolallowmethods-items>+                                       items :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessControlAllowMethodsProperty ::+  ValueList Prelude.Text -> AccessControlAllowMethodsProperty+mkAccessControlAllowMethodsProperty items+  = AccessControlAllowMethodsProperty+      {haddock_workaround_ = (), items = items}+instance ToResourceProperties AccessControlAllowMethodsProperty where+  toResourceProperties AccessControlAllowMethodsProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowMethods",+         supportsTags = Prelude.False, properties = ["Items" JSON..= items]}+instance JSON.ToJSON AccessControlAllowMethodsProperty where+  toJSON AccessControlAllowMethodsProperty {..}+    = JSON.object ["Items" JSON..= items]+instance Property "Items" AccessControlAllowMethodsProperty where+  type PropertyType "Items" AccessControlAllowMethodsProperty = ValueList Prelude.Text+  set newValue AccessControlAllowMethodsProperty {..}+    = AccessControlAllowMethodsProperty {items = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/AccessControlAllowMethodsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowMethodsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessControlAllowMethodsProperty :: Prelude.Type+instance ToResourceProperties AccessControlAllowMethodsProperty+instance Prelude.Eq AccessControlAllowMethodsProperty+instance Prelude.Show AccessControlAllowMethodsProperty+instance JSON.ToJSON AccessControlAllowMethodsProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/AccessControlAllowOriginsProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowOriginsProperty (+        AccessControlAllowOriginsProperty(..),+        mkAccessControlAllowOriginsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessControlAllowOriginsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-accesscontrolalloworigins.html>+    AccessControlAllowOriginsProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-accesscontrolalloworigins.html#cfn-cloudfront-responseheaderspolicy-accesscontrolalloworigins-items>+                                       items :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessControlAllowOriginsProperty ::+  ValueList Prelude.Text -> AccessControlAllowOriginsProperty+mkAccessControlAllowOriginsProperty items+  = AccessControlAllowOriginsProperty+      {haddock_workaround_ = (), items = items}+instance ToResourceProperties AccessControlAllowOriginsProperty where+  toResourceProperties AccessControlAllowOriginsProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.AccessControlAllowOrigins",+         supportsTags = Prelude.False, properties = ["Items" JSON..= items]}+instance JSON.ToJSON AccessControlAllowOriginsProperty where+  toJSON AccessControlAllowOriginsProperty {..}+    = JSON.object ["Items" JSON..= items]+instance Property "Items" AccessControlAllowOriginsProperty where+  type PropertyType "Items" AccessControlAllowOriginsProperty = ValueList Prelude.Text+  set newValue AccessControlAllowOriginsProperty {..}+    = AccessControlAllowOriginsProperty {items = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/AccessControlAllowOriginsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowOriginsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessControlAllowOriginsProperty :: Prelude.Type+instance ToResourceProperties AccessControlAllowOriginsProperty+instance Prelude.Eq AccessControlAllowOriginsProperty+instance Prelude.Show AccessControlAllowOriginsProperty+instance JSON.ToJSON AccessControlAllowOriginsProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/AccessControlExposeHeadersProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlExposeHeadersProperty (+        AccessControlExposeHeadersProperty(..),+        mkAccessControlExposeHeadersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessControlExposeHeadersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-accesscontrolexposeheaders.html>+    AccessControlExposeHeadersProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-accesscontrolexposeheaders.html#cfn-cloudfront-responseheaderspolicy-accesscontrolexposeheaders-items>+                                        items :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessControlExposeHeadersProperty ::+  ValueList Prelude.Text -> AccessControlExposeHeadersProperty+mkAccessControlExposeHeadersProperty items+  = AccessControlExposeHeadersProperty+      {haddock_workaround_ = (), items = items}+instance ToResourceProperties AccessControlExposeHeadersProperty where+  toResourceProperties AccessControlExposeHeadersProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.AccessControlExposeHeaders",+         supportsTags = Prelude.False, properties = ["Items" JSON..= items]}+instance JSON.ToJSON AccessControlExposeHeadersProperty where+  toJSON AccessControlExposeHeadersProperty {..}+    = JSON.object ["Items" JSON..= items]+instance Property "Items" AccessControlExposeHeadersProperty where+  type PropertyType "Items" AccessControlExposeHeadersProperty = ValueList Prelude.Text+  set newValue AccessControlExposeHeadersProperty {..}+    = AccessControlExposeHeadersProperty {items = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/AccessControlExposeHeadersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlExposeHeadersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessControlExposeHeadersProperty :: Prelude.Type+instance ToResourceProperties AccessControlExposeHeadersProperty+instance Prelude.Eq AccessControlExposeHeadersProperty+instance Prelude.Show AccessControlExposeHeadersProperty+instance JSON.ToJSON AccessControlExposeHeadersProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ContentSecurityPolicyProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ContentSecurityPolicyProperty (+        ContentSecurityPolicyProperty(..), mkContentSecurityPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ContentSecurityPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-contentsecuritypolicy.html>+    ContentSecurityPolicyProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-contentsecuritypolicy.html#cfn-cloudfront-responseheaderspolicy-contentsecuritypolicy-contentsecuritypolicy>+                                   contentSecurityPolicy :: (Value Prelude.Text),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-contentsecuritypolicy.html#cfn-cloudfront-responseheaderspolicy-contentsecuritypolicy-override>+                                   override :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkContentSecurityPolicyProperty ::+  Value Prelude.Text+  -> Value Prelude.Bool -> ContentSecurityPolicyProperty+mkContentSecurityPolicyProperty contentSecurityPolicy override+  = ContentSecurityPolicyProperty+      {haddock_workaround_ = (),+       contentSecurityPolicy = contentSecurityPolicy, override = override}+instance ToResourceProperties ContentSecurityPolicyProperty where+  toResourceProperties ContentSecurityPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.ContentSecurityPolicy",+         supportsTags = Prelude.False,+         properties = ["ContentSecurityPolicy"+                         JSON..= contentSecurityPolicy,+                       "Override" JSON..= override]}+instance JSON.ToJSON ContentSecurityPolicyProperty where+  toJSON ContentSecurityPolicyProperty {..}+    = JSON.object+        ["ContentSecurityPolicy" JSON..= contentSecurityPolicy,+         "Override" JSON..= override]+instance Property "ContentSecurityPolicy" ContentSecurityPolicyProperty where+  type PropertyType "ContentSecurityPolicy" ContentSecurityPolicyProperty = Value Prelude.Text+  set newValue ContentSecurityPolicyProperty {..}+    = ContentSecurityPolicyProperty+        {contentSecurityPolicy = newValue, ..}+instance Property "Override" ContentSecurityPolicyProperty where+  type PropertyType "Override" ContentSecurityPolicyProperty = Value Prelude.Bool+  set newValue ContentSecurityPolicyProperty {..}+    = ContentSecurityPolicyProperty {override = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ContentSecurityPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ContentSecurityPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ContentSecurityPolicyProperty :: Prelude.Type+instance ToResourceProperties ContentSecurityPolicyProperty+instance Prelude.Eq ContentSecurityPolicyProperty+instance Prelude.Show ContentSecurityPolicyProperty+instance JSON.ToJSON ContentSecurityPolicyProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ContentTypeOptionsProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ContentTypeOptionsProperty (+        ContentTypeOptionsProperty(..), mkContentTypeOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ContentTypeOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-contenttypeoptions.html>+    ContentTypeOptionsProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-contenttypeoptions.html#cfn-cloudfront-responseheaderspolicy-contenttypeoptions-override>+                                override :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkContentTypeOptionsProperty ::+  Value Prelude.Bool -> ContentTypeOptionsProperty+mkContentTypeOptionsProperty override+  = ContentTypeOptionsProperty+      {haddock_workaround_ = (), override = override}+instance ToResourceProperties ContentTypeOptionsProperty where+  toResourceProperties ContentTypeOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.ContentTypeOptions",+         supportsTags = Prelude.False,+         properties = ["Override" JSON..= override]}+instance JSON.ToJSON ContentTypeOptionsProperty where+  toJSON ContentTypeOptionsProperty {..}+    = JSON.object ["Override" JSON..= override]+instance Property "Override" ContentTypeOptionsProperty where+  type PropertyType "Override" ContentTypeOptionsProperty = Value Prelude.Bool+  set newValue ContentTypeOptionsProperty {..}+    = ContentTypeOptionsProperty {override = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ContentTypeOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ContentTypeOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ContentTypeOptionsProperty :: Prelude.Type+instance ToResourceProperties ContentTypeOptionsProperty+instance Prelude.Eq ContentTypeOptionsProperty+instance Prelude.Show ContentTypeOptionsProperty+instance JSON.ToJSON ContentTypeOptionsProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/CorsConfigProperty.hs view
@@ -0,0 +1,115 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.CorsConfigProperty (+        module Exports, CorsConfigProperty(..), mkCorsConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowHeadersProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowMethodsProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowOriginsProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlExposeHeadersProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CorsConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-corsconfig.html>+    CorsConfigProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-corsconfig.html#cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolallowcredentials>+                        accessControlAllowCredentials :: (Value Prelude.Bool),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-corsconfig.html#cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolallowheaders>+                        accessControlAllowHeaders :: AccessControlAllowHeadersProperty,+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-corsconfig.html#cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolallowmethods>+                        accessControlAllowMethods :: AccessControlAllowMethodsProperty,+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-corsconfig.html#cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolalloworigins>+                        accessControlAllowOrigins :: AccessControlAllowOriginsProperty,+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-corsconfig.html#cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolexposeheaders>+                        accessControlExposeHeaders :: (Prelude.Maybe AccessControlExposeHeadersProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-corsconfig.html#cfn-cloudfront-responseheaderspolicy-corsconfig-accesscontrolmaxagesec>+                        accessControlMaxAgeSec :: (Prelude.Maybe (Value Prelude.Integer)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-corsconfig.html#cfn-cloudfront-responseheaderspolicy-corsconfig-originoverride>+                        originOverride :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCorsConfigProperty ::+  Value Prelude.Bool+  -> AccessControlAllowHeadersProperty+     -> AccessControlAllowMethodsProperty+        -> AccessControlAllowOriginsProperty+           -> Value Prelude.Bool -> CorsConfigProperty+mkCorsConfigProperty+  accessControlAllowCredentials+  accessControlAllowHeaders+  accessControlAllowMethods+  accessControlAllowOrigins+  originOverride+  = CorsConfigProperty+      {haddock_workaround_ = (),+       accessControlAllowCredentials = accessControlAllowCredentials,+       accessControlAllowHeaders = accessControlAllowHeaders,+       accessControlAllowMethods = accessControlAllowMethods,+       accessControlAllowOrigins = accessControlAllowOrigins,+       originOverride = originOverride,+       accessControlExposeHeaders = Prelude.Nothing,+       accessControlMaxAgeSec = Prelude.Nothing}+instance ToResourceProperties CorsConfigProperty where+  toResourceProperties CorsConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.CorsConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AccessControlAllowCredentials"+                              JSON..= accessControlAllowCredentials,+                            "AccessControlAllowHeaders" JSON..= accessControlAllowHeaders,+                            "AccessControlAllowMethods" JSON..= accessControlAllowMethods,+                            "AccessControlAllowOrigins" JSON..= accessControlAllowOrigins,+                            "OriginOverride" JSON..= originOverride]+                           (Prelude.catMaybes+                              [(JSON..=) "AccessControlExposeHeaders"+                                 Prelude.<$> accessControlExposeHeaders,+                               (JSON..=) "AccessControlMaxAgeSec"+                                 Prelude.<$> accessControlMaxAgeSec]))}+instance JSON.ToJSON CorsConfigProperty where+  toJSON CorsConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AccessControlAllowCredentials"+                 JSON..= accessControlAllowCredentials,+               "AccessControlAllowHeaders" JSON..= accessControlAllowHeaders,+               "AccessControlAllowMethods" JSON..= accessControlAllowMethods,+               "AccessControlAllowOrigins" JSON..= accessControlAllowOrigins,+               "OriginOverride" JSON..= originOverride]+              (Prelude.catMaybes+                 [(JSON..=) "AccessControlExposeHeaders"+                    Prelude.<$> accessControlExposeHeaders,+                  (JSON..=) "AccessControlMaxAgeSec"+                    Prelude.<$> accessControlMaxAgeSec])))+instance Property "AccessControlAllowCredentials" CorsConfigProperty where+  type PropertyType "AccessControlAllowCredentials" CorsConfigProperty = Value Prelude.Bool+  set newValue CorsConfigProperty {..}+    = CorsConfigProperty {accessControlAllowCredentials = newValue, ..}+instance Property "AccessControlAllowHeaders" CorsConfigProperty where+  type PropertyType "AccessControlAllowHeaders" CorsConfigProperty = AccessControlAllowHeadersProperty+  set newValue CorsConfigProperty {..}+    = CorsConfigProperty {accessControlAllowHeaders = newValue, ..}+instance Property "AccessControlAllowMethods" CorsConfigProperty where+  type PropertyType "AccessControlAllowMethods" CorsConfigProperty = AccessControlAllowMethodsProperty+  set newValue CorsConfigProperty {..}+    = CorsConfigProperty {accessControlAllowMethods = newValue, ..}+instance Property "AccessControlAllowOrigins" CorsConfigProperty where+  type PropertyType "AccessControlAllowOrigins" CorsConfigProperty = AccessControlAllowOriginsProperty+  set newValue CorsConfigProperty {..}+    = CorsConfigProperty {accessControlAllowOrigins = newValue, ..}+instance Property "AccessControlExposeHeaders" CorsConfigProperty where+  type PropertyType "AccessControlExposeHeaders" CorsConfigProperty = AccessControlExposeHeadersProperty+  set newValue CorsConfigProperty {..}+    = CorsConfigProperty+        {accessControlExposeHeaders = Prelude.pure newValue, ..}+instance Property "AccessControlMaxAgeSec" CorsConfigProperty where+  type PropertyType "AccessControlMaxAgeSec" CorsConfigProperty = Value Prelude.Integer+  set newValue CorsConfigProperty {..}+    = CorsConfigProperty+        {accessControlMaxAgeSec = Prelude.pure newValue, ..}+instance Property "OriginOverride" CorsConfigProperty where+  type PropertyType "OriginOverride" CorsConfigProperty = Value Prelude.Bool+  set newValue CorsConfigProperty {..}+    = CorsConfigProperty {originOverride = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/CorsConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.CorsConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CorsConfigProperty :: Prelude.Type+instance ToResourceProperties CorsConfigProperty+instance Prelude.Eq CorsConfigProperty+instance Prelude.Show CorsConfigProperty+instance JSON.ToJSON CorsConfigProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/CustomHeaderProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.CustomHeaderProperty (+        CustomHeaderProperty(..), mkCustomHeaderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CustomHeaderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-customheader.html>+    CustomHeaderProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-customheader.html#cfn-cloudfront-responseheaderspolicy-customheader-header>+                          header :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-customheader.html#cfn-cloudfront-responseheaderspolicy-customheader-override>+                          override :: (Value Prelude.Bool),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-customheader.html#cfn-cloudfront-responseheaderspolicy-customheader-value>+                          value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomHeaderProperty ::+  Value Prelude.Text+  -> Value Prelude.Bool -> Value Prelude.Text -> CustomHeaderProperty+mkCustomHeaderProperty header override value+  = CustomHeaderProperty+      {haddock_workaround_ = (), header = header, override = override,+       value = value}+instance ToResourceProperties CustomHeaderProperty where+  toResourceProperties CustomHeaderProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.CustomHeader",+         supportsTags = Prelude.False,+         properties = ["Header" JSON..= header, "Override" JSON..= override,+                       "Value" JSON..= value]}+instance JSON.ToJSON CustomHeaderProperty where+  toJSON CustomHeaderProperty {..}+    = JSON.object+        ["Header" JSON..= header, "Override" JSON..= override,+         "Value" JSON..= value]+instance Property "Header" CustomHeaderProperty where+  type PropertyType "Header" CustomHeaderProperty = Value Prelude.Text+  set newValue CustomHeaderProperty {..}+    = CustomHeaderProperty {header = newValue, ..}+instance Property "Override" CustomHeaderProperty where+  type PropertyType "Override" CustomHeaderProperty = Value Prelude.Bool+  set newValue CustomHeaderProperty {..}+    = CustomHeaderProperty {override = newValue, ..}+instance Property "Value" CustomHeaderProperty where+  type PropertyType "Value" CustomHeaderProperty = Value Prelude.Text+  set newValue CustomHeaderProperty {..}+    = CustomHeaderProperty {value = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/CustomHeaderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.CustomHeaderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomHeaderProperty :: Prelude.Type+instance ToResourceProperties CustomHeaderProperty+instance Prelude.Eq CustomHeaderProperty+instance Prelude.Show CustomHeaderProperty+instance JSON.ToJSON CustomHeaderProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/CustomHeadersConfigProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.CustomHeadersConfigProperty (+        module Exports, CustomHeadersConfigProperty(..),+        mkCustomHeadersConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.CustomHeaderProperty as Exports+import Stratosphere.ResourceProperties+data CustomHeadersConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-customheadersconfig.html>+    CustomHeadersConfigProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-customheadersconfig.html#cfn-cloudfront-responseheaderspolicy-customheadersconfig-items>+                                 items :: [CustomHeaderProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomHeadersConfigProperty ::+  [CustomHeaderProperty] -> CustomHeadersConfigProperty+mkCustomHeadersConfigProperty items+  = CustomHeadersConfigProperty+      {haddock_workaround_ = (), items = items}+instance ToResourceProperties CustomHeadersConfigProperty where+  toResourceProperties CustomHeadersConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.CustomHeadersConfig",+         supportsTags = Prelude.False, properties = ["Items" JSON..= items]}+instance JSON.ToJSON CustomHeadersConfigProperty where+  toJSON CustomHeadersConfigProperty {..}+    = JSON.object ["Items" JSON..= items]+instance Property "Items" CustomHeadersConfigProperty where+  type PropertyType "Items" CustomHeadersConfigProperty = [CustomHeaderProperty]+  set newValue CustomHeadersConfigProperty {..}+    = CustomHeadersConfigProperty {items = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/CustomHeadersConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.CustomHeadersConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CustomHeadersConfigProperty :: Prelude.Type+instance ToResourceProperties CustomHeadersConfigProperty+instance Prelude.Eq CustomHeadersConfigProperty+instance Prelude.Show CustomHeadersConfigProperty+instance JSON.ToJSON CustomHeadersConfigProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/FrameOptionsProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.FrameOptionsProperty (+        FrameOptionsProperty(..), mkFrameOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FrameOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-frameoptions.html>+    FrameOptionsProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-frameoptions.html#cfn-cloudfront-responseheaderspolicy-frameoptions-frameoption>+                          frameOption :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-frameoptions.html#cfn-cloudfront-responseheaderspolicy-frameoptions-override>+                          override :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFrameOptionsProperty ::+  Value Prelude.Text -> Value Prelude.Bool -> FrameOptionsProperty+mkFrameOptionsProperty frameOption override+  = FrameOptionsProperty+      {haddock_workaround_ = (), frameOption = frameOption,+       override = override}+instance ToResourceProperties FrameOptionsProperty where+  toResourceProperties FrameOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.FrameOptions",+         supportsTags = Prelude.False,+         properties = ["FrameOption" JSON..= frameOption,+                       "Override" JSON..= override]}+instance JSON.ToJSON FrameOptionsProperty where+  toJSON FrameOptionsProperty {..}+    = JSON.object+        ["FrameOption" JSON..= frameOption, "Override" JSON..= override]+instance Property "FrameOption" FrameOptionsProperty where+  type PropertyType "FrameOption" FrameOptionsProperty = Value Prelude.Text+  set newValue FrameOptionsProperty {..}+    = FrameOptionsProperty {frameOption = newValue, ..}+instance Property "Override" FrameOptionsProperty where+  type PropertyType "Override" FrameOptionsProperty = Value Prelude.Bool+  set newValue FrameOptionsProperty {..}+    = FrameOptionsProperty {override = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/FrameOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.FrameOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FrameOptionsProperty :: Prelude.Type+instance ToResourceProperties FrameOptionsProperty+instance Prelude.Eq FrameOptionsProperty+instance Prelude.Show FrameOptionsProperty+instance JSON.ToJSON FrameOptionsProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ReferrerPolicyProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ReferrerPolicyProperty (+        ReferrerPolicyProperty(..), mkReferrerPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ReferrerPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-referrerpolicy.html>+    ReferrerPolicyProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-referrerpolicy.html#cfn-cloudfront-responseheaderspolicy-referrerpolicy-override>+                            override :: (Value Prelude.Bool),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-referrerpolicy.html#cfn-cloudfront-responseheaderspolicy-referrerpolicy-referrerpolicy>+                            referrerPolicy :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkReferrerPolicyProperty ::+  Value Prelude.Bool -> Value Prelude.Text -> ReferrerPolicyProperty+mkReferrerPolicyProperty override referrerPolicy+  = ReferrerPolicyProperty+      {haddock_workaround_ = (), override = override,+       referrerPolicy = referrerPolicy}+instance ToResourceProperties ReferrerPolicyProperty where+  toResourceProperties ReferrerPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.ReferrerPolicy",+         supportsTags = Prelude.False,+         properties = ["Override" JSON..= override,+                       "ReferrerPolicy" JSON..= referrerPolicy]}+instance JSON.ToJSON ReferrerPolicyProperty where+  toJSON ReferrerPolicyProperty {..}+    = JSON.object+        ["Override" JSON..= override,+         "ReferrerPolicy" JSON..= referrerPolicy]+instance Property "Override" ReferrerPolicyProperty where+  type PropertyType "Override" ReferrerPolicyProperty = Value Prelude.Bool+  set newValue ReferrerPolicyProperty {..}+    = ReferrerPolicyProperty {override = newValue, ..}+instance Property "ReferrerPolicy" ReferrerPolicyProperty where+  type PropertyType "ReferrerPolicy" ReferrerPolicyProperty = Value Prelude.Text+  set newValue ReferrerPolicyProperty {..}+    = ReferrerPolicyProperty {referrerPolicy = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ReferrerPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ReferrerPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ReferrerPolicyProperty :: Prelude.Type+instance ToResourceProperties ReferrerPolicyProperty+instance Prelude.Eq ReferrerPolicyProperty+instance Prelude.Show ReferrerPolicyProperty+instance JSON.ToJSON ReferrerPolicyProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/RemoveHeaderProperty.hs view
@@ -0,0 +1,31 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.RemoveHeaderProperty (+        RemoveHeaderProperty(..), mkRemoveHeaderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RemoveHeaderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-removeheader.html>+    RemoveHeaderProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-removeheader.html#cfn-cloudfront-responseheaderspolicy-removeheader-header>+                          header :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRemoveHeaderProperty ::+  Value Prelude.Text -> RemoveHeaderProperty+mkRemoveHeaderProperty header+  = RemoveHeaderProperty {haddock_workaround_ = (), header = header}+instance ToResourceProperties RemoveHeaderProperty where+  toResourceProperties RemoveHeaderProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeader",+         supportsTags = Prelude.False,+         properties = ["Header" JSON..= header]}+instance JSON.ToJSON RemoveHeaderProperty where+  toJSON RemoveHeaderProperty {..}+    = JSON.object ["Header" JSON..= header]+instance Property "Header" RemoveHeaderProperty where+  type PropertyType "Header" RemoveHeaderProperty = Value Prelude.Text+  set newValue RemoveHeaderProperty {..}+    = RemoveHeaderProperty {header = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/RemoveHeaderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.RemoveHeaderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RemoveHeaderProperty :: Prelude.Type+instance ToResourceProperties RemoveHeaderProperty+instance Prelude.Eq RemoveHeaderProperty+instance Prelude.Show RemoveHeaderProperty+instance JSON.ToJSON RemoveHeaderProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/RemoveHeadersConfigProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.RemoveHeadersConfigProperty (+        module Exports, RemoveHeadersConfigProperty(..),+        mkRemoveHeadersConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.RemoveHeaderProperty as Exports+import Stratosphere.ResourceProperties+data RemoveHeadersConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-removeheadersconfig.html>+    RemoveHeadersConfigProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-removeheadersconfig.html#cfn-cloudfront-responseheaderspolicy-removeheadersconfig-items>+                                 items :: [RemoveHeaderProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRemoveHeadersConfigProperty ::+  [RemoveHeaderProperty] -> RemoveHeadersConfigProperty+mkRemoveHeadersConfigProperty items+  = RemoveHeadersConfigProperty+      {haddock_workaround_ = (), items = items}+instance ToResourceProperties RemoveHeadersConfigProperty where+  toResourceProperties RemoveHeadersConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.RemoveHeadersConfig",+         supportsTags = Prelude.False, properties = ["Items" JSON..= items]}+instance JSON.ToJSON RemoveHeadersConfigProperty where+  toJSON RemoveHeadersConfigProperty {..}+    = JSON.object ["Items" JSON..= items]+instance Property "Items" RemoveHeadersConfigProperty where+  type PropertyType "Items" RemoveHeadersConfigProperty = [RemoveHeaderProperty]+  set newValue RemoveHeadersConfigProperty {..}+    = RemoveHeadersConfigProperty {items = newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/RemoveHeadersConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.RemoveHeadersConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RemoveHeadersConfigProperty :: Prelude.Type+instance ToResourceProperties RemoveHeadersConfigProperty+instance Prelude.Eq RemoveHeadersConfigProperty+instance Prelude.Show RemoveHeadersConfigProperty+instance JSON.ToJSON RemoveHeadersConfigProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ResponseHeadersPolicyConfigProperty.hs view
@@ -0,0 +1,108 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty (+        module Exports, ResponseHeadersPolicyConfigProperty(..),+        mkResponseHeadersPolicyConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.CorsConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.CustomHeadersConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.RemoveHeadersConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.SecurityHeadersConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.ServerTimingHeadersConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ResponseHeadersPolicyConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-responseheaderspolicyconfig.html>+    ResponseHeadersPolicyConfigProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-responseheaderspolicyconfig.html#cfn-cloudfront-responseheaderspolicy-responseheaderspolicyconfig-comment>+                                         comment :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-responseheaderspolicyconfig.html#cfn-cloudfront-responseheaderspolicy-responseheaderspolicyconfig-corsconfig>+                                         corsConfig :: (Prelude.Maybe CorsConfigProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-responseheaderspolicyconfig.html#cfn-cloudfront-responseheaderspolicy-responseheaderspolicyconfig-customheadersconfig>+                                         customHeadersConfig :: (Prelude.Maybe CustomHeadersConfigProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-responseheaderspolicyconfig.html#cfn-cloudfront-responseheaderspolicy-responseheaderspolicyconfig-name>+                                         name :: (Value Prelude.Text),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-responseheaderspolicyconfig.html#cfn-cloudfront-responseheaderspolicy-responseheaderspolicyconfig-removeheadersconfig>+                                         removeHeadersConfig :: (Prelude.Maybe RemoveHeadersConfigProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-responseheaderspolicyconfig.html#cfn-cloudfront-responseheaderspolicy-responseheaderspolicyconfig-securityheadersconfig>+                                         securityHeadersConfig :: (Prelude.Maybe SecurityHeadersConfigProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-responseheaderspolicyconfig.html#cfn-cloudfront-responseheaderspolicy-responseheaderspolicyconfig-servertimingheadersconfig>+                                         serverTimingHeadersConfig :: (Prelude.Maybe ServerTimingHeadersConfigProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResponseHeadersPolicyConfigProperty ::+  Value Prelude.Text -> ResponseHeadersPolicyConfigProperty+mkResponseHeadersPolicyConfigProperty name+  = ResponseHeadersPolicyConfigProperty+      {haddock_workaround_ = (), name = name, comment = Prelude.Nothing,+       corsConfig = Prelude.Nothing,+       customHeadersConfig = Prelude.Nothing,+       removeHeadersConfig = Prelude.Nothing,+       securityHeadersConfig = Prelude.Nothing,+       serverTimingHeadersConfig = Prelude.Nothing}+instance ToResourceProperties ResponseHeadersPolicyConfigProperty where+  toResourceProperties ResponseHeadersPolicyConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.ResponseHeadersPolicyConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "Comment" Prelude.<$> comment,+                               (JSON..=) "CorsConfig" Prelude.<$> corsConfig,+                               (JSON..=) "CustomHeadersConfig" Prelude.<$> customHeadersConfig,+                               (JSON..=) "RemoveHeadersConfig" Prelude.<$> removeHeadersConfig,+                               (JSON..=) "SecurityHeadersConfig"+                                 Prelude.<$> securityHeadersConfig,+                               (JSON..=) "ServerTimingHeadersConfig"+                                 Prelude.<$> serverTimingHeadersConfig]))}+instance JSON.ToJSON ResponseHeadersPolicyConfigProperty where+  toJSON ResponseHeadersPolicyConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "Comment" Prelude.<$> comment,+                  (JSON..=) "CorsConfig" Prelude.<$> corsConfig,+                  (JSON..=) "CustomHeadersConfig" Prelude.<$> customHeadersConfig,+                  (JSON..=) "RemoveHeadersConfig" Prelude.<$> removeHeadersConfig,+                  (JSON..=) "SecurityHeadersConfig"+                    Prelude.<$> securityHeadersConfig,+                  (JSON..=) "ServerTimingHeadersConfig"+                    Prelude.<$> serverTimingHeadersConfig])))+instance Property "Comment" ResponseHeadersPolicyConfigProperty where+  type PropertyType "Comment" ResponseHeadersPolicyConfigProperty = Value Prelude.Text+  set newValue ResponseHeadersPolicyConfigProperty {..}+    = ResponseHeadersPolicyConfigProperty+        {comment = Prelude.pure newValue, ..}+instance Property "CorsConfig" ResponseHeadersPolicyConfigProperty where+  type PropertyType "CorsConfig" ResponseHeadersPolicyConfigProperty = CorsConfigProperty+  set newValue ResponseHeadersPolicyConfigProperty {..}+    = ResponseHeadersPolicyConfigProperty+        {corsConfig = Prelude.pure newValue, ..}+instance Property "CustomHeadersConfig" ResponseHeadersPolicyConfigProperty where+  type PropertyType "CustomHeadersConfig" ResponseHeadersPolicyConfigProperty = CustomHeadersConfigProperty+  set newValue ResponseHeadersPolicyConfigProperty {..}+    = ResponseHeadersPolicyConfigProperty+        {customHeadersConfig = Prelude.pure newValue, ..}+instance Property "Name" ResponseHeadersPolicyConfigProperty where+  type PropertyType "Name" ResponseHeadersPolicyConfigProperty = Value Prelude.Text+  set newValue ResponseHeadersPolicyConfigProperty {..}+    = ResponseHeadersPolicyConfigProperty {name = newValue, ..}+instance Property "RemoveHeadersConfig" ResponseHeadersPolicyConfigProperty where+  type PropertyType "RemoveHeadersConfig" ResponseHeadersPolicyConfigProperty = RemoveHeadersConfigProperty+  set newValue ResponseHeadersPolicyConfigProperty {..}+    = ResponseHeadersPolicyConfigProperty+        {removeHeadersConfig = Prelude.pure newValue, ..}+instance Property "SecurityHeadersConfig" ResponseHeadersPolicyConfigProperty where+  type PropertyType "SecurityHeadersConfig" ResponseHeadersPolicyConfigProperty = SecurityHeadersConfigProperty+  set newValue ResponseHeadersPolicyConfigProperty {..}+    = ResponseHeadersPolicyConfigProperty+        {securityHeadersConfig = Prelude.pure newValue, ..}+instance Property "ServerTimingHeadersConfig" ResponseHeadersPolicyConfigProperty where+  type PropertyType "ServerTimingHeadersConfig" ResponseHeadersPolicyConfigProperty = ServerTimingHeadersConfigProperty+  set newValue ResponseHeadersPolicyConfigProperty {..}+    = ResponseHeadersPolicyConfigProperty+        {serverTimingHeadersConfig = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ResponseHeadersPolicyConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ResponseHeadersPolicyConfigProperty :: Prelude.Type+instance ToResourceProperties ResponseHeadersPolicyConfigProperty+instance Prelude.Eq ResponseHeadersPolicyConfigProperty+instance Prelude.Show ResponseHeadersPolicyConfigProperty+instance JSON.ToJSON ResponseHeadersPolicyConfigProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/SecurityHeadersConfigProperty.hs view
@@ -0,0 +1,96 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.SecurityHeadersConfigProperty (+        module Exports, SecurityHeadersConfigProperty(..),+        mkSecurityHeadersConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.ContentSecurityPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.ContentTypeOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.FrameOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.ReferrerPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.StrictTransportSecurityProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.ResponseHeadersPolicy.XSSProtectionProperty as Exports+import Stratosphere.ResourceProperties+data SecurityHeadersConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-securityheadersconfig.html>+    SecurityHeadersConfigProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-securityheadersconfig.html#cfn-cloudfront-responseheaderspolicy-securityheadersconfig-contentsecuritypolicy>+                                   contentSecurityPolicy :: (Prelude.Maybe ContentSecurityPolicyProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-securityheadersconfig.html#cfn-cloudfront-responseheaderspolicy-securityheadersconfig-contenttypeoptions>+                                   contentTypeOptions :: (Prelude.Maybe ContentTypeOptionsProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-securityheadersconfig.html#cfn-cloudfront-responseheaderspolicy-securityheadersconfig-frameoptions>+                                   frameOptions :: (Prelude.Maybe FrameOptionsProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-securityheadersconfig.html#cfn-cloudfront-responseheaderspolicy-securityheadersconfig-referrerpolicy>+                                   referrerPolicy :: (Prelude.Maybe ReferrerPolicyProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-securityheadersconfig.html#cfn-cloudfront-responseheaderspolicy-securityheadersconfig-stricttransportsecurity>+                                   strictTransportSecurity :: (Prelude.Maybe StrictTransportSecurityProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-securityheadersconfig.html#cfn-cloudfront-responseheaderspolicy-securityheadersconfig-xssprotection>+                                   xSSProtection :: (Prelude.Maybe XSSProtectionProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSecurityHeadersConfigProperty :: SecurityHeadersConfigProperty+mkSecurityHeadersConfigProperty+  = SecurityHeadersConfigProperty+      {haddock_workaround_ = (), contentSecurityPolicy = Prelude.Nothing,+       contentTypeOptions = Prelude.Nothing,+       frameOptions = Prelude.Nothing, referrerPolicy = Prelude.Nothing,+       strictTransportSecurity = Prelude.Nothing,+       xSSProtection = Prelude.Nothing}+instance ToResourceProperties SecurityHeadersConfigProperty where+  toResourceProperties SecurityHeadersConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.SecurityHeadersConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ContentSecurityPolicy"+                              Prelude.<$> contentSecurityPolicy,+                            (JSON..=) "ContentTypeOptions" Prelude.<$> contentTypeOptions,+                            (JSON..=) "FrameOptions" Prelude.<$> frameOptions,+                            (JSON..=) "ReferrerPolicy" Prelude.<$> referrerPolicy,+                            (JSON..=) "StrictTransportSecurity"+                              Prelude.<$> strictTransportSecurity,+                            (JSON..=) "XSSProtection" Prelude.<$> xSSProtection])}+instance JSON.ToJSON SecurityHeadersConfigProperty where+  toJSON SecurityHeadersConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ContentSecurityPolicy"+                 Prelude.<$> contentSecurityPolicy,+               (JSON..=) "ContentTypeOptions" Prelude.<$> contentTypeOptions,+               (JSON..=) "FrameOptions" Prelude.<$> frameOptions,+               (JSON..=) "ReferrerPolicy" Prelude.<$> referrerPolicy,+               (JSON..=) "StrictTransportSecurity"+                 Prelude.<$> strictTransportSecurity,+               (JSON..=) "XSSProtection" Prelude.<$> xSSProtection]))+instance Property "ContentSecurityPolicy" SecurityHeadersConfigProperty where+  type PropertyType "ContentSecurityPolicy" SecurityHeadersConfigProperty = ContentSecurityPolicyProperty+  set newValue SecurityHeadersConfigProperty {..}+    = SecurityHeadersConfigProperty+        {contentSecurityPolicy = Prelude.pure newValue, ..}+instance Property "ContentTypeOptions" SecurityHeadersConfigProperty where+  type PropertyType "ContentTypeOptions" SecurityHeadersConfigProperty = ContentTypeOptionsProperty+  set newValue SecurityHeadersConfigProperty {..}+    = SecurityHeadersConfigProperty+        {contentTypeOptions = Prelude.pure newValue, ..}+instance Property "FrameOptions" SecurityHeadersConfigProperty where+  type PropertyType "FrameOptions" SecurityHeadersConfigProperty = FrameOptionsProperty+  set newValue SecurityHeadersConfigProperty {..}+    = SecurityHeadersConfigProperty+        {frameOptions = Prelude.pure newValue, ..}+instance Property "ReferrerPolicy" SecurityHeadersConfigProperty where+  type PropertyType "ReferrerPolicy" SecurityHeadersConfigProperty = ReferrerPolicyProperty+  set newValue SecurityHeadersConfigProperty {..}+    = SecurityHeadersConfigProperty+        {referrerPolicy = Prelude.pure newValue, ..}+instance Property "StrictTransportSecurity" SecurityHeadersConfigProperty where+  type PropertyType "StrictTransportSecurity" SecurityHeadersConfigProperty = StrictTransportSecurityProperty+  set newValue SecurityHeadersConfigProperty {..}+    = SecurityHeadersConfigProperty+        {strictTransportSecurity = Prelude.pure newValue, ..}+instance Property "XSSProtection" SecurityHeadersConfigProperty where+  type PropertyType "XSSProtection" SecurityHeadersConfigProperty = XSSProtectionProperty+  set newValue SecurityHeadersConfigProperty {..}+    = SecurityHeadersConfigProperty+        {xSSProtection = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/SecurityHeadersConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.SecurityHeadersConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SecurityHeadersConfigProperty :: Prelude.Type+instance ToResourceProperties SecurityHeadersConfigProperty+instance Prelude.Eq SecurityHeadersConfigProperty+instance Prelude.Show SecurityHeadersConfigProperty+instance JSON.ToJSON SecurityHeadersConfigProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ServerTimingHeadersConfigProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ServerTimingHeadersConfigProperty (+        ServerTimingHeadersConfigProperty(..),+        mkServerTimingHeadersConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ServerTimingHeadersConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-servertimingheadersconfig.html>+    ServerTimingHeadersConfigProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-servertimingheadersconfig.html#cfn-cloudfront-responseheaderspolicy-servertimingheadersconfig-enabled>+                                       enabled :: (Value Prelude.Bool),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-servertimingheadersconfig.html#cfn-cloudfront-responseheaderspolicy-servertimingheadersconfig-samplingrate>+                                       samplingRate :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkServerTimingHeadersConfigProperty ::+  Value Prelude.Bool -> ServerTimingHeadersConfigProperty+mkServerTimingHeadersConfigProperty enabled+  = ServerTimingHeadersConfigProperty+      {haddock_workaround_ = (), enabled = enabled,+       samplingRate = Prelude.Nothing}+instance ToResourceProperties ServerTimingHeadersConfigProperty where+  toResourceProperties ServerTimingHeadersConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.ServerTimingHeadersConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Enabled" JSON..= enabled]+                           (Prelude.catMaybes+                              [(JSON..=) "SamplingRate" Prelude.<$> samplingRate]))}+instance JSON.ToJSON ServerTimingHeadersConfigProperty where+  toJSON ServerTimingHeadersConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Enabled" JSON..= enabled]+              (Prelude.catMaybes+                 [(JSON..=) "SamplingRate" Prelude.<$> samplingRate])))+instance Property "Enabled" ServerTimingHeadersConfigProperty where+  type PropertyType "Enabled" ServerTimingHeadersConfigProperty = Value Prelude.Bool+  set newValue ServerTimingHeadersConfigProperty {..}+    = ServerTimingHeadersConfigProperty {enabled = newValue, ..}+instance Property "SamplingRate" ServerTimingHeadersConfigProperty where+  type PropertyType "SamplingRate" ServerTimingHeadersConfigProperty = Value Prelude.Double+  set newValue ServerTimingHeadersConfigProperty {..}+    = ServerTimingHeadersConfigProperty+        {samplingRate = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/ServerTimingHeadersConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.ServerTimingHeadersConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ServerTimingHeadersConfigProperty :: Prelude.Type+instance ToResourceProperties ServerTimingHeadersConfigProperty+instance Prelude.Eq ServerTimingHeadersConfigProperty+instance Prelude.Show ServerTimingHeadersConfigProperty+instance JSON.ToJSON ServerTimingHeadersConfigProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/StrictTransportSecurityProperty.hs view
@@ -0,0 +1,71 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.StrictTransportSecurityProperty (+        StrictTransportSecurityProperty(..),+        mkStrictTransportSecurityProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StrictTransportSecurityProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-stricttransportsecurity.html>+    StrictTransportSecurityProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-stricttransportsecurity.html#cfn-cloudfront-responseheaderspolicy-stricttransportsecurity-accesscontrolmaxagesec>+                                     accessControlMaxAgeSec :: (Value Prelude.Integer),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-stricttransportsecurity.html#cfn-cloudfront-responseheaderspolicy-stricttransportsecurity-includesubdomains>+                                     includeSubdomains :: (Prelude.Maybe (Value Prelude.Bool)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-stricttransportsecurity.html#cfn-cloudfront-responseheaderspolicy-stricttransportsecurity-override>+                                     override :: (Value Prelude.Bool),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-stricttransportsecurity.html#cfn-cloudfront-responseheaderspolicy-stricttransportsecurity-preload>+                                     preload :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStrictTransportSecurityProperty ::+  Value Prelude.Integer+  -> Value Prelude.Bool -> StrictTransportSecurityProperty+mkStrictTransportSecurityProperty accessControlMaxAgeSec override+  = StrictTransportSecurityProperty+      {haddock_workaround_ = (),+       accessControlMaxAgeSec = accessControlMaxAgeSec,+       override = override, includeSubdomains = Prelude.Nothing,+       preload = Prelude.Nothing}+instance ToResourceProperties StrictTransportSecurityProperty where+  toResourceProperties StrictTransportSecurityProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.StrictTransportSecurity",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AccessControlMaxAgeSec" JSON..= accessControlMaxAgeSec,+                            "Override" JSON..= override]+                           (Prelude.catMaybes+                              [(JSON..=) "IncludeSubdomains" Prelude.<$> includeSubdomains,+                               (JSON..=) "Preload" Prelude.<$> preload]))}+instance JSON.ToJSON StrictTransportSecurityProperty where+  toJSON StrictTransportSecurityProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AccessControlMaxAgeSec" JSON..= accessControlMaxAgeSec,+               "Override" JSON..= override]+              (Prelude.catMaybes+                 [(JSON..=) "IncludeSubdomains" Prelude.<$> includeSubdomains,+                  (JSON..=) "Preload" Prelude.<$> preload])))+instance Property "AccessControlMaxAgeSec" StrictTransportSecurityProperty where+  type PropertyType "AccessControlMaxAgeSec" StrictTransportSecurityProperty = Value Prelude.Integer+  set newValue StrictTransportSecurityProperty {..}+    = StrictTransportSecurityProperty+        {accessControlMaxAgeSec = newValue, ..}+instance Property "IncludeSubdomains" StrictTransportSecurityProperty where+  type PropertyType "IncludeSubdomains" StrictTransportSecurityProperty = Value Prelude.Bool+  set newValue StrictTransportSecurityProperty {..}+    = StrictTransportSecurityProperty+        {includeSubdomains = Prelude.pure newValue, ..}+instance Property "Override" StrictTransportSecurityProperty where+  type PropertyType "Override" StrictTransportSecurityProperty = Value Prelude.Bool+  set newValue StrictTransportSecurityProperty {..}+    = StrictTransportSecurityProperty {override = newValue, ..}+instance Property "Preload" StrictTransportSecurityProperty where+  type PropertyType "Preload" StrictTransportSecurityProperty = Value Prelude.Bool+  set newValue StrictTransportSecurityProperty {..}+    = StrictTransportSecurityProperty+        {preload = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/StrictTransportSecurityProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.StrictTransportSecurityProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StrictTransportSecurityProperty :: Prelude.Type+instance ToResourceProperties StrictTransportSecurityProperty+instance Prelude.Eq StrictTransportSecurityProperty+instance Prelude.Show StrictTransportSecurityProperty+instance JSON.ToJSON StrictTransportSecurityProperty
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/XSSProtectionProperty.hs view
@@ -0,0 +1,63 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.XSSProtectionProperty (+        XSSProtectionProperty(..), mkXSSProtectionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data XSSProtectionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-xssprotection.html>+    XSSProtectionProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-xssprotection.html#cfn-cloudfront-responseheaderspolicy-xssprotection-modeblock>+                           modeBlock :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-xssprotection.html#cfn-cloudfront-responseheaderspolicy-xssprotection-override>+                           override :: (Value Prelude.Bool),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-xssprotection.html#cfn-cloudfront-responseheaderspolicy-xssprotection-protection>+                           protection :: (Value Prelude.Bool),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-responseheaderspolicy-xssprotection.html#cfn-cloudfront-responseheaderspolicy-xssprotection-reporturi>+                           reportUri :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkXSSProtectionProperty ::+  Value Prelude.Bool -> Value Prelude.Bool -> XSSProtectionProperty+mkXSSProtectionProperty override protection+  = XSSProtectionProperty+      {haddock_workaround_ = (), override = override,+       protection = protection, modeBlock = Prelude.Nothing,+       reportUri = Prelude.Nothing}+instance ToResourceProperties XSSProtectionProperty where+  toResourceProperties XSSProtectionProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::ResponseHeadersPolicy.XSSProtection",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Override" JSON..= override, "Protection" JSON..= protection]+                           (Prelude.catMaybes+                              [(JSON..=) "ModeBlock" Prelude.<$> modeBlock,+                               (JSON..=) "ReportUri" Prelude.<$> reportUri]))}+instance JSON.ToJSON XSSProtectionProperty where+  toJSON XSSProtectionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Override" JSON..= override, "Protection" JSON..= protection]+              (Prelude.catMaybes+                 [(JSON..=) "ModeBlock" Prelude.<$> modeBlock,+                  (JSON..=) "ReportUri" Prelude.<$> reportUri])))+instance Property "ModeBlock" XSSProtectionProperty where+  type PropertyType "ModeBlock" XSSProtectionProperty = Value Prelude.Bool+  set newValue XSSProtectionProperty {..}+    = XSSProtectionProperty {modeBlock = Prelude.pure newValue, ..}+instance Property "Override" XSSProtectionProperty where+  type PropertyType "Override" XSSProtectionProperty = Value Prelude.Bool+  set newValue XSSProtectionProperty {..}+    = XSSProtectionProperty {override = newValue, ..}+instance Property "Protection" XSSProtectionProperty where+  type PropertyType "Protection" XSSProtectionProperty = Value Prelude.Bool+  set newValue XSSProtectionProperty {..}+    = XSSProtectionProperty {protection = newValue, ..}+instance Property "ReportUri" XSSProtectionProperty where+  type PropertyType "ReportUri" XSSProtectionProperty = Value Prelude.Text+  set newValue XSSProtectionProperty {..}+    = XSSProtectionProperty {reportUri = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/ResponseHeadersPolicy/XSSProtectionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.ResponseHeadersPolicy.XSSProtectionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data XSSProtectionProperty :: Prelude.Type+instance ToResourceProperties XSSProtectionProperty+instance Prelude.Eq XSSProtectionProperty+instance Prelude.Show XSSProtectionProperty+instance JSON.ToJSON XSSProtectionProperty
+ gen/Stratosphere/CloudFront/StreamingDistribution.hs view
@@ -0,0 +1,47 @@+module Stratosphere.CloudFront.StreamingDistribution (+        module Exports, StreamingDistribution(..), mkStreamingDistribution+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.StreamingDistribution.StreamingDistributionConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+data StreamingDistribution+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html>+    StreamingDistribution {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig>+                           streamingDistributionConfig :: StreamingDistributionConfigProperty,+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-streamingdistribution.html#cfn-cloudfront-streamingdistribution-tags>+                           tags :: [Tag]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStreamingDistribution ::+  StreamingDistributionConfigProperty+  -> [Tag] -> StreamingDistribution+mkStreamingDistribution streamingDistributionConfig tags+  = StreamingDistribution+      {haddock_workaround_ = (),+       streamingDistributionConfig = streamingDistributionConfig,+       tags = tags}+instance ToResourceProperties StreamingDistribution where+  toResourceProperties StreamingDistribution {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::StreamingDistribution",+         supportsTags = Prelude.True,+         properties = ["StreamingDistributionConfig"+                         JSON..= streamingDistributionConfig,+                       "Tags" JSON..= tags]}+instance JSON.ToJSON StreamingDistribution where+  toJSON StreamingDistribution {..}+    = JSON.object+        ["StreamingDistributionConfig" JSON..= streamingDistributionConfig,+         "Tags" JSON..= tags]+instance Property "StreamingDistributionConfig" StreamingDistribution where+  type PropertyType "StreamingDistributionConfig" StreamingDistribution = StreamingDistributionConfigProperty+  set newValue StreamingDistribution {..}+    = StreamingDistribution+        {streamingDistributionConfig = newValue, ..}+instance Property "Tags" StreamingDistribution where+  type PropertyType "Tags" StreamingDistribution = [Tag]+  set newValue StreamingDistribution {..}+    = StreamingDistribution {tags = newValue, ..}
+ gen/Stratosphere/CloudFront/StreamingDistribution/LoggingProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.CloudFront.StreamingDistribution.LoggingProperty (+        LoggingProperty(..), mkLoggingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LoggingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html>+    LoggingProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html#cfn-cloudfront-streamingdistribution-logging-bucket>+                     bucket :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html#cfn-cloudfront-streamingdistribution-logging-enabled>+                     enabled :: (Value Prelude.Bool),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-logging.html#cfn-cloudfront-streamingdistribution-logging-prefix>+                     prefix :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLoggingProperty ::+  Value Prelude.Text+  -> Value Prelude.Bool -> Value Prelude.Text -> LoggingProperty+mkLoggingProperty bucket enabled prefix+  = LoggingProperty+      {haddock_workaround_ = (), bucket = bucket, enabled = enabled,+       prefix = prefix}+instance ToResourceProperties LoggingProperty where+  toResourceProperties LoggingProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::StreamingDistribution.Logging",+         supportsTags = Prelude.False,+         properties = ["Bucket" JSON..= bucket, "Enabled" JSON..= enabled,+                       "Prefix" JSON..= prefix]}+instance JSON.ToJSON LoggingProperty where+  toJSON LoggingProperty {..}+    = JSON.object+        ["Bucket" JSON..= bucket, "Enabled" JSON..= enabled,+         "Prefix" JSON..= prefix]+instance Property "Bucket" LoggingProperty where+  type PropertyType "Bucket" LoggingProperty = Value Prelude.Text+  set newValue LoggingProperty {..}+    = LoggingProperty {bucket = newValue, ..}+instance Property "Enabled" LoggingProperty where+  type PropertyType "Enabled" LoggingProperty = Value Prelude.Bool+  set newValue LoggingProperty {..}+    = LoggingProperty {enabled = newValue, ..}+instance Property "Prefix" LoggingProperty where+  type PropertyType "Prefix" LoggingProperty = Value Prelude.Text+  set newValue LoggingProperty {..}+    = LoggingProperty {prefix = newValue, ..}
+ gen/Stratosphere/CloudFront/StreamingDistribution/LoggingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.StreamingDistribution.LoggingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LoggingProperty :: Prelude.Type+instance ToResourceProperties LoggingProperty+instance Prelude.Eq LoggingProperty+instance Prelude.Show LoggingProperty+instance JSON.ToJSON LoggingProperty
+ gen/Stratosphere/CloudFront/StreamingDistribution/S3OriginProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.CloudFront.StreamingDistribution.S3OriginProperty (+        S3OriginProperty(..), mkS3OriginProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data S3OriginProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html>+    S3OriginProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html#cfn-cloudfront-streamingdistribution-s3origin-domainname>+                      domainName :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-s3origin.html#cfn-cloudfront-streamingdistribution-s3origin-originaccessidentity>+                      originAccessIdentity :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkS3OriginProperty ::+  Value Prelude.Text -> Value Prelude.Text -> S3OriginProperty+mkS3OriginProperty domainName originAccessIdentity+  = S3OriginProperty+      {haddock_workaround_ = (), domainName = domainName,+       originAccessIdentity = originAccessIdentity}+instance ToResourceProperties S3OriginProperty where+  toResourceProperties S3OriginProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::StreamingDistribution.S3Origin",+         supportsTags = Prelude.False,+         properties = ["DomainName" JSON..= domainName,+                       "OriginAccessIdentity" JSON..= originAccessIdentity]}+instance JSON.ToJSON S3OriginProperty where+  toJSON S3OriginProperty {..}+    = JSON.object+        ["DomainName" JSON..= domainName,+         "OriginAccessIdentity" JSON..= originAccessIdentity]+instance Property "DomainName" S3OriginProperty where+  type PropertyType "DomainName" S3OriginProperty = Value Prelude.Text+  set newValue S3OriginProperty {..}+    = S3OriginProperty {domainName = newValue, ..}+instance Property "OriginAccessIdentity" S3OriginProperty where+  type PropertyType "OriginAccessIdentity" S3OriginProperty = Value Prelude.Text+  set newValue S3OriginProperty {..}+    = S3OriginProperty {originAccessIdentity = newValue, ..}
+ gen/Stratosphere/CloudFront/StreamingDistribution/S3OriginProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.StreamingDistribution.S3OriginProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data S3OriginProperty :: Prelude.Type+instance ToResourceProperties S3OriginProperty+instance Prelude.Eq S3OriginProperty+instance Prelude.Show S3OriginProperty+instance JSON.ToJSON S3OriginProperty
+ gen/Stratosphere/CloudFront/StreamingDistribution/StreamingDistributionConfigProperty.hs view
@@ -0,0 +1,103 @@+module Stratosphere.CloudFront.StreamingDistribution.StreamingDistributionConfigProperty (+        module Exports, StreamingDistributionConfigProperty(..),+        mkStreamingDistributionConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.StreamingDistribution.LoggingProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.StreamingDistribution.S3OriginProperty as Exports+import {-# SOURCE #-} Stratosphere.CloudFront.StreamingDistribution.TrustedSignersProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StreamingDistributionConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html>+    StreamingDistributionConfigProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-aliases>+                                         aliases :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-comment>+                                         comment :: (Value Prelude.Text),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-enabled>+                                         enabled :: (Value Prelude.Bool),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-logging>+                                         logging :: (Prelude.Maybe LoggingProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-priceclass>+                                         priceClass :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-s3origin>+                                         s3Origin :: S3OriginProperty,+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-streamingdistributionconfig.html#cfn-cloudfront-streamingdistribution-streamingdistributionconfig-trustedsigners>+                                         trustedSigners :: TrustedSignersProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStreamingDistributionConfigProperty ::+  Value Prelude.Text+  -> Value Prelude.Bool+     -> S3OriginProperty+        -> TrustedSignersProperty -> StreamingDistributionConfigProperty+mkStreamingDistributionConfigProperty+  comment+  enabled+  s3Origin+  trustedSigners+  = StreamingDistributionConfigProperty+      {haddock_workaround_ = (), comment = comment, enabled = enabled,+       s3Origin = s3Origin, trustedSigners = trustedSigners,+       aliases = Prelude.Nothing, logging = Prelude.Nothing,+       priceClass = Prelude.Nothing}+instance ToResourceProperties StreamingDistributionConfigProperty where+  toResourceProperties StreamingDistributionConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::StreamingDistribution.StreamingDistributionConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Comment" JSON..= comment, "Enabled" JSON..= enabled,+                            "S3Origin" JSON..= s3Origin,+                            "TrustedSigners" JSON..= trustedSigners]+                           (Prelude.catMaybes+                              [(JSON..=) "Aliases" Prelude.<$> aliases,+                               (JSON..=) "Logging" Prelude.<$> logging,+                               (JSON..=) "PriceClass" Prelude.<$> priceClass]))}+instance JSON.ToJSON StreamingDistributionConfigProperty where+  toJSON StreamingDistributionConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Comment" JSON..= comment, "Enabled" JSON..= enabled,+               "S3Origin" JSON..= s3Origin,+               "TrustedSigners" JSON..= trustedSigners]+              (Prelude.catMaybes+                 [(JSON..=) "Aliases" Prelude.<$> aliases,+                  (JSON..=) "Logging" Prelude.<$> logging,+                  (JSON..=) "PriceClass" Prelude.<$> priceClass])))+instance Property "Aliases" StreamingDistributionConfigProperty where+  type PropertyType "Aliases" StreamingDistributionConfigProperty = ValueList Prelude.Text+  set newValue StreamingDistributionConfigProperty {..}+    = StreamingDistributionConfigProperty+        {aliases = Prelude.pure newValue, ..}+instance Property "Comment" StreamingDistributionConfigProperty where+  type PropertyType "Comment" StreamingDistributionConfigProperty = Value Prelude.Text+  set newValue StreamingDistributionConfigProperty {..}+    = StreamingDistributionConfigProperty {comment = newValue, ..}+instance Property "Enabled" StreamingDistributionConfigProperty where+  type PropertyType "Enabled" StreamingDistributionConfigProperty = Value Prelude.Bool+  set newValue StreamingDistributionConfigProperty {..}+    = StreamingDistributionConfigProperty {enabled = newValue, ..}+instance Property "Logging" StreamingDistributionConfigProperty where+  type PropertyType "Logging" StreamingDistributionConfigProperty = LoggingProperty+  set newValue StreamingDistributionConfigProperty {..}+    = StreamingDistributionConfigProperty+        {logging = Prelude.pure newValue, ..}+instance Property "PriceClass" StreamingDistributionConfigProperty where+  type PropertyType "PriceClass" StreamingDistributionConfigProperty = Value Prelude.Text+  set newValue StreamingDistributionConfigProperty {..}+    = StreamingDistributionConfigProperty+        {priceClass = Prelude.pure newValue, ..}+instance Property "S3Origin" StreamingDistributionConfigProperty where+  type PropertyType "S3Origin" StreamingDistributionConfigProperty = S3OriginProperty+  set newValue StreamingDistributionConfigProperty {..}+    = StreamingDistributionConfigProperty {s3Origin = newValue, ..}+instance Property "TrustedSigners" StreamingDistributionConfigProperty where+  type PropertyType "TrustedSigners" StreamingDistributionConfigProperty = TrustedSignersProperty+  set newValue StreamingDistributionConfigProperty {..}+    = StreamingDistributionConfigProperty+        {trustedSigners = newValue, ..}
+ gen/Stratosphere/CloudFront/StreamingDistribution/StreamingDistributionConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.StreamingDistribution.StreamingDistributionConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StreamingDistributionConfigProperty :: Prelude.Type+instance ToResourceProperties StreamingDistributionConfigProperty+instance Prelude.Eq StreamingDistributionConfigProperty+instance Prelude.Show StreamingDistributionConfigProperty+instance JSON.ToJSON StreamingDistributionConfigProperty
+ gen/Stratosphere/CloudFront/StreamingDistribution/TrustedSignersProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.CloudFront.StreamingDistribution.TrustedSignersProperty (+        TrustedSignersProperty(..), mkTrustedSignersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TrustedSignersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html>+    TrustedSignersProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html#cfn-cloudfront-streamingdistribution-trustedsigners-awsaccountnumbers>+                            awsAccountNumbers :: (Prelude.Maybe (ValueList Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-streamingdistribution-trustedsigners.html#cfn-cloudfront-streamingdistribution-trustedsigners-enabled>+                            enabled :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTrustedSignersProperty ::+  Value Prelude.Bool -> TrustedSignersProperty+mkTrustedSignersProperty enabled+  = TrustedSignersProperty+      {haddock_workaround_ = (), enabled = enabled,+       awsAccountNumbers = Prelude.Nothing}+instance ToResourceProperties TrustedSignersProperty where+  toResourceProperties TrustedSignersProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::StreamingDistribution.TrustedSigners",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Enabled" JSON..= enabled]+                           (Prelude.catMaybes+                              [(JSON..=) "AwsAccountNumbers" Prelude.<$> awsAccountNumbers]))}+instance JSON.ToJSON TrustedSignersProperty where+  toJSON TrustedSignersProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Enabled" JSON..= enabled]+              (Prelude.catMaybes+                 [(JSON..=) "AwsAccountNumbers" Prelude.<$> awsAccountNumbers])))+instance Property "AwsAccountNumbers" TrustedSignersProperty where+  type PropertyType "AwsAccountNumbers" TrustedSignersProperty = ValueList Prelude.Text+  set newValue TrustedSignersProperty {..}+    = TrustedSignersProperty+        {awsAccountNumbers = Prelude.pure newValue, ..}+instance Property "Enabled" TrustedSignersProperty where+  type PropertyType "Enabled" TrustedSignersProperty = Value Prelude.Bool+  set newValue TrustedSignersProperty {..}+    = TrustedSignersProperty {enabled = newValue, ..}
+ gen/Stratosphere/CloudFront/StreamingDistribution/TrustedSignersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.StreamingDistribution.TrustedSignersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TrustedSignersProperty :: Prelude.Type+instance ToResourceProperties TrustedSignersProperty+instance Prelude.Eq TrustedSignersProperty+instance Prelude.Show TrustedSignersProperty+instance JSON.ToJSON TrustedSignersProperty
+ gen/Stratosphere/CloudFront/VpcOrigin.hs view
@@ -0,0 +1,47 @@+module Stratosphere.CloudFront.VpcOrigin (+        module Exports, VpcOrigin(..), mkVpcOrigin+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.CloudFront.VpcOrigin.VpcOriginEndpointConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+data VpcOrigin+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-vpcorigin.html>+    VpcOrigin {haddock_workaround_ :: (),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-vpcorigin.html#cfn-cloudfront-vpcorigin-tags>+               tags :: (Prelude.Maybe [Tag]),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-vpcorigin.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig>+               vpcOriginEndpointConfig :: VpcOriginEndpointConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVpcOrigin :: VpcOriginEndpointConfigProperty -> VpcOrigin+mkVpcOrigin vpcOriginEndpointConfig+  = VpcOrigin+      {haddock_workaround_ = (),+       vpcOriginEndpointConfig = vpcOriginEndpointConfig,+       tags = Prelude.Nothing}+instance ToResourceProperties VpcOrigin where+  toResourceProperties VpcOrigin {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::VpcOrigin",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcOriginEndpointConfig" JSON..= vpcOriginEndpointConfig]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON VpcOrigin where+  toJSON VpcOrigin {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcOriginEndpointConfig" JSON..= vpcOriginEndpointConfig]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Tags" VpcOrigin where+  type PropertyType "Tags" VpcOrigin = [Tag]+  set newValue VpcOrigin {..}+    = VpcOrigin {tags = Prelude.pure newValue, ..}+instance Property "VpcOriginEndpointConfig" VpcOrigin where+  type PropertyType "VpcOriginEndpointConfig" VpcOrigin = VpcOriginEndpointConfigProperty+  set newValue VpcOrigin {..}+    = VpcOrigin {vpcOriginEndpointConfig = newValue, ..}
+ gen/Stratosphere/CloudFront/VpcOrigin/VpcOriginEndpointConfigProperty.hs view
@@ -0,0 +1,86 @@+module Stratosphere.CloudFront.VpcOrigin.VpcOriginEndpointConfigProperty (+        VpcOriginEndpointConfigProperty(..),+        mkVpcOriginEndpointConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VpcOriginEndpointConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html>+    VpcOriginEndpointConfigProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-arn>+                                     arn :: (Value Prelude.Text),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpport>+                                     hTTPPort :: (Prelude.Maybe (Value Prelude.Integer)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-httpsport>+                                     hTTPSPort :: (Prelude.Maybe (Value Prelude.Integer)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-name>+                                     name :: (Value Prelude.Text),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originprotocolpolicy>+                                     originProtocolPolicy :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-vpcorigin-vpcoriginendpointconfig.html#cfn-cloudfront-vpcorigin-vpcoriginendpointconfig-originsslprotocols>+                                     originSSLProtocols :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVpcOriginEndpointConfigProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> VpcOriginEndpointConfigProperty+mkVpcOriginEndpointConfigProperty arn name+  = VpcOriginEndpointConfigProperty+      {haddock_workaround_ = (), arn = arn, name = name,+       hTTPPort = Prelude.Nothing, hTTPSPort = Prelude.Nothing,+       originProtocolPolicy = Prelude.Nothing,+       originSSLProtocols = Prelude.Nothing}+instance ToResourceProperties VpcOriginEndpointConfigProperty where+  toResourceProperties VpcOriginEndpointConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::CloudFront::VpcOrigin.VpcOriginEndpointConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Arn" JSON..= arn, "Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "HTTPPort" Prelude.<$> hTTPPort,+                               (JSON..=) "HTTPSPort" Prelude.<$> hTTPSPort,+                               (JSON..=) "OriginProtocolPolicy" Prelude.<$> originProtocolPolicy,+                               (JSON..=) "OriginSSLProtocols" Prelude.<$> originSSLProtocols]))}+instance JSON.ToJSON VpcOriginEndpointConfigProperty where+  toJSON VpcOriginEndpointConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Arn" JSON..= arn, "Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "HTTPPort" Prelude.<$> hTTPPort,+                  (JSON..=) "HTTPSPort" Prelude.<$> hTTPSPort,+                  (JSON..=) "OriginProtocolPolicy" Prelude.<$> originProtocolPolicy,+                  (JSON..=) "OriginSSLProtocols" Prelude.<$> originSSLProtocols])))+instance Property "Arn" VpcOriginEndpointConfigProperty where+  type PropertyType "Arn" VpcOriginEndpointConfigProperty = Value Prelude.Text+  set newValue VpcOriginEndpointConfigProperty {..}+    = VpcOriginEndpointConfigProperty {arn = newValue, ..}+instance Property "HTTPPort" VpcOriginEndpointConfigProperty where+  type PropertyType "HTTPPort" VpcOriginEndpointConfigProperty = Value Prelude.Integer+  set newValue VpcOriginEndpointConfigProperty {..}+    = VpcOriginEndpointConfigProperty+        {hTTPPort = Prelude.pure newValue, ..}+instance Property "HTTPSPort" VpcOriginEndpointConfigProperty where+  type PropertyType "HTTPSPort" VpcOriginEndpointConfigProperty = Value Prelude.Integer+  set newValue VpcOriginEndpointConfigProperty {..}+    = VpcOriginEndpointConfigProperty+        {hTTPSPort = Prelude.pure newValue, ..}+instance Property "Name" VpcOriginEndpointConfigProperty where+  type PropertyType "Name" VpcOriginEndpointConfigProperty = Value Prelude.Text+  set newValue VpcOriginEndpointConfigProperty {..}+    = VpcOriginEndpointConfigProperty {name = newValue, ..}+instance Property "OriginProtocolPolicy" VpcOriginEndpointConfigProperty where+  type PropertyType "OriginProtocolPolicy" VpcOriginEndpointConfigProperty = Value Prelude.Text+  set newValue VpcOriginEndpointConfigProperty {..}+    = VpcOriginEndpointConfigProperty+        {originProtocolPolicy = Prelude.pure newValue, ..}+instance Property "OriginSSLProtocols" VpcOriginEndpointConfigProperty where+  type PropertyType "OriginSSLProtocols" VpcOriginEndpointConfigProperty = ValueList Prelude.Text+  set newValue VpcOriginEndpointConfigProperty {..}+    = VpcOriginEndpointConfigProperty+        {originSSLProtocols = Prelude.pure newValue, ..}
+ gen/Stratosphere/CloudFront/VpcOrigin/VpcOriginEndpointConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.CloudFront.VpcOrigin.VpcOriginEndpointConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VpcOriginEndpointConfigProperty :: Prelude.Type+instance ToResourceProperties VpcOriginEndpointConfigProperty+instance Prelude.Eq VpcOriginEndpointConfigProperty+instance Prelude.Show VpcOriginEndpointConfigProperty+instance JSON.ToJSON VpcOriginEndpointConfigProperty
+ stratosphere-cloudfront.cabal view
@@ -0,0 +1,181 @@+cabal-version: 1.12++-- This file has been generated from package.yaml by hpack version 0.38.2.+--+-- see: https://github.com/sol/hpack++name:           stratosphere-cloudfront+version:        1.0.0+synopsis:       Stratosphere integration for AWS CloudFront.+description:    Integration into stratosphere to generate resources and properties for AWS CloudFront+category:       AWS, Cloud, CloudFront+stability:      experimental+homepage:       https://github.com/mbj/stratosphere#readme+bug-reports:    https://github.com/mbj/stratosphere/issues+maintainer:     Markus Schirp+license:        MIT+license-file:   LICENSE.md+build-type:     Simple++source-repository head+  type: git+  location: https://github.com/mbj/stratosphere++flag development+  description: Run GHC with development flags+  manual: True+  default: False++library+  exposed-modules:+      Stratosphere.CloudFront.AnycastIpList+      Stratosphere.CloudFront.AnycastIpList.AnycastIpListProperty+      Stratosphere.CloudFront.AnycastIpList.TagsProperty+      Stratosphere.CloudFront.CachePolicy+      Stratosphere.CloudFront.CachePolicy.CachePolicyConfigProperty+      Stratosphere.CloudFront.CachePolicy.CookiesConfigProperty+      Stratosphere.CloudFront.CachePolicy.HeadersConfigProperty+      Stratosphere.CloudFront.CachePolicy.ParametersInCacheKeyAndForwardedToOriginProperty+      Stratosphere.CloudFront.CachePolicy.QueryStringsConfigProperty+      Stratosphere.CloudFront.CloudFrontOriginAccessIdentity+      Stratosphere.CloudFront.CloudFrontOriginAccessIdentity.CloudFrontOriginAccessIdentityConfigProperty+      Stratosphere.CloudFront.ConnectionGroup+      Stratosphere.CloudFront.ContinuousDeploymentPolicy+      Stratosphere.CloudFront.ContinuousDeploymentPolicy.ContinuousDeploymentPolicyConfigProperty+      Stratosphere.CloudFront.ContinuousDeploymentPolicy.SessionStickinessConfigProperty+      Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleHeaderConfigProperty+      Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleHeaderPolicyConfigProperty+      Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleWeightConfigProperty+      Stratosphere.CloudFront.ContinuousDeploymentPolicy.SingleWeightPolicyConfigProperty+      Stratosphere.CloudFront.ContinuousDeploymentPolicy.TrafficConfigProperty+      Stratosphere.CloudFront.Distribution+      Stratosphere.CloudFront.Distribution.CacheBehaviorProperty+      Stratosphere.CloudFront.Distribution.CookiesProperty+      Stratosphere.CloudFront.Distribution.CustomErrorResponseProperty+      Stratosphere.CloudFront.Distribution.CustomOriginConfigProperty+      Stratosphere.CloudFront.Distribution.DefaultCacheBehaviorProperty+      Stratosphere.CloudFront.Distribution.DefinitionProperty+      Stratosphere.CloudFront.Distribution.DistributionConfigProperty+      Stratosphere.CloudFront.Distribution.ForwardedValuesProperty+      Stratosphere.CloudFront.Distribution.FunctionAssociationProperty+      Stratosphere.CloudFront.Distribution.GeoRestrictionProperty+      Stratosphere.CloudFront.Distribution.GrpcConfigProperty+      Stratosphere.CloudFront.Distribution.LambdaFunctionAssociationProperty+      Stratosphere.CloudFront.Distribution.LegacyCustomOriginProperty+      Stratosphere.CloudFront.Distribution.LegacyS3OriginProperty+      Stratosphere.CloudFront.Distribution.LoggingProperty+      Stratosphere.CloudFront.Distribution.OriginCustomHeaderProperty+      Stratosphere.CloudFront.Distribution.OriginGroupFailoverCriteriaProperty+      Stratosphere.CloudFront.Distribution.OriginGroupMemberProperty+      Stratosphere.CloudFront.Distribution.OriginGroupMembersProperty+      Stratosphere.CloudFront.Distribution.OriginGroupProperty+      Stratosphere.CloudFront.Distribution.OriginGroupsProperty+      Stratosphere.CloudFront.Distribution.OriginProperty+      Stratosphere.CloudFront.Distribution.OriginShieldProperty+      Stratosphere.CloudFront.Distribution.ParameterDefinitionProperty+      Stratosphere.CloudFront.Distribution.RestrictionsProperty+      Stratosphere.CloudFront.Distribution.S3OriginConfigProperty+      Stratosphere.CloudFront.Distribution.StatusCodesProperty+      Stratosphere.CloudFront.Distribution.StringSchemaProperty+      Stratosphere.CloudFront.Distribution.TenantConfigProperty+      Stratosphere.CloudFront.Distribution.ViewerCertificateProperty+      Stratosphere.CloudFront.Distribution.VpcOriginConfigProperty+      Stratosphere.CloudFront.DistributionTenant+      Stratosphere.CloudFront.DistributionTenant.CertificateProperty+      Stratosphere.CloudFront.DistributionTenant.CustomizationsProperty+      Stratosphere.CloudFront.DistributionTenant.DomainResultProperty+      Stratosphere.CloudFront.DistributionTenant.GeoRestrictionCustomizationProperty+      Stratosphere.CloudFront.DistributionTenant.ManagedCertificateRequestProperty+      Stratosphere.CloudFront.DistributionTenant.ParameterProperty+      Stratosphere.CloudFront.DistributionTenant.WebAclCustomizationProperty+      Stratosphere.CloudFront.Function+      Stratosphere.CloudFront.Function.FunctionConfigProperty+      Stratosphere.CloudFront.Function.FunctionMetadataProperty+      Stratosphere.CloudFront.Function.KeyValueStoreAssociationProperty+      Stratosphere.CloudFront.KeyGroup+      Stratosphere.CloudFront.KeyGroup.KeyGroupConfigProperty+      Stratosphere.CloudFront.KeyValueStore+      Stratosphere.CloudFront.KeyValueStore.ImportSourceProperty+      Stratosphere.CloudFront.MonitoringSubscription+      Stratosphere.CloudFront.MonitoringSubscription.MonitoringSubscriptionProperty+      Stratosphere.CloudFront.MonitoringSubscription.RealtimeMetricsSubscriptionConfigProperty+      Stratosphere.CloudFront.OriginAccessControl+      Stratosphere.CloudFront.OriginAccessControl.OriginAccessControlConfigProperty+      Stratosphere.CloudFront.OriginRequestPolicy+      Stratosphere.CloudFront.OriginRequestPolicy.CookiesConfigProperty+      Stratosphere.CloudFront.OriginRequestPolicy.HeadersConfigProperty+      Stratosphere.CloudFront.OriginRequestPolicy.OriginRequestPolicyConfigProperty+      Stratosphere.CloudFront.OriginRequestPolicy.QueryStringsConfigProperty+      Stratosphere.CloudFront.PublicKey+      Stratosphere.CloudFront.PublicKey.PublicKeyConfigProperty+      Stratosphere.CloudFront.RealtimeLogConfig+      Stratosphere.CloudFront.RealtimeLogConfig.EndPointProperty+      Stratosphere.CloudFront.RealtimeLogConfig.KinesisStreamConfigProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy+      Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowHeadersProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowMethodsProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlAllowOriginsProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.AccessControlExposeHeadersProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.ContentSecurityPolicyProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.ContentTypeOptionsProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.CorsConfigProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.CustomHeaderProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.CustomHeadersConfigProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.FrameOptionsProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.ReferrerPolicyProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.RemoveHeaderProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.RemoveHeadersConfigProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.ResponseHeadersPolicyConfigProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.SecurityHeadersConfigProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.ServerTimingHeadersConfigProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.StrictTransportSecurityProperty+      Stratosphere.CloudFront.ResponseHeadersPolicy.XSSProtectionProperty+      Stratosphere.CloudFront.StreamingDistribution+      Stratosphere.CloudFront.StreamingDistribution.LoggingProperty+      Stratosphere.CloudFront.StreamingDistribution.S3OriginProperty+      Stratosphere.CloudFront.StreamingDistribution.StreamingDistributionConfigProperty+      Stratosphere.CloudFront.StreamingDistribution.TrustedSignersProperty+      Stratosphere.CloudFront.VpcOrigin+      Stratosphere.CloudFront.VpcOrigin.VpcOriginEndpointConfigProperty+  other-modules:+      Paths_stratosphere_cloudfront+  hs-source-dirs:+      gen+  default-extensions:+      DataKinds+      DeriveGeneric+      DerivingStrategies+      DerivingVia+      DuplicateRecordFields+      FlexibleContexts+      FlexibleInstances+      GADTs+      GeneralizedNewtypeDeriving+      InstanceSigs+      LambdaCase+      MultiParamTypeClasses+      NoFieldSelectors+      NoImplicitPrelude+      NumericUnderscores+      OverloadedLists+      OverloadedRecordDot+      OverloadedStrings+      PolyKinds+      RecordWildCards+      ScopedTypeVariables+      StandaloneDeriving+      Strict+      TemplateHaskell+      TupleSections+      TypeApplications+      TypeFamilies+  ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-local-signatures -Wmissing-signatures -Wmonomorphism-restriction -Wredundant-constraints -fhide-source-paths -funbox-strict-fields -optP-Wno-nonportable-include-path -Wno-unused-imports+  build-depends:+      aeson ==2.*+    , base >=4.8 && <4.22+    , stratosphere ==1.0.0+  default-language: Haskell2010+  if flag(development)+    ghc-options: -Werror+  else+    ghc-options: -Wwarn