packages feed

stratosphere-elasticloadbalancing (empty) → 1.0.0

raw patch · 19 files changed

+829/−0 lines, 19 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/ElasticLoadBalancing/LoadBalancer.hs view
@@ -0,0 +1,186 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer (+        module Exports, LoadBalancer(..), mkLoadBalancer+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElasticLoadBalancing.LoadBalancer.AccessLoggingPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.ElasticLoadBalancing.LoadBalancer.AppCookieStickinessPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.ElasticLoadBalancing.LoadBalancer.ConnectionDrainingPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.ElasticLoadBalancing.LoadBalancer.ConnectionSettingsProperty as Exports+import {-# SOURCE #-} Stratosphere.ElasticLoadBalancing.LoadBalancer.HealthCheckProperty as Exports+import {-# SOURCE #-} Stratosphere.ElasticLoadBalancing.LoadBalancer.LBCookieStickinessPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.ElasticLoadBalancing.LoadBalancer.ListenersProperty as Exports+import {-# SOURCE #-} Stratosphere.ElasticLoadBalancing.LoadBalancer.PoliciesProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data LoadBalancer+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html>+    LoadBalancer {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-accessloggingpolicy>+                  accessLoggingPolicy :: (Prelude.Maybe AccessLoggingPolicyProperty),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-appcookiestickinesspolicy>+                  appCookieStickinessPolicy :: (Prelude.Maybe [AppCookieStickinessPolicyProperty]),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-availabilityzones>+                  availabilityZones :: (Prelude.Maybe (ValueList Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-connectiondrainingpolicy>+                  connectionDrainingPolicy :: (Prelude.Maybe ConnectionDrainingPolicyProperty),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-connectionsettings>+                  connectionSettings :: (Prelude.Maybe ConnectionSettingsProperty),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-crosszone>+                  crossZone :: (Prelude.Maybe (Value Prelude.Bool)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-healthcheck>+                  healthCheck :: (Prelude.Maybe HealthCheckProperty),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-instances>+                  instances :: (Prelude.Maybe (ValueList Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-lbcookiestickinesspolicy>+                  lBCookieStickinessPolicy :: (Prelude.Maybe [LBCookieStickinessPolicyProperty]),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-listeners>+                  listeners :: [ListenersProperty],+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-elbname>+                  loadBalancerName :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-policies>+                  policies :: (Prelude.Maybe [PoliciesProperty]),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-scheme>+                  scheme :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-securitygroups>+                  securityGroups :: (Prelude.Maybe (ValueList Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-subnets>+                  subnets :: (Prelude.Maybe (ValueList Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-elasticloadbalancing-loadbalancer-tags>+                  tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLoadBalancer :: [ListenersProperty] -> LoadBalancer+mkLoadBalancer listeners+  = LoadBalancer+      {haddock_workaround_ = (), listeners = listeners,+       accessLoggingPolicy = Prelude.Nothing,+       appCookieStickinessPolicy = Prelude.Nothing,+       availabilityZones = Prelude.Nothing,+       connectionDrainingPolicy = Prelude.Nothing,+       connectionSettings = Prelude.Nothing, crossZone = Prelude.Nothing,+       healthCheck = Prelude.Nothing, instances = Prelude.Nothing,+       lBCookieStickinessPolicy = Prelude.Nothing,+       loadBalancerName = Prelude.Nothing, policies = Prelude.Nothing,+       scheme = Prelude.Nothing, securityGroups = Prelude.Nothing,+       subnets = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties LoadBalancer where+  toResourceProperties LoadBalancer {..}+    = ResourceProperties+        {awsType = "AWS::ElasticLoadBalancing::LoadBalancer",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Listeners" JSON..= listeners]+                           (Prelude.catMaybes+                              [(JSON..=) "AccessLoggingPolicy" Prelude.<$> accessLoggingPolicy,+                               (JSON..=) "AppCookieStickinessPolicy"+                                 Prelude.<$> appCookieStickinessPolicy,+                               (JSON..=) "AvailabilityZones" Prelude.<$> availabilityZones,+                               (JSON..=) "ConnectionDrainingPolicy"+                                 Prelude.<$> connectionDrainingPolicy,+                               (JSON..=) "ConnectionSettings" Prelude.<$> connectionSettings,+                               (JSON..=) "CrossZone" Prelude.<$> crossZone,+                               (JSON..=) "HealthCheck" Prelude.<$> healthCheck,+                               (JSON..=) "Instances" Prelude.<$> instances,+                               (JSON..=) "LBCookieStickinessPolicy"+                                 Prelude.<$> lBCookieStickinessPolicy,+                               (JSON..=) "LoadBalancerName" Prelude.<$> loadBalancerName,+                               (JSON..=) "Policies" Prelude.<$> policies,+                               (JSON..=) "Scheme" Prelude.<$> scheme,+                               (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+                               (JSON..=) "Subnets" Prelude.<$> subnets,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON LoadBalancer where+  toJSON LoadBalancer {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Listeners" JSON..= listeners]+              (Prelude.catMaybes+                 [(JSON..=) "AccessLoggingPolicy" Prelude.<$> accessLoggingPolicy,+                  (JSON..=) "AppCookieStickinessPolicy"+                    Prelude.<$> appCookieStickinessPolicy,+                  (JSON..=) "AvailabilityZones" Prelude.<$> availabilityZones,+                  (JSON..=) "ConnectionDrainingPolicy"+                    Prelude.<$> connectionDrainingPolicy,+                  (JSON..=) "ConnectionSettings" Prelude.<$> connectionSettings,+                  (JSON..=) "CrossZone" Prelude.<$> crossZone,+                  (JSON..=) "HealthCheck" Prelude.<$> healthCheck,+                  (JSON..=) "Instances" Prelude.<$> instances,+                  (JSON..=) "LBCookieStickinessPolicy"+                    Prelude.<$> lBCookieStickinessPolicy,+                  (JSON..=) "LoadBalancerName" Prelude.<$> loadBalancerName,+                  (JSON..=) "Policies" Prelude.<$> policies,+                  (JSON..=) "Scheme" Prelude.<$> scheme,+                  (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+                  (JSON..=) "Subnets" Prelude.<$> subnets,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AccessLoggingPolicy" LoadBalancer where+  type PropertyType "AccessLoggingPolicy" LoadBalancer = AccessLoggingPolicyProperty+  set newValue LoadBalancer {..}+    = LoadBalancer {accessLoggingPolicy = Prelude.pure newValue, ..}+instance Property "AppCookieStickinessPolicy" LoadBalancer where+  type PropertyType "AppCookieStickinessPolicy" LoadBalancer = [AppCookieStickinessPolicyProperty]+  set newValue LoadBalancer {..}+    = LoadBalancer+        {appCookieStickinessPolicy = Prelude.pure newValue, ..}+instance Property "AvailabilityZones" LoadBalancer where+  type PropertyType "AvailabilityZones" LoadBalancer = ValueList Prelude.Text+  set newValue LoadBalancer {..}+    = LoadBalancer {availabilityZones = Prelude.pure newValue, ..}+instance Property "ConnectionDrainingPolicy" LoadBalancer where+  type PropertyType "ConnectionDrainingPolicy" LoadBalancer = ConnectionDrainingPolicyProperty+  set newValue LoadBalancer {..}+    = LoadBalancer+        {connectionDrainingPolicy = Prelude.pure newValue, ..}+instance Property "ConnectionSettings" LoadBalancer where+  type PropertyType "ConnectionSettings" LoadBalancer = ConnectionSettingsProperty+  set newValue LoadBalancer {..}+    = LoadBalancer {connectionSettings = Prelude.pure newValue, ..}+instance Property "CrossZone" LoadBalancer where+  type PropertyType "CrossZone" LoadBalancer = Value Prelude.Bool+  set newValue LoadBalancer {..}+    = LoadBalancer {crossZone = Prelude.pure newValue, ..}+instance Property "HealthCheck" LoadBalancer where+  type PropertyType "HealthCheck" LoadBalancer = HealthCheckProperty+  set newValue LoadBalancer {..}+    = LoadBalancer {healthCheck = Prelude.pure newValue, ..}+instance Property "Instances" LoadBalancer where+  type PropertyType "Instances" LoadBalancer = ValueList Prelude.Text+  set newValue LoadBalancer {..}+    = LoadBalancer {instances = Prelude.pure newValue, ..}+instance Property "LBCookieStickinessPolicy" LoadBalancer where+  type PropertyType "LBCookieStickinessPolicy" LoadBalancer = [LBCookieStickinessPolicyProperty]+  set newValue LoadBalancer {..}+    = LoadBalancer+        {lBCookieStickinessPolicy = Prelude.pure newValue, ..}+instance Property "Listeners" LoadBalancer where+  type PropertyType "Listeners" LoadBalancer = [ListenersProperty]+  set newValue LoadBalancer {..}+    = LoadBalancer {listeners = newValue, ..}+instance Property "LoadBalancerName" LoadBalancer where+  type PropertyType "LoadBalancerName" LoadBalancer = Value Prelude.Text+  set newValue LoadBalancer {..}+    = LoadBalancer {loadBalancerName = Prelude.pure newValue, ..}+instance Property "Policies" LoadBalancer where+  type PropertyType "Policies" LoadBalancer = [PoliciesProperty]+  set newValue LoadBalancer {..}+    = LoadBalancer {policies = Prelude.pure newValue, ..}+instance Property "Scheme" LoadBalancer where+  type PropertyType "Scheme" LoadBalancer = Value Prelude.Text+  set newValue LoadBalancer {..}+    = LoadBalancer {scheme = Prelude.pure newValue, ..}+instance Property "SecurityGroups" LoadBalancer where+  type PropertyType "SecurityGroups" LoadBalancer = ValueList Prelude.Text+  set newValue LoadBalancer {..}+    = LoadBalancer {securityGroups = Prelude.pure newValue, ..}+instance Property "Subnets" LoadBalancer where+  type PropertyType "Subnets" LoadBalancer = ValueList Prelude.Text+  set newValue LoadBalancer {..}+    = LoadBalancer {subnets = Prelude.pure newValue, ..}+instance Property "Tags" LoadBalancer where+  type PropertyType "Tags" LoadBalancer = [Tag]+  set newValue LoadBalancer {..}+    = LoadBalancer {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/AccessLoggingPolicyProperty.hs view
@@ -0,0 +1,66 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.AccessLoggingPolicyProperty (+        AccessLoggingPolicyProperty(..), mkAccessLoggingPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessLoggingPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html>+    AccessLoggingPolicyProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-emitinterval>+                                 emitInterval :: (Prelude.Maybe (Value Prelude.Integer)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-enabled>+                                 enabled :: (Value Prelude.Bool),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-s3bucketname>+                                 s3BucketName :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-s3bucketprefix>+                                 s3BucketPrefix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessLoggingPolicyProperty ::+  Value Prelude.Bool+  -> Value Prelude.Text -> AccessLoggingPolicyProperty+mkAccessLoggingPolicyProperty enabled s3BucketName+  = AccessLoggingPolicyProperty+      {haddock_workaround_ = (), enabled = enabled,+       s3BucketName = s3BucketName, emitInterval = Prelude.Nothing,+       s3BucketPrefix = Prelude.Nothing}+instance ToResourceProperties AccessLoggingPolicyProperty where+  toResourceProperties AccessLoggingPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::ElasticLoadBalancing::LoadBalancer.AccessLoggingPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Enabled" JSON..= enabled, "S3BucketName" JSON..= s3BucketName]+                           (Prelude.catMaybes+                              [(JSON..=) "EmitInterval" Prelude.<$> emitInterval,+                               (JSON..=) "S3BucketPrefix" Prelude.<$> s3BucketPrefix]))}+instance JSON.ToJSON AccessLoggingPolicyProperty where+  toJSON AccessLoggingPolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Enabled" JSON..= enabled, "S3BucketName" JSON..= s3BucketName]+              (Prelude.catMaybes+                 [(JSON..=) "EmitInterval" Prelude.<$> emitInterval,+                  (JSON..=) "S3BucketPrefix" Prelude.<$> s3BucketPrefix])))+instance Property "EmitInterval" AccessLoggingPolicyProperty where+  type PropertyType "EmitInterval" AccessLoggingPolicyProperty = Value Prelude.Integer+  set newValue AccessLoggingPolicyProperty {..}+    = AccessLoggingPolicyProperty+        {emitInterval = Prelude.pure newValue, ..}+instance Property "Enabled" AccessLoggingPolicyProperty where+  type PropertyType "Enabled" AccessLoggingPolicyProperty = Value Prelude.Bool+  set newValue AccessLoggingPolicyProperty {..}+    = AccessLoggingPolicyProperty {enabled = newValue, ..}+instance Property "S3BucketName" AccessLoggingPolicyProperty where+  type PropertyType "S3BucketName" AccessLoggingPolicyProperty = Value Prelude.Text+  set newValue AccessLoggingPolicyProperty {..}+    = AccessLoggingPolicyProperty {s3BucketName = newValue, ..}+instance Property "S3BucketPrefix" AccessLoggingPolicyProperty where+  type PropertyType "S3BucketPrefix" AccessLoggingPolicyProperty = Value Prelude.Text+  set newValue AccessLoggingPolicyProperty {..}+    = AccessLoggingPolicyProperty+        {s3BucketPrefix = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/AccessLoggingPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.AccessLoggingPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessLoggingPolicyProperty :: Prelude.Type+instance ToResourceProperties AccessLoggingPolicyProperty+instance Prelude.Eq AccessLoggingPolicyProperty+instance Prelude.Show AccessLoggingPolicyProperty+instance JSON.ToJSON AccessLoggingPolicyProperty
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/AppCookieStickinessPolicyProperty.hs view
@@ -0,0 +1,43 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.AppCookieStickinessPolicyProperty (+        AppCookieStickinessPolicyProperty(..),+        mkAppCookieStickinessPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AppCookieStickinessPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html>+    AppCookieStickinessPolicyProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html#cfn-elb-appcookiestickinesspolicy-cookiename>+                                       cookieName :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html#cfn-elb-appcookiestickinesspolicy-policyname>+                                       policyName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAppCookieStickinessPolicyProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> AppCookieStickinessPolicyProperty+mkAppCookieStickinessPolicyProperty cookieName policyName+  = AppCookieStickinessPolicyProperty+      {haddock_workaround_ = (), cookieName = cookieName,+       policyName = policyName}+instance ToResourceProperties AppCookieStickinessPolicyProperty where+  toResourceProperties AppCookieStickinessPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::ElasticLoadBalancing::LoadBalancer.AppCookieStickinessPolicy",+         supportsTags = Prelude.False,+         properties = ["CookieName" JSON..= cookieName,+                       "PolicyName" JSON..= policyName]}+instance JSON.ToJSON AppCookieStickinessPolicyProperty where+  toJSON AppCookieStickinessPolicyProperty {..}+    = JSON.object+        ["CookieName" JSON..= cookieName, "PolicyName" JSON..= policyName]+instance Property "CookieName" AppCookieStickinessPolicyProperty where+  type PropertyType "CookieName" AppCookieStickinessPolicyProperty = Value Prelude.Text+  set newValue AppCookieStickinessPolicyProperty {..}+    = AppCookieStickinessPolicyProperty {cookieName = newValue, ..}+instance Property "PolicyName" AppCookieStickinessPolicyProperty where+  type PropertyType "PolicyName" AppCookieStickinessPolicyProperty = Value Prelude.Text+  set newValue AppCookieStickinessPolicyProperty {..}+    = AppCookieStickinessPolicyProperty {policyName = newValue, ..}
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/AppCookieStickinessPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.AppCookieStickinessPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AppCookieStickinessPolicyProperty :: Prelude.Type+instance ToResourceProperties AppCookieStickinessPolicyProperty+instance Prelude.Eq AppCookieStickinessPolicyProperty+instance Prelude.Show AppCookieStickinessPolicyProperty+instance JSON.ToJSON AppCookieStickinessPolicyProperty
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/ConnectionDrainingPolicyProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.ConnectionDrainingPolicyProperty (+        ConnectionDrainingPolicyProperty(..),+        mkConnectionDrainingPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ConnectionDrainingPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html>+    ConnectionDrainingPolicyProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html#cfn-elb-connectiondrainingpolicy-enabled>+                                      enabled :: (Value Prelude.Bool),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html#cfn-elb-connectiondrainingpolicy-timeout>+                                      timeout :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkConnectionDrainingPolicyProperty ::+  Value Prelude.Bool -> ConnectionDrainingPolicyProperty+mkConnectionDrainingPolicyProperty enabled+  = ConnectionDrainingPolicyProperty+      {haddock_workaround_ = (), enabled = enabled,+       timeout = Prelude.Nothing}+instance ToResourceProperties ConnectionDrainingPolicyProperty where+  toResourceProperties ConnectionDrainingPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionDrainingPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Enabled" JSON..= enabled]+                           (Prelude.catMaybes [(JSON..=) "Timeout" Prelude.<$> timeout]))}+instance JSON.ToJSON ConnectionDrainingPolicyProperty where+  toJSON ConnectionDrainingPolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Enabled" JSON..= enabled]+              (Prelude.catMaybes [(JSON..=) "Timeout" Prelude.<$> timeout])))+instance Property "Enabled" ConnectionDrainingPolicyProperty where+  type PropertyType "Enabled" ConnectionDrainingPolicyProperty = Value Prelude.Bool+  set newValue ConnectionDrainingPolicyProperty {..}+    = ConnectionDrainingPolicyProperty {enabled = newValue, ..}+instance Property "Timeout" ConnectionDrainingPolicyProperty where+  type PropertyType "Timeout" ConnectionDrainingPolicyProperty = Value Prelude.Integer+  set newValue ConnectionDrainingPolicyProperty {..}+    = ConnectionDrainingPolicyProperty+        {timeout = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/ConnectionDrainingPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.ConnectionDrainingPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ConnectionDrainingPolicyProperty :: Prelude.Type+instance ToResourceProperties ConnectionDrainingPolicyProperty+instance Prelude.Eq ConnectionDrainingPolicyProperty+instance Prelude.Show ConnectionDrainingPolicyProperty+instance JSON.ToJSON ConnectionDrainingPolicyProperty
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/ConnectionSettingsProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.ConnectionSettingsProperty (+        ConnectionSettingsProperty(..), mkConnectionSettingsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ConnectionSettingsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html>+    ConnectionSettingsProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html#cfn-elb-connectionsettings-idletimeout>+                                idleTimeout :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkConnectionSettingsProperty ::+  Value Prelude.Integer -> ConnectionSettingsProperty+mkConnectionSettingsProperty idleTimeout+  = ConnectionSettingsProperty+      {haddock_workaround_ = (), idleTimeout = idleTimeout}+instance ToResourceProperties ConnectionSettingsProperty where+  toResourceProperties ConnectionSettingsProperty {..}+    = ResourceProperties+        {awsType = "AWS::ElasticLoadBalancing::LoadBalancer.ConnectionSettings",+         supportsTags = Prelude.False,+         properties = ["IdleTimeout" JSON..= idleTimeout]}+instance JSON.ToJSON ConnectionSettingsProperty where+  toJSON ConnectionSettingsProperty {..}+    = JSON.object ["IdleTimeout" JSON..= idleTimeout]+instance Property "IdleTimeout" ConnectionSettingsProperty where+  type PropertyType "IdleTimeout" ConnectionSettingsProperty = Value Prelude.Integer+  set newValue ConnectionSettingsProperty {..}+    = ConnectionSettingsProperty {idleTimeout = newValue, ..}
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/ConnectionSettingsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.ConnectionSettingsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ConnectionSettingsProperty :: Prelude.Type+instance ToResourceProperties ConnectionSettingsProperty+instance Prelude.Eq ConnectionSettingsProperty+instance Prelude.Show ConnectionSettingsProperty+instance JSON.ToJSON ConnectionSettingsProperty
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/HealthCheckProperty.hs view
@@ -0,0 +1,73 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.HealthCheckProperty (+        HealthCheckProperty(..), mkHealthCheckProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HealthCheckProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html>+    HealthCheckProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-healthythreshold>+                         healthyThreshold :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-interval>+                         interval :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-target>+                         target :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-timeout>+                         timeout :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-unhealthythreshold>+                         unhealthyThreshold :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHealthCheckProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> Value Prelude.Text -> Value Prelude.Text -> HealthCheckProperty+mkHealthCheckProperty+  healthyThreshold+  interval+  target+  timeout+  unhealthyThreshold+  = HealthCheckProperty+      {haddock_workaround_ = (), healthyThreshold = healthyThreshold,+       interval = interval, target = target, timeout = timeout,+       unhealthyThreshold = unhealthyThreshold}+instance ToResourceProperties HealthCheckProperty where+  toResourceProperties HealthCheckProperty {..}+    = ResourceProperties+        {awsType = "AWS::ElasticLoadBalancing::LoadBalancer.HealthCheck",+         supportsTags = Prelude.False,+         properties = ["HealthyThreshold" JSON..= healthyThreshold,+                       "Interval" JSON..= interval, "Target" JSON..= target,+                       "Timeout" JSON..= timeout,+                       "UnhealthyThreshold" JSON..= unhealthyThreshold]}+instance JSON.ToJSON HealthCheckProperty where+  toJSON HealthCheckProperty {..}+    = JSON.object+        ["HealthyThreshold" JSON..= healthyThreshold,+         "Interval" JSON..= interval, "Target" JSON..= target,+         "Timeout" JSON..= timeout,+         "UnhealthyThreshold" JSON..= unhealthyThreshold]+instance Property "HealthyThreshold" HealthCheckProperty where+  type PropertyType "HealthyThreshold" HealthCheckProperty = Value Prelude.Text+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {healthyThreshold = newValue, ..}+instance Property "Interval" HealthCheckProperty where+  type PropertyType "Interval" HealthCheckProperty = Value Prelude.Text+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {interval = newValue, ..}+instance Property "Target" HealthCheckProperty where+  type PropertyType "Target" HealthCheckProperty = Value Prelude.Text+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {target = newValue, ..}+instance Property "Timeout" HealthCheckProperty where+  type PropertyType "Timeout" HealthCheckProperty = Value Prelude.Text+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {timeout = newValue, ..}+instance Property "UnhealthyThreshold" HealthCheckProperty where+  type PropertyType "UnhealthyThreshold" HealthCheckProperty = Value Prelude.Text+  set newValue HealthCheckProperty {..}+    = HealthCheckProperty {unhealthyThreshold = newValue, ..}
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/HealthCheckProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.HealthCheckProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HealthCheckProperty :: Prelude.Type+instance ToResourceProperties HealthCheckProperty+instance Prelude.Eq HealthCheckProperty+instance Prelude.Show HealthCheckProperty+instance JSON.ToJSON HealthCheckProperty
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/LBCookieStickinessPolicyProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.LBCookieStickinessPolicyProperty (+        LBCookieStickinessPolicyProperty(..),+        mkLBCookieStickinessPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LBCookieStickinessPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html>+    LBCookieStickinessPolicyProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html#cfn-elb-lbcookiestickinesspolicy-cookieexpirationperiod>+                                      cookieExpirationPeriod :: (Prelude.Maybe (Value Prelude.Text)),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html#cfn-elb-lbcookiestickinesspolicy-policyname>+                                      policyName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLBCookieStickinessPolicyProperty ::+  LBCookieStickinessPolicyProperty+mkLBCookieStickinessPolicyProperty+  = LBCookieStickinessPolicyProperty+      {haddock_workaround_ = (),+       cookieExpirationPeriod = Prelude.Nothing,+       policyName = Prelude.Nothing}+instance ToResourceProperties LBCookieStickinessPolicyProperty where+  toResourceProperties LBCookieStickinessPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::ElasticLoadBalancing::LoadBalancer.LBCookieStickinessPolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CookieExpirationPeriod"+                              Prelude.<$> cookieExpirationPeriod,+                            (JSON..=) "PolicyName" Prelude.<$> policyName])}+instance JSON.ToJSON LBCookieStickinessPolicyProperty where+  toJSON LBCookieStickinessPolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CookieExpirationPeriod"+                 Prelude.<$> cookieExpirationPeriod,+               (JSON..=) "PolicyName" Prelude.<$> policyName]))+instance Property "CookieExpirationPeriod" LBCookieStickinessPolicyProperty where+  type PropertyType "CookieExpirationPeriod" LBCookieStickinessPolicyProperty = Value Prelude.Text+  set newValue LBCookieStickinessPolicyProperty {..}+    = LBCookieStickinessPolicyProperty+        {cookieExpirationPeriod = Prelude.pure newValue, ..}+instance Property "PolicyName" LBCookieStickinessPolicyProperty where+  type PropertyType "PolicyName" LBCookieStickinessPolicyProperty = Value Prelude.Text+  set newValue LBCookieStickinessPolicyProperty {..}+    = LBCookieStickinessPolicyProperty+        {policyName = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/LBCookieStickinessPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.LBCookieStickinessPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LBCookieStickinessPolicyProperty :: Prelude.Type+instance ToResourceProperties LBCookieStickinessPolicyProperty+instance Prelude.Eq LBCookieStickinessPolicyProperty+instance Prelude.Show LBCookieStickinessPolicyProperty+instance JSON.ToJSON LBCookieStickinessPolicyProperty
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/ListenersProperty.hs view
@@ -0,0 +1,83 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.ListenersProperty (+        ListenersProperty(..), mkListenersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ListenersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html>+    ListenersProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-instanceport>+                       instancePort :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-instanceprotocol>+                       instanceProtocol :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-loadbalancerport>+                       loadBalancerPort :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-policynames>+                       policyNames :: (Prelude.Maybe (ValueList Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-protocol>+                       protocol :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-sslcertificateid>+                       sSLCertificateId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkListenersProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> ListenersProperty+mkListenersProperty instancePort loadBalancerPort protocol+  = ListenersProperty+      {haddock_workaround_ = (), instancePort = instancePort,+       loadBalancerPort = loadBalancerPort, protocol = protocol,+       instanceProtocol = Prelude.Nothing, policyNames = Prelude.Nothing,+       sSLCertificateId = Prelude.Nothing}+instance ToResourceProperties ListenersProperty where+  toResourceProperties ListenersProperty {..}+    = ResourceProperties+        {awsType = "AWS::ElasticLoadBalancing::LoadBalancer.Listeners",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["InstancePort" JSON..= instancePort,+                            "LoadBalancerPort" JSON..= loadBalancerPort,+                            "Protocol" JSON..= protocol]+                           (Prelude.catMaybes+                              [(JSON..=) "InstanceProtocol" Prelude.<$> instanceProtocol,+                               (JSON..=) "PolicyNames" Prelude.<$> policyNames,+                               (JSON..=) "SSLCertificateId" Prelude.<$> sSLCertificateId]))}+instance JSON.ToJSON ListenersProperty where+  toJSON ListenersProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["InstancePort" JSON..= instancePort,+               "LoadBalancerPort" JSON..= loadBalancerPort,+               "Protocol" JSON..= protocol]+              (Prelude.catMaybes+                 [(JSON..=) "InstanceProtocol" Prelude.<$> instanceProtocol,+                  (JSON..=) "PolicyNames" Prelude.<$> policyNames,+                  (JSON..=) "SSLCertificateId" Prelude.<$> sSLCertificateId])))+instance Property "InstancePort" ListenersProperty where+  type PropertyType "InstancePort" ListenersProperty = Value Prelude.Text+  set newValue ListenersProperty {..}+    = ListenersProperty {instancePort = newValue, ..}+instance Property "InstanceProtocol" ListenersProperty where+  type PropertyType "InstanceProtocol" ListenersProperty = Value Prelude.Text+  set newValue ListenersProperty {..}+    = ListenersProperty {instanceProtocol = Prelude.pure newValue, ..}+instance Property "LoadBalancerPort" ListenersProperty where+  type PropertyType "LoadBalancerPort" ListenersProperty = Value Prelude.Text+  set newValue ListenersProperty {..}+    = ListenersProperty {loadBalancerPort = newValue, ..}+instance Property "PolicyNames" ListenersProperty where+  type PropertyType "PolicyNames" ListenersProperty = ValueList Prelude.Text+  set newValue ListenersProperty {..}+    = ListenersProperty {policyNames = Prelude.pure newValue, ..}+instance Property "Protocol" ListenersProperty where+  type PropertyType "Protocol" ListenersProperty = Value Prelude.Text+  set newValue ListenersProperty {..}+    = ListenersProperty {protocol = newValue, ..}+instance Property "SSLCertificateId" ListenersProperty where+  type PropertyType "SSLCertificateId" ListenersProperty = Value Prelude.Text+  set newValue ListenersProperty {..}+    = ListenersProperty {sSLCertificateId = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/ListenersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.ListenersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ListenersProperty :: Prelude.Type+instance ToResourceProperties ListenersProperty+instance Prelude.Eq ListenersProperty+instance Prelude.Show ListenersProperty+instance JSON.ToJSON ListenersProperty
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/PoliciesProperty.hs view
@@ -0,0 +1,73 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.PoliciesProperty (+        PoliciesProperty(..), mkPoliciesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PoliciesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html>+    PoliciesProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-attributes>+                      attributes :: JSON.Object,+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-instanceports>+                      instancePorts :: (Prelude.Maybe (ValueList Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-loadbalancerports>+                      loadBalancerPorts :: (Prelude.Maybe (ValueList Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-policyname>+                      policyName :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-policytype>+                      policyType :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPoliciesProperty ::+  JSON.Object+  -> Value Prelude.Text -> Value Prelude.Text -> PoliciesProperty+mkPoliciesProperty attributes policyName policyType+  = PoliciesProperty+      {haddock_workaround_ = (), attributes = attributes,+       policyName = policyName, policyType = policyType,+       instancePorts = Prelude.Nothing,+       loadBalancerPorts = Prelude.Nothing}+instance ToResourceProperties PoliciesProperty where+  toResourceProperties PoliciesProperty {..}+    = ResourceProperties+        {awsType = "AWS::ElasticLoadBalancing::LoadBalancer.Policies",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Attributes" JSON..= attributes, "PolicyName" JSON..= policyName,+                            "PolicyType" JSON..= policyType]+                           (Prelude.catMaybes+                              [(JSON..=) "InstancePorts" Prelude.<$> instancePorts,+                               (JSON..=) "LoadBalancerPorts" Prelude.<$> loadBalancerPorts]))}+instance JSON.ToJSON PoliciesProperty where+  toJSON PoliciesProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Attributes" JSON..= attributes, "PolicyName" JSON..= policyName,+               "PolicyType" JSON..= policyType]+              (Prelude.catMaybes+                 [(JSON..=) "InstancePorts" Prelude.<$> instancePorts,+                  (JSON..=) "LoadBalancerPorts" Prelude.<$> loadBalancerPorts])))+instance Property "Attributes" PoliciesProperty where+  type PropertyType "Attributes" PoliciesProperty = JSON.Object+  set newValue PoliciesProperty {..}+    = PoliciesProperty {attributes = newValue, ..}+instance Property "InstancePorts" PoliciesProperty where+  type PropertyType "InstancePorts" PoliciesProperty = ValueList Prelude.Text+  set newValue PoliciesProperty {..}+    = PoliciesProperty {instancePorts = Prelude.pure newValue, ..}+instance Property "LoadBalancerPorts" PoliciesProperty where+  type PropertyType "LoadBalancerPorts" PoliciesProperty = ValueList Prelude.Text+  set newValue PoliciesProperty {..}+    = PoliciesProperty {loadBalancerPorts = Prelude.pure newValue, ..}+instance Property "PolicyName" PoliciesProperty where+  type PropertyType "PolicyName" PoliciesProperty = Value Prelude.Text+  set newValue PoliciesProperty {..}+    = PoliciesProperty {policyName = newValue, ..}+instance Property "PolicyType" PoliciesProperty where+  type PropertyType "PolicyType" PoliciesProperty = Value Prelude.Text+  set newValue PoliciesProperty {..}+    = PoliciesProperty {policyType = newValue, ..}
+ gen/Stratosphere/ElasticLoadBalancing/LoadBalancer/PoliciesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElasticLoadBalancing.LoadBalancer.PoliciesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PoliciesProperty :: Prelude.Type+instance ToResourceProperties PoliciesProperty+instance Prelude.Eq PoliciesProperty+instance Prelude.Show PoliciesProperty+instance JSON.ToJSON PoliciesProperty
+ stratosphere-elasticloadbalancing.cabal view
@@ -0,0 +1,81 @@+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-elasticloadbalancing+version:        1.0.0+synopsis:       Stratosphere integration for AWS ElasticLoadBalancing.+description:    Integration into stratosphere to generate resources and properties for AWS ElasticLoadBalancing+category:       AWS, Cloud, ElasticLoadBalancing+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.ElasticLoadBalancing.LoadBalancer+      Stratosphere.ElasticLoadBalancing.LoadBalancer.AccessLoggingPolicyProperty+      Stratosphere.ElasticLoadBalancing.LoadBalancer.AppCookieStickinessPolicyProperty+      Stratosphere.ElasticLoadBalancing.LoadBalancer.ConnectionDrainingPolicyProperty+      Stratosphere.ElasticLoadBalancing.LoadBalancer.ConnectionSettingsProperty+      Stratosphere.ElasticLoadBalancing.LoadBalancer.HealthCheckProperty+      Stratosphere.ElasticLoadBalancing.LoadBalancer.LBCookieStickinessPolicyProperty+      Stratosphere.ElasticLoadBalancing.LoadBalancer.ListenersProperty+      Stratosphere.ElasticLoadBalancing.LoadBalancer.PoliciesProperty+  other-modules:+      Paths_stratosphere_elasticloadbalancing+  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