packages feed

stratosphere-ec2 (empty) → 1.0.0

raw patch · 538 files changed

+25656/−0 lines, 538 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/EC2/CapacityManagerDataExport.hs view
@@ -0,0 +1,75 @@+module Stratosphere.EC2.CapacityManagerDataExport (+        CapacityManagerDataExport(..), mkCapacityManagerDataExport+    ) 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 CapacityManagerDataExport+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacitymanagerdataexport.html>+    CapacityManagerDataExport {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacitymanagerdataexport.html#cfn-ec2-capacitymanagerdataexport-outputformat>+                               outputFormat :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacitymanagerdataexport.html#cfn-ec2-capacitymanagerdataexport-s3bucketname>+                               s3BucketName :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacitymanagerdataexport.html#cfn-ec2-capacitymanagerdataexport-s3bucketprefix>+                               s3BucketPrefix :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacitymanagerdataexport.html#cfn-ec2-capacitymanagerdataexport-schedule>+                               schedule :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacitymanagerdataexport.html#cfn-ec2-capacitymanagerdataexport-tags>+                               tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityManagerDataExport ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> CapacityManagerDataExport+mkCapacityManagerDataExport outputFormat s3BucketName schedule+  = CapacityManagerDataExport+      {haddock_workaround_ = (), outputFormat = outputFormat,+       s3BucketName = s3BucketName, schedule = schedule,+       s3BucketPrefix = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties CapacityManagerDataExport where+  toResourceProperties CapacityManagerDataExport {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CapacityManagerDataExport",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["OutputFormat" JSON..= outputFormat,+                            "S3BucketName" JSON..= s3BucketName, "Schedule" JSON..= schedule]+                           (Prelude.catMaybes+                              [(JSON..=) "S3BucketPrefix" Prelude.<$> s3BucketPrefix,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON CapacityManagerDataExport where+  toJSON CapacityManagerDataExport {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["OutputFormat" JSON..= outputFormat,+               "S3BucketName" JSON..= s3BucketName, "Schedule" JSON..= schedule]+              (Prelude.catMaybes+                 [(JSON..=) "S3BucketPrefix" Prelude.<$> s3BucketPrefix,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "OutputFormat" CapacityManagerDataExport where+  type PropertyType "OutputFormat" CapacityManagerDataExport = Value Prelude.Text+  set newValue CapacityManagerDataExport {..}+    = CapacityManagerDataExport {outputFormat = newValue, ..}+instance Property "S3BucketName" CapacityManagerDataExport where+  type PropertyType "S3BucketName" CapacityManagerDataExport = Value Prelude.Text+  set newValue CapacityManagerDataExport {..}+    = CapacityManagerDataExport {s3BucketName = newValue, ..}+instance Property "S3BucketPrefix" CapacityManagerDataExport where+  type PropertyType "S3BucketPrefix" CapacityManagerDataExport = Value Prelude.Text+  set newValue CapacityManagerDataExport {..}+    = CapacityManagerDataExport+        {s3BucketPrefix = Prelude.pure newValue, ..}+instance Property "Schedule" CapacityManagerDataExport where+  type PropertyType "Schedule" CapacityManagerDataExport = Value Prelude.Text+  set newValue CapacityManagerDataExport {..}+    = CapacityManagerDataExport {schedule = newValue, ..}+instance Property "Tags" CapacityManagerDataExport where+  type PropertyType "Tags" CapacityManagerDataExport = [Tag]+  set newValue CapacityManagerDataExport {..}+    = CapacityManagerDataExport {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/CapacityReservation.hs view
@@ -0,0 +1,173 @@+module Stratosphere.EC2.CapacityReservation (+        module Exports, CapacityReservation(..), mkCapacityReservation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.CapacityReservation.TagSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityReservation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html>+    CapacityReservation {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-availabilityzone>+                         availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-availabilityzoneid>+                         availabilityZoneId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-ebsoptimized>+                         ebsOptimized :: (Prelude.Maybe (Value Prelude.Bool)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-enddate>+                         endDate :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-enddatetype>+                         endDateType :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-ephemeralstorage>+                         ephemeralStorage :: (Prelude.Maybe (Value Prelude.Bool)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancecount>+                         instanceCount :: (Value Prelude.Integer),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancematchcriteria>+                         instanceMatchCriteria :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instanceplatform>+                         instancePlatform :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-instancetype>+                         instanceType :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-outpostarn>+                         outPostArn :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-placementgrouparn>+                         placementGroupArn :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-tagspecifications>+                         tagSpecifications :: (Prelude.Maybe [TagSpecificationProperty]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-tenancy>+                         tenancy :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservation.html#cfn-ec2-capacityreservation-unusedreservationbillingownerid>+                         unusedReservationBillingOwnerId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityReservation ::+  Value Prelude.Integer+  -> Value Prelude.Text -> Value Prelude.Text -> CapacityReservation+mkCapacityReservation instanceCount instancePlatform instanceType+  = CapacityReservation+      {haddock_workaround_ = (), instanceCount = instanceCount,+       instancePlatform = instancePlatform, instanceType = instanceType,+       availabilityZone = Prelude.Nothing,+       availabilityZoneId = Prelude.Nothing,+       ebsOptimized = Prelude.Nothing, endDate = Prelude.Nothing,+       endDateType = Prelude.Nothing, ephemeralStorage = Prelude.Nothing,+       instanceMatchCriteria = Prelude.Nothing,+       outPostArn = Prelude.Nothing, placementGroupArn = Prelude.Nothing,+       tagSpecifications = Prelude.Nothing, tenancy = Prelude.Nothing,+       unusedReservationBillingOwnerId = Prelude.Nothing}+instance ToResourceProperties CapacityReservation where+  toResourceProperties CapacityReservation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CapacityReservation",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["InstanceCount" JSON..= instanceCount,+                            "InstancePlatform" JSON..= instancePlatform,+                            "InstanceType" JSON..= instanceType]+                           (Prelude.catMaybes+                              [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                               (JSON..=) "AvailabilityZoneId" Prelude.<$> availabilityZoneId,+                               (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+                               (JSON..=) "EndDate" Prelude.<$> endDate,+                               (JSON..=) "EndDateType" Prelude.<$> endDateType,+                               (JSON..=) "EphemeralStorage" Prelude.<$> ephemeralStorage,+                               (JSON..=) "InstanceMatchCriteria"+                                 Prelude.<$> instanceMatchCriteria,+                               (JSON..=) "OutPostArn" Prelude.<$> outPostArn,+                               (JSON..=) "PlacementGroupArn" Prelude.<$> placementGroupArn,+                               (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                               (JSON..=) "Tenancy" Prelude.<$> tenancy,+                               (JSON..=) "UnusedReservationBillingOwnerId"+                                 Prelude.<$> unusedReservationBillingOwnerId]))}+instance JSON.ToJSON CapacityReservation where+  toJSON CapacityReservation {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["InstanceCount" JSON..= instanceCount,+               "InstancePlatform" JSON..= instancePlatform,+               "InstanceType" JSON..= instanceType]+              (Prelude.catMaybes+                 [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                  (JSON..=) "AvailabilityZoneId" Prelude.<$> availabilityZoneId,+                  (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+                  (JSON..=) "EndDate" Prelude.<$> endDate,+                  (JSON..=) "EndDateType" Prelude.<$> endDateType,+                  (JSON..=) "EphemeralStorage" Prelude.<$> ephemeralStorage,+                  (JSON..=) "InstanceMatchCriteria"+                    Prelude.<$> instanceMatchCriteria,+                  (JSON..=) "OutPostArn" Prelude.<$> outPostArn,+                  (JSON..=) "PlacementGroupArn" Prelude.<$> placementGroupArn,+                  (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                  (JSON..=) "Tenancy" Prelude.<$> tenancy,+                  (JSON..=) "UnusedReservationBillingOwnerId"+                    Prelude.<$> unusedReservationBillingOwnerId])))+instance Property "AvailabilityZone" CapacityReservation where+  type PropertyType "AvailabilityZone" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation+        {availabilityZone = Prelude.pure newValue, ..}+instance Property "AvailabilityZoneId" CapacityReservation where+  type PropertyType "AvailabilityZoneId" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation+        {availabilityZoneId = Prelude.pure newValue, ..}+instance Property "EbsOptimized" CapacityReservation where+  type PropertyType "EbsOptimized" CapacityReservation = Value Prelude.Bool+  set newValue CapacityReservation {..}+    = CapacityReservation {ebsOptimized = Prelude.pure newValue, ..}+instance Property "EndDate" CapacityReservation where+  type PropertyType "EndDate" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation {endDate = Prelude.pure newValue, ..}+instance Property "EndDateType" CapacityReservation where+  type PropertyType "EndDateType" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation {endDateType = Prelude.pure newValue, ..}+instance Property "EphemeralStorage" CapacityReservation where+  type PropertyType "EphemeralStorage" CapacityReservation = Value Prelude.Bool+  set newValue CapacityReservation {..}+    = CapacityReservation+        {ephemeralStorage = Prelude.pure newValue, ..}+instance Property "InstanceCount" CapacityReservation where+  type PropertyType "InstanceCount" CapacityReservation = Value Prelude.Integer+  set newValue CapacityReservation {..}+    = CapacityReservation {instanceCount = newValue, ..}+instance Property "InstanceMatchCriteria" CapacityReservation where+  type PropertyType "InstanceMatchCriteria" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation+        {instanceMatchCriteria = Prelude.pure newValue, ..}+instance Property "InstancePlatform" CapacityReservation where+  type PropertyType "InstancePlatform" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation {instancePlatform = newValue, ..}+instance Property "InstanceType" CapacityReservation where+  type PropertyType "InstanceType" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation {instanceType = newValue, ..}+instance Property "OutPostArn" CapacityReservation where+  type PropertyType "OutPostArn" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation {outPostArn = Prelude.pure newValue, ..}+instance Property "PlacementGroupArn" CapacityReservation where+  type PropertyType "PlacementGroupArn" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation+        {placementGroupArn = Prelude.pure newValue, ..}+instance Property "TagSpecifications" CapacityReservation where+  type PropertyType "TagSpecifications" CapacityReservation = [TagSpecificationProperty]+  set newValue CapacityReservation {..}+    = CapacityReservation+        {tagSpecifications = Prelude.pure newValue, ..}+instance Property "Tenancy" CapacityReservation where+  type PropertyType "Tenancy" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation {tenancy = Prelude.pure newValue, ..}+instance Property "UnusedReservationBillingOwnerId" CapacityReservation where+  type PropertyType "UnusedReservationBillingOwnerId" CapacityReservation = Value Prelude.Text+  set newValue CapacityReservation {..}+    = CapacityReservation+        {unusedReservationBillingOwnerId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/CapacityReservation/CapacityAllocationProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.EC2.CapacityReservation.CapacityAllocationProperty (+        CapacityAllocationProperty(..), mkCapacityAllocationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityAllocationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-capacityallocation.html>+    CapacityAllocationProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-capacityallocation.html#cfn-ec2-capacityreservation-capacityallocation-allocationtype>+                                allocationType :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-capacityallocation.html#cfn-ec2-capacityreservation-capacityallocation-count>+                                count :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityAllocationProperty :: CapacityAllocationProperty+mkCapacityAllocationProperty+  = CapacityAllocationProperty+      {haddock_workaround_ = (), allocationType = Prelude.Nothing,+       count = Prelude.Nothing}+instance ToResourceProperties CapacityAllocationProperty where+  toResourceProperties CapacityAllocationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CapacityReservation.CapacityAllocation",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AllocationType" Prelude.<$> allocationType,+                            (JSON..=) "Count" Prelude.<$> count])}+instance JSON.ToJSON CapacityAllocationProperty where+  toJSON CapacityAllocationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AllocationType" Prelude.<$> allocationType,+               (JSON..=) "Count" Prelude.<$> count]))+instance Property "AllocationType" CapacityAllocationProperty where+  type PropertyType "AllocationType" CapacityAllocationProperty = Value Prelude.Text+  set newValue CapacityAllocationProperty {..}+    = CapacityAllocationProperty+        {allocationType = Prelude.pure newValue, ..}+instance Property "Count" CapacityAllocationProperty where+  type PropertyType "Count" CapacityAllocationProperty = Value Prelude.Integer+  set newValue CapacityAllocationProperty {..}+    = CapacityAllocationProperty {count = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/CapacityReservation/CapacityAllocationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.CapacityReservation.CapacityAllocationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CapacityAllocationProperty :: Prelude.Type+instance ToResourceProperties CapacityAllocationProperty+instance Prelude.Eq CapacityAllocationProperty+instance Prelude.Show CapacityAllocationProperty+instance JSON.ToJSON CapacityAllocationProperty
+ gen/Stratosphere/EC2/CapacityReservation/CommitmentInfoProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.CapacityReservation.CommitmentInfoProperty (+        CommitmentInfoProperty(..), mkCommitmentInfoProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CommitmentInfoProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-commitmentinfo.html>+    CommitmentInfoProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-commitmentinfo.html#cfn-ec2-capacityreservation-commitmentinfo-commitmentenddate>+                            commitmentEndDate :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-commitmentinfo.html#cfn-ec2-capacityreservation-commitmentinfo-committedinstancecount>+                            committedInstanceCount :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCommitmentInfoProperty :: CommitmentInfoProperty+mkCommitmentInfoProperty+  = CommitmentInfoProperty+      {haddock_workaround_ = (), commitmentEndDate = Prelude.Nothing,+       committedInstanceCount = Prelude.Nothing}+instance ToResourceProperties CommitmentInfoProperty where+  toResourceProperties CommitmentInfoProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CapacityReservation.CommitmentInfo",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CommitmentEndDate" Prelude.<$> commitmentEndDate,+                            (JSON..=) "CommittedInstanceCount"+                              Prelude.<$> committedInstanceCount])}+instance JSON.ToJSON CommitmentInfoProperty where+  toJSON CommitmentInfoProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CommitmentEndDate" Prelude.<$> commitmentEndDate,+               (JSON..=) "CommittedInstanceCount"+                 Prelude.<$> committedInstanceCount]))+instance Property "CommitmentEndDate" CommitmentInfoProperty where+  type PropertyType "CommitmentEndDate" CommitmentInfoProperty = Value Prelude.Text+  set newValue CommitmentInfoProperty {..}+    = CommitmentInfoProperty+        {commitmentEndDate = Prelude.pure newValue, ..}+instance Property "CommittedInstanceCount" CommitmentInfoProperty where+  type PropertyType "CommittedInstanceCount" CommitmentInfoProperty = Value Prelude.Integer+  set newValue CommitmentInfoProperty {..}+    = CommitmentInfoProperty+        {committedInstanceCount = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/CapacityReservation/CommitmentInfoProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.CapacityReservation.CommitmentInfoProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CommitmentInfoProperty :: Prelude.Type+instance ToResourceProperties CommitmentInfoProperty+instance Prelude.Eq CommitmentInfoProperty+instance Prelude.Show CommitmentInfoProperty+instance JSON.ToJSON CommitmentInfoProperty
+ gen/Stratosphere/EC2/CapacityReservation/TagSpecificationProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.CapacityReservation.TagSpecificationProperty (+        TagSpecificationProperty(..), mkTagSpecificationProperty+    ) 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 TagSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html>+    TagSpecificationProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html#cfn-ec2-capacityreservation-tagspecification-resourcetype>+                              resourceType :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-tagspecification.html#cfn-ec2-capacityreservation-tagspecification-tags>+                              tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTagSpecificationProperty :: TagSpecificationProperty+mkTagSpecificationProperty+  = TagSpecificationProperty+      {haddock_workaround_ = (), resourceType = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties TagSpecificationProperty where+  toResourceProperties TagSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CapacityReservation.TagSpecification",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ResourceType" Prelude.<$> resourceType,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON TagSpecificationProperty where+  toJSON TagSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ResourceType" Prelude.<$> resourceType,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "ResourceType" TagSpecificationProperty where+  type PropertyType "ResourceType" TagSpecificationProperty = Value Prelude.Text+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty+        {resourceType = Prelude.pure newValue, ..}+instance Property "Tags" TagSpecificationProperty where+  type PropertyType "Tags" TagSpecificationProperty = [Tag]+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/CapacityReservation/TagSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.CapacityReservation.TagSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TagSpecificationProperty :: Prelude.Type+instance ToResourceProperties TagSpecificationProperty+instance Prelude.Eq TagSpecificationProperty+instance Prelude.Show TagSpecificationProperty+instance JSON.ToJSON TagSpecificationProperty
+ gen/Stratosphere/EC2/CapacityReservationFleet.hs view
@@ -0,0 +1,119 @@+module Stratosphere.EC2.CapacityReservationFleet (+        module Exports, CapacityReservationFleet(..),+        mkCapacityReservationFleet+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.CapacityReservationFleet.InstanceTypeSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.CapacityReservationFleet.TagSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityReservationFleet+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html>+    CapacityReservationFleet {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-allocationstrategy>+                              allocationStrategy :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-enddate>+                              endDate :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-instancematchcriteria>+                              instanceMatchCriteria :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-instancetypespecifications>+                              instanceTypeSpecifications :: (Prelude.Maybe [InstanceTypeSpecificationProperty]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-noremoveenddate>+                              noRemoveEndDate :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-removeenddate>+                              removeEndDate :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-tagspecifications>+                              tagSpecifications :: (Prelude.Maybe [TagSpecificationProperty]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-tenancy>+                              tenancy :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-capacityreservationfleet.html#cfn-ec2-capacityreservationfleet-totaltargetcapacity>+                              totalTargetCapacity :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityReservationFleet :: CapacityReservationFleet+mkCapacityReservationFleet+  = CapacityReservationFleet+      {haddock_workaround_ = (), allocationStrategy = Prelude.Nothing,+       endDate = Prelude.Nothing, instanceMatchCriteria = Prelude.Nothing,+       instanceTypeSpecifications = Prelude.Nothing,+       noRemoveEndDate = Prelude.Nothing, removeEndDate = Prelude.Nothing,+       tagSpecifications = Prelude.Nothing, tenancy = Prelude.Nothing,+       totalTargetCapacity = Prelude.Nothing}+instance ToResourceProperties CapacityReservationFleet where+  toResourceProperties CapacityReservationFleet {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CapacityReservationFleet",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AllocationStrategy" Prelude.<$> allocationStrategy,+                            (JSON..=) "EndDate" Prelude.<$> endDate,+                            (JSON..=) "InstanceMatchCriteria"+                              Prelude.<$> instanceMatchCriteria,+                            (JSON..=) "InstanceTypeSpecifications"+                              Prelude.<$> instanceTypeSpecifications,+                            (JSON..=) "NoRemoveEndDate" Prelude.<$> noRemoveEndDate,+                            (JSON..=) "RemoveEndDate" Prelude.<$> removeEndDate,+                            (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                            (JSON..=) "Tenancy" Prelude.<$> tenancy,+                            (JSON..=) "TotalTargetCapacity" Prelude.<$> totalTargetCapacity])}+instance JSON.ToJSON CapacityReservationFleet where+  toJSON CapacityReservationFleet {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AllocationStrategy" Prelude.<$> allocationStrategy,+               (JSON..=) "EndDate" Prelude.<$> endDate,+               (JSON..=) "InstanceMatchCriteria"+                 Prelude.<$> instanceMatchCriteria,+               (JSON..=) "InstanceTypeSpecifications"+                 Prelude.<$> instanceTypeSpecifications,+               (JSON..=) "NoRemoveEndDate" Prelude.<$> noRemoveEndDate,+               (JSON..=) "RemoveEndDate" Prelude.<$> removeEndDate,+               (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+               (JSON..=) "Tenancy" Prelude.<$> tenancy,+               (JSON..=) "TotalTargetCapacity" Prelude.<$> totalTargetCapacity]))+instance Property "AllocationStrategy" CapacityReservationFleet where+  type PropertyType "AllocationStrategy" CapacityReservationFleet = Value Prelude.Text+  set newValue CapacityReservationFleet {..}+    = CapacityReservationFleet+        {allocationStrategy = Prelude.pure newValue, ..}+instance Property "EndDate" CapacityReservationFleet where+  type PropertyType "EndDate" CapacityReservationFleet = Value Prelude.Text+  set newValue CapacityReservationFleet {..}+    = CapacityReservationFleet {endDate = Prelude.pure newValue, ..}+instance Property "InstanceMatchCriteria" CapacityReservationFleet where+  type PropertyType "InstanceMatchCriteria" CapacityReservationFleet = Value Prelude.Text+  set newValue CapacityReservationFleet {..}+    = CapacityReservationFleet+        {instanceMatchCriteria = Prelude.pure newValue, ..}+instance Property "InstanceTypeSpecifications" CapacityReservationFleet where+  type PropertyType "InstanceTypeSpecifications" CapacityReservationFleet = [InstanceTypeSpecificationProperty]+  set newValue CapacityReservationFleet {..}+    = CapacityReservationFleet+        {instanceTypeSpecifications = Prelude.pure newValue, ..}+instance Property "NoRemoveEndDate" CapacityReservationFleet where+  type PropertyType "NoRemoveEndDate" CapacityReservationFleet = Value Prelude.Bool+  set newValue CapacityReservationFleet {..}+    = CapacityReservationFleet+        {noRemoveEndDate = Prelude.pure newValue, ..}+instance Property "RemoveEndDate" CapacityReservationFleet where+  type PropertyType "RemoveEndDate" CapacityReservationFleet = Value Prelude.Bool+  set newValue CapacityReservationFleet {..}+    = CapacityReservationFleet+        {removeEndDate = Prelude.pure newValue, ..}+instance Property "TagSpecifications" CapacityReservationFleet where+  type PropertyType "TagSpecifications" CapacityReservationFleet = [TagSpecificationProperty]+  set newValue CapacityReservationFleet {..}+    = CapacityReservationFleet+        {tagSpecifications = Prelude.pure newValue, ..}+instance Property "Tenancy" CapacityReservationFleet where+  type PropertyType "Tenancy" CapacityReservationFleet = Value Prelude.Text+  set newValue CapacityReservationFleet {..}+    = CapacityReservationFleet {tenancy = Prelude.pure newValue, ..}+instance Property "TotalTargetCapacity" CapacityReservationFleet where+  type PropertyType "TotalTargetCapacity" CapacityReservationFleet = Value Prelude.Integer+  set newValue CapacityReservationFleet {..}+    = CapacityReservationFleet+        {totalTargetCapacity = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/CapacityReservationFleet/InstanceTypeSpecificationProperty.hs view
@@ -0,0 +1,97 @@+module Stratosphere.EC2.CapacityReservationFleet.InstanceTypeSpecificationProperty (+        InstanceTypeSpecificationProperty(..),+        mkInstanceTypeSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceTypeSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html>+    InstanceTypeSpecificationProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-availabilityzone>+                                       availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-availabilityzoneid>+                                       availabilityZoneId :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-ebsoptimized>+                                       ebsOptimized :: (Prelude.Maybe (Value Prelude.Bool)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-instanceplatform>+                                       instancePlatform :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-instancetype>+                                       instanceType :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-priority>+                                       priority :: (Prelude.Maybe (Value Prelude.Integer)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-instancetypespecification.html#cfn-ec2-capacityreservationfleet-instancetypespecification-weight>+                                       weight :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceTypeSpecificationProperty ::+  InstanceTypeSpecificationProperty+mkInstanceTypeSpecificationProperty+  = InstanceTypeSpecificationProperty+      {haddock_workaround_ = (), availabilityZone = Prelude.Nothing,+       availabilityZoneId = Prelude.Nothing,+       ebsOptimized = Prelude.Nothing, instancePlatform = Prelude.Nothing,+       instanceType = Prelude.Nothing, priority = Prelude.Nothing,+       weight = Prelude.Nothing}+instance ToResourceProperties InstanceTypeSpecificationProperty where+  toResourceProperties InstanceTypeSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CapacityReservationFleet.InstanceTypeSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                            (JSON..=) "AvailabilityZoneId" Prelude.<$> availabilityZoneId,+                            (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+                            (JSON..=) "InstancePlatform" Prelude.<$> instancePlatform,+                            (JSON..=) "InstanceType" Prelude.<$> instanceType,+                            (JSON..=) "Priority" Prelude.<$> priority,+                            (JSON..=) "Weight" Prelude.<$> weight])}+instance JSON.ToJSON InstanceTypeSpecificationProperty where+  toJSON InstanceTypeSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+               (JSON..=) "AvailabilityZoneId" Prelude.<$> availabilityZoneId,+               (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+               (JSON..=) "InstancePlatform" Prelude.<$> instancePlatform,+               (JSON..=) "InstanceType" Prelude.<$> instanceType,+               (JSON..=) "Priority" Prelude.<$> priority,+               (JSON..=) "Weight" Prelude.<$> weight]))+instance Property "AvailabilityZone" InstanceTypeSpecificationProperty where+  type PropertyType "AvailabilityZone" InstanceTypeSpecificationProperty = Value Prelude.Text+  set newValue InstanceTypeSpecificationProperty {..}+    = InstanceTypeSpecificationProperty+        {availabilityZone = Prelude.pure newValue, ..}+instance Property "AvailabilityZoneId" InstanceTypeSpecificationProperty where+  type PropertyType "AvailabilityZoneId" InstanceTypeSpecificationProperty = Value Prelude.Text+  set newValue InstanceTypeSpecificationProperty {..}+    = InstanceTypeSpecificationProperty+        {availabilityZoneId = Prelude.pure newValue, ..}+instance Property "EbsOptimized" InstanceTypeSpecificationProperty where+  type PropertyType "EbsOptimized" InstanceTypeSpecificationProperty = Value Prelude.Bool+  set newValue InstanceTypeSpecificationProperty {..}+    = InstanceTypeSpecificationProperty+        {ebsOptimized = Prelude.pure newValue, ..}+instance Property "InstancePlatform" InstanceTypeSpecificationProperty where+  type PropertyType "InstancePlatform" InstanceTypeSpecificationProperty = Value Prelude.Text+  set newValue InstanceTypeSpecificationProperty {..}+    = InstanceTypeSpecificationProperty+        {instancePlatform = Prelude.pure newValue, ..}+instance Property "InstanceType" InstanceTypeSpecificationProperty where+  type PropertyType "InstanceType" InstanceTypeSpecificationProperty = Value Prelude.Text+  set newValue InstanceTypeSpecificationProperty {..}+    = InstanceTypeSpecificationProperty+        {instanceType = Prelude.pure newValue, ..}+instance Property "Priority" InstanceTypeSpecificationProperty where+  type PropertyType "Priority" InstanceTypeSpecificationProperty = Value Prelude.Integer+  set newValue InstanceTypeSpecificationProperty {..}+    = InstanceTypeSpecificationProperty+        {priority = Prelude.pure newValue, ..}+instance Property "Weight" InstanceTypeSpecificationProperty where+  type PropertyType "Weight" InstanceTypeSpecificationProperty = Value Prelude.Double+  set newValue InstanceTypeSpecificationProperty {..}+    = InstanceTypeSpecificationProperty+        {weight = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/CapacityReservationFleet/InstanceTypeSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.CapacityReservationFleet.InstanceTypeSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceTypeSpecificationProperty :: Prelude.Type+instance ToResourceProperties InstanceTypeSpecificationProperty+instance Prelude.Eq InstanceTypeSpecificationProperty+instance Prelude.Show InstanceTypeSpecificationProperty+instance JSON.ToJSON InstanceTypeSpecificationProperty
+ gen/Stratosphere/EC2/CapacityReservationFleet/TagSpecificationProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.CapacityReservationFleet.TagSpecificationProperty (+        TagSpecificationProperty(..), mkTagSpecificationProperty+    ) 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 TagSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-tagspecification.html>+    TagSpecificationProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-tagspecification.html#cfn-ec2-capacityreservationfleet-tagspecification-resourcetype>+                              resourceType :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservationfleet-tagspecification.html#cfn-ec2-capacityreservationfleet-tagspecification-tags>+                              tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTagSpecificationProperty :: TagSpecificationProperty+mkTagSpecificationProperty+  = TagSpecificationProperty+      {haddock_workaround_ = (), resourceType = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties TagSpecificationProperty where+  toResourceProperties TagSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CapacityReservationFleet.TagSpecification",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ResourceType" Prelude.<$> resourceType,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON TagSpecificationProperty where+  toJSON TagSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ResourceType" Prelude.<$> resourceType,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "ResourceType" TagSpecificationProperty where+  type PropertyType "ResourceType" TagSpecificationProperty = Value Prelude.Text+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty+        {resourceType = Prelude.pure newValue, ..}+instance Property "Tags" TagSpecificationProperty where+  type PropertyType "Tags" TagSpecificationProperty = [Tag]+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/CapacityReservationFleet/TagSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.CapacityReservationFleet.TagSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TagSpecificationProperty :: Prelude.Type+instance ToResourceProperties TagSpecificationProperty+instance Prelude.Eq TagSpecificationProperty+instance Prelude.Show TagSpecificationProperty+instance JSON.ToJSON TagSpecificationProperty
+ gen/Stratosphere/EC2/CarrierGateway.hs view
@@ -0,0 +1,44 @@+module Stratosphere.EC2.CarrierGateway (+        CarrierGateway(..), mkCarrierGateway+    ) 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 CarrierGateway+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html>+    CarrierGateway {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html#cfn-ec2-carriergateway-tags>+                    tags :: (Prelude.Maybe [Tag]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-carriergateway.html#cfn-ec2-carriergateway-vpcid>+                    vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCarrierGateway :: Value Prelude.Text -> CarrierGateway+mkCarrierGateway vpcId+  = CarrierGateway+      {haddock_workaround_ = (), vpcId = vpcId, tags = Prelude.Nothing}+instance ToResourceProperties CarrierGateway where+  toResourceProperties CarrierGateway {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CarrierGateway", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcId" JSON..= vpcId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON CarrierGateway where+  toJSON CarrierGateway {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcId" JSON..= vpcId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Tags" CarrierGateway where+  type PropertyType "Tags" CarrierGateway = [Tag]+  set newValue CarrierGateway {..}+    = CarrierGateway {tags = Prelude.pure newValue, ..}+instance Property "VpcId" CarrierGateway where+  type PropertyType "VpcId" CarrierGateway = Value Prelude.Text+  set newValue CarrierGateway {..}+    = CarrierGateway {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnAuthorizationRule.hs view
@@ -0,0 +1,80 @@+module Stratosphere.EC2.ClientVpnAuthorizationRule (+        ClientVpnAuthorizationRule(..), mkClientVpnAuthorizationRule+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClientVpnAuthorizationRule+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html>+    ClientVpnAuthorizationRule {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-accessgroupid>+                                accessGroupId :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-authorizeallgroups>+                                authorizeAllGroups :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-clientvpnendpointid>+                                clientVpnEndpointId :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-description>+                                description :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnauthorizationrule.html#cfn-ec2-clientvpnauthorizationrule-targetnetworkcidr>+                                targetNetworkCidr :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientVpnAuthorizationRule ::+  Value Prelude.Text+  -> Value Prelude.Text -> ClientVpnAuthorizationRule+mkClientVpnAuthorizationRule clientVpnEndpointId targetNetworkCidr+  = ClientVpnAuthorizationRule+      {haddock_workaround_ = (),+       clientVpnEndpointId = clientVpnEndpointId,+       targetNetworkCidr = targetNetworkCidr,+       accessGroupId = Prelude.Nothing,+       authorizeAllGroups = Prelude.Nothing,+       description = Prelude.Nothing}+instance ToResourceProperties ClientVpnAuthorizationRule where+  toResourceProperties ClientVpnAuthorizationRule {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnAuthorizationRule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ClientVpnEndpointId" JSON..= clientVpnEndpointId,+                            "TargetNetworkCidr" JSON..= targetNetworkCidr]+                           (Prelude.catMaybes+                              [(JSON..=) "AccessGroupId" Prelude.<$> accessGroupId,+                               (JSON..=) "AuthorizeAllGroups" Prelude.<$> authorizeAllGroups,+                               (JSON..=) "Description" Prelude.<$> description]))}+instance JSON.ToJSON ClientVpnAuthorizationRule where+  toJSON ClientVpnAuthorizationRule {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ClientVpnEndpointId" JSON..= clientVpnEndpointId,+               "TargetNetworkCidr" JSON..= targetNetworkCidr]+              (Prelude.catMaybes+                 [(JSON..=) "AccessGroupId" Prelude.<$> accessGroupId,+                  (JSON..=) "AuthorizeAllGroups" Prelude.<$> authorizeAllGroups,+                  (JSON..=) "Description" Prelude.<$> description])))+instance Property "AccessGroupId" ClientVpnAuthorizationRule where+  type PropertyType "AccessGroupId" ClientVpnAuthorizationRule = Value Prelude.Text+  set newValue ClientVpnAuthorizationRule {..}+    = ClientVpnAuthorizationRule+        {accessGroupId = Prelude.pure newValue, ..}+instance Property "AuthorizeAllGroups" ClientVpnAuthorizationRule where+  type PropertyType "AuthorizeAllGroups" ClientVpnAuthorizationRule = Value Prelude.Bool+  set newValue ClientVpnAuthorizationRule {..}+    = ClientVpnAuthorizationRule+        {authorizeAllGroups = Prelude.pure newValue, ..}+instance Property "ClientVpnEndpointId" ClientVpnAuthorizationRule where+  type PropertyType "ClientVpnEndpointId" ClientVpnAuthorizationRule = Value Prelude.Text+  set newValue ClientVpnAuthorizationRule {..}+    = ClientVpnAuthorizationRule {clientVpnEndpointId = newValue, ..}+instance Property "Description" ClientVpnAuthorizationRule where+  type PropertyType "Description" ClientVpnAuthorizationRule = Value Prelude.Text+  set newValue ClientVpnAuthorizationRule {..}+    = ClientVpnAuthorizationRule+        {description = Prelude.pure newValue, ..}+instance Property "TargetNetworkCidr" ClientVpnAuthorizationRule where+  type PropertyType "TargetNetworkCidr" ClientVpnAuthorizationRule = Value Prelude.Text+  set newValue ClientVpnAuthorizationRule {..}+    = ClientVpnAuthorizationRule {targetNetworkCidr = newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint.hs view
@@ -0,0 +1,212 @@+module Stratosphere.EC2.ClientVpnEndpoint (+        module Exports, ClientVpnEndpoint(..), mkClientVpnEndpoint+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.ClientVpnEndpoint.ClientAuthenticationRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.ClientVpnEndpoint.ClientConnectOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.ClientVpnEndpoint.ClientLoginBannerOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.ClientVpnEndpoint.ClientRouteEnforcementOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.ClientVpnEndpoint.ConnectionLogOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.ClientVpnEndpoint.TagSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClientVpnEndpoint+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html>+    ClientVpnEndpoint {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-authenticationoptions>+                       authenticationOptions :: [ClientAuthenticationRequestProperty],+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientcidrblock>+                       clientCidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientconnectoptions>+                       clientConnectOptions :: (Prelude.Maybe ClientConnectOptionsProperty),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientloginbanneroptions>+                       clientLoginBannerOptions :: (Prelude.Maybe ClientLoginBannerOptionsProperty),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-clientrouteenforcementoptions>+                       clientRouteEnforcementOptions :: (Prelude.Maybe ClientRouteEnforcementOptionsProperty),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-connectionlogoptions>+                       connectionLogOptions :: ConnectionLogOptionsProperty,+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-description>+                       description :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-disconnectonsessiontimeout>+                       disconnectOnSessionTimeout :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-dnsservers>+                       dnsServers :: (Prelude.Maybe (ValueList Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-securitygroupids>+                       securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-selfserviceportal>+                       selfServicePortal :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-servercertificatearn>+                       serverCertificateArn :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-sessiontimeouthours>+                       sessionTimeoutHours :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-splittunnel>+                       splitTunnel :: (Prelude.Maybe (Value Prelude.Bool)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-tagspecifications>+                       tagSpecifications :: (Prelude.Maybe [TagSpecificationProperty]),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-transportprotocol>+                       transportProtocol :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-vpcid>+                       vpcId :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnendpoint.html#cfn-ec2-clientvpnendpoint-vpnport>+                       vpnPort :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientVpnEndpoint ::+  [ClientAuthenticationRequestProperty]+  -> ConnectionLogOptionsProperty+     -> Value Prelude.Text -> ClientVpnEndpoint+mkClientVpnEndpoint+  authenticationOptions+  connectionLogOptions+  serverCertificateArn+  = ClientVpnEndpoint+      {haddock_workaround_ = (),+       authenticationOptions = authenticationOptions,+       connectionLogOptions = connectionLogOptions,+       serverCertificateArn = serverCertificateArn,+       clientCidrBlock = Prelude.Nothing,+       clientConnectOptions = Prelude.Nothing,+       clientLoginBannerOptions = Prelude.Nothing,+       clientRouteEnforcementOptions = Prelude.Nothing,+       description = Prelude.Nothing,+       disconnectOnSessionTimeout = Prelude.Nothing,+       dnsServers = Prelude.Nothing, securityGroupIds = Prelude.Nothing,+       selfServicePortal = Prelude.Nothing,+       sessionTimeoutHours = Prelude.Nothing,+       splitTunnel = Prelude.Nothing, tagSpecifications = Prelude.Nothing,+       transportProtocol = Prelude.Nothing, vpcId = Prelude.Nothing,+       vpnPort = Prelude.Nothing}+instance ToResourceProperties ClientVpnEndpoint where+  toResourceProperties ClientVpnEndpoint {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AuthenticationOptions" JSON..= authenticationOptions,+                            "ConnectionLogOptions" JSON..= connectionLogOptions,+                            "ServerCertificateArn" JSON..= serverCertificateArn]+                           (Prelude.catMaybes+                              [(JSON..=) "ClientCidrBlock" Prelude.<$> clientCidrBlock,+                               (JSON..=) "ClientConnectOptions" Prelude.<$> clientConnectOptions,+                               (JSON..=) "ClientLoginBannerOptions"+                                 Prelude.<$> clientLoginBannerOptions,+                               (JSON..=) "ClientRouteEnforcementOptions"+                                 Prelude.<$> clientRouteEnforcementOptions,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DisconnectOnSessionTimeout"+                                 Prelude.<$> disconnectOnSessionTimeout,+                               (JSON..=) "DnsServers" Prelude.<$> dnsServers,+                               (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                               (JSON..=) "SelfServicePortal" Prelude.<$> selfServicePortal,+                               (JSON..=) "SessionTimeoutHours" Prelude.<$> sessionTimeoutHours,+                               (JSON..=) "SplitTunnel" Prelude.<$> splitTunnel,+                               (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                               (JSON..=) "TransportProtocol" Prelude.<$> transportProtocol,+                               (JSON..=) "VpcId" Prelude.<$> vpcId,+                               (JSON..=) "VpnPort" Prelude.<$> vpnPort]))}+instance JSON.ToJSON ClientVpnEndpoint where+  toJSON ClientVpnEndpoint {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AuthenticationOptions" JSON..= authenticationOptions,+               "ConnectionLogOptions" JSON..= connectionLogOptions,+               "ServerCertificateArn" JSON..= serverCertificateArn]+              (Prelude.catMaybes+                 [(JSON..=) "ClientCidrBlock" Prelude.<$> clientCidrBlock,+                  (JSON..=) "ClientConnectOptions" Prelude.<$> clientConnectOptions,+                  (JSON..=) "ClientLoginBannerOptions"+                    Prelude.<$> clientLoginBannerOptions,+                  (JSON..=) "ClientRouteEnforcementOptions"+                    Prelude.<$> clientRouteEnforcementOptions,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DisconnectOnSessionTimeout"+                    Prelude.<$> disconnectOnSessionTimeout,+                  (JSON..=) "DnsServers" Prelude.<$> dnsServers,+                  (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                  (JSON..=) "SelfServicePortal" Prelude.<$> selfServicePortal,+                  (JSON..=) "SessionTimeoutHours" Prelude.<$> sessionTimeoutHours,+                  (JSON..=) "SplitTunnel" Prelude.<$> splitTunnel,+                  (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                  (JSON..=) "TransportProtocol" Prelude.<$> transportProtocol,+                  (JSON..=) "VpcId" Prelude.<$> vpcId,+                  (JSON..=) "VpnPort" Prelude.<$> vpnPort])))+instance Property "AuthenticationOptions" ClientVpnEndpoint where+  type PropertyType "AuthenticationOptions" ClientVpnEndpoint = [ClientAuthenticationRequestProperty]+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {authenticationOptions = newValue, ..}+instance Property "ClientCidrBlock" ClientVpnEndpoint where+  type PropertyType "ClientCidrBlock" ClientVpnEndpoint = Value Prelude.Text+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {clientCidrBlock = Prelude.pure newValue, ..}+instance Property "ClientConnectOptions" ClientVpnEndpoint where+  type PropertyType "ClientConnectOptions" ClientVpnEndpoint = ClientConnectOptionsProperty+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint+        {clientConnectOptions = Prelude.pure newValue, ..}+instance Property "ClientLoginBannerOptions" ClientVpnEndpoint where+  type PropertyType "ClientLoginBannerOptions" ClientVpnEndpoint = ClientLoginBannerOptionsProperty+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint+        {clientLoginBannerOptions = Prelude.pure newValue, ..}+instance Property "ClientRouteEnforcementOptions" ClientVpnEndpoint where+  type PropertyType "ClientRouteEnforcementOptions" ClientVpnEndpoint = ClientRouteEnforcementOptionsProperty+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint+        {clientRouteEnforcementOptions = Prelude.pure newValue, ..}+instance Property "ConnectionLogOptions" ClientVpnEndpoint where+  type PropertyType "ConnectionLogOptions" ClientVpnEndpoint = ConnectionLogOptionsProperty+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {connectionLogOptions = newValue, ..}+instance Property "Description" ClientVpnEndpoint where+  type PropertyType "Description" ClientVpnEndpoint = Value Prelude.Text+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {description = Prelude.pure newValue, ..}+instance Property "DisconnectOnSessionTimeout" ClientVpnEndpoint where+  type PropertyType "DisconnectOnSessionTimeout" ClientVpnEndpoint = Value Prelude.Bool+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint+        {disconnectOnSessionTimeout = Prelude.pure newValue, ..}+instance Property "DnsServers" ClientVpnEndpoint where+  type PropertyType "DnsServers" ClientVpnEndpoint = ValueList Prelude.Text+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {dnsServers = Prelude.pure newValue, ..}+instance Property "SecurityGroupIds" ClientVpnEndpoint where+  type PropertyType "SecurityGroupIds" ClientVpnEndpoint = ValueList Prelude.Text+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {securityGroupIds = Prelude.pure newValue, ..}+instance Property "SelfServicePortal" ClientVpnEndpoint where+  type PropertyType "SelfServicePortal" ClientVpnEndpoint = Value Prelude.Text+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {selfServicePortal = Prelude.pure newValue, ..}+instance Property "ServerCertificateArn" ClientVpnEndpoint where+  type PropertyType "ServerCertificateArn" ClientVpnEndpoint = Value Prelude.Text+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {serverCertificateArn = newValue, ..}+instance Property "SessionTimeoutHours" ClientVpnEndpoint where+  type PropertyType "SessionTimeoutHours" ClientVpnEndpoint = Value Prelude.Integer+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint+        {sessionTimeoutHours = Prelude.pure newValue, ..}+instance Property "SplitTunnel" ClientVpnEndpoint where+  type PropertyType "SplitTunnel" ClientVpnEndpoint = Value Prelude.Bool+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {splitTunnel = Prelude.pure newValue, ..}+instance Property "TagSpecifications" ClientVpnEndpoint where+  type PropertyType "TagSpecifications" ClientVpnEndpoint = [TagSpecificationProperty]+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {tagSpecifications = Prelude.pure newValue, ..}+instance Property "TransportProtocol" ClientVpnEndpoint where+  type PropertyType "TransportProtocol" ClientVpnEndpoint = Value Prelude.Text+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {transportProtocol = Prelude.pure newValue, ..}+instance Property "VpcId" ClientVpnEndpoint where+  type PropertyType "VpcId" ClientVpnEndpoint = Value Prelude.Text+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {vpcId = Prelude.pure newValue, ..}+instance Property "VpnPort" ClientVpnEndpoint where+  type PropertyType "VpnPort" ClientVpnEndpoint = Value Prelude.Integer+  set newValue ClientVpnEndpoint {..}+    = ClientVpnEndpoint {vpnPort = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/CertificateAuthenticationRequestProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.ClientVpnEndpoint.CertificateAuthenticationRequestProperty (+        CertificateAuthenticationRequestProperty(..),+        mkCertificateAuthenticationRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CertificateAuthenticationRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-certificateauthenticationrequest.html>+    CertificateAuthenticationRequestProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-certificateauthenticationrequest.html#cfn-ec2-clientvpnendpoint-certificateauthenticationrequest-clientrootcertificatechainarn>+                                              clientRootCertificateChainArn :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCertificateAuthenticationRequestProperty ::+  Value Prelude.Text -> CertificateAuthenticationRequestProperty+mkCertificateAuthenticationRequestProperty+  clientRootCertificateChainArn+  = CertificateAuthenticationRequestProperty+      {haddock_workaround_ = (),+       clientRootCertificateChainArn = clientRootCertificateChainArn}+instance ToResourceProperties CertificateAuthenticationRequestProperty where+  toResourceProperties CertificateAuthenticationRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint.CertificateAuthenticationRequest",+         supportsTags = Prelude.False,+         properties = ["ClientRootCertificateChainArn"+                         JSON..= clientRootCertificateChainArn]}+instance JSON.ToJSON CertificateAuthenticationRequestProperty where+  toJSON CertificateAuthenticationRequestProperty {..}+    = JSON.object+        ["ClientRootCertificateChainArn"+           JSON..= clientRootCertificateChainArn]+instance Property "ClientRootCertificateChainArn" CertificateAuthenticationRequestProperty where+  type PropertyType "ClientRootCertificateChainArn" CertificateAuthenticationRequestProperty = Value Prelude.Text+  set newValue CertificateAuthenticationRequestProperty {..}+    = CertificateAuthenticationRequestProperty+        {clientRootCertificateChainArn = newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/CertificateAuthenticationRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.ClientVpnEndpoint.CertificateAuthenticationRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CertificateAuthenticationRequestProperty :: Prelude.Type+instance ToResourceProperties CertificateAuthenticationRequestProperty+instance Prelude.Eq CertificateAuthenticationRequestProperty+instance Prelude.Show CertificateAuthenticationRequestProperty+instance JSON.ToJSON CertificateAuthenticationRequestProperty
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ClientAuthenticationRequestProperty.hs view
@@ -0,0 +1,77 @@+module Stratosphere.EC2.ClientVpnEndpoint.ClientAuthenticationRequestProperty (+        module Exports, ClientAuthenticationRequestProperty(..),+        mkClientAuthenticationRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.ClientVpnEndpoint.CertificateAuthenticationRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.ClientVpnEndpoint.DirectoryServiceAuthenticationRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.ClientVpnEndpoint.FederatedAuthenticationRequestProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClientAuthenticationRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html>+    ClientAuthenticationRequestProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-activedirectory>+                                         activeDirectory :: (Prelude.Maybe DirectoryServiceAuthenticationRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-federatedauthentication>+                                         federatedAuthentication :: (Prelude.Maybe FederatedAuthenticationRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-mutualauthentication>+                                         mutualAuthentication :: (Prelude.Maybe CertificateAuthenticationRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html#cfn-ec2-clientvpnendpoint-clientauthenticationrequest-type>+                                         type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientAuthenticationRequestProperty ::+  Value Prelude.Text -> ClientAuthenticationRequestProperty+mkClientAuthenticationRequestProperty type'+  = ClientAuthenticationRequestProperty+      {haddock_workaround_ = (), type' = type',+       activeDirectory = Prelude.Nothing,+       federatedAuthentication = Prelude.Nothing,+       mutualAuthentication = Prelude.Nothing}+instance ToResourceProperties ClientAuthenticationRequestProperty where+  toResourceProperties ClientAuthenticationRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint.ClientAuthenticationRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Type" JSON..= type']+                           (Prelude.catMaybes+                              [(JSON..=) "ActiveDirectory" Prelude.<$> activeDirectory,+                               (JSON..=) "FederatedAuthentication"+                                 Prelude.<$> federatedAuthentication,+                               (JSON..=) "MutualAuthentication"+                                 Prelude.<$> mutualAuthentication]))}+instance JSON.ToJSON ClientAuthenticationRequestProperty where+  toJSON ClientAuthenticationRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Type" JSON..= type']+              (Prelude.catMaybes+                 [(JSON..=) "ActiveDirectory" Prelude.<$> activeDirectory,+                  (JSON..=) "FederatedAuthentication"+                    Prelude.<$> federatedAuthentication,+                  (JSON..=) "MutualAuthentication"+                    Prelude.<$> mutualAuthentication])))+instance Property "ActiveDirectory" ClientAuthenticationRequestProperty where+  type PropertyType "ActiveDirectory" ClientAuthenticationRequestProperty = DirectoryServiceAuthenticationRequestProperty+  set newValue ClientAuthenticationRequestProperty {..}+    = ClientAuthenticationRequestProperty+        {activeDirectory = Prelude.pure newValue, ..}+instance Property "FederatedAuthentication" ClientAuthenticationRequestProperty where+  type PropertyType "FederatedAuthentication" ClientAuthenticationRequestProperty = FederatedAuthenticationRequestProperty+  set newValue ClientAuthenticationRequestProperty {..}+    = ClientAuthenticationRequestProperty+        {federatedAuthentication = Prelude.pure newValue, ..}+instance Property "MutualAuthentication" ClientAuthenticationRequestProperty where+  type PropertyType "MutualAuthentication" ClientAuthenticationRequestProperty = CertificateAuthenticationRequestProperty+  set newValue ClientAuthenticationRequestProperty {..}+    = ClientAuthenticationRequestProperty+        {mutualAuthentication = Prelude.pure newValue, ..}+instance Property "Type" ClientAuthenticationRequestProperty where+  type PropertyType "Type" ClientAuthenticationRequestProperty = Value Prelude.Text+  set newValue ClientAuthenticationRequestProperty {..}+    = ClientAuthenticationRequestProperty {type' = newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ClientAuthenticationRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.ClientVpnEndpoint.ClientAuthenticationRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ClientAuthenticationRequestProperty :: Prelude.Type+instance ToResourceProperties ClientAuthenticationRequestProperty+instance Prelude.Eq ClientAuthenticationRequestProperty+instance Prelude.Show ClientAuthenticationRequestProperty+instance JSON.ToJSON ClientAuthenticationRequestProperty
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ClientConnectOptionsProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.ClientVpnEndpoint.ClientConnectOptionsProperty (+        ClientConnectOptionsProperty(..), mkClientConnectOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClientConnectOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientconnectoptions.html>+    ClientConnectOptionsProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientconnectoptions.html#cfn-ec2-clientvpnendpoint-clientconnectoptions-enabled>+                                  enabled :: (Value Prelude.Bool),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientconnectoptions.html#cfn-ec2-clientvpnendpoint-clientconnectoptions-lambdafunctionarn>+                                  lambdaFunctionArn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientConnectOptionsProperty ::+  Value Prelude.Bool -> ClientConnectOptionsProperty+mkClientConnectOptionsProperty enabled+  = ClientConnectOptionsProperty+      {haddock_workaround_ = (), enabled = enabled,+       lambdaFunctionArn = Prelude.Nothing}+instance ToResourceProperties ClientConnectOptionsProperty where+  toResourceProperties ClientConnectOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint.ClientConnectOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Enabled" JSON..= enabled]+                           (Prelude.catMaybes+                              [(JSON..=) "LambdaFunctionArn" Prelude.<$> lambdaFunctionArn]))}+instance JSON.ToJSON ClientConnectOptionsProperty where+  toJSON ClientConnectOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Enabled" JSON..= enabled]+              (Prelude.catMaybes+                 [(JSON..=) "LambdaFunctionArn" Prelude.<$> lambdaFunctionArn])))+instance Property "Enabled" ClientConnectOptionsProperty where+  type PropertyType "Enabled" ClientConnectOptionsProperty = Value Prelude.Bool+  set newValue ClientConnectOptionsProperty {..}+    = ClientConnectOptionsProperty {enabled = newValue, ..}+instance Property "LambdaFunctionArn" ClientConnectOptionsProperty where+  type PropertyType "LambdaFunctionArn" ClientConnectOptionsProperty = Value Prelude.Text+  set newValue ClientConnectOptionsProperty {..}+    = ClientConnectOptionsProperty+        {lambdaFunctionArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ClientConnectOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.ClientVpnEndpoint.ClientConnectOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ClientConnectOptionsProperty :: Prelude.Type+instance ToResourceProperties ClientConnectOptionsProperty+instance Prelude.Eq ClientConnectOptionsProperty+instance Prelude.Show ClientConnectOptionsProperty+instance JSON.ToJSON ClientConnectOptionsProperty
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ClientLoginBannerOptionsProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.EC2.ClientVpnEndpoint.ClientLoginBannerOptionsProperty (+        ClientLoginBannerOptionsProperty(..),+        mkClientLoginBannerOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClientLoginBannerOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientloginbanneroptions.html>+    ClientLoginBannerOptionsProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientloginbanneroptions.html#cfn-ec2-clientvpnendpoint-clientloginbanneroptions-bannertext>+                                      bannerText :: (Prelude.Maybe (Value Prelude.Text)),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientloginbanneroptions.html#cfn-ec2-clientvpnendpoint-clientloginbanneroptions-enabled>+                                      enabled :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientLoginBannerOptionsProperty ::+  Value Prelude.Bool -> ClientLoginBannerOptionsProperty+mkClientLoginBannerOptionsProperty enabled+  = ClientLoginBannerOptionsProperty+      {haddock_workaround_ = (), enabled = enabled,+       bannerText = Prelude.Nothing}+instance ToResourceProperties ClientLoginBannerOptionsProperty where+  toResourceProperties ClientLoginBannerOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint.ClientLoginBannerOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Enabled" JSON..= enabled]+                           (Prelude.catMaybes+                              [(JSON..=) "BannerText" Prelude.<$> bannerText]))}+instance JSON.ToJSON ClientLoginBannerOptionsProperty where+  toJSON ClientLoginBannerOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Enabled" JSON..= enabled]+              (Prelude.catMaybes+                 [(JSON..=) "BannerText" Prelude.<$> bannerText])))+instance Property "BannerText" ClientLoginBannerOptionsProperty where+  type PropertyType "BannerText" ClientLoginBannerOptionsProperty = Value Prelude.Text+  set newValue ClientLoginBannerOptionsProperty {..}+    = ClientLoginBannerOptionsProperty+        {bannerText = Prelude.pure newValue, ..}+instance Property "Enabled" ClientLoginBannerOptionsProperty where+  type PropertyType "Enabled" ClientLoginBannerOptionsProperty = Value Prelude.Bool+  set newValue ClientLoginBannerOptionsProperty {..}+    = ClientLoginBannerOptionsProperty {enabled = newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ClientLoginBannerOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.ClientVpnEndpoint.ClientLoginBannerOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ClientLoginBannerOptionsProperty :: Prelude.Type+instance ToResourceProperties ClientLoginBannerOptionsProperty+instance Prelude.Eq ClientLoginBannerOptionsProperty+instance Prelude.Show ClientLoginBannerOptionsProperty+instance JSON.ToJSON ClientLoginBannerOptionsProperty
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ClientRouteEnforcementOptionsProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.ClientVpnEndpoint.ClientRouteEnforcementOptionsProperty (+        ClientRouteEnforcementOptionsProperty(..),+        mkClientRouteEnforcementOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClientRouteEnforcementOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientrouteenforcementoptions.html>+    ClientRouteEnforcementOptionsProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientrouteenforcementoptions.html#cfn-ec2-clientvpnendpoint-clientrouteenforcementoptions-enforced>+                                           enforced :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientRouteEnforcementOptionsProperty ::+  ClientRouteEnforcementOptionsProperty+mkClientRouteEnforcementOptionsProperty+  = ClientRouteEnforcementOptionsProperty+      {haddock_workaround_ = (), enforced = Prelude.Nothing}+instance ToResourceProperties ClientRouteEnforcementOptionsProperty where+  toResourceProperties ClientRouteEnforcementOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint.ClientRouteEnforcementOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Enforced" Prelude.<$> enforced])}+instance JSON.ToJSON ClientRouteEnforcementOptionsProperty where+  toJSON ClientRouteEnforcementOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Enforced" Prelude.<$> enforced]))+instance Property "Enforced" ClientRouteEnforcementOptionsProperty where+  type PropertyType "Enforced" ClientRouteEnforcementOptionsProperty = Value Prelude.Bool+  set newValue ClientRouteEnforcementOptionsProperty {..}+    = ClientRouteEnforcementOptionsProperty+        {enforced = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ClientRouteEnforcementOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.ClientVpnEndpoint.ClientRouteEnforcementOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ClientRouteEnforcementOptionsProperty :: Prelude.Type+instance ToResourceProperties ClientRouteEnforcementOptionsProperty+instance Prelude.Eq ClientRouteEnforcementOptionsProperty+instance Prelude.Show ClientRouteEnforcementOptionsProperty+instance JSON.ToJSON ClientRouteEnforcementOptionsProperty
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ConnectionLogOptionsProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.EC2.ClientVpnEndpoint.ConnectionLogOptionsProperty (+        ConnectionLogOptionsProperty(..), mkConnectionLogOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ConnectionLogOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html>+    ConnectionLogOptionsProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-cloudwatchloggroup>+                                  cloudwatchLogGroup :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-cloudwatchlogstream>+                                  cloudwatchLogStream :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-connectionlogoptions.html#cfn-ec2-clientvpnendpoint-connectionlogoptions-enabled>+                                  enabled :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkConnectionLogOptionsProperty ::+  Value Prelude.Bool -> ConnectionLogOptionsProperty+mkConnectionLogOptionsProperty enabled+  = ConnectionLogOptionsProperty+      {haddock_workaround_ = (), enabled = enabled,+       cloudwatchLogGroup = Prelude.Nothing,+       cloudwatchLogStream = Prelude.Nothing}+instance ToResourceProperties ConnectionLogOptionsProperty where+  toResourceProperties ConnectionLogOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint.ConnectionLogOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Enabled" JSON..= enabled]+                           (Prelude.catMaybes+                              [(JSON..=) "CloudwatchLogGroup" Prelude.<$> cloudwatchLogGroup,+                               (JSON..=) "CloudwatchLogStream" Prelude.<$> cloudwatchLogStream]))}+instance JSON.ToJSON ConnectionLogOptionsProperty where+  toJSON ConnectionLogOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Enabled" JSON..= enabled]+              (Prelude.catMaybes+                 [(JSON..=) "CloudwatchLogGroup" Prelude.<$> cloudwatchLogGroup,+                  (JSON..=) "CloudwatchLogStream" Prelude.<$> cloudwatchLogStream])))+instance Property "CloudwatchLogGroup" ConnectionLogOptionsProperty where+  type PropertyType "CloudwatchLogGroup" ConnectionLogOptionsProperty = Value Prelude.Text+  set newValue ConnectionLogOptionsProperty {..}+    = ConnectionLogOptionsProperty+        {cloudwatchLogGroup = Prelude.pure newValue, ..}+instance Property "CloudwatchLogStream" ConnectionLogOptionsProperty where+  type PropertyType "CloudwatchLogStream" ConnectionLogOptionsProperty = Value Prelude.Text+  set newValue ConnectionLogOptionsProperty {..}+    = ConnectionLogOptionsProperty+        {cloudwatchLogStream = Prelude.pure newValue, ..}+instance Property "Enabled" ConnectionLogOptionsProperty where+  type PropertyType "Enabled" ConnectionLogOptionsProperty = Value Prelude.Bool+  set newValue ConnectionLogOptionsProperty {..}+    = ConnectionLogOptionsProperty {enabled = newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/ConnectionLogOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.ClientVpnEndpoint.ConnectionLogOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ConnectionLogOptionsProperty :: Prelude.Type+instance ToResourceProperties ConnectionLogOptionsProperty+instance Prelude.Eq ConnectionLogOptionsProperty+instance Prelude.Show ConnectionLogOptionsProperty+instance JSON.ToJSON ConnectionLogOptionsProperty
+ gen/Stratosphere/EC2/ClientVpnEndpoint/DirectoryServiceAuthenticationRequestProperty.hs view
@@ -0,0 +1,35 @@+module Stratosphere.EC2.ClientVpnEndpoint.DirectoryServiceAuthenticationRequestProperty (+        DirectoryServiceAuthenticationRequestProperty(..),+        mkDirectoryServiceAuthenticationRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DirectoryServiceAuthenticationRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-directoryserviceauthenticationrequest.html>+    DirectoryServiceAuthenticationRequestProperty {haddock_workaround_ :: (),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-directoryserviceauthenticationrequest.html#cfn-ec2-clientvpnendpoint-directoryserviceauthenticationrequest-directoryid>+                                                   directoryId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDirectoryServiceAuthenticationRequestProperty ::+  Value Prelude.Text -> DirectoryServiceAuthenticationRequestProperty+mkDirectoryServiceAuthenticationRequestProperty directoryId+  = DirectoryServiceAuthenticationRequestProperty+      {haddock_workaround_ = (), directoryId = directoryId}+instance ToResourceProperties DirectoryServiceAuthenticationRequestProperty where+  toResourceProperties+    DirectoryServiceAuthenticationRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint.DirectoryServiceAuthenticationRequest",+         supportsTags = Prelude.False,+         properties = ["DirectoryId" JSON..= directoryId]}+instance JSON.ToJSON DirectoryServiceAuthenticationRequestProperty where+  toJSON DirectoryServiceAuthenticationRequestProperty {..}+    = JSON.object ["DirectoryId" JSON..= directoryId]+instance Property "DirectoryId" DirectoryServiceAuthenticationRequestProperty where+  type PropertyType "DirectoryId" DirectoryServiceAuthenticationRequestProperty = Value Prelude.Text+  set newValue DirectoryServiceAuthenticationRequestProperty {..}+    = DirectoryServiceAuthenticationRequestProperty+        {directoryId = newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/DirectoryServiceAuthenticationRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.ClientVpnEndpoint.DirectoryServiceAuthenticationRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DirectoryServiceAuthenticationRequestProperty :: Prelude.Type+instance ToResourceProperties DirectoryServiceAuthenticationRequestProperty+instance Prelude.Eq DirectoryServiceAuthenticationRequestProperty+instance Prelude.Show DirectoryServiceAuthenticationRequestProperty+instance JSON.ToJSON DirectoryServiceAuthenticationRequestProperty
+ gen/Stratosphere/EC2/ClientVpnEndpoint/FederatedAuthenticationRequestProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.EC2.ClientVpnEndpoint.FederatedAuthenticationRequestProperty (+        FederatedAuthenticationRequestProperty(..),+        mkFederatedAuthenticationRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FederatedAuthenticationRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html>+    FederatedAuthenticationRequestProperty {haddock_workaround_ :: (),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html#cfn-ec2-clientvpnendpoint-federatedauthenticationrequest-samlproviderarn>+                                            sAMLProviderArn :: (Value Prelude.Text),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-federatedauthenticationrequest.html#cfn-ec2-clientvpnendpoint-federatedauthenticationrequest-selfservicesamlproviderarn>+                                            selfServiceSAMLProviderArn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFederatedAuthenticationRequestProperty ::+  Value Prelude.Text -> FederatedAuthenticationRequestProperty+mkFederatedAuthenticationRequestProperty sAMLProviderArn+  = FederatedAuthenticationRequestProperty+      {haddock_workaround_ = (), sAMLProviderArn = sAMLProviderArn,+       selfServiceSAMLProviderArn = Prelude.Nothing}+instance ToResourceProperties FederatedAuthenticationRequestProperty where+  toResourceProperties FederatedAuthenticationRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint.FederatedAuthenticationRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["SAMLProviderArn" JSON..= sAMLProviderArn]+                           (Prelude.catMaybes+                              [(JSON..=) "SelfServiceSAMLProviderArn"+                                 Prelude.<$> selfServiceSAMLProviderArn]))}+instance JSON.ToJSON FederatedAuthenticationRequestProperty where+  toJSON FederatedAuthenticationRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["SAMLProviderArn" JSON..= sAMLProviderArn]+              (Prelude.catMaybes+                 [(JSON..=) "SelfServiceSAMLProviderArn"+                    Prelude.<$> selfServiceSAMLProviderArn])))+instance Property "SAMLProviderArn" FederatedAuthenticationRequestProperty where+  type PropertyType "SAMLProviderArn" FederatedAuthenticationRequestProperty = Value Prelude.Text+  set newValue FederatedAuthenticationRequestProperty {..}+    = FederatedAuthenticationRequestProperty+        {sAMLProviderArn = newValue, ..}+instance Property "SelfServiceSAMLProviderArn" FederatedAuthenticationRequestProperty where+  type PropertyType "SelfServiceSAMLProviderArn" FederatedAuthenticationRequestProperty = Value Prelude.Text+  set newValue FederatedAuthenticationRequestProperty {..}+    = FederatedAuthenticationRequestProperty+        {selfServiceSAMLProviderArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/FederatedAuthenticationRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.ClientVpnEndpoint.FederatedAuthenticationRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FederatedAuthenticationRequestProperty :: Prelude.Type+instance ToResourceProperties FederatedAuthenticationRequestProperty+instance Prelude.Eq FederatedAuthenticationRequestProperty+instance Prelude.Show FederatedAuthenticationRequestProperty+instance JSON.ToJSON FederatedAuthenticationRequestProperty
+ gen/Stratosphere/EC2/ClientVpnEndpoint/TagSpecificationProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.EC2.ClientVpnEndpoint.TagSpecificationProperty (+        TagSpecificationProperty(..), mkTagSpecificationProperty+    ) 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 TagSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html>+    TagSpecificationProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html#cfn-ec2-clientvpnendpoint-tagspecification-resourcetype>+                              resourceType :: (Value Prelude.Text),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-tagspecification.html#cfn-ec2-clientvpnendpoint-tagspecification-tags>+                              tags :: [Tag]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTagSpecificationProperty ::+  Value Prelude.Text -> [Tag] -> TagSpecificationProperty+mkTagSpecificationProperty resourceType tags+  = TagSpecificationProperty+      {haddock_workaround_ = (), resourceType = resourceType,+       tags = tags}+instance ToResourceProperties TagSpecificationProperty where+  toResourceProperties TagSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnEndpoint.TagSpecification",+         supportsTags = Prelude.True,+         properties = ["ResourceType" JSON..= resourceType,+                       "Tags" JSON..= tags]}+instance JSON.ToJSON TagSpecificationProperty where+  toJSON TagSpecificationProperty {..}+    = JSON.object+        ["ResourceType" JSON..= resourceType, "Tags" JSON..= tags]+instance Property "ResourceType" TagSpecificationProperty where+  type PropertyType "ResourceType" TagSpecificationProperty = Value Prelude.Text+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty {resourceType = newValue, ..}+instance Property "Tags" TagSpecificationProperty where+  type PropertyType "Tags" TagSpecificationProperty = [Tag]+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty {tags = newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnEndpoint/TagSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.ClientVpnEndpoint.TagSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TagSpecificationProperty :: Prelude.Type+instance ToResourceProperties TagSpecificationProperty+instance Prelude.Eq TagSpecificationProperty+instance Prelude.Show TagSpecificationProperty+instance JSON.ToJSON TagSpecificationProperty
+ gen/Stratosphere/EC2/ClientVpnRoute.hs view
@@ -0,0 +1,71 @@+module Stratosphere.EC2.ClientVpnRoute (+        ClientVpnRoute(..), mkClientVpnRoute+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClientVpnRoute+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html>+    ClientVpnRoute {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html#cfn-ec2-clientvpnroute-clientvpnendpointid>+                    clientVpnEndpointId :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html#cfn-ec2-clientvpnroute-description>+                    description :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html#cfn-ec2-clientvpnroute-destinationcidrblock>+                    destinationCidrBlock :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpnroute.html#cfn-ec2-clientvpnroute-targetvpcsubnetid>+                    targetVpcSubnetId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientVpnRoute ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> ClientVpnRoute+mkClientVpnRoute+  clientVpnEndpointId+  destinationCidrBlock+  targetVpcSubnetId+  = ClientVpnRoute+      {haddock_workaround_ = (),+       clientVpnEndpointId = clientVpnEndpointId,+       destinationCidrBlock = destinationCidrBlock,+       targetVpcSubnetId = targetVpcSubnetId,+       description = Prelude.Nothing}+instance ToResourceProperties ClientVpnRoute where+  toResourceProperties ClientVpnRoute {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnRoute",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ClientVpnEndpointId" JSON..= clientVpnEndpointId,+                            "DestinationCidrBlock" JSON..= destinationCidrBlock,+                            "TargetVpcSubnetId" JSON..= targetVpcSubnetId]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description]))}+instance JSON.ToJSON ClientVpnRoute where+  toJSON ClientVpnRoute {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ClientVpnEndpointId" JSON..= clientVpnEndpointId,+               "DestinationCidrBlock" JSON..= destinationCidrBlock,+               "TargetVpcSubnetId" JSON..= targetVpcSubnetId]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description])))+instance Property "ClientVpnEndpointId" ClientVpnRoute where+  type PropertyType "ClientVpnEndpointId" ClientVpnRoute = Value Prelude.Text+  set newValue ClientVpnRoute {..}+    = ClientVpnRoute {clientVpnEndpointId = newValue, ..}+instance Property "Description" ClientVpnRoute where+  type PropertyType "Description" ClientVpnRoute = Value Prelude.Text+  set newValue ClientVpnRoute {..}+    = ClientVpnRoute {description = Prelude.pure newValue, ..}+instance Property "DestinationCidrBlock" ClientVpnRoute where+  type PropertyType "DestinationCidrBlock" ClientVpnRoute = Value Prelude.Text+  set newValue ClientVpnRoute {..}+    = ClientVpnRoute {destinationCidrBlock = newValue, ..}+instance Property "TargetVpcSubnetId" ClientVpnRoute where+  type PropertyType "TargetVpcSubnetId" ClientVpnRoute = Value Prelude.Text+  set newValue ClientVpnRoute {..}+    = ClientVpnRoute {targetVpcSubnetId = newValue, ..}
+ gen/Stratosphere/EC2/ClientVpnTargetNetworkAssociation.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.ClientVpnTargetNetworkAssociation (+        ClientVpnTargetNetworkAssociation(..),+        mkClientVpnTargetNetworkAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClientVpnTargetNetworkAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html>+    ClientVpnTargetNetworkAssociation {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html#cfn-ec2-clientvpntargetnetworkassociation-clientvpnendpointid>+                                       clientVpnEndpointId :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-clientvpntargetnetworkassociation.html#cfn-ec2-clientvpntargetnetworkassociation-subnetid>+                                       subnetId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClientVpnTargetNetworkAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> ClientVpnTargetNetworkAssociation+mkClientVpnTargetNetworkAssociation clientVpnEndpointId subnetId+  = ClientVpnTargetNetworkAssociation+      {haddock_workaround_ = (),+       clientVpnEndpointId = clientVpnEndpointId, subnetId = subnetId}+instance ToResourceProperties ClientVpnTargetNetworkAssociation where+  toResourceProperties ClientVpnTargetNetworkAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::ClientVpnTargetNetworkAssociation",+         supportsTags = Prelude.False,+         properties = ["ClientVpnEndpointId" JSON..= clientVpnEndpointId,+                       "SubnetId" JSON..= subnetId]}+instance JSON.ToJSON ClientVpnTargetNetworkAssociation where+  toJSON ClientVpnTargetNetworkAssociation {..}+    = JSON.object+        ["ClientVpnEndpointId" JSON..= clientVpnEndpointId,+         "SubnetId" JSON..= subnetId]+instance Property "ClientVpnEndpointId" ClientVpnTargetNetworkAssociation where+  type PropertyType "ClientVpnEndpointId" ClientVpnTargetNetworkAssociation = Value Prelude.Text+  set newValue ClientVpnTargetNetworkAssociation {..}+    = ClientVpnTargetNetworkAssociation+        {clientVpnEndpointId = newValue, ..}+instance Property "SubnetId" ClientVpnTargetNetworkAssociation where+  type PropertyType "SubnetId" ClientVpnTargetNetworkAssociation = Value Prelude.Text+  set newValue ClientVpnTargetNetworkAssociation {..}+    = ClientVpnTargetNetworkAssociation {subnetId = newValue, ..}
+ gen/Stratosphere/EC2/CustomerGateway.hs view
@@ -0,0 +1,89 @@+module Stratosphere.EC2.CustomerGateway (+        CustomerGateway(..), mkCustomerGateway+    ) 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 CustomerGateway+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html>+    CustomerGateway {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html#cfn-ec2-customergateway-bgpasn>+                     bgpAsn :: (Prelude.Maybe (Value Prelude.Integer)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html#cfn-ec2-customergateway-bgpasnextended>+                     bgpAsnExtended :: (Prelude.Maybe (Value Prelude.Double)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html#cfn-ec2-customergateway-certificatearn>+                     certificateArn :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html#cfn-ec2-customergateway-devicename>+                     deviceName :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html#cfn-ec2-customergateway-ipaddress>+                     ipAddress :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html#cfn-ec2-customergateway-tags>+                     tags :: (Prelude.Maybe [Tag]),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-customergateway.html#cfn-ec2-customergateway-type>+                     type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCustomerGateway ::+  Value Prelude.Text -> Value Prelude.Text -> CustomerGateway+mkCustomerGateway ipAddress type'+  = CustomerGateway+      {haddock_workaround_ = (), ipAddress = ipAddress, type' = type',+       bgpAsn = Prelude.Nothing, bgpAsnExtended = Prelude.Nothing,+       certificateArn = Prelude.Nothing, deviceName = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties CustomerGateway where+  toResourceProperties CustomerGateway {..}+    = ResourceProperties+        {awsType = "AWS::EC2::CustomerGateway",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IpAddress" JSON..= ipAddress, "Type" JSON..= type']+                           (Prelude.catMaybes+                              [(JSON..=) "BgpAsn" Prelude.<$> bgpAsn,+                               (JSON..=) "BgpAsnExtended" Prelude.<$> bgpAsnExtended,+                               (JSON..=) "CertificateArn" Prelude.<$> certificateArn,+                               (JSON..=) "DeviceName" Prelude.<$> deviceName,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON CustomerGateway where+  toJSON CustomerGateway {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IpAddress" JSON..= ipAddress, "Type" JSON..= type']+              (Prelude.catMaybes+                 [(JSON..=) "BgpAsn" Prelude.<$> bgpAsn,+                  (JSON..=) "BgpAsnExtended" Prelude.<$> bgpAsnExtended,+                  (JSON..=) "CertificateArn" Prelude.<$> certificateArn,+                  (JSON..=) "DeviceName" Prelude.<$> deviceName,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "BgpAsn" CustomerGateway where+  type PropertyType "BgpAsn" CustomerGateway = Value Prelude.Integer+  set newValue CustomerGateway {..}+    = CustomerGateway {bgpAsn = Prelude.pure newValue, ..}+instance Property "BgpAsnExtended" CustomerGateway where+  type PropertyType "BgpAsnExtended" CustomerGateway = Value Prelude.Double+  set newValue CustomerGateway {..}+    = CustomerGateway {bgpAsnExtended = Prelude.pure newValue, ..}+instance Property "CertificateArn" CustomerGateway where+  type PropertyType "CertificateArn" CustomerGateway = Value Prelude.Text+  set newValue CustomerGateway {..}+    = CustomerGateway {certificateArn = Prelude.pure newValue, ..}+instance Property "DeviceName" CustomerGateway where+  type PropertyType "DeviceName" CustomerGateway = Value Prelude.Text+  set newValue CustomerGateway {..}+    = CustomerGateway {deviceName = Prelude.pure newValue, ..}+instance Property "IpAddress" CustomerGateway where+  type PropertyType "IpAddress" CustomerGateway = Value Prelude.Text+  set newValue CustomerGateway {..}+    = CustomerGateway {ipAddress = newValue, ..}+instance Property "Tags" CustomerGateway where+  type PropertyType "Tags" CustomerGateway = [Tag]+  set newValue CustomerGateway {..}+    = CustomerGateway {tags = Prelude.pure newValue, ..}+instance Property "Type" CustomerGateway where+  type PropertyType "Type" CustomerGateway = Value Prelude.Text+  set newValue CustomerGateway {..}+    = CustomerGateway {type' = newValue, ..}
+ gen/Stratosphere/EC2/DHCPOptions.hs view
@@ -0,0 +1,92 @@+module Stratosphere.EC2.DHCPOptions (+        DHCPOptions(..), mkDHCPOptions+    ) 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 DHCPOptions+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html>+    DHCPOptions {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html#cfn-ec2-dhcpoptions-domainname>+                 domainName :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html#cfn-ec2-dhcpoptions-domainnameservers>+                 domainNameServers :: (Prelude.Maybe (ValueList Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html#cfn-ec2-dhcpoptions-ipv6addresspreferredleasetime>+                 ipv6AddressPreferredLeaseTime :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html#cfn-ec2-dhcpoptions-netbiosnameservers>+                 netbiosNameServers :: (Prelude.Maybe (ValueList Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html#cfn-ec2-dhcpoptions-netbiosnodetype>+                 netbiosNodeType :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html#cfn-ec2-dhcpoptions-ntpservers>+                 ntpServers :: (Prelude.Maybe (ValueList Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-dhcpoptions.html#cfn-ec2-dhcpoptions-tags>+                 tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDHCPOptions :: DHCPOptions+mkDHCPOptions+  = DHCPOptions+      {haddock_workaround_ = (), domainName = Prelude.Nothing,+       domainNameServers = Prelude.Nothing,+       ipv6AddressPreferredLeaseTime = Prelude.Nothing,+       netbiosNameServers = Prelude.Nothing,+       netbiosNodeType = Prelude.Nothing, ntpServers = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties DHCPOptions where+  toResourceProperties DHCPOptions {..}+    = ResourceProperties+        {awsType = "AWS::EC2::DHCPOptions", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DomainName" Prelude.<$> domainName,+                            (JSON..=) "DomainNameServers" Prelude.<$> domainNameServers,+                            (JSON..=) "Ipv6AddressPreferredLeaseTime"+                              Prelude.<$> ipv6AddressPreferredLeaseTime,+                            (JSON..=) "NetbiosNameServers" Prelude.<$> netbiosNameServers,+                            (JSON..=) "NetbiosNodeType" Prelude.<$> netbiosNodeType,+                            (JSON..=) "NtpServers" Prelude.<$> ntpServers,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON DHCPOptions where+  toJSON DHCPOptions {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DomainName" Prelude.<$> domainName,+               (JSON..=) "DomainNameServers" Prelude.<$> domainNameServers,+               (JSON..=) "Ipv6AddressPreferredLeaseTime"+                 Prelude.<$> ipv6AddressPreferredLeaseTime,+               (JSON..=) "NetbiosNameServers" Prelude.<$> netbiosNameServers,+               (JSON..=) "NetbiosNodeType" Prelude.<$> netbiosNodeType,+               (JSON..=) "NtpServers" Prelude.<$> ntpServers,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "DomainName" DHCPOptions where+  type PropertyType "DomainName" DHCPOptions = Value Prelude.Text+  set newValue DHCPOptions {..}+    = DHCPOptions {domainName = Prelude.pure newValue, ..}+instance Property "DomainNameServers" DHCPOptions where+  type PropertyType "DomainNameServers" DHCPOptions = ValueList Prelude.Text+  set newValue DHCPOptions {..}+    = DHCPOptions {domainNameServers = Prelude.pure newValue, ..}+instance Property "Ipv6AddressPreferredLeaseTime" DHCPOptions where+  type PropertyType "Ipv6AddressPreferredLeaseTime" DHCPOptions = Value Prelude.Integer+  set newValue DHCPOptions {..}+    = DHCPOptions+        {ipv6AddressPreferredLeaseTime = Prelude.pure newValue, ..}+instance Property "NetbiosNameServers" DHCPOptions where+  type PropertyType "NetbiosNameServers" DHCPOptions = ValueList Prelude.Text+  set newValue DHCPOptions {..}+    = DHCPOptions {netbiosNameServers = Prelude.pure newValue, ..}+instance Property "NetbiosNodeType" DHCPOptions where+  type PropertyType "NetbiosNodeType" DHCPOptions = Value Prelude.Integer+  set newValue DHCPOptions {..}+    = DHCPOptions {netbiosNodeType = Prelude.pure newValue, ..}+instance Property "NtpServers" DHCPOptions where+  type PropertyType "NtpServers" DHCPOptions = ValueList Prelude.Text+  set newValue DHCPOptions {..}+    = DHCPOptions {ntpServers = Prelude.pure newValue, ..}+instance Property "Tags" DHCPOptions where+  type PropertyType "Tags" DHCPOptions = [Tag]+  set newValue DHCPOptions {..}+    = DHCPOptions {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet.hs view
@@ -0,0 +1,150 @@+module Stratosphere.EC2.EC2Fleet (+        module Exports, EC2Fleet(..), mkEC2Fleet+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateConfigRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.OnDemandOptionsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.SpotOptionsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.TagSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.TargetCapacitySpecificationRequestProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EC2Fleet+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html>+    EC2Fleet {haddock_workaround_ :: (),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-context>+              context :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-excesscapacityterminationpolicy>+              excessCapacityTerminationPolicy :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-launchtemplateconfigs>+              launchTemplateConfigs :: [FleetLaunchTemplateConfigRequestProperty],+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-ondemandoptions>+              onDemandOptions :: (Prelude.Maybe OnDemandOptionsRequestProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-replaceunhealthyinstances>+              replaceUnhealthyInstances :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-spotoptions>+              spotOptions :: (Prelude.Maybe SpotOptionsRequestProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-tagspecifications>+              tagSpecifications :: (Prelude.Maybe [TagSpecificationProperty]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-targetcapacityspecification>+              targetCapacitySpecification :: TargetCapacitySpecificationRequestProperty,+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-terminateinstanceswithexpiration>+              terminateInstancesWithExpiration :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-type>+              type' :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-validfrom>+              validFrom :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html#cfn-ec2-ec2fleet-validuntil>+              validUntil :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEC2Fleet ::+  [FleetLaunchTemplateConfigRequestProperty]+  -> TargetCapacitySpecificationRequestProperty -> EC2Fleet+mkEC2Fleet launchTemplateConfigs targetCapacitySpecification+  = EC2Fleet+      {haddock_workaround_ = (),+       launchTemplateConfigs = launchTemplateConfigs,+       targetCapacitySpecification = targetCapacitySpecification,+       context = Prelude.Nothing,+       excessCapacityTerminationPolicy = Prelude.Nothing,+       onDemandOptions = Prelude.Nothing,+       replaceUnhealthyInstances = Prelude.Nothing,+       spotOptions = Prelude.Nothing, tagSpecifications = Prelude.Nothing,+       terminateInstancesWithExpiration = Prelude.Nothing,+       type' = Prelude.Nothing, validFrom = Prelude.Nothing,+       validUntil = Prelude.Nothing}+instance ToResourceProperties EC2Fleet where+  toResourceProperties EC2Fleet {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LaunchTemplateConfigs" JSON..= launchTemplateConfigs,+                            "TargetCapacitySpecification" JSON..= targetCapacitySpecification]+                           (Prelude.catMaybes+                              [(JSON..=) "Context" Prelude.<$> context,+                               (JSON..=) "ExcessCapacityTerminationPolicy"+                                 Prelude.<$> excessCapacityTerminationPolicy,+                               (JSON..=) "OnDemandOptions" Prelude.<$> onDemandOptions,+                               (JSON..=) "ReplaceUnhealthyInstances"+                                 Prelude.<$> replaceUnhealthyInstances,+                               (JSON..=) "SpotOptions" Prelude.<$> spotOptions,+                               (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                               (JSON..=) "TerminateInstancesWithExpiration"+                                 Prelude.<$> terminateInstancesWithExpiration,+                               (JSON..=) "Type" Prelude.<$> type',+                               (JSON..=) "ValidFrom" Prelude.<$> validFrom,+                               (JSON..=) "ValidUntil" Prelude.<$> validUntil]))}+instance JSON.ToJSON EC2Fleet where+  toJSON EC2Fleet {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LaunchTemplateConfigs" JSON..= launchTemplateConfigs,+               "TargetCapacitySpecification" JSON..= targetCapacitySpecification]+              (Prelude.catMaybes+                 [(JSON..=) "Context" Prelude.<$> context,+                  (JSON..=) "ExcessCapacityTerminationPolicy"+                    Prelude.<$> excessCapacityTerminationPolicy,+                  (JSON..=) "OnDemandOptions" Prelude.<$> onDemandOptions,+                  (JSON..=) "ReplaceUnhealthyInstances"+                    Prelude.<$> replaceUnhealthyInstances,+                  (JSON..=) "SpotOptions" Prelude.<$> spotOptions,+                  (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                  (JSON..=) "TerminateInstancesWithExpiration"+                    Prelude.<$> terminateInstancesWithExpiration,+                  (JSON..=) "Type" Prelude.<$> type',+                  (JSON..=) "ValidFrom" Prelude.<$> validFrom,+                  (JSON..=) "ValidUntil" Prelude.<$> validUntil])))+instance Property "Context" EC2Fleet where+  type PropertyType "Context" EC2Fleet = Value Prelude.Text+  set newValue EC2Fleet {..}+    = EC2Fleet {context = Prelude.pure newValue, ..}+instance Property "ExcessCapacityTerminationPolicy" EC2Fleet where+  type PropertyType "ExcessCapacityTerminationPolicy" EC2Fleet = Value Prelude.Text+  set newValue EC2Fleet {..}+    = EC2Fleet+        {excessCapacityTerminationPolicy = Prelude.pure newValue, ..}+instance Property "LaunchTemplateConfigs" EC2Fleet where+  type PropertyType "LaunchTemplateConfigs" EC2Fleet = [FleetLaunchTemplateConfigRequestProperty]+  set newValue EC2Fleet {..}+    = EC2Fleet {launchTemplateConfigs = newValue, ..}+instance Property "OnDemandOptions" EC2Fleet where+  type PropertyType "OnDemandOptions" EC2Fleet = OnDemandOptionsRequestProperty+  set newValue EC2Fleet {..}+    = EC2Fleet {onDemandOptions = Prelude.pure newValue, ..}+instance Property "ReplaceUnhealthyInstances" EC2Fleet where+  type PropertyType "ReplaceUnhealthyInstances" EC2Fleet = Value Prelude.Bool+  set newValue EC2Fleet {..}+    = EC2Fleet {replaceUnhealthyInstances = Prelude.pure newValue, ..}+instance Property "SpotOptions" EC2Fleet where+  type PropertyType "SpotOptions" EC2Fleet = SpotOptionsRequestProperty+  set newValue EC2Fleet {..}+    = EC2Fleet {spotOptions = Prelude.pure newValue, ..}+instance Property "TagSpecifications" EC2Fleet where+  type PropertyType "TagSpecifications" EC2Fleet = [TagSpecificationProperty]+  set newValue EC2Fleet {..}+    = EC2Fleet {tagSpecifications = Prelude.pure newValue, ..}+instance Property "TargetCapacitySpecification" EC2Fleet where+  type PropertyType "TargetCapacitySpecification" EC2Fleet = TargetCapacitySpecificationRequestProperty+  set newValue EC2Fleet {..}+    = EC2Fleet {targetCapacitySpecification = newValue, ..}+instance Property "TerminateInstancesWithExpiration" EC2Fleet where+  type PropertyType "TerminateInstancesWithExpiration" EC2Fleet = Value Prelude.Bool+  set newValue EC2Fleet {..}+    = EC2Fleet+        {terminateInstancesWithExpiration = Prelude.pure newValue, ..}+instance Property "Type" EC2Fleet where+  type PropertyType "Type" EC2Fleet = Value Prelude.Text+  set newValue EC2Fleet {..}+    = EC2Fleet {type' = Prelude.pure newValue, ..}+instance Property "ValidFrom" EC2Fleet where+  type PropertyType "ValidFrom" EC2Fleet = Value Prelude.Text+  set newValue EC2Fleet {..}+    = EC2Fleet {validFrom = Prelude.pure newValue, ..}+instance Property "ValidUntil" EC2Fleet where+  type PropertyType "ValidUntil" EC2Fleet = Value Prelude.Text+  set newValue EC2Fleet {..}+    = EC2Fleet {validUntil = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/AcceleratorCountRequestProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.EC2Fleet.AcceleratorCountRequestProperty (+        AcceleratorCountRequestProperty(..),+        mkAcceleratorCountRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AcceleratorCountRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-acceleratorcountrequest.html>+    AcceleratorCountRequestProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-acceleratorcountrequest.html#cfn-ec2-ec2fleet-acceleratorcountrequest-max>+                                     max :: (Prelude.Maybe (Value Prelude.Integer)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-acceleratorcountrequest.html#cfn-ec2-ec2fleet-acceleratorcountrequest-min>+                                     min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAcceleratorCountRequestProperty ::+  AcceleratorCountRequestProperty+mkAcceleratorCountRequestProperty+  = AcceleratorCountRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties AcceleratorCountRequestProperty where+  toResourceProperties AcceleratorCountRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.AcceleratorCountRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON AcceleratorCountRequestProperty where+  toJSON AcceleratorCountRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" AcceleratorCountRequestProperty where+  type PropertyType "Max" AcceleratorCountRequestProperty = Value Prelude.Integer+  set newValue AcceleratorCountRequestProperty {..}+    = AcceleratorCountRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" AcceleratorCountRequestProperty where+  type PropertyType "Min" AcceleratorCountRequestProperty = Value Prelude.Integer+  set newValue AcceleratorCountRequestProperty {..}+    = AcceleratorCountRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/AcceleratorCountRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.AcceleratorCountRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AcceleratorCountRequestProperty :: Prelude.Type+instance ToResourceProperties AcceleratorCountRequestProperty+instance Prelude.Eq AcceleratorCountRequestProperty+instance Prelude.Show AcceleratorCountRequestProperty+instance JSON.ToJSON AcceleratorCountRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/AcceleratorTotalMemoryMiBRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.EC2Fleet.AcceleratorTotalMemoryMiBRequestProperty (+        AcceleratorTotalMemoryMiBRequestProperty(..),+        mkAcceleratorTotalMemoryMiBRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AcceleratorTotalMemoryMiBRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-acceleratortotalmemorymibrequest.html>+    AcceleratorTotalMemoryMiBRequestProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-acceleratortotalmemorymibrequest.html#cfn-ec2-ec2fleet-acceleratortotalmemorymibrequest-max>+                                              max :: (Prelude.Maybe (Value Prelude.Integer)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-acceleratortotalmemorymibrequest.html#cfn-ec2-ec2fleet-acceleratortotalmemorymibrequest-min>+                                              min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAcceleratorTotalMemoryMiBRequestProperty ::+  AcceleratorTotalMemoryMiBRequestProperty+mkAcceleratorTotalMemoryMiBRequestProperty+  = AcceleratorTotalMemoryMiBRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties AcceleratorTotalMemoryMiBRequestProperty where+  toResourceProperties AcceleratorTotalMemoryMiBRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.AcceleratorTotalMemoryMiBRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON AcceleratorTotalMemoryMiBRequestProperty where+  toJSON AcceleratorTotalMemoryMiBRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" AcceleratorTotalMemoryMiBRequestProperty where+  type PropertyType "Max" AcceleratorTotalMemoryMiBRequestProperty = Value Prelude.Integer+  set newValue AcceleratorTotalMemoryMiBRequestProperty {..}+    = AcceleratorTotalMemoryMiBRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" AcceleratorTotalMemoryMiBRequestProperty where+  type PropertyType "Min" AcceleratorTotalMemoryMiBRequestProperty = Value Prelude.Integer+  set newValue AcceleratorTotalMemoryMiBRequestProperty {..}+    = AcceleratorTotalMemoryMiBRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/AcceleratorTotalMemoryMiBRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.AcceleratorTotalMemoryMiBRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AcceleratorTotalMemoryMiBRequestProperty :: Prelude.Type+instance ToResourceProperties AcceleratorTotalMemoryMiBRequestProperty+instance Prelude.Eq AcceleratorTotalMemoryMiBRequestProperty+instance Prelude.Show AcceleratorTotalMemoryMiBRequestProperty+instance JSON.ToJSON AcceleratorTotalMemoryMiBRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/BaselineEbsBandwidthMbpsRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.EC2Fleet.BaselineEbsBandwidthMbpsRequestProperty (+        BaselineEbsBandwidthMbpsRequestProperty(..),+        mkBaselineEbsBandwidthMbpsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BaselineEbsBandwidthMbpsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-baselineebsbandwidthmbpsrequest.html>+    BaselineEbsBandwidthMbpsRequestProperty {haddock_workaround_ :: (),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-baselineebsbandwidthmbpsrequest.html#cfn-ec2-ec2fleet-baselineebsbandwidthmbpsrequest-max>+                                             max :: (Prelude.Maybe (Value Prelude.Integer)),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-baselineebsbandwidthmbpsrequest.html#cfn-ec2-ec2fleet-baselineebsbandwidthmbpsrequest-min>+                                             min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBaselineEbsBandwidthMbpsRequestProperty ::+  BaselineEbsBandwidthMbpsRequestProperty+mkBaselineEbsBandwidthMbpsRequestProperty+  = BaselineEbsBandwidthMbpsRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties BaselineEbsBandwidthMbpsRequestProperty where+  toResourceProperties BaselineEbsBandwidthMbpsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.BaselineEbsBandwidthMbpsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON BaselineEbsBandwidthMbpsRequestProperty where+  toJSON BaselineEbsBandwidthMbpsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" BaselineEbsBandwidthMbpsRequestProperty where+  type PropertyType "Max" BaselineEbsBandwidthMbpsRequestProperty = Value Prelude.Integer+  set newValue BaselineEbsBandwidthMbpsRequestProperty {..}+    = BaselineEbsBandwidthMbpsRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" BaselineEbsBandwidthMbpsRequestProperty where+  type PropertyType "Min" BaselineEbsBandwidthMbpsRequestProperty = Value Prelude.Integer+  set newValue BaselineEbsBandwidthMbpsRequestProperty {..}+    = BaselineEbsBandwidthMbpsRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/BaselineEbsBandwidthMbpsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.BaselineEbsBandwidthMbpsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BaselineEbsBandwidthMbpsRequestProperty :: Prelude.Type+instance ToResourceProperties BaselineEbsBandwidthMbpsRequestProperty+instance Prelude.Eq BaselineEbsBandwidthMbpsRequestProperty+instance Prelude.Show BaselineEbsBandwidthMbpsRequestProperty+instance JSON.ToJSON BaselineEbsBandwidthMbpsRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/BaselinePerformanceFactorsRequestProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.EC2Fleet.BaselinePerformanceFactorsRequestProperty (+        module Exports, BaselinePerformanceFactorsRequestProperty(..),+        mkBaselinePerformanceFactorsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.CpuPerformanceFactorRequestProperty as Exports+import Stratosphere.ResourceProperties+data BaselinePerformanceFactorsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-baselineperformancefactorsrequest.html>+    BaselinePerformanceFactorsRequestProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-baselineperformancefactorsrequest.html#cfn-ec2-ec2fleet-baselineperformancefactorsrequest-cpu>+                                               cpu :: (Prelude.Maybe CpuPerformanceFactorRequestProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBaselinePerformanceFactorsRequestProperty ::+  BaselinePerformanceFactorsRequestProperty+mkBaselinePerformanceFactorsRequestProperty+  = BaselinePerformanceFactorsRequestProperty+      {haddock_workaround_ = (), cpu = Prelude.Nothing}+instance ToResourceProperties BaselinePerformanceFactorsRequestProperty where+  toResourceProperties BaselinePerformanceFactorsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.BaselinePerformanceFactorsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Cpu" Prelude.<$> cpu])}+instance JSON.ToJSON BaselinePerformanceFactorsRequestProperty where+  toJSON BaselinePerformanceFactorsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Cpu" Prelude.<$> cpu]))+instance Property "Cpu" BaselinePerformanceFactorsRequestProperty where+  type PropertyType "Cpu" BaselinePerformanceFactorsRequestProperty = CpuPerformanceFactorRequestProperty+  set newValue BaselinePerformanceFactorsRequestProperty {..}+    = BaselinePerformanceFactorsRequestProperty+        {cpu = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/BaselinePerformanceFactorsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.BaselinePerformanceFactorsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BaselinePerformanceFactorsRequestProperty :: Prelude.Type+instance ToResourceProperties BaselinePerformanceFactorsRequestProperty+instance Prelude.Eq BaselinePerformanceFactorsRequestProperty+instance Prelude.Show BaselinePerformanceFactorsRequestProperty+instance JSON.ToJSON BaselinePerformanceFactorsRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/BlockDeviceMappingProperty.hs view
@@ -0,0 +1,66 @@+module Stratosphere.EC2.EC2Fleet.BlockDeviceMappingProperty (+        module Exports, BlockDeviceMappingProperty(..),+        mkBlockDeviceMappingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.EbsBlockDeviceProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BlockDeviceMappingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-blockdevicemapping.html>+    BlockDeviceMappingProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-blockdevicemapping.html#cfn-ec2-ec2fleet-blockdevicemapping-devicename>+                                deviceName :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-blockdevicemapping.html#cfn-ec2-ec2fleet-blockdevicemapping-ebs>+                                ebs :: (Prelude.Maybe EbsBlockDeviceProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-blockdevicemapping.html#cfn-ec2-ec2fleet-blockdevicemapping-nodevice>+                                noDevice :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-blockdevicemapping.html#cfn-ec2-ec2fleet-blockdevicemapping-virtualname>+                                virtualName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBlockDeviceMappingProperty :: BlockDeviceMappingProperty+mkBlockDeviceMappingProperty+  = BlockDeviceMappingProperty+      {haddock_workaround_ = (), deviceName = Prelude.Nothing,+       ebs = Prelude.Nothing, noDevice = Prelude.Nothing,+       virtualName = Prelude.Nothing}+instance ToResourceProperties BlockDeviceMappingProperty where+  toResourceProperties BlockDeviceMappingProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.BlockDeviceMapping",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DeviceName" Prelude.<$> deviceName,+                            (JSON..=) "Ebs" Prelude.<$> ebs,+                            (JSON..=) "NoDevice" Prelude.<$> noDevice,+                            (JSON..=) "VirtualName" Prelude.<$> virtualName])}+instance JSON.ToJSON BlockDeviceMappingProperty where+  toJSON BlockDeviceMappingProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DeviceName" Prelude.<$> deviceName,+               (JSON..=) "Ebs" Prelude.<$> ebs,+               (JSON..=) "NoDevice" Prelude.<$> noDevice,+               (JSON..=) "VirtualName" Prelude.<$> virtualName]))+instance Property "DeviceName" BlockDeviceMappingProperty where+  type PropertyType "DeviceName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty+        {deviceName = Prelude.pure newValue, ..}+instance Property "Ebs" BlockDeviceMappingProperty where+  type PropertyType "Ebs" BlockDeviceMappingProperty = EbsBlockDeviceProperty+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {ebs = Prelude.pure newValue, ..}+instance Property "NoDevice" BlockDeviceMappingProperty where+  type PropertyType "NoDevice" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {noDevice = Prelude.pure newValue, ..}+instance Property "VirtualName" BlockDeviceMappingProperty where+  type PropertyType "VirtualName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty+        {virtualName = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/BlockDeviceMappingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.BlockDeviceMappingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BlockDeviceMappingProperty :: Prelude.Type+instance ToResourceProperties BlockDeviceMappingProperty+instance Prelude.Eq BlockDeviceMappingProperty+instance Prelude.Show BlockDeviceMappingProperty+instance JSON.ToJSON BlockDeviceMappingProperty
+ gen/Stratosphere/EC2/EC2Fleet/CapacityRebalanceProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.EC2Fleet.CapacityRebalanceProperty (+        CapacityRebalanceProperty(..), mkCapacityRebalanceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityRebalanceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityrebalance.html>+    CapacityRebalanceProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityrebalance.html#cfn-ec2-ec2fleet-capacityrebalance-replacementstrategy>+                               replacementStrategy :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityrebalance.html#cfn-ec2-ec2fleet-capacityrebalance-terminationdelay>+                               terminationDelay :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityRebalanceProperty :: CapacityRebalanceProperty+mkCapacityRebalanceProperty+  = CapacityRebalanceProperty+      {haddock_workaround_ = (), replacementStrategy = Prelude.Nothing,+       terminationDelay = Prelude.Nothing}+instance ToResourceProperties CapacityRebalanceProperty where+  toResourceProperties CapacityRebalanceProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.CapacityRebalance",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ReplacementStrategy" Prelude.<$> replacementStrategy,+                            (JSON..=) "TerminationDelay" Prelude.<$> terminationDelay])}+instance JSON.ToJSON CapacityRebalanceProperty where+  toJSON CapacityRebalanceProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ReplacementStrategy" Prelude.<$> replacementStrategy,+               (JSON..=) "TerminationDelay" Prelude.<$> terminationDelay]))+instance Property "ReplacementStrategy" CapacityRebalanceProperty where+  type PropertyType "ReplacementStrategy" CapacityRebalanceProperty = Value Prelude.Text+  set newValue CapacityRebalanceProperty {..}+    = CapacityRebalanceProperty+        {replacementStrategy = Prelude.pure newValue, ..}+instance Property "TerminationDelay" CapacityRebalanceProperty where+  type PropertyType "TerminationDelay" CapacityRebalanceProperty = Value Prelude.Integer+  set newValue CapacityRebalanceProperty {..}+    = CapacityRebalanceProperty+        {terminationDelay = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/CapacityRebalanceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.CapacityRebalanceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CapacityRebalanceProperty :: Prelude.Type+instance ToResourceProperties CapacityRebalanceProperty+instance Prelude.Eq CapacityRebalanceProperty+instance Prelude.Show CapacityRebalanceProperty+instance JSON.ToJSON CapacityRebalanceProperty
+ gen/Stratosphere/EC2/EC2Fleet/CapacityReservationOptionsRequestProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.EC2Fleet.CapacityReservationOptionsRequestProperty (+        CapacityReservationOptionsRequestProperty(..),+        mkCapacityReservationOptionsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityReservationOptionsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityreservationoptionsrequest.html>+    CapacityReservationOptionsRequestProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-capacityreservationoptionsrequest.html#cfn-ec2-ec2fleet-capacityreservationoptionsrequest-usagestrategy>+                                               usageStrategy :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityReservationOptionsRequestProperty ::+  CapacityReservationOptionsRequestProperty+mkCapacityReservationOptionsRequestProperty+  = CapacityReservationOptionsRequestProperty+      {haddock_workaround_ = (), usageStrategy = Prelude.Nothing}+instance ToResourceProperties CapacityReservationOptionsRequestProperty where+  toResourceProperties CapacityReservationOptionsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.CapacityReservationOptionsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "UsageStrategy" Prelude.<$> usageStrategy])}+instance JSON.ToJSON CapacityReservationOptionsRequestProperty where+  toJSON CapacityReservationOptionsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "UsageStrategy" Prelude.<$> usageStrategy]))+instance Property "UsageStrategy" CapacityReservationOptionsRequestProperty where+  type PropertyType "UsageStrategy" CapacityReservationOptionsRequestProperty = Value Prelude.Text+  set newValue CapacityReservationOptionsRequestProperty {..}+    = CapacityReservationOptionsRequestProperty+        {usageStrategy = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/CapacityReservationOptionsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.CapacityReservationOptionsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CapacityReservationOptionsRequestProperty :: Prelude.Type+instance ToResourceProperties CapacityReservationOptionsRequestProperty+instance Prelude.Eq CapacityReservationOptionsRequestProperty+instance Prelude.Show CapacityReservationOptionsRequestProperty+instance JSON.ToJSON CapacityReservationOptionsRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/CpuPerformanceFactorRequestProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.EC2Fleet.CpuPerformanceFactorRequestProperty (+        module Exports, CpuPerformanceFactorRequestProperty(..),+        mkCpuPerformanceFactorRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.PerformanceFactorReferenceRequestProperty as Exports+import Stratosphere.ResourceProperties+data CpuPerformanceFactorRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-cpuperformancefactorrequest.html>+    CpuPerformanceFactorRequestProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-cpuperformancefactorrequest.html#cfn-ec2-ec2fleet-cpuperformancefactorrequest-references>+                                         references :: (Prelude.Maybe [PerformanceFactorReferenceRequestProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCpuPerformanceFactorRequestProperty ::+  CpuPerformanceFactorRequestProperty+mkCpuPerformanceFactorRequestProperty+  = CpuPerformanceFactorRequestProperty+      {haddock_workaround_ = (), references = Prelude.Nothing}+instance ToResourceProperties CpuPerformanceFactorRequestProperty where+  toResourceProperties CpuPerformanceFactorRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.CpuPerformanceFactorRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "References" Prelude.<$> references])}+instance JSON.ToJSON CpuPerformanceFactorRequestProperty where+  toJSON CpuPerformanceFactorRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "References" Prelude.<$> references]))+instance Property "References" CpuPerformanceFactorRequestProperty where+  type PropertyType "References" CpuPerformanceFactorRequestProperty = [PerformanceFactorReferenceRequestProperty]+  set newValue CpuPerformanceFactorRequestProperty {..}+    = CpuPerformanceFactorRequestProperty+        {references = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/CpuPerformanceFactorRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.CpuPerformanceFactorRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CpuPerformanceFactorRequestProperty :: Prelude.Type+instance ToResourceProperties CpuPerformanceFactorRequestProperty+instance Prelude.Eq CpuPerformanceFactorRequestProperty+instance Prelude.Show CpuPerformanceFactorRequestProperty+instance JSON.ToJSON CpuPerformanceFactorRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/EbsBlockDeviceProperty.hs view
@@ -0,0 +1,88 @@+module Stratosphere.EC2.EC2Fleet.EbsBlockDeviceProperty (+        EbsBlockDeviceProperty(..), mkEbsBlockDeviceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EbsBlockDeviceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html>+    EbsBlockDeviceProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html#cfn-ec2-ec2fleet-ebsblockdevice-deleteontermination>+                            deleteOnTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html#cfn-ec2-ec2fleet-ebsblockdevice-encrypted>+                            encrypted :: (Prelude.Maybe (Value Prelude.Bool)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html#cfn-ec2-ec2fleet-ebsblockdevice-iops>+                            iops :: (Prelude.Maybe (Value Prelude.Integer)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html#cfn-ec2-ec2fleet-ebsblockdevice-kmskeyid>+                            kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html#cfn-ec2-ec2fleet-ebsblockdevice-snapshotid>+                            snapshotId :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html#cfn-ec2-ec2fleet-ebsblockdevice-volumesize>+                            volumeSize :: (Prelude.Maybe (Value Prelude.Integer)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ebsblockdevice.html#cfn-ec2-ec2fleet-ebsblockdevice-volumetype>+                            volumeType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEbsBlockDeviceProperty :: EbsBlockDeviceProperty+mkEbsBlockDeviceProperty+  = EbsBlockDeviceProperty+      {haddock_workaround_ = (), deleteOnTermination = Prelude.Nothing,+       encrypted = Prelude.Nothing, iops = Prelude.Nothing,+       kmsKeyId = Prelude.Nothing, snapshotId = Prelude.Nothing,+       volumeSize = Prelude.Nothing, volumeType = Prelude.Nothing}+instance ToResourceProperties EbsBlockDeviceProperty where+  toResourceProperties EbsBlockDeviceProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.EbsBlockDevice",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                            (JSON..=) "Encrypted" Prelude.<$> encrypted,+                            (JSON..=) "Iops" Prelude.<$> iops,+                            (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+                            (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+                            (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+                            (JSON..=) "VolumeType" Prelude.<$> volumeType])}+instance JSON.ToJSON EbsBlockDeviceProperty where+  toJSON EbsBlockDeviceProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+               (JSON..=) "Encrypted" Prelude.<$> encrypted,+               (JSON..=) "Iops" Prelude.<$> iops,+               (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+               (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+               (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+               (JSON..=) "VolumeType" Prelude.<$> volumeType]))+instance Property "DeleteOnTermination" EbsBlockDeviceProperty where+  type PropertyType "DeleteOnTermination" EbsBlockDeviceProperty = Value Prelude.Bool+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty+        {deleteOnTermination = Prelude.pure newValue, ..}+instance Property "Encrypted" EbsBlockDeviceProperty where+  type PropertyType "Encrypted" EbsBlockDeviceProperty = Value Prelude.Bool+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {encrypted = Prelude.pure newValue, ..}+instance Property "Iops" EbsBlockDeviceProperty where+  type PropertyType "Iops" EbsBlockDeviceProperty = Value Prelude.Integer+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {iops = Prelude.pure newValue, ..}+instance Property "KmsKeyId" EbsBlockDeviceProperty where+  type PropertyType "KmsKeyId" EbsBlockDeviceProperty = Value Prelude.Text+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {kmsKeyId = Prelude.pure newValue, ..}+instance Property "SnapshotId" EbsBlockDeviceProperty where+  type PropertyType "SnapshotId" EbsBlockDeviceProperty = Value Prelude.Text+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {snapshotId = Prelude.pure newValue, ..}+instance Property "VolumeSize" EbsBlockDeviceProperty where+  type PropertyType "VolumeSize" EbsBlockDeviceProperty = Value Prelude.Integer+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {volumeSize = Prelude.pure newValue, ..}+instance Property "VolumeType" EbsBlockDeviceProperty where+  type PropertyType "VolumeType" EbsBlockDeviceProperty = Value Prelude.Text+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {volumeType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/EbsBlockDeviceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.EbsBlockDeviceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EbsBlockDeviceProperty :: Prelude.Type+instance ToResourceProperties EbsBlockDeviceProperty+instance Prelude.Eq EbsBlockDeviceProperty+instance Prelude.Show EbsBlockDeviceProperty+instance JSON.ToJSON EbsBlockDeviceProperty
+ gen/Stratosphere/EC2/EC2Fleet/FleetLaunchTemplateConfigRequestProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateConfigRequestProperty (+        module Exports, FleetLaunchTemplateConfigRequestProperty(..),+        mkFleetLaunchTemplateConfigRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateOverridesRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateSpecificationRequestProperty as Exports+import Stratosphere.ResourceProperties+data FleetLaunchTemplateConfigRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html>+    FleetLaunchTemplateConfigRequestProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-launchtemplatespecification>+                                              launchTemplateSpecification :: (Prelude.Maybe FleetLaunchTemplateSpecificationRequestProperty),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateconfigrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateconfigrequest-overrides>+                                              overrides :: (Prelude.Maybe [FleetLaunchTemplateOverridesRequestProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFleetLaunchTemplateConfigRequestProperty ::+  FleetLaunchTemplateConfigRequestProperty+mkFleetLaunchTemplateConfigRequestProperty+  = FleetLaunchTemplateConfigRequestProperty+      {haddock_workaround_ = (),+       launchTemplateSpecification = Prelude.Nothing,+       overrides = Prelude.Nothing}+instance ToResourceProperties FleetLaunchTemplateConfigRequestProperty where+  toResourceProperties FleetLaunchTemplateConfigRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.FleetLaunchTemplateConfigRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "LaunchTemplateSpecification"+                              Prelude.<$> launchTemplateSpecification,+                            (JSON..=) "Overrides" Prelude.<$> overrides])}+instance JSON.ToJSON FleetLaunchTemplateConfigRequestProperty where+  toJSON FleetLaunchTemplateConfigRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "LaunchTemplateSpecification"+                 Prelude.<$> launchTemplateSpecification,+               (JSON..=) "Overrides" Prelude.<$> overrides]))+instance Property "LaunchTemplateSpecification" FleetLaunchTemplateConfigRequestProperty where+  type PropertyType "LaunchTemplateSpecification" FleetLaunchTemplateConfigRequestProperty = FleetLaunchTemplateSpecificationRequestProperty+  set newValue FleetLaunchTemplateConfigRequestProperty {..}+    = FleetLaunchTemplateConfigRequestProperty+        {launchTemplateSpecification = Prelude.pure newValue, ..}+instance Property "Overrides" FleetLaunchTemplateConfigRequestProperty where+  type PropertyType "Overrides" FleetLaunchTemplateConfigRequestProperty = [FleetLaunchTemplateOverridesRequestProperty]+  set newValue FleetLaunchTemplateConfigRequestProperty {..}+    = FleetLaunchTemplateConfigRequestProperty+        {overrides = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/FleetLaunchTemplateConfigRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateConfigRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FleetLaunchTemplateConfigRequestProperty :: Prelude.Type+instance ToResourceProperties FleetLaunchTemplateConfigRequestProperty+instance Prelude.Eq FleetLaunchTemplateConfigRequestProperty+instance Prelude.Show FleetLaunchTemplateConfigRequestProperty+instance JSON.ToJSON FleetLaunchTemplateConfigRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/FleetLaunchTemplateOverridesRequestProperty.hs view
@@ -0,0 +1,120 @@+module Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateOverridesRequestProperty (+        module Exports, FleetLaunchTemplateOverridesRequestProperty(..),+        mkFleetLaunchTemplateOverridesRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.BlockDeviceMappingProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.InstanceRequirementsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.PlacementProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FleetLaunchTemplateOverridesRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html>+    FleetLaunchTemplateOverridesRequestProperty {haddock_workaround_ :: (),+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-availabilityzone>+                                                 availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-blockdevicemappings>+                                                 blockDeviceMappings :: (Prelude.Maybe [BlockDeviceMappingProperty]),+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-instancerequirements>+                                                 instanceRequirements :: (Prelude.Maybe InstanceRequirementsRequestProperty),+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-instancetype>+                                                 instanceType :: (Prelude.Maybe (Value Prelude.Text)),+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-maxprice>+                                                 maxPrice :: (Prelude.Maybe (Value Prelude.Text)),+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-placement>+                                                 placement :: (Prelude.Maybe PlacementProperty),+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-priority>+                                                 priority :: (Prelude.Maybe (Value Prelude.Double)),+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-subnetid>+                                                 subnetId :: (Prelude.Maybe (Value Prelude.Text)),+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplateoverridesrequest-weightedcapacity>+                                                 weightedCapacity :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFleetLaunchTemplateOverridesRequestProperty ::+  FleetLaunchTemplateOverridesRequestProperty+mkFleetLaunchTemplateOverridesRequestProperty+  = FleetLaunchTemplateOverridesRequestProperty+      {haddock_workaround_ = (), availabilityZone = Prelude.Nothing,+       blockDeviceMappings = Prelude.Nothing,+       instanceRequirements = Prelude.Nothing,+       instanceType = Prelude.Nothing, maxPrice = Prelude.Nothing,+       placement = Prelude.Nothing, priority = Prelude.Nothing,+       subnetId = Prelude.Nothing, weightedCapacity = Prelude.Nothing}+instance ToResourceProperties FleetLaunchTemplateOverridesRequestProperty where+  toResourceProperties+    FleetLaunchTemplateOverridesRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.FleetLaunchTemplateOverridesRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                            (JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+                            (JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+                            (JSON..=) "InstanceType" Prelude.<$> instanceType,+                            (JSON..=) "MaxPrice" Prelude.<$> maxPrice,+                            (JSON..=) "Placement" Prelude.<$> placement,+                            (JSON..=) "Priority" Prelude.<$> priority,+                            (JSON..=) "SubnetId" Prelude.<$> subnetId,+                            (JSON..=) "WeightedCapacity" Prelude.<$> weightedCapacity])}+instance JSON.ToJSON FleetLaunchTemplateOverridesRequestProperty where+  toJSON FleetLaunchTemplateOverridesRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+               (JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+               (JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+               (JSON..=) "InstanceType" Prelude.<$> instanceType,+               (JSON..=) "MaxPrice" Prelude.<$> maxPrice,+               (JSON..=) "Placement" Prelude.<$> placement,+               (JSON..=) "Priority" Prelude.<$> priority,+               (JSON..=) "SubnetId" Prelude.<$> subnetId,+               (JSON..=) "WeightedCapacity" Prelude.<$> weightedCapacity]))+instance Property "AvailabilityZone" FleetLaunchTemplateOverridesRequestProperty where+  type PropertyType "AvailabilityZone" FleetLaunchTemplateOverridesRequestProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateOverridesRequestProperty {..}+    = FleetLaunchTemplateOverridesRequestProperty+        {availabilityZone = Prelude.pure newValue, ..}+instance Property "BlockDeviceMappings" FleetLaunchTemplateOverridesRequestProperty where+  type PropertyType "BlockDeviceMappings" FleetLaunchTemplateOverridesRequestProperty = [BlockDeviceMappingProperty]+  set newValue FleetLaunchTemplateOverridesRequestProperty {..}+    = FleetLaunchTemplateOverridesRequestProperty+        {blockDeviceMappings = Prelude.pure newValue, ..}+instance Property "InstanceRequirements" FleetLaunchTemplateOverridesRequestProperty where+  type PropertyType "InstanceRequirements" FleetLaunchTemplateOverridesRequestProperty = InstanceRequirementsRequestProperty+  set newValue FleetLaunchTemplateOverridesRequestProperty {..}+    = FleetLaunchTemplateOverridesRequestProperty+        {instanceRequirements = Prelude.pure newValue, ..}+instance Property "InstanceType" FleetLaunchTemplateOverridesRequestProperty where+  type PropertyType "InstanceType" FleetLaunchTemplateOverridesRequestProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateOverridesRequestProperty {..}+    = FleetLaunchTemplateOverridesRequestProperty+        {instanceType = Prelude.pure newValue, ..}+instance Property "MaxPrice" FleetLaunchTemplateOverridesRequestProperty where+  type PropertyType "MaxPrice" FleetLaunchTemplateOverridesRequestProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateOverridesRequestProperty {..}+    = FleetLaunchTemplateOverridesRequestProperty+        {maxPrice = Prelude.pure newValue, ..}+instance Property "Placement" FleetLaunchTemplateOverridesRequestProperty where+  type PropertyType "Placement" FleetLaunchTemplateOverridesRequestProperty = PlacementProperty+  set newValue FleetLaunchTemplateOverridesRequestProperty {..}+    = FleetLaunchTemplateOverridesRequestProperty+        {placement = Prelude.pure newValue, ..}+instance Property "Priority" FleetLaunchTemplateOverridesRequestProperty where+  type PropertyType "Priority" FleetLaunchTemplateOverridesRequestProperty = Value Prelude.Double+  set newValue FleetLaunchTemplateOverridesRequestProperty {..}+    = FleetLaunchTemplateOverridesRequestProperty+        {priority = Prelude.pure newValue, ..}+instance Property "SubnetId" FleetLaunchTemplateOverridesRequestProperty where+  type PropertyType "SubnetId" FleetLaunchTemplateOverridesRequestProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateOverridesRequestProperty {..}+    = FleetLaunchTemplateOverridesRequestProperty+        {subnetId = Prelude.pure newValue, ..}+instance Property "WeightedCapacity" FleetLaunchTemplateOverridesRequestProperty where+  type PropertyType "WeightedCapacity" FleetLaunchTemplateOverridesRequestProperty = Value Prelude.Double+  set newValue FleetLaunchTemplateOverridesRequestProperty {..}+    = FleetLaunchTemplateOverridesRequestProperty+        {weightedCapacity = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/FleetLaunchTemplateOverridesRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateOverridesRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FleetLaunchTemplateOverridesRequestProperty :: Prelude.Type+instance ToResourceProperties FleetLaunchTemplateOverridesRequestProperty+instance Prelude.Eq FleetLaunchTemplateOverridesRequestProperty+instance Prelude.Show FleetLaunchTemplateOverridesRequestProperty+instance JSON.ToJSON FleetLaunchTemplateOverridesRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/FleetLaunchTemplateSpecificationRequestProperty.hs view
@@ -0,0 +1,63 @@+module Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateSpecificationRequestProperty (+        FleetLaunchTemplateSpecificationRequestProperty(..),+        mkFleetLaunchTemplateSpecificationRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FleetLaunchTemplateSpecificationRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html>+    FleetLaunchTemplateSpecificationRequestProperty {haddock_workaround_ :: (),+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplateid>+                                                     launchTemplateId :: (Prelude.Maybe (Value Prelude.Text)),+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-launchtemplatename>+                                                     launchTemplateName :: (Prelude.Maybe (Value Prelude.Text)),+                                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest.html#cfn-ec2-ec2fleet-fleetlaunchtemplatespecificationrequest-version>+                                                     version :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFleetLaunchTemplateSpecificationRequestProperty ::+  Value Prelude.Text+  -> FleetLaunchTemplateSpecificationRequestProperty+mkFleetLaunchTemplateSpecificationRequestProperty version+  = FleetLaunchTemplateSpecificationRequestProperty+      {haddock_workaround_ = (), version = version,+       launchTemplateId = Prelude.Nothing,+       launchTemplateName = Prelude.Nothing}+instance ToResourceProperties FleetLaunchTemplateSpecificationRequestProperty where+  toResourceProperties+    FleetLaunchTemplateSpecificationRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.FleetLaunchTemplateSpecificationRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Version" JSON..= version]+                           (Prelude.catMaybes+                              [(JSON..=) "LaunchTemplateId" Prelude.<$> launchTemplateId,+                               (JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName]))}+instance JSON.ToJSON FleetLaunchTemplateSpecificationRequestProperty where+  toJSON FleetLaunchTemplateSpecificationRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Version" JSON..= version]+              (Prelude.catMaybes+                 [(JSON..=) "LaunchTemplateId" Prelude.<$> launchTemplateId,+                  (JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName])))+instance Property "LaunchTemplateId" FleetLaunchTemplateSpecificationRequestProperty where+  type PropertyType "LaunchTemplateId" FleetLaunchTemplateSpecificationRequestProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateSpecificationRequestProperty {..}+    = FleetLaunchTemplateSpecificationRequestProperty+        {launchTemplateId = Prelude.pure newValue, ..}+instance Property "LaunchTemplateName" FleetLaunchTemplateSpecificationRequestProperty where+  type PropertyType "LaunchTemplateName" FleetLaunchTemplateSpecificationRequestProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateSpecificationRequestProperty {..}+    = FleetLaunchTemplateSpecificationRequestProperty+        {launchTemplateName = Prelude.pure newValue, ..}+instance Property "Version" FleetLaunchTemplateSpecificationRequestProperty where+  type PropertyType "Version" FleetLaunchTemplateSpecificationRequestProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateSpecificationRequestProperty {..}+    = FleetLaunchTemplateSpecificationRequestProperty+        {version = newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/FleetLaunchTemplateSpecificationRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateSpecificationRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FleetLaunchTemplateSpecificationRequestProperty :: Prelude.Type+instance ToResourceProperties FleetLaunchTemplateSpecificationRequestProperty+instance Prelude.Eq FleetLaunchTemplateSpecificationRequestProperty+instance Prelude.Show FleetLaunchTemplateSpecificationRequestProperty+instance JSON.ToJSON FleetLaunchTemplateSpecificationRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/InstanceRequirementsRequestProperty.hs view
@@ -0,0 +1,310 @@+module Stratosphere.EC2.EC2Fleet.InstanceRequirementsRequestProperty (+        module Exports, InstanceRequirementsRequestProperty(..),+        mkInstanceRequirementsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.AcceleratorCountRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.AcceleratorTotalMemoryMiBRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.BaselineEbsBandwidthMbpsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.BaselinePerformanceFactorsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.MemoryGiBPerVCpuRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.MemoryMiBRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.NetworkBandwidthGbpsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.NetworkInterfaceCountRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.TotalLocalStorageGBRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.VCpuCountRangeRequestProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceRequirementsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html>+    InstanceRequirementsRequestProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-acceleratorcount>+                                         acceleratorCount :: (Prelude.Maybe AcceleratorCountRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-acceleratormanufacturers>+                                         acceleratorManufacturers :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-acceleratornames>+                                         acceleratorNames :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-acceleratortotalmemorymib>+                                         acceleratorTotalMemoryMiB :: (Prelude.Maybe AcceleratorTotalMemoryMiBRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-acceleratortypes>+                                         acceleratorTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-allowedinstancetypes>+                                         allowedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-baremetal>+                                         bareMetal :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-baselineebsbandwidthmbps>+                                         baselineEbsBandwidthMbps :: (Prelude.Maybe BaselineEbsBandwidthMbpsRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-baselineperformancefactors>+                                         baselinePerformanceFactors :: (Prelude.Maybe BaselinePerformanceFactorsRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-burstableperformance>+                                         burstablePerformance :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-cpumanufacturers>+                                         cpuManufacturers :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-excludedinstancetypes>+                                         excludedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-instancegenerations>+                                         instanceGenerations :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-localstorage>+                                         localStorage :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-localstoragetypes>+                                         localStorageTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-maxspotpriceaspercentageofoptimalondemandprice>+                                         maxSpotPriceAsPercentageOfOptimalOnDemandPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-memorygibpervcpu>+                                         memoryGiBPerVCpu :: (Prelude.Maybe MemoryGiBPerVCpuRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-memorymib>+                                         memoryMiB :: (Prelude.Maybe MemoryMiBRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-networkbandwidthgbps>+                                         networkBandwidthGbps :: (Prelude.Maybe NetworkBandwidthGbpsRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-networkinterfacecount>+                                         networkInterfaceCount :: (Prelude.Maybe NetworkInterfaceCountRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-ondemandmaxpricepercentageoverlowestprice>+                                         onDemandMaxPricePercentageOverLowestPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-requirehibernatesupport>+                                         requireHibernateSupport :: (Prelude.Maybe (Value Prelude.Bool)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-spotmaxpricepercentageoverlowestprice>+                                         spotMaxPricePercentageOverLowestPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-totallocalstoragegb>+                                         totalLocalStorageGB :: (Prelude.Maybe TotalLocalStorageGBRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-instancerequirementsrequest.html#cfn-ec2-ec2fleet-instancerequirementsrequest-vcpucount>+                                         vCpuCount :: (Prelude.Maybe VCpuCountRangeRequestProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceRequirementsRequestProperty ::+  InstanceRequirementsRequestProperty+mkInstanceRequirementsRequestProperty+  = InstanceRequirementsRequestProperty+      {haddock_workaround_ = (), acceleratorCount = Prelude.Nothing,+       acceleratorManufacturers = Prelude.Nothing,+       acceleratorNames = Prelude.Nothing,+       acceleratorTotalMemoryMiB = Prelude.Nothing,+       acceleratorTypes = Prelude.Nothing,+       allowedInstanceTypes = Prelude.Nothing,+       bareMetal = Prelude.Nothing,+       baselineEbsBandwidthMbps = Prelude.Nothing,+       baselinePerformanceFactors = Prelude.Nothing,+       burstablePerformance = Prelude.Nothing,+       cpuManufacturers = Prelude.Nothing,+       excludedInstanceTypes = Prelude.Nothing,+       instanceGenerations = Prelude.Nothing,+       localStorage = Prelude.Nothing,+       localStorageTypes = Prelude.Nothing,+       maxSpotPriceAsPercentageOfOptimalOnDemandPrice = Prelude.Nothing,+       memoryGiBPerVCpu = Prelude.Nothing, memoryMiB = Prelude.Nothing,+       networkBandwidthGbps = Prelude.Nothing,+       networkInterfaceCount = Prelude.Nothing,+       onDemandMaxPricePercentageOverLowestPrice = Prelude.Nothing,+       requireHibernateSupport = Prelude.Nothing,+       spotMaxPricePercentageOverLowestPrice = Prelude.Nothing,+       totalLocalStorageGB = Prelude.Nothing, vCpuCount = Prelude.Nothing}+instance ToResourceProperties InstanceRequirementsRequestProperty where+  toResourceProperties InstanceRequirementsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.InstanceRequirementsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,+                            (JSON..=) "AcceleratorManufacturers"+                              Prelude.<$> acceleratorManufacturers,+                            (JSON..=) "AcceleratorNames" Prelude.<$> acceleratorNames,+                            (JSON..=) "AcceleratorTotalMemoryMiB"+                              Prelude.<$> acceleratorTotalMemoryMiB,+                            (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,+                            (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,+                            (JSON..=) "BareMetal" Prelude.<$> bareMetal,+                            (JSON..=) "BaselineEbsBandwidthMbps"+                              Prelude.<$> baselineEbsBandwidthMbps,+                            (JSON..=) "BaselinePerformanceFactors"+                              Prelude.<$> baselinePerformanceFactors,+                            (JSON..=) "BurstablePerformance" Prelude.<$> burstablePerformance,+                            (JSON..=) "CpuManufacturers" Prelude.<$> cpuManufacturers,+                            (JSON..=) "ExcludedInstanceTypes"+                              Prelude.<$> excludedInstanceTypes,+                            (JSON..=) "InstanceGenerations" Prelude.<$> instanceGenerations,+                            (JSON..=) "LocalStorage" Prelude.<$> localStorage,+                            (JSON..=) "LocalStorageTypes" Prelude.<$> localStorageTypes,+                            (JSON..=) "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"+                              Prelude.<$> maxSpotPriceAsPercentageOfOptimalOnDemandPrice,+                            (JSON..=) "MemoryGiBPerVCpu" Prelude.<$> memoryGiBPerVCpu,+                            (JSON..=) "MemoryMiB" Prelude.<$> memoryMiB,+                            (JSON..=) "NetworkBandwidthGbps" Prelude.<$> networkBandwidthGbps,+                            (JSON..=) "NetworkInterfaceCount"+                              Prelude.<$> networkInterfaceCount,+                            (JSON..=) "OnDemandMaxPricePercentageOverLowestPrice"+                              Prelude.<$> onDemandMaxPricePercentageOverLowestPrice,+                            (JSON..=) "RequireHibernateSupport"+                              Prelude.<$> requireHibernateSupport,+                            (JSON..=) "SpotMaxPricePercentageOverLowestPrice"+                              Prelude.<$> spotMaxPricePercentageOverLowestPrice,+                            (JSON..=) "TotalLocalStorageGB" Prelude.<$> totalLocalStorageGB,+                            (JSON..=) "VCpuCount" Prelude.<$> vCpuCount])}+instance JSON.ToJSON InstanceRequirementsRequestProperty where+  toJSON InstanceRequirementsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,+               (JSON..=) "AcceleratorManufacturers"+                 Prelude.<$> acceleratorManufacturers,+               (JSON..=) "AcceleratorNames" Prelude.<$> acceleratorNames,+               (JSON..=) "AcceleratorTotalMemoryMiB"+                 Prelude.<$> acceleratorTotalMemoryMiB,+               (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,+               (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,+               (JSON..=) "BareMetal" Prelude.<$> bareMetal,+               (JSON..=) "BaselineEbsBandwidthMbps"+                 Prelude.<$> baselineEbsBandwidthMbps,+               (JSON..=) "BaselinePerformanceFactors"+                 Prelude.<$> baselinePerformanceFactors,+               (JSON..=) "BurstablePerformance" Prelude.<$> burstablePerformance,+               (JSON..=) "CpuManufacturers" Prelude.<$> cpuManufacturers,+               (JSON..=) "ExcludedInstanceTypes"+                 Prelude.<$> excludedInstanceTypes,+               (JSON..=) "InstanceGenerations" Prelude.<$> instanceGenerations,+               (JSON..=) "LocalStorage" Prelude.<$> localStorage,+               (JSON..=) "LocalStorageTypes" Prelude.<$> localStorageTypes,+               (JSON..=) "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"+                 Prelude.<$> maxSpotPriceAsPercentageOfOptimalOnDemandPrice,+               (JSON..=) "MemoryGiBPerVCpu" Prelude.<$> memoryGiBPerVCpu,+               (JSON..=) "MemoryMiB" Prelude.<$> memoryMiB,+               (JSON..=) "NetworkBandwidthGbps" Prelude.<$> networkBandwidthGbps,+               (JSON..=) "NetworkInterfaceCount"+                 Prelude.<$> networkInterfaceCount,+               (JSON..=) "OnDemandMaxPricePercentageOverLowestPrice"+                 Prelude.<$> onDemandMaxPricePercentageOverLowestPrice,+               (JSON..=) "RequireHibernateSupport"+                 Prelude.<$> requireHibernateSupport,+               (JSON..=) "SpotMaxPricePercentageOverLowestPrice"+                 Prelude.<$> spotMaxPricePercentageOverLowestPrice,+               (JSON..=) "TotalLocalStorageGB" Prelude.<$> totalLocalStorageGB,+               (JSON..=) "VCpuCount" Prelude.<$> vCpuCount]))+instance Property "AcceleratorCount" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorCount" InstanceRequirementsRequestProperty = AcceleratorCountRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorCount = Prelude.pure newValue, ..}+instance Property "AcceleratorManufacturers" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorManufacturers" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorManufacturers = Prelude.pure newValue, ..}+instance Property "AcceleratorNames" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorNames" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorNames = Prelude.pure newValue, ..}+instance Property "AcceleratorTotalMemoryMiB" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorTotalMemoryMiB" InstanceRequirementsRequestProperty = AcceleratorTotalMemoryMiBRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorTotalMemoryMiB = Prelude.pure newValue, ..}+instance Property "AcceleratorTypes" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorTypes" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorTypes = Prelude.pure newValue, ..}+instance Property "AllowedInstanceTypes" InstanceRequirementsRequestProperty where+  type PropertyType "AllowedInstanceTypes" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {allowedInstanceTypes = Prelude.pure newValue, ..}+instance Property "BareMetal" InstanceRequirementsRequestProperty where+  type PropertyType "BareMetal" InstanceRequirementsRequestProperty = Value Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {bareMetal = Prelude.pure newValue, ..}+instance Property "BaselineEbsBandwidthMbps" InstanceRequirementsRequestProperty where+  type PropertyType "BaselineEbsBandwidthMbps" InstanceRequirementsRequestProperty = BaselineEbsBandwidthMbpsRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {baselineEbsBandwidthMbps = Prelude.pure newValue, ..}+instance Property "BaselinePerformanceFactors" InstanceRequirementsRequestProperty where+  type PropertyType "BaselinePerformanceFactors" InstanceRequirementsRequestProperty = BaselinePerformanceFactorsRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {baselinePerformanceFactors = Prelude.pure newValue, ..}+instance Property "BurstablePerformance" InstanceRequirementsRequestProperty where+  type PropertyType "BurstablePerformance" InstanceRequirementsRequestProperty = Value Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {burstablePerformance = Prelude.pure newValue, ..}+instance Property "CpuManufacturers" InstanceRequirementsRequestProperty where+  type PropertyType "CpuManufacturers" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {cpuManufacturers = Prelude.pure newValue, ..}+instance Property "ExcludedInstanceTypes" InstanceRequirementsRequestProperty where+  type PropertyType "ExcludedInstanceTypes" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {excludedInstanceTypes = Prelude.pure newValue, ..}+instance Property "InstanceGenerations" InstanceRequirementsRequestProperty where+  type PropertyType "InstanceGenerations" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {instanceGenerations = Prelude.pure newValue, ..}+instance Property "LocalStorage" InstanceRequirementsRequestProperty where+  type PropertyType "LocalStorage" InstanceRequirementsRequestProperty = Value Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {localStorage = Prelude.pure newValue, ..}+instance Property "LocalStorageTypes" InstanceRequirementsRequestProperty where+  type PropertyType "LocalStorageTypes" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {localStorageTypes = Prelude.pure newValue, ..}+instance Property "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" InstanceRequirementsRequestProperty where+  type PropertyType "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" InstanceRequirementsRequestProperty = Value Prelude.Integer+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {maxSpotPriceAsPercentageOfOptimalOnDemandPrice = Prelude.pure+                                                            newValue,+         ..}+instance Property "MemoryGiBPerVCpu" InstanceRequirementsRequestProperty where+  type PropertyType "MemoryGiBPerVCpu" InstanceRequirementsRequestProperty = MemoryGiBPerVCpuRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {memoryGiBPerVCpu = Prelude.pure newValue, ..}+instance Property "MemoryMiB" InstanceRequirementsRequestProperty where+  type PropertyType "MemoryMiB" InstanceRequirementsRequestProperty = MemoryMiBRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {memoryMiB = Prelude.pure newValue, ..}+instance Property "NetworkBandwidthGbps" InstanceRequirementsRequestProperty where+  type PropertyType "NetworkBandwidthGbps" InstanceRequirementsRequestProperty = NetworkBandwidthGbpsRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {networkBandwidthGbps = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceCount" InstanceRequirementsRequestProperty where+  type PropertyType "NetworkInterfaceCount" InstanceRequirementsRequestProperty = NetworkInterfaceCountRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {networkInterfaceCount = Prelude.pure newValue, ..}+instance Property "OnDemandMaxPricePercentageOverLowestPrice" InstanceRequirementsRequestProperty where+  type PropertyType "OnDemandMaxPricePercentageOverLowestPrice" InstanceRequirementsRequestProperty = Value Prelude.Integer+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {onDemandMaxPricePercentageOverLowestPrice = Prelude.pure newValue,+         ..}+instance Property "RequireHibernateSupport" InstanceRequirementsRequestProperty where+  type PropertyType "RequireHibernateSupport" InstanceRequirementsRequestProperty = Value Prelude.Bool+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {requireHibernateSupport = Prelude.pure newValue, ..}+instance Property "SpotMaxPricePercentageOverLowestPrice" InstanceRequirementsRequestProperty where+  type PropertyType "SpotMaxPricePercentageOverLowestPrice" InstanceRequirementsRequestProperty = Value Prelude.Integer+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {spotMaxPricePercentageOverLowestPrice = Prelude.pure newValue, ..}+instance Property "TotalLocalStorageGB" InstanceRequirementsRequestProperty where+  type PropertyType "TotalLocalStorageGB" InstanceRequirementsRequestProperty = TotalLocalStorageGBRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {totalLocalStorageGB = Prelude.pure newValue, ..}+instance Property "VCpuCount" InstanceRequirementsRequestProperty where+  type PropertyType "VCpuCount" InstanceRequirementsRequestProperty = VCpuCountRangeRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {vCpuCount = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/InstanceRequirementsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.InstanceRequirementsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceRequirementsRequestProperty :: Prelude.Type+instance ToResourceProperties InstanceRequirementsRequestProperty+instance Prelude.Eq InstanceRequirementsRequestProperty+instance Prelude.Show InstanceRequirementsRequestProperty+instance JSON.ToJSON InstanceRequirementsRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/MaintenanceStrategiesProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.EC2.EC2Fleet.MaintenanceStrategiesProperty (+        module Exports, MaintenanceStrategiesProperty(..),+        mkMaintenanceStrategiesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.CapacityRebalanceProperty as Exports+import Stratosphere.ResourceProperties+data MaintenanceStrategiesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-maintenancestrategies.html>+    MaintenanceStrategiesProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-maintenancestrategies.html#cfn-ec2-ec2fleet-maintenancestrategies-capacityrebalance>+                                   capacityRebalance :: (Prelude.Maybe CapacityRebalanceProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMaintenanceStrategiesProperty :: MaintenanceStrategiesProperty+mkMaintenanceStrategiesProperty+  = MaintenanceStrategiesProperty+      {haddock_workaround_ = (), capacityRebalance = Prelude.Nothing}+instance ToResourceProperties MaintenanceStrategiesProperty where+  toResourceProperties MaintenanceStrategiesProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.MaintenanceStrategies",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CapacityRebalance" Prelude.<$> capacityRebalance])}+instance JSON.ToJSON MaintenanceStrategiesProperty where+  toJSON MaintenanceStrategiesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CapacityRebalance" Prelude.<$> capacityRebalance]))+instance Property "CapacityRebalance" MaintenanceStrategiesProperty where+  type PropertyType "CapacityRebalance" MaintenanceStrategiesProperty = CapacityRebalanceProperty+  set newValue MaintenanceStrategiesProperty {..}+    = MaintenanceStrategiesProperty+        {capacityRebalance = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/MaintenanceStrategiesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.MaintenanceStrategiesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MaintenanceStrategiesProperty :: Prelude.Type+instance ToResourceProperties MaintenanceStrategiesProperty+instance Prelude.Eq MaintenanceStrategiesProperty+instance Prelude.Show MaintenanceStrategiesProperty+instance JSON.ToJSON MaintenanceStrategiesProperty
+ gen/Stratosphere/EC2/EC2Fleet/MemoryGiBPerVCpuRequestProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.EC2Fleet.MemoryGiBPerVCpuRequestProperty (+        MemoryGiBPerVCpuRequestProperty(..),+        mkMemoryGiBPerVCpuRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MemoryGiBPerVCpuRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-memorygibpervcpurequest.html>+    MemoryGiBPerVCpuRequestProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-memorygibpervcpurequest.html#cfn-ec2-ec2fleet-memorygibpervcpurequest-max>+                                     max :: (Prelude.Maybe (Value Prelude.Double)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-memorygibpervcpurequest.html#cfn-ec2-ec2fleet-memorygibpervcpurequest-min>+                                     min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMemoryGiBPerVCpuRequestProperty ::+  MemoryGiBPerVCpuRequestProperty+mkMemoryGiBPerVCpuRequestProperty+  = MemoryGiBPerVCpuRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties MemoryGiBPerVCpuRequestProperty where+  toResourceProperties MemoryGiBPerVCpuRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.MemoryGiBPerVCpuRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON MemoryGiBPerVCpuRequestProperty where+  toJSON MemoryGiBPerVCpuRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" MemoryGiBPerVCpuRequestProperty where+  type PropertyType "Max" MemoryGiBPerVCpuRequestProperty = Value Prelude.Double+  set newValue MemoryGiBPerVCpuRequestProperty {..}+    = MemoryGiBPerVCpuRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" MemoryGiBPerVCpuRequestProperty where+  type PropertyType "Min" MemoryGiBPerVCpuRequestProperty = Value Prelude.Double+  set newValue MemoryGiBPerVCpuRequestProperty {..}+    = MemoryGiBPerVCpuRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/MemoryGiBPerVCpuRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.MemoryGiBPerVCpuRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MemoryGiBPerVCpuRequestProperty :: Prelude.Type+instance ToResourceProperties MemoryGiBPerVCpuRequestProperty+instance Prelude.Eq MemoryGiBPerVCpuRequestProperty+instance Prelude.Show MemoryGiBPerVCpuRequestProperty+instance JSON.ToJSON MemoryGiBPerVCpuRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/MemoryMiBRequestProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.EC2Fleet.MemoryMiBRequestProperty (+        MemoryMiBRequestProperty(..), mkMemoryMiBRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MemoryMiBRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-memorymibrequest.html>+    MemoryMiBRequestProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-memorymibrequest.html#cfn-ec2-ec2fleet-memorymibrequest-max>+                              max :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-memorymibrequest.html#cfn-ec2-ec2fleet-memorymibrequest-min>+                              min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMemoryMiBRequestProperty :: MemoryMiBRequestProperty+mkMemoryMiBRequestProperty+  = MemoryMiBRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties MemoryMiBRequestProperty where+  toResourceProperties MemoryMiBRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.MemoryMiBRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON MemoryMiBRequestProperty where+  toJSON MemoryMiBRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" MemoryMiBRequestProperty where+  type PropertyType "Max" MemoryMiBRequestProperty = Value Prelude.Integer+  set newValue MemoryMiBRequestProperty {..}+    = MemoryMiBRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" MemoryMiBRequestProperty where+  type PropertyType "Min" MemoryMiBRequestProperty = Value Prelude.Integer+  set newValue MemoryMiBRequestProperty {..}+    = MemoryMiBRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/MemoryMiBRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.MemoryMiBRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MemoryMiBRequestProperty :: Prelude.Type+instance ToResourceProperties MemoryMiBRequestProperty+instance Prelude.Eq MemoryMiBRequestProperty+instance Prelude.Show MemoryMiBRequestProperty+instance JSON.ToJSON MemoryMiBRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/NetworkBandwidthGbpsRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.EC2Fleet.NetworkBandwidthGbpsRequestProperty (+        NetworkBandwidthGbpsRequestProperty(..),+        mkNetworkBandwidthGbpsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkBandwidthGbpsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-networkbandwidthgbpsrequest.html>+    NetworkBandwidthGbpsRequestProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-networkbandwidthgbpsrequest.html#cfn-ec2-ec2fleet-networkbandwidthgbpsrequest-max>+                                         max :: (Prelude.Maybe (Value Prelude.Double)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-networkbandwidthgbpsrequest.html#cfn-ec2-ec2fleet-networkbandwidthgbpsrequest-min>+                                         min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkBandwidthGbpsRequestProperty ::+  NetworkBandwidthGbpsRequestProperty+mkNetworkBandwidthGbpsRequestProperty+  = NetworkBandwidthGbpsRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties NetworkBandwidthGbpsRequestProperty where+  toResourceProperties NetworkBandwidthGbpsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.NetworkBandwidthGbpsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON NetworkBandwidthGbpsRequestProperty where+  toJSON NetworkBandwidthGbpsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" NetworkBandwidthGbpsRequestProperty where+  type PropertyType "Max" NetworkBandwidthGbpsRequestProperty = Value Prelude.Double+  set newValue NetworkBandwidthGbpsRequestProperty {..}+    = NetworkBandwidthGbpsRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" NetworkBandwidthGbpsRequestProperty where+  type PropertyType "Min" NetworkBandwidthGbpsRequestProperty = Value Prelude.Double+  set newValue NetworkBandwidthGbpsRequestProperty {..}+    = NetworkBandwidthGbpsRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/NetworkBandwidthGbpsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.NetworkBandwidthGbpsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkBandwidthGbpsRequestProperty :: Prelude.Type+instance ToResourceProperties NetworkBandwidthGbpsRequestProperty+instance Prelude.Eq NetworkBandwidthGbpsRequestProperty+instance Prelude.Show NetworkBandwidthGbpsRequestProperty+instance JSON.ToJSON NetworkBandwidthGbpsRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/NetworkInterfaceCountRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.EC2Fleet.NetworkInterfaceCountRequestProperty (+        NetworkInterfaceCountRequestProperty(..),+        mkNetworkInterfaceCountRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkInterfaceCountRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-networkinterfacecountrequest.html>+    NetworkInterfaceCountRequestProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-networkinterfacecountrequest.html#cfn-ec2-ec2fleet-networkinterfacecountrequest-max>+                                          max :: (Prelude.Maybe (Value Prelude.Integer)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-networkinterfacecountrequest.html#cfn-ec2-ec2fleet-networkinterfacecountrequest-min>+                                          min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterfaceCountRequestProperty ::+  NetworkInterfaceCountRequestProperty+mkNetworkInterfaceCountRequestProperty+  = NetworkInterfaceCountRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties NetworkInterfaceCountRequestProperty where+  toResourceProperties NetworkInterfaceCountRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.NetworkInterfaceCountRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON NetworkInterfaceCountRequestProperty where+  toJSON NetworkInterfaceCountRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" NetworkInterfaceCountRequestProperty where+  type PropertyType "Max" NetworkInterfaceCountRequestProperty = Value Prelude.Integer+  set newValue NetworkInterfaceCountRequestProperty {..}+    = NetworkInterfaceCountRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" NetworkInterfaceCountRequestProperty where+  type PropertyType "Min" NetworkInterfaceCountRequestProperty = Value Prelude.Integer+  set newValue NetworkInterfaceCountRequestProperty {..}+    = NetworkInterfaceCountRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/NetworkInterfaceCountRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.NetworkInterfaceCountRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkInterfaceCountRequestProperty :: Prelude.Type+instance ToResourceProperties NetworkInterfaceCountRequestProperty+instance Prelude.Eq NetworkInterfaceCountRequestProperty+instance Prelude.Show NetworkInterfaceCountRequestProperty+instance JSON.ToJSON NetworkInterfaceCountRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/OnDemandOptionsRequestProperty.hs view
@@ -0,0 +1,93 @@+module Stratosphere.EC2.EC2Fleet.OnDemandOptionsRequestProperty (+        module Exports, OnDemandOptionsRequestProperty(..),+        mkOnDemandOptionsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.CapacityReservationOptionsRequestProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OnDemandOptionsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html>+    OnDemandOptionsRequestProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-allocationstrategy>+                                    allocationStrategy :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-capacityreservationoptions>+                                    capacityReservationOptions :: (Prelude.Maybe CapacityReservationOptionsRequestProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-maxtotalprice>+                                    maxTotalPrice :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-mintargetcapacity>+                                    minTargetCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-singleavailabilityzone>+                                    singleAvailabilityZone :: (Prelude.Maybe (Value Prelude.Bool)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-ondemandoptionsrequest.html#cfn-ec2-ec2fleet-ondemandoptionsrequest-singleinstancetype>+                                    singleInstanceType :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOnDemandOptionsRequestProperty :: OnDemandOptionsRequestProperty+mkOnDemandOptionsRequestProperty+  = OnDemandOptionsRequestProperty+      {haddock_workaround_ = (), allocationStrategy = Prelude.Nothing,+       capacityReservationOptions = Prelude.Nothing,+       maxTotalPrice = Prelude.Nothing,+       minTargetCapacity = Prelude.Nothing,+       singleAvailabilityZone = Prelude.Nothing,+       singleInstanceType = Prelude.Nothing}+instance ToResourceProperties OnDemandOptionsRequestProperty where+  toResourceProperties OnDemandOptionsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.OnDemandOptionsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AllocationStrategy" Prelude.<$> allocationStrategy,+                            (JSON..=) "CapacityReservationOptions"+                              Prelude.<$> capacityReservationOptions,+                            (JSON..=) "MaxTotalPrice" Prelude.<$> maxTotalPrice,+                            (JSON..=) "MinTargetCapacity" Prelude.<$> minTargetCapacity,+                            (JSON..=) "SingleAvailabilityZone"+                              Prelude.<$> singleAvailabilityZone,+                            (JSON..=) "SingleInstanceType" Prelude.<$> singleInstanceType])}+instance JSON.ToJSON OnDemandOptionsRequestProperty where+  toJSON OnDemandOptionsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AllocationStrategy" Prelude.<$> allocationStrategy,+               (JSON..=) "CapacityReservationOptions"+                 Prelude.<$> capacityReservationOptions,+               (JSON..=) "MaxTotalPrice" Prelude.<$> maxTotalPrice,+               (JSON..=) "MinTargetCapacity" Prelude.<$> minTargetCapacity,+               (JSON..=) "SingleAvailabilityZone"+                 Prelude.<$> singleAvailabilityZone,+               (JSON..=) "SingleInstanceType" Prelude.<$> singleInstanceType]))+instance Property "AllocationStrategy" OnDemandOptionsRequestProperty where+  type PropertyType "AllocationStrategy" OnDemandOptionsRequestProperty = Value Prelude.Text+  set newValue OnDemandOptionsRequestProperty {..}+    = OnDemandOptionsRequestProperty+        {allocationStrategy = Prelude.pure newValue, ..}+instance Property "CapacityReservationOptions" OnDemandOptionsRequestProperty where+  type PropertyType "CapacityReservationOptions" OnDemandOptionsRequestProperty = CapacityReservationOptionsRequestProperty+  set newValue OnDemandOptionsRequestProperty {..}+    = OnDemandOptionsRequestProperty+        {capacityReservationOptions = Prelude.pure newValue, ..}+instance Property "MaxTotalPrice" OnDemandOptionsRequestProperty where+  type PropertyType "MaxTotalPrice" OnDemandOptionsRequestProperty = Value Prelude.Text+  set newValue OnDemandOptionsRequestProperty {..}+    = OnDemandOptionsRequestProperty+        {maxTotalPrice = Prelude.pure newValue, ..}+instance Property "MinTargetCapacity" OnDemandOptionsRequestProperty where+  type PropertyType "MinTargetCapacity" OnDemandOptionsRequestProperty = Value Prelude.Integer+  set newValue OnDemandOptionsRequestProperty {..}+    = OnDemandOptionsRequestProperty+        {minTargetCapacity = Prelude.pure newValue, ..}+instance Property "SingleAvailabilityZone" OnDemandOptionsRequestProperty where+  type PropertyType "SingleAvailabilityZone" OnDemandOptionsRequestProperty = Value Prelude.Bool+  set newValue OnDemandOptionsRequestProperty {..}+    = OnDemandOptionsRequestProperty+        {singleAvailabilityZone = Prelude.pure newValue, ..}+instance Property "SingleInstanceType" OnDemandOptionsRequestProperty where+  type PropertyType "SingleInstanceType" OnDemandOptionsRequestProperty = Value Prelude.Bool+  set newValue OnDemandOptionsRequestProperty {..}+    = OnDemandOptionsRequestProperty+        {singleInstanceType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/OnDemandOptionsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.OnDemandOptionsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OnDemandOptionsRequestProperty :: Prelude.Type+instance ToResourceProperties OnDemandOptionsRequestProperty+instance Prelude.Eq OnDemandOptionsRequestProperty+instance Prelude.Show OnDemandOptionsRequestProperty+instance JSON.ToJSON OnDemandOptionsRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/PerformanceFactorReferenceRequestProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.EC2Fleet.PerformanceFactorReferenceRequestProperty (+        PerformanceFactorReferenceRequestProperty(..),+        mkPerformanceFactorReferenceRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PerformanceFactorReferenceRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-performancefactorreferencerequest.html>+    PerformanceFactorReferenceRequestProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-performancefactorreferencerequest.html#cfn-ec2-ec2fleet-performancefactorreferencerequest-instancefamily>+                                               instanceFamily :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPerformanceFactorReferenceRequestProperty ::+  PerformanceFactorReferenceRequestProperty+mkPerformanceFactorReferenceRequestProperty+  = PerformanceFactorReferenceRequestProperty+      {haddock_workaround_ = (), instanceFamily = Prelude.Nothing}+instance ToResourceProperties PerformanceFactorReferenceRequestProperty where+  toResourceProperties PerformanceFactorReferenceRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.PerformanceFactorReferenceRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "InstanceFamily" Prelude.<$> instanceFamily])}+instance JSON.ToJSON PerformanceFactorReferenceRequestProperty where+  toJSON PerformanceFactorReferenceRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "InstanceFamily" Prelude.<$> instanceFamily]))+instance Property "InstanceFamily" PerformanceFactorReferenceRequestProperty where+  type PropertyType "InstanceFamily" PerformanceFactorReferenceRequestProperty = Value Prelude.Text+  set newValue PerformanceFactorReferenceRequestProperty {..}+    = PerformanceFactorReferenceRequestProperty+        {instanceFamily = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/PerformanceFactorReferenceRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.PerformanceFactorReferenceRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PerformanceFactorReferenceRequestProperty :: Prelude.Type+instance ToResourceProperties PerformanceFactorReferenceRequestProperty+instance Prelude.Eq PerformanceFactorReferenceRequestProperty+instance Prelude.Show PerformanceFactorReferenceRequestProperty+instance JSON.ToJSON PerformanceFactorReferenceRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/PlacementProperty.hs view
@@ -0,0 +1,97 @@+module Stratosphere.EC2.EC2Fleet.PlacementProperty (+        PlacementProperty(..), mkPlacementProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PlacementProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html>+    PlacementProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-affinity>+                       affinity :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-availabilityzone>+                       availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-groupname>+                       groupName :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-hostid>+                       hostId :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-hostresourcegrouparn>+                       hostResourceGroupArn :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-partitionnumber>+                       partitionNumber :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-spreaddomain>+                       spreadDomain :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-placement.html#cfn-ec2-ec2fleet-placement-tenancy>+                       tenancy :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPlacementProperty :: PlacementProperty+mkPlacementProperty+  = PlacementProperty+      {haddock_workaround_ = (), affinity = Prelude.Nothing,+       availabilityZone = Prelude.Nothing, groupName = Prelude.Nothing,+       hostId = Prelude.Nothing, hostResourceGroupArn = Prelude.Nothing,+       partitionNumber = Prelude.Nothing, spreadDomain = Prelude.Nothing,+       tenancy = Prelude.Nothing}+instance ToResourceProperties PlacementProperty where+  toResourceProperties PlacementProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.Placement",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Affinity" Prelude.<$> affinity,+                            (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                            (JSON..=) "GroupName" Prelude.<$> groupName,+                            (JSON..=) "HostId" Prelude.<$> hostId,+                            (JSON..=) "HostResourceGroupArn" Prelude.<$> hostResourceGroupArn,+                            (JSON..=) "PartitionNumber" Prelude.<$> partitionNumber,+                            (JSON..=) "SpreadDomain" Prelude.<$> spreadDomain,+                            (JSON..=) "Tenancy" Prelude.<$> tenancy])}+instance JSON.ToJSON PlacementProperty where+  toJSON PlacementProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Affinity" Prelude.<$> affinity,+               (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+               (JSON..=) "GroupName" Prelude.<$> groupName,+               (JSON..=) "HostId" Prelude.<$> hostId,+               (JSON..=) "HostResourceGroupArn" Prelude.<$> hostResourceGroupArn,+               (JSON..=) "PartitionNumber" Prelude.<$> partitionNumber,+               (JSON..=) "SpreadDomain" Prelude.<$> spreadDomain,+               (JSON..=) "Tenancy" Prelude.<$> tenancy]))+instance Property "Affinity" PlacementProperty where+  type PropertyType "Affinity" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {affinity = Prelude.pure newValue, ..}+instance Property "AvailabilityZone" PlacementProperty where+  type PropertyType "AvailabilityZone" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {availabilityZone = Prelude.pure newValue, ..}+instance Property "GroupName" PlacementProperty where+  type PropertyType "GroupName" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {groupName = Prelude.pure newValue, ..}+instance Property "HostId" PlacementProperty where+  type PropertyType "HostId" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {hostId = Prelude.pure newValue, ..}+instance Property "HostResourceGroupArn" PlacementProperty where+  type PropertyType "HostResourceGroupArn" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty+        {hostResourceGroupArn = Prelude.pure newValue, ..}+instance Property "PartitionNumber" PlacementProperty where+  type PropertyType "PartitionNumber" PlacementProperty = Value Prelude.Integer+  set newValue PlacementProperty {..}+    = PlacementProperty {partitionNumber = Prelude.pure newValue, ..}+instance Property "SpreadDomain" PlacementProperty where+  type PropertyType "SpreadDomain" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {spreadDomain = Prelude.pure newValue, ..}+instance Property "Tenancy" PlacementProperty where+  type PropertyType "Tenancy" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {tenancy = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/PlacementProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.PlacementProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PlacementProperty :: Prelude.Type+instance ToResourceProperties PlacementProperty+instance Prelude.Eq PlacementProperty+instance Prelude.Show PlacementProperty+instance JSON.ToJSON PlacementProperty
+ gen/Stratosphere/EC2/EC2Fleet/SpotOptionsRequestProperty.hs view
@@ -0,0 +1,117 @@+module Stratosphere.EC2.EC2Fleet.SpotOptionsRequestProperty (+        module Exports, SpotOptionsRequestProperty(..),+        mkSpotOptionsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.EC2Fleet.MaintenanceStrategiesProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SpotOptionsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html>+    SpotOptionsRequestProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-allocationstrategy>+                                allocationStrategy :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instanceinterruptionbehavior>+                                instanceInterruptionBehavior :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-instancepoolstousecount>+                                instancePoolsToUseCount :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-maintenancestrategies>+                                maintenanceStrategies :: (Prelude.Maybe MaintenanceStrategiesProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-maxtotalprice>+                                maxTotalPrice :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-mintargetcapacity>+                                minTargetCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-singleavailabilityzone>+                                singleAvailabilityZone :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-spotoptionsrequest.html#cfn-ec2-ec2fleet-spotoptionsrequest-singleinstancetype>+                                singleInstanceType :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotOptionsRequestProperty :: SpotOptionsRequestProperty+mkSpotOptionsRequestProperty+  = SpotOptionsRequestProperty+      {haddock_workaround_ = (), allocationStrategy = Prelude.Nothing,+       instanceInterruptionBehavior = Prelude.Nothing,+       instancePoolsToUseCount = Prelude.Nothing,+       maintenanceStrategies = Prelude.Nothing,+       maxTotalPrice = Prelude.Nothing,+       minTargetCapacity = Prelude.Nothing,+       singleAvailabilityZone = Prelude.Nothing,+       singleInstanceType = Prelude.Nothing}+instance ToResourceProperties SpotOptionsRequestProperty where+  toResourceProperties SpotOptionsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.SpotOptionsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AllocationStrategy" Prelude.<$> allocationStrategy,+                            (JSON..=) "InstanceInterruptionBehavior"+                              Prelude.<$> instanceInterruptionBehavior,+                            (JSON..=) "InstancePoolsToUseCount"+                              Prelude.<$> instancePoolsToUseCount,+                            (JSON..=) "MaintenanceStrategies"+                              Prelude.<$> maintenanceStrategies,+                            (JSON..=) "MaxTotalPrice" Prelude.<$> maxTotalPrice,+                            (JSON..=) "MinTargetCapacity" Prelude.<$> minTargetCapacity,+                            (JSON..=) "SingleAvailabilityZone"+                              Prelude.<$> singleAvailabilityZone,+                            (JSON..=) "SingleInstanceType" Prelude.<$> singleInstanceType])}+instance JSON.ToJSON SpotOptionsRequestProperty where+  toJSON SpotOptionsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AllocationStrategy" Prelude.<$> allocationStrategy,+               (JSON..=) "InstanceInterruptionBehavior"+                 Prelude.<$> instanceInterruptionBehavior,+               (JSON..=) "InstancePoolsToUseCount"+                 Prelude.<$> instancePoolsToUseCount,+               (JSON..=) "MaintenanceStrategies"+                 Prelude.<$> maintenanceStrategies,+               (JSON..=) "MaxTotalPrice" Prelude.<$> maxTotalPrice,+               (JSON..=) "MinTargetCapacity" Prelude.<$> minTargetCapacity,+               (JSON..=) "SingleAvailabilityZone"+                 Prelude.<$> singleAvailabilityZone,+               (JSON..=) "SingleInstanceType" Prelude.<$> singleInstanceType]))+instance Property "AllocationStrategy" SpotOptionsRequestProperty where+  type PropertyType "AllocationStrategy" SpotOptionsRequestProperty = Value Prelude.Text+  set newValue SpotOptionsRequestProperty {..}+    = SpotOptionsRequestProperty+        {allocationStrategy = Prelude.pure newValue, ..}+instance Property "InstanceInterruptionBehavior" SpotOptionsRequestProperty where+  type PropertyType "InstanceInterruptionBehavior" SpotOptionsRequestProperty = Value Prelude.Text+  set newValue SpotOptionsRequestProperty {..}+    = SpotOptionsRequestProperty+        {instanceInterruptionBehavior = Prelude.pure newValue, ..}+instance Property "InstancePoolsToUseCount" SpotOptionsRequestProperty where+  type PropertyType "InstancePoolsToUseCount" SpotOptionsRequestProperty = Value Prelude.Integer+  set newValue SpotOptionsRequestProperty {..}+    = SpotOptionsRequestProperty+        {instancePoolsToUseCount = Prelude.pure newValue, ..}+instance Property "MaintenanceStrategies" SpotOptionsRequestProperty where+  type PropertyType "MaintenanceStrategies" SpotOptionsRequestProperty = MaintenanceStrategiesProperty+  set newValue SpotOptionsRequestProperty {..}+    = SpotOptionsRequestProperty+        {maintenanceStrategies = Prelude.pure newValue, ..}+instance Property "MaxTotalPrice" SpotOptionsRequestProperty where+  type PropertyType "MaxTotalPrice" SpotOptionsRequestProperty = Value Prelude.Text+  set newValue SpotOptionsRequestProperty {..}+    = SpotOptionsRequestProperty+        {maxTotalPrice = Prelude.pure newValue, ..}+instance Property "MinTargetCapacity" SpotOptionsRequestProperty where+  type PropertyType "MinTargetCapacity" SpotOptionsRequestProperty = Value Prelude.Integer+  set newValue SpotOptionsRequestProperty {..}+    = SpotOptionsRequestProperty+        {minTargetCapacity = Prelude.pure newValue, ..}+instance Property "SingleAvailabilityZone" SpotOptionsRequestProperty where+  type PropertyType "SingleAvailabilityZone" SpotOptionsRequestProperty = Value Prelude.Bool+  set newValue SpotOptionsRequestProperty {..}+    = SpotOptionsRequestProperty+        {singleAvailabilityZone = Prelude.pure newValue, ..}+instance Property "SingleInstanceType" SpotOptionsRequestProperty where+  type PropertyType "SingleInstanceType" SpotOptionsRequestProperty = Value Prelude.Bool+  set newValue SpotOptionsRequestProperty {..}+    = SpotOptionsRequestProperty+        {singleInstanceType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/SpotOptionsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.SpotOptionsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpotOptionsRequestProperty :: Prelude.Type+instance ToResourceProperties SpotOptionsRequestProperty+instance Prelude.Eq SpotOptionsRequestProperty+instance Prelude.Show SpotOptionsRequestProperty+instance JSON.ToJSON SpotOptionsRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/TagSpecificationProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.EC2Fleet.TagSpecificationProperty (+        TagSpecificationProperty(..), mkTagSpecificationProperty+    ) 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 TagSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html>+    TagSpecificationProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-resourcetype>+                              resourceType :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-tagspecification.html#cfn-ec2-ec2fleet-tagspecification-tags>+                              tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTagSpecificationProperty :: TagSpecificationProperty+mkTagSpecificationProperty+  = TagSpecificationProperty+      {haddock_workaround_ = (), resourceType = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties TagSpecificationProperty where+  toResourceProperties TagSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.TagSpecification",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ResourceType" Prelude.<$> resourceType,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON TagSpecificationProperty where+  toJSON TagSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ResourceType" Prelude.<$> resourceType,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "ResourceType" TagSpecificationProperty where+  type PropertyType "ResourceType" TagSpecificationProperty = Value Prelude.Text+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty+        {resourceType = Prelude.pure newValue, ..}+instance Property "Tags" TagSpecificationProperty where+  type PropertyType "Tags" TagSpecificationProperty = [Tag]+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/TagSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.TagSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TagSpecificationProperty :: Prelude.Type+instance ToResourceProperties TagSpecificationProperty+instance Prelude.Eq TagSpecificationProperty+instance Prelude.Show TagSpecificationProperty+instance JSON.ToJSON TagSpecificationProperty
+ gen/Stratosphere/EC2/EC2Fleet/TargetCapacitySpecificationRequestProperty.hs view
@@ -0,0 +1,89 @@+module Stratosphere.EC2.EC2Fleet.TargetCapacitySpecificationRequestProperty (+        TargetCapacitySpecificationRequestProperty(..),+        mkTargetCapacitySpecificationRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetCapacitySpecificationRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html>+    TargetCapacitySpecificationRequestProperty {haddock_workaround_ :: (),+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-defaulttargetcapacitytype>+                                                defaultTargetCapacityType :: (Prelude.Maybe (Value Prelude.Text)),+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-ondemandtargetcapacity>+                                                onDemandTargetCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-spottargetcapacity>+                                                spotTargetCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-targetcapacityunittype>+                                                targetCapacityUnitType :: (Prelude.Maybe (Value Prelude.Text)),+                                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-targetcapacityspecificationrequest.html#cfn-ec2-ec2fleet-targetcapacityspecificationrequest-totaltargetcapacity>+                                                totalTargetCapacity :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetCapacitySpecificationRequestProperty ::+  Value Prelude.Integer -> TargetCapacitySpecificationRequestProperty+mkTargetCapacitySpecificationRequestProperty totalTargetCapacity+  = TargetCapacitySpecificationRequestProperty+      {haddock_workaround_ = (),+       totalTargetCapacity = totalTargetCapacity,+       defaultTargetCapacityType = Prelude.Nothing,+       onDemandTargetCapacity = Prelude.Nothing,+       spotTargetCapacity = Prelude.Nothing,+       targetCapacityUnitType = Prelude.Nothing}+instance ToResourceProperties TargetCapacitySpecificationRequestProperty where+  toResourceProperties+    TargetCapacitySpecificationRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.TargetCapacitySpecificationRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TotalTargetCapacity" JSON..= totalTargetCapacity]+                           (Prelude.catMaybes+                              [(JSON..=) "DefaultTargetCapacityType"+                                 Prelude.<$> defaultTargetCapacityType,+                               (JSON..=) "OnDemandTargetCapacity"+                                 Prelude.<$> onDemandTargetCapacity,+                               (JSON..=) "SpotTargetCapacity" Prelude.<$> spotTargetCapacity,+                               (JSON..=) "TargetCapacityUnitType"+                                 Prelude.<$> targetCapacityUnitType]))}+instance JSON.ToJSON TargetCapacitySpecificationRequestProperty where+  toJSON TargetCapacitySpecificationRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TotalTargetCapacity" JSON..= totalTargetCapacity]+              (Prelude.catMaybes+                 [(JSON..=) "DefaultTargetCapacityType"+                    Prelude.<$> defaultTargetCapacityType,+                  (JSON..=) "OnDemandTargetCapacity"+                    Prelude.<$> onDemandTargetCapacity,+                  (JSON..=) "SpotTargetCapacity" Prelude.<$> spotTargetCapacity,+                  (JSON..=) "TargetCapacityUnitType"+                    Prelude.<$> targetCapacityUnitType])))+instance Property "DefaultTargetCapacityType" TargetCapacitySpecificationRequestProperty where+  type PropertyType "DefaultTargetCapacityType" TargetCapacitySpecificationRequestProperty = Value Prelude.Text+  set newValue TargetCapacitySpecificationRequestProperty {..}+    = TargetCapacitySpecificationRequestProperty+        {defaultTargetCapacityType = Prelude.pure newValue, ..}+instance Property "OnDemandTargetCapacity" TargetCapacitySpecificationRequestProperty where+  type PropertyType "OnDemandTargetCapacity" TargetCapacitySpecificationRequestProperty = Value Prelude.Integer+  set newValue TargetCapacitySpecificationRequestProperty {..}+    = TargetCapacitySpecificationRequestProperty+        {onDemandTargetCapacity = Prelude.pure newValue, ..}+instance Property "SpotTargetCapacity" TargetCapacitySpecificationRequestProperty where+  type PropertyType "SpotTargetCapacity" TargetCapacitySpecificationRequestProperty = Value Prelude.Integer+  set newValue TargetCapacitySpecificationRequestProperty {..}+    = TargetCapacitySpecificationRequestProperty+        {spotTargetCapacity = Prelude.pure newValue, ..}+instance Property "TargetCapacityUnitType" TargetCapacitySpecificationRequestProperty where+  type PropertyType "TargetCapacityUnitType" TargetCapacitySpecificationRequestProperty = Value Prelude.Text+  set newValue TargetCapacitySpecificationRequestProperty {..}+    = TargetCapacitySpecificationRequestProperty+        {targetCapacityUnitType = Prelude.pure newValue, ..}+instance Property "TotalTargetCapacity" TargetCapacitySpecificationRequestProperty where+  type PropertyType "TotalTargetCapacity" TargetCapacitySpecificationRequestProperty = Value Prelude.Integer+  set newValue TargetCapacitySpecificationRequestProperty {..}+    = TargetCapacitySpecificationRequestProperty+        {totalTargetCapacity = newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/TargetCapacitySpecificationRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.TargetCapacitySpecificationRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetCapacitySpecificationRequestProperty :: Prelude.Type+instance ToResourceProperties TargetCapacitySpecificationRequestProperty+instance Prelude.Eq TargetCapacitySpecificationRequestProperty+instance Prelude.Show TargetCapacitySpecificationRequestProperty+instance JSON.ToJSON TargetCapacitySpecificationRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/TotalLocalStorageGBRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.EC2Fleet.TotalLocalStorageGBRequestProperty (+        TotalLocalStorageGBRequestProperty(..),+        mkTotalLocalStorageGBRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TotalLocalStorageGBRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-totallocalstoragegbrequest.html>+    TotalLocalStorageGBRequestProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-totallocalstoragegbrequest.html#cfn-ec2-ec2fleet-totallocalstoragegbrequest-max>+                                        max :: (Prelude.Maybe (Value Prelude.Double)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-totallocalstoragegbrequest.html#cfn-ec2-ec2fleet-totallocalstoragegbrequest-min>+                                        min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTotalLocalStorageGBRequestProperty ::+  TotalLocalStorageGBRequestProperty+mkTotalLocalStorageGBRequestProperty+  = TotalLocalStorageGBRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties TotalLocalStorageGBRequestProperty where+  toResourceProperties TotalLocalStorageGBRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.TotalLocalStorageGBRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON TotalLocalStorageGBRequestProperty where+  toJSON TotalLocalStorageGBRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" TotalLocalStorageGBRequestProperty where+  type PropertyType "Max" TotalLocalStorageGBRequestProperty = Value Prelude.Double+  set newValue TotalLocalStorageGBRequestProperty {..}+    = TotalLocalStorageGBRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" TotalLocalStorageGBRequestProperty where+  type PropertyType "Min" TotalLocalStorageGBRequestProperty = Value Prelude.Double+  set newValue TotalLocalStorageGBRequestProperty {..}+    = TotalLocalStorageGBRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/TotalLocalStorageGBRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.TotalLocalStorageGBRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TotalLocalStorageGBRequestProperty :: Prelude.Type+instance ToResourceProperties TotalLocalStorageGBRequestProperty+instance Prelude.Eq TotalLocalStorageGBRequestProperty+instance Prelude.Show TotalLocalStorageGBRequestProperty+instance JSON.ToJSON TotalLocalStorageGBRequestProperty
+ gen/Stratosphere/EC2/EC2Fleet/VCpuCountRangeRequestProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.EC2Fleet.VCpuCountRangeRequestProperty (+        VCpuCountRangeRequestProperty(..), mkVCpuCountRangeRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VCpuCountRangeRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-vcpucountrangerequest.html>+    VCpuCountRangeRequestProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-vcpucountrangerequest.html#cfn-ec2-ec2fleet-vcpucountrangerequest-max>+                                   max :: (Prelude.Maybe (Value Prelude.Integer)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ec2fleet-vcpucountrangerequest.html#cfn-ec2-ec2fleet-vcpucountrangerequest-min>+                                   min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVCpuCountRangeRequestProperty :: VCpuCountRangeRequestProperty+mkVCpuCountRangeRequestProperty+  = VCpuCountRangeRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties VCpuCountRangeRequestProperty where+  toResourceProperties VCpuCountRangeRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EC2Fleet.VCpuCountRangeRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON VCpuCountRangeRequestProperty where+  toJSON VCpuCountRangeRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" VCpuCountRangeRequestProperty where+  type PropertyType "Max" VCpuCountRangeRequestProperty = Value Prelude.Integer+  set newValue VCpuCountRangeRequestProperty {..}+    = VCpuCountRangeRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" VCpuCountRangeRequestProperty where+  type PropertyType "Min" VCpuCountRangeRequestProperty = Value Prelude.Integer+  set newValue VCpuCountRangeRequestProperty {..}+    = VCpuCountRangeRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EC2Fleet/VCpuCountRangeRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.EC2Fleet.VCpuCountRangeRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VCpuCountRangeRequestProperty :: Prelude.Type+instance ToResourceProperties VCpuCountRangeRequestProperty+instance Prelude.Eq VCpuCountRangeRequestProperty+instance Prelude.Show VCpuCountRangeRequestProperty+instance JSON.ToJSON VCpuCountRangeRequestProperty
+ gen/Stratosphere/EC2/EIP.hs view
@@ -0,0 +1,93 @@+module Stratosphere.EC2.EIP (+        EIP(..), mkEIP+    ) 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 EIP+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html>+    EIP {haddock_workaround_ :: (),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-address>+         address :: (Prelude.Maybe (Value Prelude.Text)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-domain>+         domain :: (Prelude.Maybe (Value Prelude.Text)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-instanceid>+         instanceId :: (Prelude.Maybe (Value Prelude.Text)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-ipampoolid>+         ipamPoolId :: (Prelude.Maybe (Value Prelude.Text)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-networkbordergroup>+         networkBorderGroup :: (Prelude.Maybe (Value Prelude.Text)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-publicipv4pool>+         publicIpv4Pool :: (Prelude.Maybe (Value Prelude.Text)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-tags>+         tags :: (Prelude.Maybe [Tag]),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eip.html#cfn-ec2-eip-transferaddress>+         transferAddress :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEIP :: EIP+mkEIP+  = EIP+      {haddock_workaround_ = (), address = Prelude.Nothing,+       domain = Prelude.Nothing, instanceId = Prelude.Nothing,+       ipamPoolId = Prelude.Nothing, networkBorderGroup = Prelude.Nothing,+       publicIpv4Pool = Prelude.Nothing, tags = Prelude.Nothing,+       transferAddress = Prelude.Nothing}+instance ToResourceProperties EIP where+  toResourceProperties EIP {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EIP", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Address" Prelude.<$> address,+                            (JSON..=) "Domain" Prelude.<$> domain,+                            (JSON..=) "InstanceId" Prelude.<$> instanceId,+                            (JSON..=) "IpamPoolId" Prelude.<$> ipamPoolId,+                            (JSON..=) "NetworkBorderGroup" Prelude.<$> networkBorderGroup,+                            (JSON..=) "PublicIpv4Pool" Prelude.<$> publicIpv4Pool,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "TransferAddress" Prelude.<$> transferAddress])}+instance JSON.ToJSON EIP where+  toJSON EIP {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Address" Prelude.<$> address,+               (JSON..=) "Domain" Prelude.<$> domain,+               (JSON..=) "InstanceId" Prelude.<$> instanceId,+               (JSON..=) "IpamPoolId" Prelude.<$> ipamPoolId,+               (JSON..=) "NetworkBorderGroup" Prelude.<$> networkBorderGroup,+               (JSON..=) "PublicIpv4Pool" Prelude.<$> publicIpv4Pool,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "TransferAddress" Prelude.<$> transferAddress]))+instance Property "Address" EIP where+  type PropertyType "Address" EIP = Value Prelude.Text+  set newValue EIP {..} = EIP {address = Prelude.pure newValue, ..}+instance Property "Domain" EIP where+  type PropertyType "Domain" EIP = Value Prelude.Text+  set newValue EIP {..} = EIP {domain = Prelude.pure newValue, ..}+instance Property "InstanceId" EIP where+  type PropertyType "InstanceId" EIP = Value Prelude.Text+  set newValue EIP {..}+    = EIP {instanceId = Prelude.pure newValue, ..}+instance Property "IpamPoolId" EIP where+  type PropertyType "IpamPoolId" EIP = Value Prelude.Text+  set newValue EIP {..}+    = EIP {ipamPoolId = Prelude.pure newValue, ..}+instance Property "NetworkBorderGroup" EIP where+  type PropertyType "NetworkBorderGroup" EIP = Value Prelude.Text+  set newValue EIP {..}+    = EIP {networkBorderGroup = Prelude.pure newValue, ..}+instance Property "PublicIpv4Pool" EIP where+  type PropertyType "PublicIpv4Pool" EIP = Value Prelude.Text+  set newValue EIP {..}+    = EIP {publicIpv4Pool = Prelude.pure newValue, ..}+instance Property "Tags" EIP where+  type PropertyType "Tags" EIP = [Tag]+  set newValue EIP {..} = EIP {tags = Prelude.pure newValue, ..}+instance Property "TransferAddress" EIP where+  type PropertyType "TransferAddress" EIP = Value Prelude.Text+  set newValue EIP {..}+    = EIP {transferAddress = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EIPAssociation.hs view
@@ -0,0 +1,62 @@+module Stratosphere.EC2.EIPAssociation (+        EIPAssociation(..), mkEIPAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EIPAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html>+    EIPAssociation {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html#cfn-ec2-eipassociation-allocationid>+                    allocationId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html#cfn-ec2-eipassociation-instanceid>+                    instanceId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html#cfn-ec2-eipassociation-networkinterfaceid>+                    networkInterfaceId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-eipassociation.html#cfn-ec2-eipassociation-privateipaddress>+                    privateIpAddress :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEIPAssociation :: EIPAssociation+mkEIPAssociation+  = EIPAssociation+      {haddock_workaround_ = (), allocationId = Prelude.Nothing,+       instanceId = Prelude.Nothing, networkInterfaceId = Prelude.Nothing,+       privateIpAddress = Prelude.Nothing}+instance ToResourceProperties EIPAssociation where+  toResourceProperties EIPAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EIPAssociation",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AllocationId" Prelude.<$> allocationId,+                            (JSON..=) "InstanceId" Prelude.<$> instanceId,+                            (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                            (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress])}+instance JSON.ToJSON EIPAssociation where+  toJSON EIPAssociation {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AllocationId" Prelude.<$> allocationId,+               (JSON..=) "InstanceId" Prelude.<$> instanceId,+               (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+               (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress]))+instance Property "AllocationId" EIPAssociation where+  type PropertyType "AllocationId" EIPAssociation = Value Prelude.Text+  set newValue EIPAssociation {..}+    = EIPAssociation {allocationId = Prelude.pure newValue, ..}+instance Property "InstanceId" EIPAssociation where+  type PropertyType "InstanceId" EIPAssociation = Value Prelude.Text+  set newValue EIPAssociation {..}+    = EIPAssociation {instanceId = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceId" EIPAssociation where+  type PropertyType "NetworkInterfaceId" EIPAssociation = Value Prelude.Text+  set newValue EIPAssociation {..}+    = EIPAssociation {networkInterfaceId = Prelude.pure newValue, ..}+instance Property "PrivateIpAddress" EIPAssociation where+  type PropertyType "PrivateIpAddress" EIPAssociation = Value Prelude.Text+  set newValue EIPAssociation {..}+    = EIPAssociation {privateIpAddress = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/EgressOnlyInternetGateway.hs view
@@ -0,0 +1,46 @@+module Stratosphere.EC2.EgressOnlyInternetGateway (+        EgressOnlyInternetGateway(..), mkEgressOnlyInternetGateway+    ) 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 EgressOnlyInternetGateway+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html>+    EgressOnlyInternetGateway {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html#cfn-ec2-egressonlyinternetgateway-tags>+                               tags :: (Prelude.Maybe [Tag]),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-egressonlyinternetgateway.html#cfn-ec2-egressonlyinternetgateway-vpcid>+                               vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEgressOnlyInternetGateway ::+  Value Prelude.Text -> EgressOnlyInternetGateway+mkEgressOnlyInternetGateway vpcId+  = EgressOnlyInternetGateway+      {haddock_workaround_ = (), vpcId = vpcId, tags = Prelude.Nothing}+instance ToResourceProperties EgressOnlyInternetGateway where+  toResourceProperties EgressOnlyInternetGateway {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EgressOnlyInternetGateway",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcId" JSON..= vpcId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON EgressOnlyInternetGateway where+  toJSON EgressOnlyInternetGateway {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcId" JSON..= vpcId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Tags" EgressOnlyInternetGateway where+  type PropertyType "Tags" EgressOnlyInternetGateway = [Tag]+  set newValue EgressOnlyInternetGateway {..}+    = EgressOnlyInternetGateway {tags = Prelude.pure newValue, ..}+instance Property "VpcId" EgressOnlyInternetGateway where+  type PropertyType "VpcId" EgressOnlyInternetGateway = Value Prelude.Text+  set newValue EgressOnlyInternetGateway {..}+    = EgressOnlyInternetGateway {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/EnclaveCertificateIamRoleAssociation.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.EnclaveCertificateIamRoleAssociation (+        EnclaveCertificateIamRoleAssociation(..),+        mkEnclaveCertificateIamRoleAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnclaveCertificateIamRoleAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html>+    EnclaveCertificateIamRoleAssociation {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html#cfn-ec2-enclavecertificateiamroleassociation-certificatearn>+                                          certificateArn :: (Value Prelude.Text),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-enclavecertificateiamroleassociation.html#cfn-ec2-enclavecertificateiamroleassociation-rolearn>+                                          roleArn :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEnclaveCertificateIamRoleAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> EnclaveCertificateIamRoleAssociation+mkEnclaveCertificateIamRoleAssociation certificateArn roleArn+  = EnclaveCertificateIamRoleAssociation+      {haddock_workaround_ = (), certificateArn = certificateArn,+       roleArn = roleArn}+instance ToResourceProperties EnclaveCertificateIamRoleAssociation where+  toResourceProperties EnclaveCertificateIamRoleAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::EnclaveCertificateIamRoleAssociation",+         supportsTags = Prelude.False,+         properties = ["CertificateArn" JSON..= certificateArn,+                       "RoleArn" JSON..= roleArn]}+instance JSON.ToJSON EnclaveCertificateIamRoleAssociation where+  toJSON EnclaveCertificateIamRoleAssociation {..}+    = JSON.object+        ["CertificateArn" JSON..= certificateArn,+         "RoleArn" JSON..= roleArn]+instance Property "CertificateArn" EnclaveCertificateIamRoleAssociation where+  type PropertyType "CertificateArn" EnclaveCertificateIamRoleAssociation = Value Prelude.Text+  set newValue EnclaveCertificateIamRoleAssociation {..}+    = EnclaveCertificateIamRoleAssociation+        {certificateArn = newValue, ..}+instance Property "RoleArn" EnclaveCertificateIamRoleAssociation where+  type PropertyType "RoleArn" EnclaveCertificateIamRoleAssociation = Value Prelude.Text+  set newValue EnclaveCertificateIamRoleAssociation {..}+    = EnclaveCertificateIamRoleAssociation {roleArn = newValue, ..}
+ gen/Stratosphere/EC2/FlowLog.hs view
@@ -0,0 +1,140 @@+module Stratosphere.EC2.FlowLog (+        module Exports, FlowLog(..), mkFlowLog+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.FlowLog.DestinationOptionsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data FlowLog+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html>+    FlowLog {haddock_workaround_ :: (),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-delivercrossaccountrole>+             deliverCrossAccountRole :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-deliverlogspermissionarn>+             deliverLogsPermissionArn :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-destinationoptions>+             destinationOptions :: (Prelude.Maybe DestinationOptionsProperty),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logdestination>+             logDestination :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logdestinationtype>+             logDestinationType :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-logformat>+             logFormat :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-loggroupname>+             logGroupName :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-maxaggregationinterval>+             maxAggregationInterval :: (Prelude.Maybe (Value Prelude.Integer)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-resourceid>+             resourceId :: (Value Prelude.Text),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-resourcetype>+             resourceType :: (Value Prelude.Text),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-tags>+             tags :: (Prelude.Maybe [Tag]),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-flowlog.html#cfn-ec2-flowlog-traffictype>+             trafficType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFlowLog :: Value Prelude.Text -> Value Prelude.Text -> FlowLog+mkFlowLog resourceId resourceType+  = FlowLog+      {haddock_workaround_ = (), resourceId = resourceId,+       resourceType = resourceType,+       deliverCrossAccountRole = Prelude.Nothing,+       deliverLogsPermissionArn = Prelude.Nothing,+       destinationOptions = Prelude.Nothing,+       logDestination = Prelude.Nothing,+       logDestinationType = Prelude.Nothing, logFormat = Prelude.Nothing,+       logGroupName = Prelude.Nothing,+       maxAggregationInterval = Prelude.Nothing, tags = Prelude.Nothing,+       trafficType = Prelude.Nothing}+instance ToResourceProperties FlowLog where+  toResourceProperties FlowLog {..}+    = ResourceProperties+        {awsType = "AWS::EC2::FlowLog", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ResourceId" JSON..= resourceId,+                            "ResourceType" JSON..= resourceType]+                           (Prelude.catMaybes+                              [(JSON..=) "DeliverCrossAccountRole"+                                 Prelude.<$> deliverCrossAccountRole,+                               (JSON..=) "DeliverLogsPermissionArn"+                                 Prelude.<$> deliverLogsPermissionArn,+                               (JSON..=) "DestinationOptions" Prelude.<$> destinationOptions,+                               (JSON..=) "LogDestination" Prelude.<$> logDestination,+                               (JSON..=) "LogDestinationType" Prelude.<$> logDestinationType,+                               (JSON..=) "LogFormat" Prelude.<$> logFormat,+                               (JSON..=) "LogGroupName" Prelude.<$> logGroupName,+                               (JSON..=) "MaxAggregationInterval"+                                 Prelude.<$> maxAggregationInterval,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "TrafficType" Prelude.<$> trafficType]))}+instance JSON.ToJSON FlowLog where+  toJSON FlowLog {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ResourceId" JSON..= resourceId,+               "ResourceType" JSON..= resourceType]+              (Prelude.catMaybes+                 [(JSON..=) "DeliverCrossAccountRole"+                    Prelude.<$> deliverCrossAccountRole,+                  (JSON..=) "DeliverLogsPermissionArn"+                    Prelude.<$> deliverLogsPermissionArn,+                  (JSON..=) "DestinationOptions" Prelude.<$> destinationOptions,+                  (JSON..=) "LogDestination" Prelude.<$> logDestination,+                  (JSON..=) "LogDestinationType" Prelude.<$> logDestinationType,+                  (JSON..=) "LogFormat" Prelude.<$> logFormat,+                  (JSON..=) "LogGroupName" Prelude.<$> logGroupName,+                  (JSON..=) "MaxAggregationInterval"+                    Prelude.<$> maxAggregationInterval,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "TrafficType" Prelude.<$> trafficType])))+instance Property "DeliverCrossAccountRole" FlowLog where+  type PropertyType "DeliverCrossAccountRole" FlowLog = Value Prelude.Text+  set newValue FlowLog {..}+    = FlowLog {deliverCrossAccountRole = Prelude.pure newValue, ..}+instance Property "DeliverLogsPermissionArn" FlowLog where+  type PropertyType "DeliverLogsPermissionArn" FlowLog = Value Prelude.Text+  set newValue FlowLog {..}+    = FlowLog {deliverLogsPermissionArn = Prelude.pure newValue, ..}+instance Property "DestinationOptions" FlowLog where+  type PropertyType "DestinationOptions" FlowLog = DestinationOptionsProperty+  set newValue FlowLog {..}+    = FlowLog {destinationOptions = Prelude.pure newValue, ..}+instance Property "LogDestination" FlowLog where+  type PropertyType "LogDestination" FlowLog = Value Prelude.Text+  set newValue FlowLog {..}+    = FlowLog {logDestination = Prelude.pure newValue, ..}+instance Property "LogDestinationType" FlowLog where+  type PropertyType "LogDestinationType" FlowLog = Value Prelude.Text+  set newValue FlowLog {..}+    = FlowLog {logDestinationType = Prelude.pure newValue, ..}+instance Property "LogFormat" FlowLog where+  type PropertyType "LogFormat" FlowLog = Value Prelude.Text+  set newValue FlowLog {..}+    = FlowLog {logFormat = Prelude.pure newValue, ..}+instance Property "LogGroupName" FlowLog where+  type PropertyType "LogGroupName" FlowLog = Value Prelude.Text+  set newValue FlowLog {..}+    = FlowLog {logGroupName = Prelude.pure newValue, ..}+instance Property "MaxAggregationInterval" FlowLog where+  type PropertyType "MaxAggregationInterval" FlowLog = Value Prelude.Integer+  set newValue FlowLog {..}+    = FlowLog {maxAggregationInterval = Prelude.pure newValue, ..}+instance Property "ResourceId" FlowLog where+  type PropertyType "ResourceId" FlowLog = Value Prelude.Text+  set newValue FlowLog {..} = FlowLog {resourceId = newValue, ..}+instance Property "ResourceType" FlowLog where+  type PropertyType "ResourceType" FlowLog = Value Prelude.Text+  set newValue FlowLog {..} = FlowLog {resourceType = newValue, ..}+instance Property "Tags" FlowLog where+  type PropertyType "Tags" FlowLog = [Tag]+  set newValue FlowLog {..}+    = FlowLog {tags = Prelude.pure newValue, ..}+instance Property "TrafficType" FlowLog where+  type PropertyType "TrafficType" FlowLog = Value Prelude.Text+  set newValue FlowLog {..}+    = FlowLog {trafficType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/FlowLog/DestinationOptionsProperty.hs view
@@ -0,0 +1,57 @@+module Stratosphere.EC2.FlowLog.DestinationOptionsProperty (+        DestinationOptionsProperty(..), mkDestinationOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DestinationOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-flowlog-destinationoptions.html>+    DestinationOptionsProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-flowlog-destinationoptions.html#cfn-ec2-flowlog-destinationoptions-fileformat>+                                fileFormat :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-flowlog-destinationoptions.html#cfn-ec2-flowlog-destinationoptions-hivecompatiblepartitions>+                                hiveCompatiblePartitions :: (Value Prelude.Bool),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-flowlog-destinationoptions.html#cfn-ec2-flowlog-destinationoptions-perhourpartition>+                                perHourPartition :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDestinationOptionsProperty ::+  Value Prelude.Text+  -> Value Prelude.Bool+     -> Value Prelude.Bool -> DestinationOptionsProperty+mkDestinationOptionsProperty+  fileFormat+  hiveCompatiblePartitions+  perHourPartition+  = DestinationOptionsProperty+      {haddock_workaround_ = (), fileFormat = fileFormat,+       hiveCompatiblePartitions = hiveCompatiblePartitions,+       perHourPartition = perHourPartition}+instance ToResourceProperties DestinationOptionsProperty where+  toResourceProperties DestinationOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::FlowLog.DestinationOptions",+         supportsTags = Prelude.False,+         properties = ["FileFormat" JSON..= fileFormat,+                       "HiveCompatiblePartitions" JSON..= hiveCompatiblePartitions,+                       "PerHourPartition" JSON..= perHourPartition]}+instance JSON.ToJSON DestinationOptionsProperty where+  toJSON DestinationOptionsProperty {..}+    = JSON.object+        ["FileFormat" JSON..= fileFormat,+         "HiveCompatiblePartitions" JSON..= hiveCompatiblePartitions,+         "PerHourPartition" JSON..= perHourPartition]+instance Property "FileFormat" DestinationOptionsProperty where+  type PropertyType "FileFormat" DestinationOptionsProperty = Value Prelude.Text+  set newValue DestinationOptionsProperty {..}+    = DestinationOptionsProperty {fileFormat = newValue, ..}+instance Property "HiveCompatiblePartitions" DestinationOptionsProperty where+  type PropertyType "HiveCompatiblePartitions" DestinationOptionsProperty = Value Prelude.Bool+  set newValue DestinationOptionsProperty {..}+    = DestinationOptionsProperty+        {hiveCompatiblePartitions = newValue, ..}+instance Property "PerHourPartition" DestinationOptionsProperty where+  type PropertyType "PerHourPartition" DestinationOptionsProperty = Value Prelude.Bool+  set newValue DestinationOptionsProperty {..}+    = DestinationOptionsProperty {perHourPartition = newValue, ..}
+ gen/Stratosphere/EC2/FlowLog/DestinationOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.FlowLog.DestinationOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DestinationOptionsProperty :: Prelude.Type+instance ToResourceProperties DestinationOptionsProperty+instance Prelude.Eq DestinationOptionsProperty+instance Prelude.Show DestinationOptionsProperty+instance JSON.ToJSON DestinationOptionsProperty
+ gen/Stratosphere/EC2/GatewayRouteTableAssociation.hs view
@@ -0,0 +1,43 @@+module Stratosphere.EC2.GatewayRouteTableAssociation (+        GatewayRouteTableAssociation(..), mkGatewayRouteTableAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GatewayRouteTableAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html>+    GatewayRouteTableAssociation {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html#cfn-ec2-gatewayroutetableassociation-gatewayid>+                                  gatewayId :: (Value Prelude.Text),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-gatewayroutetableassociation.html#cfn-ec2-gatewayroutetableassociation-routetableid>+                                  routeTableId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGatewayRouteTableAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> GatewayRouteTableAssociation+mkGatewayRouteTableAssociation gatewayId routeTableId+  = GatewayRouteTableAssociation+      {haddock_workaround_ = (), gatewayId = gatewayId,+       routeTableId = routeTableId}+instance ToResourceProperties GatewayRouteTableAssociation where+  toResourceProperties GatewayRouteTableAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::GatewayRouteTableAssociation",+         supportsTags = Prelude.False,+         properties = ["GatewayId" JSON..= gatewayId,+                       "RouteTableId" JSON..= routeTableId]}+instance JSON.ToJSON GatewayRouteTableAssociation where+  toJSON GatewayRouteTableAssociation {..}+    = JSON.object+        ["GatewayId" JSON..= gatewayId,+         "RouteTableId" JSON..= routeTableId]+instance Property "GatewayId" GatewayRouteTableAssociation where+  type PropertyType "GatewayId" GatewayRouteTableAssociation = Value Prelude.Text+  set newValue GatewayRouteTableAssociation {..}+    = GatewayRouteTableAssociation {gatewayId = newValue, ..}+instance Property "RouteTableId" GatewayRouteTableAssociation where+  type PropertyType "RouteTableId" GatewayRouteTableAssociation = Value Prelude.Text+  set newValue GatewayRouteTableAssociation {..}+    = GatewayRouteTableAssociation {routeTableId = newValue, ..}
+ gen/Stratosphere/EC2/Host.hs view
@@ -0,0 +1,103 @@+module Stratosphere.EC2.Host (+        Host(..), mkHost+    ) 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 Host+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html>+    Host {haddock_workaround_ :: (),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-assetid>+          assetId :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-autoplacement>+          autoPlacement :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-availabilityzone>+          availabilityZone :: (Value Prelude.Text),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-hostmaintenance>+          hostMaintenance :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-hostrecovery>+          hostRecovery :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-instancefamily>+          instanceFamily :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-instancetype>+          instanceType :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-outpostarn>+          outpostArn :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-host.html#cfn-ec2-host-tags>+          tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHost :: Value Prelude.Text -> Host+mkHost availabilityZone+  = Host+      {haddock_workaround_ = (), availabilityZone = availabilityZone,+       assetId = Prelude.Nothing, autoPlacement = Prelude.Nothing,+       hostMaintenance = Prelude.Nothing, hostRecovery = Prelude.Nothing,+       instanceFamily = Prelude.Nothing, instanceType = Prelude.Nothing,+       outpostArn = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties Host where+  toResourceProperties Host {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Host", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AvailabilityZone" JSON..= availabilityZone]+                           (Prelude.catMaybes+                              [(JSON..=) "AssetId" Prelude.<$> assetId,+                               (JSON..=) "AutoPlacement" Prelude.<$> autoPlacement,+                               (JSON..=) "HostMaintenance" Prelude.<$> hostMaintenance,+                               (JSON..=) "HostRecovery" Prelude.<$> hostRecovery,+                               (JSON..=) "InstanceFamily" Prelude.<$> instanceFamily,+                               (JSON..=) "InstanceType" Prelude.<$> instanceType,+                               (JSON..=) "OutpostArn" Prelude.<$> outpostArn,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON Host where+  toJSON Host {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AvailabilityZone" JSON..= availabilityZone]+              (Prelude.catMaybes+                 [(JSON..=) "AssetId" Prelude.<$> assetId,+                  (JSON..=) "AutoPlacement" Prelude.<$> autoPlacement,+                  (JSON..=) "HostMaintenance" Prelude.<$> hostMaintenance,+                  (JSON..=) "HostRecovery" Prelude.<$> hostRecovery,+                  (JSON..=) "InstanceFamily" Prelude.<$> instanceFamily,+                  (JSON..=) "InstanceType" Prelude.<$> instanceType,+                  (JSON..=) "OutpostArn" Prelude.<$> outpostArn,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AssetId" Host where+  type PropertyType "AssetId" Host = Value Prelude.Text+  set newValue Host {..} = Host {assetId = Prelude.pure newValue, ..}+instance Property "AutoPlacement" Host where+  type PropertyType "AutoPlacement" Host = Value Prelude.Text+  set newValue Host {..}+    = Host {autoPlacement = Prelude.pure newValue, ..}+instance Property "AvailabilityZone" Host where+  type PropertyType "AvailabilityZone" Host = Value Prelude.Text+  set newValue Host {..} = Host {availabilityZone = newValue, ..}+instance Property "HostMaintenance" Host where+  type PropertyType "HostMaintenance" Host = Value Prelude.Text+  set newValue Host {..}+    = Host {hostMaintenance = Prelude.pure newValue, ..}+instance Property "HostRecovery" Host where+  type PropertyType "HostRecovery" Host = Value Prelude.Text+  set newValue Host {..}+    = Host {hostRecovery = Prelude.pure newValue, ..}+instance Property "InstanceFamily" Host where+  type PropertyType "InstanceFamily" Host = Value Prelude.Text+  set newValue Host {..}+    = Host {instanceFamily = Prelude.pure newValue, ..}+instance Property "InstanceType" Host where+  type PropertyType "InstanceType" Host = Value Prelude.Text+  set newValue Host {..}+    = Host {instanceType = Prelude.pure newValue, ..}+instance Property "OutpostArn" Host where+  type PropertyType "OutpostArn" Host = Value Prelude.Text+  set newValue Host {..}+    = Host {outpostArn = Prelude.pure newValue, ..}+instance Property "Tags" Host where+  type PropertyType "Tags" Host = [Tag]+  set newValue Host {..} = Host {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/IPAM.hs view
@@ -0,0 +1,94 @@+module Stratosphere.EC2.IPAM (+        module Exports, IPAM(..), mkIPAM+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.IPAM.IpamOperatingRegionProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.IPAM.IpamOrganizationalUnitExclusionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data IPAM+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html>+    IPAM {haddock_workaround_ :: (),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html#cfn-ec2-ipam-defaultresourcediscoveryorganizationalunitexclusions>+          defaultResourceDiscoveryOrganizationalUnitExclusions :: (Prelude.Maybe [IpamOrganizationalUnitExclusionProperty]),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html#cfn-ec2-ipam-description>+          description :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html#cfn-ec2-ipam-enableprivategua>+          enablePrivateGua :: (Prelude.Maybe (Value Prelude.Bool)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html#cfn-ec2-ipam-meteredaccount>+          meteredAccount :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html#cfn-ec2-ipam-operatingregions>+          operatingRegions :: (Prelude.Maybe [IpamOperatingRegionProperty]),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html#cfn-ec2-ipam-tags>+          tags :: (Prelude.Maybe [Tag]),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html#cfn-ec2-ipam-tier>+          tier :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIPAM :: IPAM+mkIPAM+  = IPAM+      {haddock_workaround_ = (),+       defaultResourceDiscoveryOrganizationalUnitExclusions = Prelude.Nothing,+       description = Prelude.Nothing, enablePrivateGua = Prelude.Nothing,+       meteredAccount = Prelude.Nothing,+       operatingRegions = Prelude.Nothing, tags = Prelude.Nothing,+       tier = Prelude.Nothing}+instance ToResourceProperties IPAM where+  toResourceProperties IPAM {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAM", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DefaultResourceDiscoveryOrganizationalUnitExclusions"+                              Prelude.<$> defaultResourceDiscoveryOrganizationalUnitExclusions,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "EnablePrivateGua" Prelude.<$> enablePrivateGua,+                            (JSON..=) "MeteredAccount" Prelude.<$> meteredAccount,+                            (JSON..=) "OperatingRegions" Prelude.<$> operatingRegions,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "Tier" Prelude.<$> tier])}+instance JSON.ToJSON IPAM where+  toJSON IPAM {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DefaultResourceDiscoveryOrganizationalUnitExclusions"+                 Prelude.<$> defaultResourceDiscoveryOrganizationalUnitExclusions,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "EnablePrivateGua" Prelude.<$> enablePrivateGua,+               (JSON..=) "MeteredAccount" Prelude.<$> meteredAccount,+               (JSON..=) "OperatingRegions" Prelude.<$> operatingRegions,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "Tier" Prelude.<$> tier]))+instance Property "DefaultResourceDiscoveryOrganizationalUnitExclusions" IPAM where+  type PropertyType "DefaultResourceDiscoveryOrganizationalUnitExclusions" IPAM = [IpamOrganizationalUnitExclusionProperty]+  set newValue IPAM {..}+    = IPAM+        {defaultResourceDiscoveryOrganizationalUnitExclusions = Prelude.pure+                                                                  newValue,+         ..}+instance Property "Description" IPAM where+  type PropertyType "Description" IPAM = Value Prelude.Text+  set newValue IPAM {..}+    = IPAM {description = Prelude.pure newValue, ..}+instance Property "EnablePrivateGua" IPAM where+  type PropertyType "EnablePrivateGua" IPAM = Value Prelude.Bool+  set newValue IPAM {..}+    = IPAM {enablePrivateGua = Prelude.pure newValue, ..}+instance Property "MeteredAccount" IPAM where+  type PropertyType "MeteredAccount" IPAM = Value Prelude.Text+  set newValue IPAM {..}+    = IPAM {meteredAccount = Prelude.pure newValue, ..}+instance Property "OperatingRegions" IPAM where+  type PropertyType "OperatingRegions" IPAM = [IpamOperatingRegionProperty]+  set newValue IPAM {..}+    = IPAM {operatingRegions = Prelude.pure newValue, ..}+instance Property "Tags" IPAM where+  type PropertyType "Tags" IPAM = [Tag]+  set newValue IPAM {..} = IPAM {tags = Prelude.pure newValue, ..}+instance Property "Tier" IPAM where+  type PropertyType "Tier" IPAM = Value Prelude.Text+  set newValue IPAM {..} = IPAM {tier = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/IPAM/IpamOperatingRegionProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.EC2.IPAM.IpamOperatingRegionProperty (+        IpamOperatingRegionProperty(..), mkIpamOperatingRegionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IpamOperatingRegionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipam-ipamoperatingregion.html>+    IpamOperatingRegionProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipam-ipamoperatingregion.html#cfn-ec2-ipam-ipamoperatingregion-regionname>+                                 regionName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpamOperatingRegionProperty ::+  Value Prelude.Text -> IpamOperatingRegionProperty+mkIpamOperatingRegionProperty regionName+  = IpamOperatingRegionProperty+      {haddock_workaround_ = (), regionName = regionName}+instance ToResourceProperties IpamOperatingRegionProperty where+  toResourceProperties IpamOperatingRegionProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAM.IpamOperatingRegion",+         supportsTags = Prelude.False,+         properties = ["RegionName" JSON..= regionName]}+instance JSON.ToJSON IpamOperatingRegionProperty where+  toJSON IpamOperatingRegionProperty {..}+    = JSON.object ["RegionName" JSON..= regionName]+instance Property "RegionName" IpamOperatingRegionProperty where+  type PropertyType "RegionName" IpamOperatingRegionProperty = Value Prelude.Text+  set newValue IpamOperatingRegionProperty {..}+    = IpamOperatingRegionProperty {regionName = newValue, ..}
+ gen/Stratosphere/EC2/IPAM/IpamOperatingRegionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.IPAM.IpamOperatingRegionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IpamOperatingRegionProperty :: Prelude.Type+instance ToResourceProperties IpamOperatingRegionProperty+instance Prelude.Eq IpamOperatingRegionProperty+instance Prelude.Show IpamOperatingRegionProperty+instance JSON.ToJSON IpamOperatingRegionProperty
+ gen/Stratosphere/EC2/IPAM/IpamOrganizationalUnitExclusionProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.IPAM.IpamOrganizationalUnitExclusionProperty (+        IpamOrganizationalUnitExclusionProperty(..),+        mkIpamOrganizationalUnitExclusionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IpamOrganizationalUnitExclusionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipam-ipamorganizationalunitexclusion.html>+    IpamOrganizationalUnitExclusionProperty {haddock_workaround_ :: (),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipam-ipamorganizationalunitexclusion.html#cfn-ec2-ipam-ipamorganizationalunitexclusion-organizationsentitypath>+                                             organizationsEntityPath :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpamOrganizationalUnitExclusionProperty ::+  Value Prelude.Text -> IpamOrganizationalUnitExclusionProperty+mkIpamOrganizationalUnitExclusionProperty organizationsEntityPath+  = IpamOrganizationalUnitExclusionProperty+      {haddock_workaround_ = (),+       organizationsEntityPath = organizationsEntityPath}+instance ToResourceProperties IpamOrganizationalUnitExclusionProperty where+  toResourceProperties IpamOrganizationalUnitExclusionProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAM.IpamOrganizationalUnitExclusion",+         supportsTags = Prelude.False,+         properties = ["OrganizationsEntityPath"+                         JSON..= organizationsEntityPath]}+instance JSON.ToJSON IpamOrganizationalUnitExclusionProperty where+  toJSON IpamOrganizationalUnitExclusionProperty {..}+    = JSON.object+        ["OrganizationsEntityPath" JSON..= organizationsEntityPath]+instance Property "OrganizationsEntityPath" IpamOrganizationalUnitExclusionProperty where+  type PropertyType "OrganizationsEntityPath" IpamOrganizationalUnitExclusionProperty = Value Prelude.Text+  set newValue IpamOrganizationalUnitExclusionProperty {..}+    = IpamOrganizationalUnitExclusionProperty+        {organizationsEntityPath = newValue, ..}
+ gen/Stratosphere/EC2/IPAM/IpamOrganizationalUnitExclusionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.IPAM.IpamOrganizationalUnitExclusionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IpamOrganizationalUnitExclusionProperty :: Prelude.Type+instance ToResourceProperties IpamOrganizationalUnitExclusionProperty+instance Prelude.Eq IpamOrganizationalUnitExclusionProperty+instance Prelude.Show IpamOrganizationalUnitExclusionProperty+instance JSON.ToJSON IpamOrganizationalUnitExclusionProperty
+ gen/Stratosphere/EC2/IPAMAllocation.hs view
@@ -0,0 +1,64 @@+module Stratosphere.EC2.IPAMAllocation (+        IPAMAllocation(..), mkIPAMAllocation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IPAMAllocation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html>+    IPAMAllocation {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html#cfn-ec2-ipamallocation-cidr>+                    cidr :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html#cfn-ec2-ipamallocation-description>+                    description :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html#cfn-ec2-ipamallocation-ipampoolid>+                    ipamPoolId :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamallocation.html#cfn-ec2-ipamallocation-netmasklength>+                    netmaskLength :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIPAMAllocation :: Value Prelude.Text -> IPAMAllocation+mkIPAMAllocation ipamPoolId+  = IPAMAllocation+      {haddock_workaround_ = (), ipamPoolId = ipamPoolId,+       cidr = Prelude.Nothing, description = Prelude.Nothing,+       netmaskLength = Prelude.Nothing}+instance ToResourceProperties IPAMAllocation where+  toResourceProperties IPAMAllocation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMAllocation",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IpamPoolId" JSON..= ipamPoolId]+                           (Prelude.catMaybes+                              [(JSON..=) "Cidr" Prelude.<$> cidr,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "NetmaskLength" Prelude.<$> netmaskLength]))}+instance JSON.ToJSON IPAMAllocation where+  toJSON IPAMAllocation {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IpamPoolId" JSON..= ipamPoolId]+              (Prelude.catMaybes+                 [(JSON..=) "Cidr" Prelude.<$> cidr,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "NetmaskLength" Prelude.<$> netmaskLength])))+instance Property "Cidr" IPAMAllocation where+  type PropertyType "Cidr" IPAMAllocation = Value Prelude.Text+  set newValue IPAMAllocation {..}+    = IPAMAllocation {cidr = Prelude.pure newValue, ..}+instance Property "Description" IPAMAllocation where+  type PropertyType "Description" IPAMAllocation = Value Prelude.Text+  set newValue IPAMAllocation {..}+    = IPAMAllocation {description = Prelude.pure newValue, ..}+instance Property "IpamPoolId" IPAMAllocation where+  type PropertyType "IpamPoolId" IPAMAllocation = Value Prelude.Text+  set newValue IPAMAllocation {..}+    = IPAMAllocation {ipamPoolId = newValue, ..}+instance Property "NetmaskLength" IPAMAllocation where+  type PropertyType "NetmaskLength" IPAMAllocation = Value Prelude.Integer+  set newValue IPAMAllocation {..}+    = IPAMAllocation {netmaskLength = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/IPAMPool.hs view
@@ -0,0 +1,180 @@+module Stratosphere.EC2.IPAMPool (+        module Exports, IPAMPool(..), mkIPAMPool+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.IPAMPool.ProvisionedCidrProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.IPAMPool.SourceResourceProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data IPAMPool+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html>+    IPAMPool {haddock_workaround_ :: (),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-addressfamily>+              addressFamily :: (Value Prelude.Text),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-allocationdefaultnetmasklength>+              allocationDefaultNetmaskLength :: (Prelude.Maybe (Value Prelude.Integer)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-allocationmaxnetmasklength>+              allocationMaxNetmaskLength :: (Prelude.Maybe (Value Prelude.Integer)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-allocationminnetmasklength>+              allocationMinNetmaskLength :: (Prelude.Maybe (Value Prelude.Integer)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-allocationresourcetags>+              allocationResourceTags :: (Prelude.Maybe [Tag]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-autoimport>+              autoImport :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-awsservice>+              awsService :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-description>+              description :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-ipamscopeid>+              ipamScopeId :: (Value Prelude.Text),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-locale>+              locale :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-provisionedcidrs>+              provisionedCidrs :: (Prelude.Maybe [ProvisionedCidrProperty]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-publicipsource>+              publicIpSource :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-publiclyadvertisable>+              publiclyAdvertisable :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-sourceipampoolid>+              sourceIpamPoolId :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-sourceresource>+              sourceResource :: (Prelude.Maybe SourceResourceProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampool.html#cfn-ec2-ipampool-tags>+              tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIPAMPool :: Value Prelude.Text -> Value Prelude.Text -> IPAMPool+mkIPAMPool addressFamily ipamScopeId+  = IPAMPool+      {haddock_workaround_ = (), addressFamily = addressFamily,+       ipamScopeId = ipamScopeId,+       allocationDefaultNetmaskLength = Prelude.Nothing,+       allocationMaxNetmaskLength = Prelude.Nothing,+       allocationMinNetmaskLength = Prelude.Nothing,+       allocationResourceTags = Prelude.Nothing,+       autoImport = Prelude.Nothing, awsService = Prelude.Nothing,+       description = Prelude.Nothing, locale = Prelude.Nothing,+       provisionedCidrs = Prelude.Nothing,+       publicIpSource = Prelude.Nothing,+       publiclyAdvertisable = Prelude.Nothing,+       sourceIpamPoolId = Prelude.Nothing,+       sourceResource = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties IPAMPool where+  toResourceProperties IPAMPool {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMPool", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AddressFamily" JSON..= addressFamily,+                            "IpamScopeId" JSON..= ipamScopeId]+                           (Prelude.catMaybes+                              [(JSON..=) "AllocationDefaultNetmaskLength"+                                 Prelude.<$> allocationDefaultNetmaskLength,+                               (JSON..=) "AllocationMaxNetmaskLength"+                                 Prelude.<$> allocationMaxNetmaskLength,+                               (JSON..=) "AllocationMinNetmaskLength"+                                 Prelude.<$> allocationMinNetmaskLength,+                               (JSON..=) "AllocationResourceTags"+                                 Prelude.<$> allocationResourceTags,+                               (JSON..=) "AutoImport" Prelude.<$> autoImport,+                               (JSON..=) "AwsService" Prelude.<$> awsService,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "Locale" Prelude.<$> locale,+                               (JSON..=) "ProvisionedCidrs" Prelude.<$> provisionedCidrs,+                               (JSON..=) "PublicIpSource" Prelude.<$> publicIpSource,+                               (JSON..=) "PubliclyAdvertisable" Prelude.<$> publiclyAdvertisable,+                               (JSON..=) "SourceIpamPoolId" Prelude.<$> sourceIpamPoolId,+                               (JSON..=) "SourceResource" Prelude.<$> sourceResource,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON IPAMPool where+  toJSON IPAMPool {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AddressFamily" JSON..= addressFamily,+               "IpamScopeId" JSON..= ipamScopeId]+              (Prelude.catMaybes+                 [(JSON..=) "AllocationDefaultNetmaskLength"+                    Prelude.<$> allocationDefaultNetmaskLength,+                  (JSON..=) "AllocationMaxNetmaskLength"+                    Prelude.<$> allocationMaxNetmaskLength,+                  (JSON..=) "AllocationMinNetmaskLength"+                    Prelude.<$> allocationMinNetmaskLength,+                  (JSON..=) "AllocationResourceTags"+                    Prelude.<$> allocationResourceTags,+                  (JSON..=) "AutoImport" Prelude.<$> autoImport,+                  (JSON..=) "AwsService" Prelude.<$> awsService,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "Locale" Prelude.<$> locale,+                  (JSON..=) "ProvisionedCidrs" Prelude.<$> provisionedCidrs,+                  (JSON..=) "PublicIpSource" Prelude.<$> publicIpSource,+                  (JSON..=) "PubliclyAdvertisable" Prelude.<$> publiclyAdvertisable,+                  (JSON..=) "SourceIpamPoolId" Prelude.<$> sourceIpamPoolId,+                  (JSON..=) "SourceResource" Prelude.<$> sourceResource,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AddressFamily" IPAMPool where+  type PropertyType "AddressFamily" IPAMPool = Value Prelude.Text+  set newValue IPAMPool {..}+    = IPAMPool {addressFamily = newValue, ..}+instance Property "AllocationDefaultNetmaskLength" IPAMPool where+  type PropertyType "AllocationDefaultNetmaskLength" IPAMPool = Value Prelude.Integer+  set newValue IPAMPool {..}+    = IPAMPool+        {allocationDefaultNetmaskLength = Prelude.pure newValue, ..}+instance Property "AllocationMaxNetmaskLength" IPAMPool where+  type PropertyType "AllocationMaxNetmaskLength" IPAMPool = Value Prelude.Integer+  set newValue IPAMPool {..}+    = IPAMPool {allocationMaxNetmaskLength = Prelude.pure newValue, ..}+instance Property "AllocationMinNetmaskLength" IPAMPool where+  type PropertyType "AllocationMinNetmaskLength" IPAMPool = Value Prelude.Integer+  set newValue IPAMPool {..}+    = IPAMPool {allocationMinNetmaskLength = Prelude.pure newValue, ..}+instance Property "AllocationResourceTags" IPAMPool where+  type PropertyType "AllocationResourceTags" IPAMPool = [Tag]+  set newValue IPAMPool {..}+    = IPAMPool {allocationResourceTags = Prelude.pure newValue, ..}+instance Property "AutoImport" IPAMPool where+  type PropertyType "AutoImport" IPAMPool = Value Prelude.Bool+  set newValue IPAMPool {..}+    = IPAMPool {autoImport = Prelude.pure newValue, ..}+instance Property "AwsService" IPAMPool where+  type PropertyType "AwsService" IPAMPool = Value Prelude.Text+  set newValue IPAMPool {..}+    = IPAMPool {awsService = Prelude.pure newValue, ..}+instance Property "Description" IPAMPool where+  type PropertyType "Description" IPAMPool = Value Prelude.Text+  set newValue IPAMPool {..}+    = IPAMPool {description = Prelude.pure newValue, ..}+instance Property "IpamScopeId" IPAMPool where+  type PropertyType "IpamScopeId" IPAMPool = Value Prelude.Text+  set newValue IPAMPool {..} = IPAMPool {ipamScopeId = newValue, ..}+instance Property "Locale" IPAMPool where+  type PropertyType "Locale" IPAMPool = Value Prelude.Text+  set newValue IPAMPool {..}+    = IPAMPool {locale = Prelude.pure newValue, ..}+instance Property "ProvisionedCidrs" IPAMPool where+  type PropertyType "ProvisionedCidrs" IPAMPool = [ProvisionedCidrProperty]+  set newValue IPAMPool {..}+    = IPAMPool {provisionedCidrs = Prelude.pure newValue, ..}+instance Property "PublicIpSource" IPAMPool where+  type PropertyType "PublicIpSource" IPAMPool = Value Prelude.Text+  set newValue IPAMPool {..}+    = IPAMPool {publicIpSource = Prelude.pure newValue, ..}+instance Property "PubliclyAdvertisable" IPAMPool where+  type PropertyType "PubliclyAdvertisable" IPAMPool = Value Prelude.Bool+  set newValue IPAMPool {..}+    = IPAMPool {publiclyAdvertisable = Prelude.pure newValue, ..}+instance Property "SourceIpamPoolId" IPAMPool where+  type PropertyType "SourceIpamPoolId" IPAMPool = Value Prelude.Text+  set newValue IPAMPool {..}+    = IPAMPool {sourceIpamPoolId = Prelude.pure newValue, ..}+instance Property "SourceResource" IPAMPool where+  type PropertyType "SourceResource" IPAMPool = SourceResourceProperty+  set newValue IPAMPool {..}+    = IPAMPool {sourceResource = Prelude.pure newValue, ..}+instance Property "Tags" IPAMPool where+  type PropertyType "Tags" IPAMPool = [Tag]+  set newValue IPAMPool {..}+    = IPAMPool {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/IPAMPool/ProvisionedCidrProperty.hs view
@@ -0,0 +1,30 @@+module Stratosphere.EC2.IPAMPool.ProvisionedCidrProperty (+        ProvisionedCidrProperty(..), mkProvisionedCidrProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ProvisionedCidrProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-provisionedcidr.html>+    ProvisionedCidrProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-provisionedcidr.html#cfn-ec2-ipampool-provisionedcidr-cidr>+                             cidr :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkProvisionedCidrProperty ::+  Value Prelude.Text -> ProvisionedCidrProperty+mkProvisionedCidrProperty cidr+  = ProvisionedCidrProperty {haddock_workaround_ = (), cidr = cidr}+instance ToResourceProperties ProvisionedCidrProperty where+  toResourceProperties ProvisionedCidrProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMPool.ProvisionedCidr",+         supportsTags = Prelude.False, properties = ["Cidr" JSON..= cidr]}+instance JSON.ToJSON ProvisionedCidrProperty where+  toJSON ProvisionedCidrProperty {..}+    = JSON.object ["Cidr" JSON..= cidr]+instance Property "Cidr" ProvisionedCidrProperty where+  type PropertyType "Cidr" ProvisionedCidrProperty = Value Prelude.Text+  set newValue ProvisionedCidrProperty {..}+    = ProvisionedCidrProperty {cidr = newValue, ..}
+ gen/Stratosphere/EC2/IPAMPool/ProvisionedCidrProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.IPAMPool.ProvisionedCidrProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ProvisionedCidrProperty :: Prelude.Type+instance ToResourceProperties ProvisionedCidrProperty+instance Prelude.Eq ProvisionedCidrProperty+instance Prelude.Show ProvisionedCidrProperty+instance JSON.ToJSON ProvisionedCidrProperty
+ gen/Stratosphere/EC2/IPAMPool/SourceResourceProperty.hs view
@@ -0,0 +1,66 @@+module Stratosphere.EC2.IPAMPool.SourceResourceProperty (+        SourceResourceProperty(..), mkSourceResourceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SourceResourceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html>+    SourceResourceProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html#cfn-ec2-ipampool-sourceresource-resourceid>+                            resourceId :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html#cfn-ec2-ipampool-sourceresource-resourceowner>+                            resourceOwner :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html#cfn-ec2-ipampool-sourceresource-resourceregion>+                            resourceRegion :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipampool-sourceresource.html#cfn-ec2-ipampool-sourceresource-resourcetype>+                            resourceType :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSourceResourceProperty ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> Value Prelude.Text -> SourceResourceProperty+mkSourceResourceProperty+  resourceId+  resourceOwner+  resourceRegion+  resourceType+  = SourceResourceProperty+      {haddock_workaround_ = (), resourceId = resourceId,+       resourceOwner = resourceOwner, resourceRegion = resourceRegion,+       resourceType = resourceType}+instance ToResourceProperties SourceResourceProperty where+  toResourceProperties SourceResourceProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMPool.SourceResource",+         supportsTags = Prelude.False,+         properties = ["ResourceId" JSON..= resourceId,+                       "ResourceOwner" JSON..= resourceOwner,+                       "ResourceRegion" JSON..= resourceRegion,+                       "ResourceType" JSON..= resourceType]}+instance JSON.ToJSON SourceResourceProperty where+  toJSON SourceResourceProperty {..}+    = JSON.object+        ["ResourceId" JSON..= resourceId,+         "ResourceOwner" JSON..= resourceOwner,+         "ResourceRegion" JSON..= resourceRegion,+         "ResourceType" JSON..= resourceType]+instance Property "ResourceId" SourceResourceProperty where+  type PropertyType "ResourceId" SourceResourceProperty = Value Prelude.Text+  set newValue SourceResourceProperty {..}+    = SourceResourceProperty {resourceId = newValue, ..}+instance Property "ResourceOwner" SourceResourceProperty where+  type PropertyType "ResourceOwner" SourceResourceProperty = Value Prelude.Text+  set newValue SourceResourceProperty {..}+    = SourceResourceProperty {resourceOwner = newValue, ..}+instance Property "ResourceRegion" SourceResourceProperty where+  type PropertyType "ResourceRegion" SourceResourceProperty = Value Prelude.Text+  set newValue SourceResourceProperty {..}+    = SourceResourceProperty {resourceRegion = newValue, ..}+instance Property "ResourceType" SourceResourceProperty where+  type PropertyType "ResourceType" SourceResourceProperty = Value Prelude.Text+  set newValue SourceResourceProperty {..}+    = SourceResourceProperty {resourceType = newValue, ..}
+ gen/Stratosphere/EC2/IPAMPool/SourceResourceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.IPAMPool.SourceResourceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SourceResourceProperty :: Prelude.Type+instance ToResourceProperties SourceResourceProperty+instance Prelude.Eq SourceResourceProperty+instance Prelude.Show SourceResourceProperty+instance JSON.ToJSON SourceResourceProperty
+ gen/Stratosphere/EC2/IPAMPoolCidr.hs view
@@ -0,0 +1,54 @@+module Stratosphere.EC2.IPAMPoolCidr (+        IPAMPoolCidr(..), mkIPAMPoolCidr+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IPAMPoolCidr+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html>+    IPAMPoolCidr {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html#cfn-ec2-ipampoolcidr-cidr>+                  cidr :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html#cfn-ec2-ipampoolcidr-ipampoolid>+                  ipamPoolId :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipampoolcidr.html#cfn-ec2-ipampoolcidr-netmasklength>+                  netmaskLength :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIPAMPoolCidr :: Value Prelude.Text -> IPAMPoolCidr+mkIPAMPoolCidr ipamPoolId+  = IPAMPoolCidr+      {haddock_workaround_ = (), ipamPoolId = ipamPoolId,+       cidr = Prelude.Nothing, netmaskLength = Prelude.Nothing}+instance ToResourceProperties IPAMPoolCidr where+  toResourceProperties IPAMPoolCidr {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMPoolCidr", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IpamPoolId" JSON..= ipamPoolId]+                           (Prelude.catMaybes+                              [(JSON..=) "Cidr" Prelude.<$> cidr,+                               (JSON..=) "NetmaskLength" Prelude.<$> netmaskLength]))}+instance JSON.ToJSON IPAMPoolCidr where+  toJSON IPAMPoolCidr {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IpamPoolId" JSON..= ipamPoolId]+              (Prelude.catMaybes+                 [(JSON..=) "Cidr" Prelude.<$> cidr,+                  (JSON..=) "NetmaskLength" Prelude.<$> netmaskLength])))+instance Property "Cidr" IPAMPoolCidr where+  type PropertyType "Cidr" IPAMPoolCidr = Value Prelude.Text+  set newValue IPAMPoolCidr {..}+    = IPAMPoolCidr {cidr = Prelude.pure newValue, ..}+instance Property "IpamPoolId" IPAMPoolCidr where+  type PropertyType "IpamPoolId" IPAMPoolCidr = Value Prelude.Text+  set newValue IPAMPoolCidr {..}+    = IPAMPoolCidr {ipamPoolId = newValue, ..}+instance Property "NetmaskLength" IPAMPoolCidr where+  type PropertyType "NetmaskLength" IPAMPoolCidr = Value Prelude.Integer+  set newValue IPAMPoolCidr {..}+    = IPAMPoolCidr {netmaskLength = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/IPAMResourceDiscovery.hs view
@@ -0,0 +1,70 @@+module Stratosphere.EC2.IPAMResourceDiscovery (+        module Exports, IPAMResourceDiscovery(..), mkIPAMResourceDiscovery+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.IPAMResourceDiscovery.IpamOperatingRegionProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data IPAMResourceDiscovery+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html>+    IPAMResourceDiscovery {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html#cfn-ec2-ipamresourcediscovery-description>+                           description :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html#cfn-ec2-ipamresourcediscovery-operatingregions>+                           operatingRegions :: (Prelude.Maybe [IpamOperatingRegionProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html#cfn-ec2-ipamresourcediscovery-organizationalunitexclusions>+                           organizationalUnitExclusions :: (Prelude.Maybe [IpamResourceDiscoveryOrganizationalUnitExclusionProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html#cfn-ec2-ipamresourcediscovery-tags>+                           tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIPAMResourceDiscovery :: IPAMResourceDiscovery+mkIPAMResourceDiscovery+  = IPAMResourceDiscovery+      {haddock_workaround_ = (), description = Prelude.Nothing,+       operatingRegions = Prelude.Nothing,+       organizationalUnitExclusions = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties IPAMResourceDiscovery where+  toResourceProperties IPAMResourceDiscovery {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMResourceDiscovery",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "OperatingRegions" Prelude.<$> operatingRegions,+                            (JSON..=) "OrganizationalUnitExclusions"+                              Prelude.<$> organizationalUnitExclusions,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON IPAMResourceDiscovery where+  toJSON IPAMResourceDiscovery {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "OperatingRegions" Prelude.<$> operatingRegions,+               (JSON..=) "OrganizationalUnitExclusions"+                 Prelude.<$> organizationalUnitExclusions,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "Description" IPAMResourceDiscovery where+  type PropertyType "Description" IPAMResourceDiscovery = Value Prelude.Text+  set newValue IPAMResourceDiscovery {..}+    = IPAMResourceDiscovery {description = Prelude.pure newValue, ..}+instance Property "OperatingRegions" IPAMResourceDiscovery where+  type PropertyType "OperatingRegions" IPAMResourceDiscovery = [IpamOperatingRegionProperty]+  set newValue IPAMResourceDiscovery {..}+    = IPAMResourceDiscovery+        {operatingRegions = Prelude.pure newValue, ..}+instance Property "OrganizationalUnitExclusions" IPAMResourceDiscovery where+  type PropertyType "OrganizationalUnitExclusions" IPAMResourceDiscovery = [IpamResourceDiscoveryOrganizationalUnitExclusionProperty]+  set newValue IPAMResourceDiscovery {..}+    = IPAMResourceDiscovery+        {organizationalUnitExclusions = Prelude.pure newValue, ..}+instance Property "Tags" IPAMResourceDiscovery where+  type PropertyType "Tags" IPAMResourceDiscovery = [Tag]+  set newValue IPAMResourceDiscovery {..}+    = IPAMResourceDiscovery {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/IPAMResourceDiscovery/IpamOperatingRegionProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.EC2.IPAMResourceDiscovery.IpamOperatingRegionProperty (+        IpamOperatingRegionProperty(..), mkIpamOperatingRegionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IpamOperatingRegionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipamresourcediscovery-ipamoperatingregion.html>+    IpamOperatingRegionProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipamresourcediscovery-ipamoperatingregion.html#cfn-ec2-ipamresourcediscovery-ipamoperatingregion-regionname>+                                 regionName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpamOperatingRegionProperty ::+  Value Prelude.Text -> IpamOperatingRegionProperty+mkIpamOperatingRegionProperty regionName+  = IpamOperatingRegionProperty+      {haddock_workaround_ = (), regionName = regionName}+instance ToResourceProperties IpamOperatingRegionProperty where+  toResourceProperties IpamOperatingRegionProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMResourceDiscovery.IpamOperatingRegion",+         supportsTags = Prelude.False,+         properties = ["RegionName" JSON..= regionName]}+instance JSON.ToJSON IpamOperatingRegionProperty where+  toJSON IpamOperatingRegionProperty {..}+    = JSON.object ["RegionName" JSON..= regionName]+instance Property "RegionName" IpamOperatingRegionProperty where+  type PropertyType "RegionName" IpamOperatingRegionProperty = Value Prelude.Text+  set newValue IpamOperatingRegionProperty {..}+    = IpamOperatingRegionProperty {regionName = newValue, ..}
+ gen/Stratosphere/EC2/IPAMResourceDiscovery/IpamOperatingRegionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.IPAMResourceDiscovery.IpamOperatingRegionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IpamOperatingRegionProperty :: Prelude.Type+instance ToResourceProperties IpamOperatingRegionProperty+instance Prelude.Eq IpamOperatingRegionProperty+instance Prelude.Show IpamOperatingRegionProperty+instance JSON.ToJSON IpamOperatingRegionProperty
+ gen/Stratosphere/EC2/IPAMResourceDiscovery/IpamResourceDiscoveryOrganizationalUnitExclusionProperty.hs view
@@ -0,0 +1,43 @@+module Stratosphere.EC2.IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusionProperty (+        IpamResourceDiscoveryOrganizationalUnitExclusionProperty(..),+        mkIpamResourceDiscoveryOrganizationalUnitExclusionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IpamResourceDiscoveryOrganizationalUnitExclusionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipamresourcediscovery-ipamresourcediscoveryorganizationalunitexclusion.html>+    IpamResourceDiscoveryOrganizationalUnitExclusionProperty {haddock_workaround_ :: (),+                                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipamresourcediscovery-ipamresourcediscoveryorganizationalunitexclusion.html#cfn-ec2-ipamresourcediscovery-ipamresourcediscoveryorganizationalunitexclusion-organizationsentitypath>+                                                              organizationsEntityPath :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpamResourceDiscoveryOrganizationalUnitExclusionProperty ::+  Value Prelude.Text+  -> IpamResourceDiscoveryOrganizationalUnitExclusionProperty+mkIpamResourceDiscoveryOrganizationalUnitExclusionProperty+  organizationsEntityPath+  = IpamResourceDiscoveryOrganizationalUnitExclusionProperty+      {haddock_workaround_ = (),+       organizationsEntityPath = organizationsEntityPath}+instance ToResourceProperties IpamResourceDiscoveryOrganizationalUnitExclusionProperty where+  toResourceProperties+    IpamResourceDiscoveryOrganizationalUnitExclusionProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusion",+         supportsTags = Prelude.False,+         properties = ["OrganizationsEntityPath"+                         JSON..= organizationsEntityPath]}+instance JSON.ToJSON IpamResourceDiscoveryOrganizationalUnitExclusionProperty where+  toJSON+    IpamResourceDiscoveryOrganizationalUnitExclusionProperty {..}+    = JSON.object+        ["OrganizationsEntityPath" JSON..= organizationsEntityPath]+instance Property "OrganizationsEntityPath" IpamResourceDiscoveryOrganizationalUnitExclusionProperty where+  type PropertyType "OrganizationsEntityPath" IpamResourceDiscoveryOrganizationalUnitExclusionProperty = Value Prelude.Text+  set+    newValue+    IpamResourceDiscoveryOrganizationalUnitExclusionProperty {..}+    = IpamResourceDiscoveryOrganizationalUnitExclusionProperty+        {organizationsEntityPath = newValue, ..}
+ gen/Stratosphere/EC2/IPAMResourceDiscovery/IpamResourceDiscoveryOrganizationalUnitExclusionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IpamResourceDiscoveryOrganizationalUnitExclusionProperty :: Prelude.Type+instance ToResourceProperties IpamResourceDiscoveryOrganizationalUnitExclusionProperty+instance Prelude.Eq IpamResourceDiscoveryOrganizationalUnitExclusionProperty+instance Prelude.Show IpamResourceDiscoveryOrganizationalUnitExclusionProperty+instance JSON.ToJSON IpamResourceDiscoveryOrganizationalUnitExclusionProperty
+ gen/Stratosphere/EC2/IPAMResourceDiscoveryAssociation.hs view
@@ -0,0 +1,60 @@+module Stratosphere.EC2.IPAMResourceDiscoveryAssociation (+        IPAMResourceDiscoveryAssociation(..),+        mkIPAMResourceDiscoveryAssociation+    ) 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 IPAMResourceDiscoveryAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html>+    IPAMResourceDiscoveryAssociation {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html#cfn-ec2-ipamresourcediscoveryassociation-ipamid>+                                      ipamId :: (Value Prelude.Text),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html#cfn-ec2-ipamresourcediscoveryassociation-ipamresourcediscoveryid>+                                      ipamResourceDiscoveryId :: (Value Prelude.Text),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscoveryassociation.html#cfn-ec2-ipamresourcediscoveryassociation-tags>+                                      tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIPAMResourceDiscoveryAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> IPAMResourceDiscoveryAssociation+mkIPAMResourceDiscoveryAssociation ipamId ipamResourceDiscoveryId+  = IPAMResourceDiscoveryAssociation+      {haddock_workaround_ = (), ipamId = ipamId,+       ipamResourceDiscoveryId = ipamResourceDiscoveryId,+       tags = Prelude.Nothing}+instance ToResourceProperties IPAMResourceDiscoveryAssociation where+  toResourceProperties IPAMResourceDiscoveryAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMResourceDiscoveryAssociation",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IpamId" JSON..= ipamId,+                            "IpamResourceDiscoveryId" JSON..= ipamResourceDiscoveryId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON IPAMResourceDiscoveryAssociation where+  toJSON IPAMResourceDiscoveryAssociation {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IpamId" JSON..= ipamId,+               "IpamResourceDiscoveryId" JSON..= ipamResourceDiscoveryId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "IpamId" IPAMResourceDiscoveryAssociation where+  type PropertyType "IpamId" IPAMResourceDiscoveryAssociation = Value Prelude.Text+  set newValue IPAMResourceDiscoveryAssociation {..}+    = IPAMResourceDiscoveryAssociation {ipamId = newValue, ..}+instance Property "IpamResourceDiscoveryId" IPAMResourceDiscoveryAssociation where+  type PropertyType "IpamResourceDiscoveryId" IPAMResourceDiscoveryAssociation = Value Prelude.Text+  set newValue IPAMResourceDiscoveryAssociation {..}+    = IPAMResourceDiscoveryAssociation+        {ipamResourceDiscoveryId = newValue, ..}+instance Property "Tags" IPAMResourceDiscoveryAssociation where+  type PropertyType "Tags" IPAMResourceDiscoveryAssociation = [Tag]+  set newValue IPAMResourceDiscoveryAssociation {..}+    = IPAMResourceDiscoveryAssociation+        {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/IPAMScope.hs view
@@ -0,0 +1,54 @@+module Stratosphere.EC2.IPAMScope (+        IPAMScope(..), mkIPAMScope+    ) 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 IPAMScope+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html>+    IPAMScope {haddock_workaround_ :: (),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html#cfn-ec2-ipamscope-description>+               description :: (Prelude.Maybe (Value Prelude.Text)),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html#cfn-ec2-ipamscope-ipamid>+               ipamId :: (Value Prelude.Text),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamscope.html#cfn-ec2-ipamscope-tags>+               tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIPAMScope :: Value Prelude.Text -> IPAMScope+mkIPAMScope ipamId+  = IPAMScope+      {haddock_workaround_ = (), ipamId = ipamId,+       description = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties IPAMScope where+  toResourceProperties IPAMScope {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IPAMScope", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IpamId" JSON..= ipamId]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON IPAMScope where+  toJSON IPAMScope {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IpamId" JSON..= ipamId]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Description" IPAMScope where+  type PropertyType "Description" IPAMScope = Value Prelude.Text+  set newValue IPAMScope {..}+    = IPAMScope {description = Prelude.pure newValue, ..}+instance Property "IpamId" IPAMScope where+  type PropertyType "IpamId" IPAMScope = Value Prelude.Text+  set newValue IPAMScope {..} = IPAMScope {ipamId = newValue, ..}+instance Property "Tags" IPAMScope where+  type PropertyType "Tags" IPAMScope = [Tag]+  set newValue IPAMScope {..}+    = IPAMScope {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance.hs view
@@ -0,0 +1,417 @@+module Stratosphere.EC2.Instance (+        module Exports, Instance(..), mkInstance+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.Instance.BlockDeviceMappingProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.CpuOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.CreditSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.ElasticGpuSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.ElasticInferenceAcceleratorProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.EnclaveOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.HibernationOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.InstanceIpv6AddressProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.LaunchTemplateSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.LicenseSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.MetadataOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.NetworkInterfaceProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.PrivateDnsNameOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.SsmAssociationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.VolumeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Instance+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html>+    Instance {haddock_workaround_ :: (),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-additionalinfo>+              additionalInfo :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-affinity>+              affinity :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-availabilityzone>+              availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-blockdevicemappings>+              blockDeviceMappings :: (Prelude.Maybe [BlockDeviceMappingProperty]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-cpuoptions>+              cpuOptions :: (Prelude.Maybe CpuOptionsProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-creditspecification>+              creditSpecification :: (Prelude.Maybe CreditSpecificationProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-disableapitermination>+              disableApiTermination :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ebsoptimized>+              ebsOptimized :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-elasticgpuspecifications>+              elasticGpuSpecifications :: (Prelude.Maybe [ElasticGpuSpecificationProperty]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-elasticinferenceaccelerators>+              elasticInferenceAccelerators :: (Prelude.Maybe [ElasticInferenceAcceleratorProperty]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-enclaveoptions>+              enclaveOptions :: (Prelude.Maybe EnclaveOptionsProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-hibernationoptions>+              hibernationOptions :: (Prelude.Maybe HibernationOptionsProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-hostid>+              hostId :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-hostresourcegrouparn>+              hostResourceGroupArn :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-iaminstanceprofile>+              iamInstanceProfile :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-imageid>+              imageId :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-instanceinitiatedshutdownbehavior>+              instanceInitiatedShutdownBehavior :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-instancetype>+              instanceType :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ipv6addresscount>+              ipv6AddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ipv6addresses>+              ipv6Addresses :: (Prelude.Maybe [InstanceIpv6AddressProperty]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-kernelid>+              kernelId :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-keyname>+              keyName :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-launchtemplate>+              launchTemplate :: (Prelude.Maybe LaunchTemplateSpecificationProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-licensespecifications>+              licenseSpecifications :: (Prelude.Maybe [LicenseSpecificationProperty]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-metadataoptions>+              metadataOptions :: (Prelude.Maybe MetadataOptionsProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-monitoring>+              monitoring :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-networkinterfaces>+              networkInterfaces :: (Prelude.Maybe [NetworkInterfaceProperty]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-placementgroupname>+              placementGroupName :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-privatednsnameoptions>+              privateDnsNameOptions :: (Prelude.Maybe PrivateDnsNameOptionsProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-privateipaddress>+              privateIpAddress :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-propagatetagstovolumeoncreation>+              propagateTagsToVolumeOnCreation :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ramdiskid>+              ramdiskId :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-securitygroupids>+              securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-securitygroups>+              securityGroups :: (Prelude.Maybe (ValueList Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-sourcedestcheck>+              sourceDestCheck :: (Prelude.Maybe (Value Prelude.Bool)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-ssmassociations>+              ssmAssociations :: (Prelude.Maybe [SsmAssociationProperty]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-subnetid>+              subnetId :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-tags>+              tags :: (Prelude.Maybe [Tag]),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-tenancy>+              tenancy :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-userdata>+              userData :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-volumes>+              volumes :: (Prelude.Maybe [VolumeProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstance :: Instance+mkInstance+  = Instance+      {haddock_workaround_ = (), additionalInfo = Prelude.Nothing,+       affinity = Prelude.Nothing, availabilityZone = Prelude.Nothing,+       blockDeviceMappings = Prelude.Nothing,+       cpuOptions = Prelude.Nothing,+       creditSpecification = Prelude.Nothing,+       disableApiTermination = Prelude.Nothing,+       ebsOptimized = Prelude.Nothing,+       elasticGpuSpecifications = Prelude.Nothing,+       elasticInferenceAccelerators = Prelude.Nothing,+       enclaveOptions = Prelude.Nothing,+       hibernationOptions = Prelude.Nothing, hostId = Prelude.Nothing,+       hostResourceGroupArn = Prelude.Nothing,+       iamInstanceProfile = Prelude.Nothing, imageId = Prelude.Nothing,+       instanceInitiatedShutdownBehavior = Prelude.Nothing,+       instanceType = Prelude.Nothing, ipv6AddressCount = Prelude.Nothing,+       ipv6Addresses = Prelude.Nothing, kernelId = Prelude.Nothing,+       keyName = Prelude.Nothing, launchTemplate = Prelude.Nothing,+       licenseSpecifications = Prelude.Nothing,+       metadataOptions = Prelude.Nothing, monitoring = Prelude.Nothing,+       networkInterfaces = Prelude.Nothing,+       placementGroupName = Prelude.Nothing,+       privateDnsNameOptions = Prelude.Nothing,+       privateIpAddress = Prelude.Nothing,+       propagateTagsToVolumeOnCreation = Prelude.Nothing,+       ramdiskId = Prelude.Nothing, securityGroupIds = Prelude.Nothing,+       securityGroups = Prelude.Nothing,+       sourceDestCheck = Prelude.Nothing,+       ssmAssociations = Prelude.Nothing, subnetId = Prelude.Nothing,+       tags = Prelude.Nothing, tenancy = Prelude.Nothing,+       userData = Prelude.Nothing, volumes = Prelude.Nothing}+instance ToResourceProperties Instance where+  toResourceProperties Instance {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AdditionalInfo" Prelude.<$> additionalInfo,+                            (JSON..=) "Affinity" Prelude.<$> affinity,+                            (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                            (JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+                            (JSON..=) "CpuOptions" Prelude.<$> cpuOptions,+                            (JSON..=) "CreditSpecification" Prelude.<$> creditSpecification,+                            (JSON..=) "DisableApiTermination"+                              Prelude.<$> disableApiTermination,+                            (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+                            (JSON..=) "ElasticGpuSpecifications"+                              Prelude.<$> elasticGpuSpecifications,+                            (JSON..=) "ElasticInferenceAccelerators"+                              Prelude.<$> elasticInferenceAccelerators,+                            (JSON..=) "EnclaveOptions" Prelude.<$> enclaveOptions,+                            (JSON..=) "HibernationOptions" Prelude.<$> hibernationOptions,+                            (JSON..=) "HostId" Prelude.<$> hostId,+                            (JSON..=) "HostResourceGroupArn" Prelude.<$> hostResourceGroupArn,+                            (JSON..=) "IamInstanceProfile" Prelude.<$> iamInstanceProfile,+                            (JSON..=) "ImageId" Prelude.<$> imageId,+                            (JSON..=) "InstanceInitiatedShutdownBehavior"+                              Prelude.<$> instanceInitiatedShutdownBehavior,+                            (JSON..=) "InstanceType" Prelude.<$> instanceType,+                            (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+                            (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+                            (JSON..=) "KernelId" Prelude.<$> kernelId,+                            (JSON..=) "KeyName" Prelude.<$> keyName,+                            (JSON..=) "LaunchTemplate" Prelude.<$> launchTemplate,+                            (JSON..=) "LicenseSpecifications"+                              Prelude.<$> licenseSpecifications,+                            (JSON..=) "MetadataOptions" Prelude.<$> metadataOptions,+                            (JSON..=) "Monitoring" Prelude.<$> monitoring,+                            (JSON..=) "NetworkInterfaces" Prelude.<$> networkInterfaces,+                            (JSON..=) "PlacementGroupName" Prelude.<$> placementGroupName,+                            (JSON..=) "PrivateDnsNameOptions"+                              Prelude.<$> privateDnsNameOptions,+                            (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+                            (JSON..=) "PropagateTagsToVolumeOnCreation"+                              Prelude.<$> propagateTagsToVolumeOnCreation,+                            (JSON..=) "RamdiskId" Prelude.<$> ramdiskId,+                            (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                            (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+                            (JSON..=) "SourceDestCheck" Prelude.<$> sourceDestCheck,+                            (JSON..=) "SsmAssociations" Prelude.<$> ssmAssociations,+                            (JSON..=) "SubnetId" Prelude.<$> subnetId,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "Tenancy" Prelude.<$> tenancy,+                            (JSON..=) "UserData" Prelude.<$> userData,+                            (JSON..=) "Volumes" Prelude.<$> volumes])}+instance JSON.ToJSON Instance where+  toJSON Instance {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AdditionalInfo" Prelude.<$> additionalInfo,+               (JSON..=) "Affinity" Prelude.<$> affinity,+               (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+               (JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+               (JSON..=) "CpuOptions" Prelude.<$> cpuOptions,+               (JSON..=) "CreditSpecification" Prelude.<$> creditSpecification,+               (JSON..=) "DisableApiTermination"+                 Prelude.<$> disableApiTermination,+               (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+               (JSON..=) "ElasticGpuSpecifications"+                 Prelude.<$> elasticGpuSpecifications,+               (JSON..=) "ElasticInferenceAccelerators"+                 Prelude.<$> elasticInferenceAccelerators,+               (JSON..=) "EnclaveOptions" Prelude.<$> enclaveOptions,+               (JSON..=) "HibernationOptions" Prelude.<$> hibernationOptions,+               (JSON..=) "HostId" Prelude.<$> hostId,+               (JSON..=) "HostResourceGroupArn" Prelude.<$> hostResourceGroupArn,+               (JSON..=) "IamInstanceProfile" Prelude.<$> iamInstanceProfile,+               (JSON..=) "ImageId" Prelude.<$> imageId,+               (JSON..=) "InstanceInitiatedShutdownBehavior"+                 Prelude.<$> instanceInitiatedShutdownBehavior,+               (JSON..=) "InstanceType" Prelude.<$> instanceType,+               (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+               (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+               (JSON..=) "KernelId" Prelude.<$> kernelId,+               (JSON..=) "KeyName" Prelude.<$> keyName,+               (JSON..=) "LaunchTemplate" Prelude.<$> launchTemplate,+               (JSON..=) "LicenseSpecifications"+                 Prelude.<$> licenseSpecifications,+               (JSON..=) "MetadataOptions" Prelude.<$> metadataOptions,+               (JSON..=) "Monitoring" Prelude.<$> monitoring,+               (JSON..=) "NetworkInterfaces" Prelude.<$> networkInterfaces,+               (JSON..=) "PlacementGroupName" Prelude.<$> placementGroupName,+               (JSON..=) "PrivateDnsNameOptions"+                 Prelude.<$> privateDnsNameOptions,+               (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+               (JSON..=) "PropagateTagsToVolumeOnCreation"+                 Prelude.<$> propagateTagsToVolumeOnCreation,+               (JSON..=) "RamdiskId" Prelude.<$> ramdiskId,+               (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+               (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+               (JSON..=) "SourceDestCheck" Prelude.<$> sourceDestCheck,+               (JSON..=) "SsmAssociations" Prelude.<$> ssmAssociations,+               (JSON..=) "SubnetId" Prelude.<$> subnetId,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "Tenancy" Prelude.<$> tenancy,+               (JSON..=) "UserData" Prelude.<$> userData,+               (JSON..=) "Volumes" Prelude.<$> volumes]))+instance Property "AdditionalInfo" Instance where+  type PropertyType "AdditionalInfo" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {additionalInfo = Prelude.pure newValue, ..}+instance Property "Affinity" Instance where+  type PropertyType "Affinity" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {affinity = Prelude.pure newValue, ..}+instance Property "AvailabilityZone" Instance where+  type PropertyType "AvailabilityZone" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {availabilityZone = Prelude.pure newValue, ..}+instance Property "BlockDeviceMappings" Instance where+  type PropertyType "BlockDeviceMappings" Instance = [BlockDeviceMappingProperty]+  set newValue Instance {..}+    = Instance {blockDeviceMappings = Prelude.pure newValue, ..}+instance Property "CpuOptions" Instance where+  type PropertyType "CpuOptions" Instance = CpuOptionsProperty+  set newValue Instance {..}+    = Instance {cpuOptions = Prelude.pure newValue, ..}+instance Property "CreditSpecification" Instance where+  type PropertyType "CreditSpecification" Instance = CreditSpecificationProperty+  set newValue Instance {..}+    = Instance {creditSpecification = Prelude.pure newValue, ..}+instance Property "DisableApiTermination" Instance where+  type PropertyType "DisableApiTermination" Instance = Value Prelude.Bool+  set newValue Instance {..}+    = Instance {disableApiTermination = Prelude.pure newValue, ..}+instance Property "EbsOptimized" Instance where+  type PropertyType "EbsOptimized" Instance = Value Prelude.Bool+  set newValue Instance {..}+    = Instance {ebsOptimized = Prelude.pure newValue, ..}+instance Property "ElasticGpuSpecifications" Instance where+  type PropertyType "ElasticGpuSpecifications" Instance = [ElasticGpuSpecificationProperty]+  set newValue Instance {..}+    = Instance {elasticGpuSpecifications = Prelude.pure newValue, ..}+instance Property "ElasticInferenceAccelerators" Instance where+  type PropertyType "ElasticInferenceAccelerators" Instance = [ElasticInferenceAcceleratorProperty]+  set newValue Instance {..}+    = Instance+        {elasticInferenceAccelerators = Prelude.pure newValue, ..}+instance Property "EnclaveOptions" Instance where+  type PropertyType "EnclaveOptions" Instance = EnclaveOptionsProperty+  set newValue Instance {..}+    = Instance {enclaveOptions = Prelude.pure newValue, ..}+instance Property "HibernationOptions" Instance where+  type PropertyType "HibernationOptions" Instance = HibernationOptionsProperty+  set newValue Instance {..}+    = Instance {hibernationOptions = Prelude.pure newValue, ..}+instance Property "HostId" Instance where+  type PropertyType "HostId" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {hostId = Prelude.pure newValue, ..}+instance Property "HostResourceGroupArn" Instance where+  type PropertyType "HostResourceGroupArn" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {hostResourceGroupArn = Prelude.pure newValue, ..}+instance Property "IamInstanceProfile" Instance where+  type PropertyType "IamInstanceProfile" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {iamInstanceProfile = Prelude.pure newValue, ..}+instance Property "ImageId" Instance where+  type PropertyType "ImageId" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {imageId = Prelude.pure newValue, ..}+instance Property "InstanceInitiatedShutdownBehavior" Instance where+  type PropertyType "InstanceInitiatedShutdownBehavior" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance+        {instanceInitiatedShutdownBehavior = Prelude.pure newValue, ..}+instance Property "InstanceType" Instance where+  type PropertyType "InstanceType" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {instanceType = Prelude.pure newValue, ..}+instance Property "Ipv6AddressCount" Instance where+  type PropertyType "Ipv6AddressCount" Instance = Value Prelude.Integer+  set newValue Instance {..}+    = Instance {ipv6AddressCount = Prelude.pure newValue, ..}+instance Property "Ipv6Addresses" Instance where+  type PropertyType "Ipv6Addresses" Instance = [InstanceIpv6AddressProperty]+  set newValue Instance {..}+    = Instance {ipv6Addresses = Prelude.pure newValue, ..}+instance Property "KernelId" Instance where+  type PropertyType "KernelId" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {kernelId = Prelude.pure newValue, ..}+instance Property "KeyName" Instance where+  type PropertyType "KeyName" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {keyName = Prelude.pure newValue, ..}+instance Property "LaunchTemplate" Instance where+  type PropertyType "LaunchTemplate" Instance = LaunchTemplateSpecificationProperty+  set newValue Instance {..}+    = Instance {launchTemplate = Prelude.pure newValue, ..}+instance Property "LicenseSpecifications" Instance where+  type PropertyType "LicenseSpecifications" Instance = [LicenseSpecificationProperty]+  set newValue Instance {..}+    = Instance {licenseSpecifications = Prelude.pure newValue, ..}+instance Property "MetadataOptions" Instance where+  type PropertyType "MetadataOptions" Instance = MetadataOptionsProperty+  set newValue Instance {..}+    = Instance {metadataOptions = Prelude.pure newValue, ..}+instance Property "Monitoring" Instance where+  type PropertyType "Monitoring" Instance = Value Prelude.Bool+  set newValue Instance {..}+    = Instance {monitoring = Prelude.pure newValue, ..}+instance Property "NetworkInterfaces" Instance where+  type PropertyType "NetworkInterfaces" Instance = [NetworkInterfaceProperty]+  set newValue Instance {..}+    = Instance {networkInterfaces = Prelude.pure newValue, ..}+instance Property "PlacementGroupName" Instance where+  type PropertyType "PlacementGroupName" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {placementGroupName = Prelude.pure newValue, ..}+instance Property "PrivateDnsNameOptions" Instance where+  type PropertyType "PrivateDnsNameOptions" Instance = PrivateDnsNameOptionsProperty+  set newValue Instance {..}+    = Instance {privateDnsNameOptions = Prelude.pure newValue, ..}+instance Property "PrivateIpAddress" Instance where+  type PropertyType "PrivateIpAddress" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {privateIpAddress = Prelude.pure newValue, ..}+instance Property "PropagateTagsToVolumeOnCreation" Instance where+  type PropertyType "PropagateTagsToVolumeOnCreation" Instance = Value Prelude.Bool+  set newValue Instance {..}+    = Instance+        {propagateTagsToVolumeOnCreation = Prelude.pure newValue, ..}+instance Property "RamdiskId" Instance where+  type PropertyType "RamdiskId" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {ramdiskId = Prelude.pure newValue, ..}+instance Property "SecurityGroupIds" Instance where+  type PropertyType "SecurityGroupIds" Instance = ValueList Prelude.Text+  set newValue Instance {..}+    = Instance {securityGroupIds = Prelude.pure newValue, ..}+instance Property "SecurityGroups" Instance where+  type PropertyType "SecurityGroups" Instance = ValueList Prelude.Text+  set newValue Instance {..}+    = Instance {securityGroups = Prelude.pure newValue, ..}+instance Property "SourceDestCheck" Instance where+  type PropertyType "SourceDestCheck" Instance = Value Prelude.Bool+  set newValue Instance {..}+    = Instance {sourceDestCheck = Prelude.pure newValue, ..}+instance Property "SsmAssociations" Instance where+  type PropertyType "SsmAssociations" Instance = [SsmAssociationProperty]+  set newValue Instance {..}+    = Instance {ssmAssociations = Prelude.pure newValue, ..}+instance Property "SubnetId" Instance where+  type PropertyType "SubnetId" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {subnetId = Prelude.pure newValue, ..}+instance Property "Tags" Instance where+  type PropertyType "Tags" Instance = [Tag]+  set newValue Instance {..}+    = Instance {tags = Prelude.pure newValue, ..}+instance Property "Tenancy" Instance where+  type PropertyType "Tenancy" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {tenancy = Prelude.pure newValue, ..}+instance Property "UserData" Instance where+  type PropertyType "UserData" Instance = Value Prelude.Text+  set newValue Instance {..}+    = Instance {userData = Prelude.pure newValue, ..}+instance Property "Volumes" Instance where+  type PropertyType "Volumes" Instance = [VolumeProperty]+  set newValue Instance {..}+    = Instance {volumes = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/AssociationParameterProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.Instance.AssociationParameterProperty (+        AssociationParameterProperty(..), mkAssociationParameterProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AssociationParameterProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-associationparameter.html>+    AssociationParameterProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-associationparameter.html#cfn-ec2-instance-associationparameter-key>+                                  key :: (Value Prelude.Text),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-associationparameter.html#cfn-ec2-instance-associationparameter-value>+                                  value :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAssociationParameterProperty ::+  Value Prelude.Text+  -> ValueList Prelude.Text -> AssociationParameterProperty+mkAssociationParameterProperty key value+  = AssociationParameterProperty+      {haddock_workaround_ = (), key = key, value = value}+instance ToResourceProperties AssociationParameterProperty where+  toResourceProperties AssociationParameterProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.AssociationParameter",+         supportsTags = Prelude.False,+         properties = ["Key" JSON..= key, "Value" JSON..= value]}+instance JSON.ToJSON AssociationParameterProperty where+  toJSON AssociationParameterProperty {..}+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]+instance Property "Key" AssociationParameterProperty where+  type PropertyType "Key" AssociationParameterProperty = Value Prelude.Text+  set newValue AssociationParameterProperty {..}+    = AssociationParameterProperty {key = newValue, ..}+instance Property "Value" AssociationParameterProperty where+  type PropertyType "Value" AssociationParameterProperty = ValueList Prelude.Text+  set newValue AssociationParameterProperty {..}+    = AssociationParameterProperty {value = newValue, ..}
+ gen/Stratosphere/EC2/Instance/AssociationParameterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.AssociationParameterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AssociationParameterProperty :: Prelude.Type+instance ToResourceProperties AssociationParameterProperty+instance Prelude.Eq AssociationParameterProperty+instance Prelude.Show AssociationParameterProperty+instance JSON.ToJSON AssociationParameterProperty
+ gen/Stratosphere/EC2/Instance/BlockDeviceMappingProperty.hs view
@@ -0,0 +1,68 @@+module Stratosphere.EC2.Instance.BlockDeviceMappingProperty (+        module Exports, BlockDeviceMappingProperty(..),+        mkBlockDeviceMappingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.Instance.EbsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BlockDeviceMappingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html>+    BlockDeviceMappingProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-devicename>+                                deviceName :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-ebs>+                                ebs :: (Prelude.Maybe EbsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-nodevice>+                                noDevice :: (Prelude.Maybe JSON.Object),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html#cfn-ec2-instance-blockdevicemapping-virtualname>+                                virtualName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBlockDeviceMappingProperty ::+  Value Prelude.Text -> BlockDeviceMappingProperty+mkBlockDeviceMappingProperty deviceName+  = BlockDeviceMappingProperty+      {haddock_workaround_ = (), deviceName = deviceName,+       ebs = Prelude.Nothing, noDevice = Prelude.Nothing,+       virtualName = Prelude.Nothing}+instance ToResourceProperties BlockDeviceMappingProperty where+  toResourceProperties BlockDeviceMappingProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.BlockDeviceMapping",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DeviceName" JSON..= deviceName]+                           (Prelude.catMaybes+                              [(JSON..=) "Ebs" Prelude.<$> ebs,+                               (JSON..=) "NoDevice" Prelude.<$> noDevice,+                               (JSON..=) "VirtualName" Prelude.<$> virtualName]))}+instance JSON.ToJSON BlockDeviceMappingProperty where+  toJSON BlockDeviceMappingProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DeviceName" JSON..= deviceName]+              (Prelude.catMaybes+                 [(JSON..=) "Ebs" Prelude.<$> ebs,+                  (JSON..=) "NoDevice" Prelude.<$> noDevice,+                  (JSON..=) "VirtualName" Prelude.<$> virtualName])))+instance Property "DeviceName" BlockDeviceMappingProperty where+  type PropertyType "DeviceName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {deviceName = newValue, ..}+instance Property "Ebs" BlockDeviceMappingProperty where+  type PropertyType "Ebs" BlockDeviceMappingProperty = EbsProperty+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {ebs = Prelude.pure newValue, ..}+instance Property "NoDevice" BlockDeviceMappingProperty where+  type PropertyType "NoDevice" BlockDeviceMappingProperty = JSON.Object+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {noDevice = Prelude.pure newValue, ..}+instance Property "VirtualName" BlockDeviceMappingProperty where+  type PropertyType "VirtualName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty+        {virtualName = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/BlockDeviceMappingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.BlockDeviceMappingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BlockDeviceMappingProperty :: Prelude.Type+instance ToResourceProperties BlockDeviceMappingProperty+instance Prelude.Eq BlockDeviceMappingProperty+instance Prelude.Show BlockDeviceMappingProperty+instance JSON.ToJSON BlockDeviceMappingProperty
+ gen/Stratosphere/EC2/Instance/CpuOptionsProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.Instance.CpuOptionsProperty (+        CpuOptionsProperty(..), mkCpuOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CpuOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html>+    CpuOptionsProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-corecount>+                        coreCount :: (Prelude.Maybe (Value Prelude.Integer)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-cpuoptions.html#cfn-ec2-instance-cpuoptions-threadspercore>+                        threadsPerCore :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCpuOptionsProperty :: CpuOptionsProperty+mkCpuOptionsProperty+  = CpuOptionsProperty+      {haddock_workaround_ = (), coreCount = Prelude.Nothing,+       threadsPerCore = Prelude.Nothing}+instance ToResourceProperties CpuOptionsProperty where+  toResourceProperties CpuOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.CpuOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CoreCount" Prelude.<$> coreCount,+                            (JSON..=) "ThreadsPerCore" Prelude.<$> threadsPerCore])}+instance JSON.ToJSON CpuOptionsProperty where+  toJSON CpuOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CoreCount" Prelude.<$> coreCount,+               (JSON..=) "ThreadsPerCore" Prelude.<$> threadsPerCore]))+instance Property "CoreCount" CpuOptionsProperty where+  type PropertyType "CoreCount" CpuOptionsProperty = Value Prelude.Integer+  set newValue CpuOptionsProperty {..}+    = CpuOptionsProperty {coreCount = Prelude.pure newValue, ..}+instance Property "ThreadsPerCore" CpuOptionsProperty where+  type PropertyType "ThreadsPerCore" CpuOptionsProperty = Value Prelude.Integer+  set newValue CpuOptionsProperty {..}+    = CpuOptionsProperty {threadsPerCore = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/CpuOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.CpuOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CpuOptionsProperty :: Prelude.Type+instance ToResourceProperties CpuOptionsProperty+instance Prelude.Eq CpuOptionsProperty+instance Prelude.Show CpuOptionsProperty+instance JSON.ToJSON CpuOptionsProperty
+ gen/Stratosphere/EC2/Instance/CreditSpecificationProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.Instance.CreditSpecificationProperty (+        CreditSpecificationProperty(..), mkCreditSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CreditSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-creditspecification.html>+    CreditSpecificationProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-creditspecification.html#cfn-ec2-instance-creditspecification-cpucredits>+                                 cPUCredits :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCreditSpecificationProperty :: CreditSpecificationProperty+mkCreditSpecificationProperty+  = CreditSpecificationProperty+      {haddock_workaround_ = (), cPUCredits = Prelude.Nothing}+instance ToResourceProperties CreditSpecificationProperty where+  toResourceProperties CreditSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.CreditSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CPUCredits" Prelude.<$> cPUCredits])}+instance JSON.ToJSON CreditSpecificationProperty where+  toJSON CreditSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CPUCredits" Prelude.<$> cPUCredits]))+instance Property "CPUCredits" CreditSpecificationProperty where+  type PropertyType "CPUCredits" CreditSpecificationProperty = Value Prelude.Text+  set newValue CreditSpecificationProperty {..}+    = CreditSpecificationProperty+        {cPUCredits = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/CreditSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.CreditSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CreditSpecificationProperty :: Prelude.Type+instance ToResourceProperties CreditSpecificationProperty+instance Prelude.Eq CreditSpecificationProperty+instance Prelude.Show CreditSpecificationProperty+instance JSON.ToJSON CreditSpecificationProperty
+ gen/Stratosphere/EC2/Instance/EbsProperty.hs view
@@ -0,0 +1,86 @@+module Stratosphere.EC2.Instance.EbsProperty (+        EbsProperty(..), mkEbsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EbsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html>+    EbsProperty {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-deleteontermination>+                 deleteOnTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-encrypted>+                 encrypted :: (Prelude.Maybe (Value Prelude.Bool)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-iops>+                 iops :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-kmskeyid>+                 kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-snapshotid>+                 snapshotId :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-volumesize>+                 volumeSize :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ebs.html#cfn-ec2-instance-ebs-volumetype>+                 volumeType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEbsProperty :: EbsProperty+mkEbsProperty+  = EbsProperty+      {haddock_workaround_ = (), deleteOnTermination = Prelude.Nothing,+       encrypted = Prelude.Nothing, iops = Prelude.Nothing,+       kmsKeyId = Prelude.Nothing, snapshotId = Prelude.Nothing,+       volumeSize = Prelude.Nothing, volumeType = Prelude.Nothing}+instance ToResourceProperties EbsProperty where+  toResourceProperties EbsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.Ebs", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                            (JSON..=) "Encrypted" Prelude.<$> encrypted,+                            (JSON..=) "Iops" Prelude.<$> iops,+                            (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+                            (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+                            (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+                            (JSON..=) "VolumeType" Prelude.<$> volumeType])}+instance JSON.ToJSON EbsProperty where+  toJSON EbsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+               (JSON..=) "Encrypted" Prelude.<$> encrypted,+               (JSON..=) "Iops" Prelude.<$> iops,+               (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+               (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+               (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+               (JSON..=) "VolumeType" Prelude.<$> volumeType]))+instance Property "DeleteOnTermination" EbsProperty where+  type PropertyType "DeleteOnTermination" EbsProperty = Value Prelude.Bool+  set newValue EbsProperty {..}+    = EbsProperty {deleteOnTermination = Prelude.pure newValue, ..}+instance Property "Encrypted" EbsProperty where+  type PropertyType "Encrypted" EbsProperty = Value Prelude.Bool+  set newValue EbsProperty {..}+    = EbsProperty {encrypted = Prelude.pure newValue, ..}+instance Property "Iops" EbsProperty where+  type PropertyType "Iops" EbsProperty = Value Prelude.Integer+  set newValue EbsProperty {..}+    = EbsProperty {iops = Prelude.pure newValue, ..}+instance Property "KmsKeyId" EbsProperty where+  type PropertyType "KmsKeyId" EbsProperty = Value Prelude.Text+  set newValue EbsProperty {..}+    = EbsProperty {kmsKeyId = Prelude.pure newValue, ..}+instance Property "SnapshotId" EbsProperty where+  type PropertyType "SnapshotId" EbsProperty = Value Prelude.Text+  set newValue EbsProperty {..}+    = EbsProperty {snapshotId = Prelude.pure newValue, ..}+instance Property "VolumeSize" EbsProperty where+  type PropertyType "VolumeSize" EbsProperty = Value Prelude.Integer+  set newValue EbsProperty {..}+    = EbsProperty {volumeSize = Prelude.pure newValue, ..}+instance Property "VolumeType" EbsProperty where+  type PropertyType "VolumeType" EbsProperty = Value Prelude.Text+  set newValue EbsProperty {..}+    = EbsProperty {volumeType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/EbsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.EbsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EbsProperty :: Prelude.Type+instance ToResourceProperties EbsProperty+instance Prelude.Eq EbsProperty+instance Prelude.Show EbsProperty+instance JSON.ToJSON EbsProperty
+ gen/Stratosphere/EC2/Instance/ElasticGpuSpecificationProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.EC2.Instance.ElasticGpuSpecificationProperty (+        ElasticGpuSpecificationProperty(..),+        mkElasticGpuSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ElasticGpuSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticgpuspecification.html>+    ElasticGpuSpecificationProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticgpuspecification.html#cfn-ec2-instance-elasticgpuspecification-type>+                                     type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkElasticGpuSpecificationProperty ::+  Value Prelude.Text -> ElasticGpuSpecificationProperty+mkElasticGpuSpecificationProperty type'+  = ElasticGpuSpecificationProperty+      {haddock_workaround_ = (), type' = type'}+instance ToResourceProperties ElasticGpuSpecificationProperty where+  toResourceProperties ElasticGpuSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.ElasticGpuSpecification",+         supportsTags = Prelude.False, properties = ["Type" JSON..= type']}+instance JSON.ToJSON ElasticGpuSpecificationProperty where+  toJSON ElasticGpuSpecificationProperty {..}+    = JSON.object ["Type" JSON..= type']+instance Property "Type" ElasticGpuSpecificationProperty where+  type PropertyType "Type" ElasticGpuSpecificationProperty = Value Prelude.Text+  set newValue ElasticGpuSpecificationProperty {..}+    = ElasticGpuSpecificationProperty {type' = newValue, ..}
+ gen/Stratosphere/EC2/Instance/ElasticGpuSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.ElasticGpuSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ElasticGpuSpecificationProperty :: Prelude.Type+instance ToResourceProperties ElasticGpuSpecificationProperty+instance Prelude.Eq ElasticGpuSpecificationProperty+instance Prelude.Show ElasticGpuSpecificationProperty+instance JSON.ToJSON ElasticGpuSpecificationProperty
+ gen/Stratosphere/EC2/Instance/ElasticInferenceAcceleratorProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.Instance.ElasticInferenceAcceleratorProperty (+        ElasticInferenceAcceleratorProperty(..),+        mkElasticInferenceAcceleratorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ElasticInferenceAcceleratorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html>+    ElasticInferenceAcceleratorProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html#cfn-ec2-instance-elasticinferenceaccelerator-count>+                                         count :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-elasticinferenceaccelerator.html#cfn-ec2-instance-elasticinferenceaccelerator-type>+                                         type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkElasticInferenceAcceleratorProperty ::+  Value Prelude.Text -> ElasticInferenceAcceleratorProperty+mkElasticInferenceAcceleratorProperty type'+  = ElasticInferenceAcceleratorProperty+      {haddock_workaround_ = (), type' = type', count = Prelude.Nothing}+instance ToResourceProperties ElasticInferenceAcceleratorProperty where+  toResourceProperties ElasticInferenceAcceleratorProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.ElasticInferenceAccelerator",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Type" JSON..= type']+                           (Prelude.catMaybes [(JSON..=) "Count" Prelude.<$> count]))}+instance JSON.ToJSON ElasticInferenceAcceleratorProperty where+  toJSON ElasticInferenceAcceleratorProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Type" JSON..= type']+              (Prelude.catMaybes [(JSON..=) "Count" Prelude.<$> count])))+instance Property "Count" ElasticInferenceAcceleratorProperty where+  type PropertyType "Count" ElasticInferenceAcceleratorProperty = Value Prelude.Integer+  set newValue ElasticInferenceAcceleratorProperty {..}+    = ElasticInferenceAcceleratorProperty+        {count = Prelude.pure newValue, ..}+instance Property "Type" ElasticInferenceAcceleratorProperty where+  type PropertyType "Type" ElasticInferenceAcceleratorProperty = Value Prelude.Text+  set newValue ElasticInferenceAcceleratorProperty {..}+    = ElasticInferenceAcceleratorProperty {type' = newValue, ..}
+ gen/Stratosphere/EC2/Instance/ElasticInferenceAcceleratorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.ElasticInferenceAcceleratorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ElasticInferenceAcceleratorProperty :: Prelude.Type+instance ToResourceProperties ElasticInferenceAcceleratorProperty+instance Prelude.Eq ElasticInferenceAcceleratorProperty+instance Prelude.Show ElasticInferenceAcceleratorProperty+instance JSON.ToJSON ElasticInferenceAcceleratorProperty
+ gen/Stratosphere/EC2/Instance/EnaSrdSpecificationProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.EC2.Instance.EnaSrdSpecificationProperty (+        module Exports, EnaSrdSpecificationProperty(..),+        mkEnaSrdSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.Instance.EnaSrdUdpSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnaSrdSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdspecification.html>+    EnaSrdSpecificationProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdspecification.html#cfn-ec2-instance-enasrdspecification-enasrdenabled>+                                 enaSrdEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdspecification.html#cfn-ec2-instance-enasrdspecification-enasrdudpspecification>+                                 enaSrdUdpSpecification :: (Prelude.Maybe EnaSrdUdpSpecificationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEnaSrdSpecificationProperty :: EnaSrdSpecificationProperty+mkEnaSrdSpecificationProperty+  = EnaSrdSpecificationProperty+      {haddock_workaround_ = (), enaSrdEnabled = Prelude.Nothing,+       enaSrdUdpSpecification = Prelude.Nothing}+instance ToResourceProperties EnaSrdSpecificationProperty where+  toResourceProperties EnaSrdSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.EnaSrdSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EnaSrdEnabled" Prelude.<$> enaSrdEnabled,+                            (JSON..=) "EnaSrdUdpSpecification"+                              Prelude.<$> enaSrdUdpSpecification])}+instance JSON.ToJSON EnaSrdSpecificationProperty where+  toJSON EnaSrdSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EnaSrdEnabled" Prelude.<$> enaSrdEnabled,+               (JSON..=) "EnaSrdUdpSpecification"+                 Prelude.<$> enaSrdUdpSpecification]))+instance Property "EnaSrdEnabled" EnaSrdSpecificationProperty where+  type PropertyType "EnaSrdEnabled" EnaSrdSpecificationProperty = Value Prelude.Bool+  set newValue EnaSrdSpecificationProperty {..}+    = EnaSrdSpecificationProperty+        {enaSrdEnabled = Prelude.pure newValue, ..}+instance Property "EnaSrdUdpSpecification" EnaSrdSpecificationProperty where+  type PropertyType "EnaSrdUdpSpecification" EnaSrdSpecificationProperty = EnaSrdUdpSpecificationProperty+  set newValue EnaSrdSpecificationProperty {..}+    = EnaSrdSpecificationProperty+        {enaSrdUdpSpecification = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/EnaSrdSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.EnaSrdSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EnaSrdSpecificationProperty :: Prelude.Type+instance ToResourceProperties EnaSrdSpecificationProperty+instance Prelude.Eq EnaSrdSpecificationProperty+instance Prelude.Show EnaSrdSpecificationProperty+instance JSON.ToJSON EnaSrdSpecificationProperty
+ gen/Stratosphere/EC2/Instance/EnaSrdUdpSpecificationProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.EC2.Instance.EnaSrdUdpSpecificationProperty (+        EnaSrdUdpSpecificationProperty(..),+        mkEnaSrdUdpSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnaSrdUdpSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdudpspecification.html>+    EnaSrdUdpSpecificationProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enasrdudpspecification.html#cfn-ec2-instance-enasrdudpspecification-enasrdudpenabled>+                                    enaSrdUdpEnabled :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEnaSrdUdpSpecificationProperty :: EnaSrdUdpSpecificationProperty+mkEnaSrdUdpSpecificationProperty+  = EnaSrdUdpSpecificationProperty+      {haddock_workaround_ = (), enaSrdUdpEnabled = Prelude.Nothing}+instance ToResourceProperties EnaSrdUdpSpecificationProperty where+  toResourceProperties EnaSrdUdpSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.EnaSrdUdpSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EnaSrdUdpEnabled" Prelude.<$> enaSrdUdpEnabled])}+instance JSON.ToJSON EnaSrdUdpSpecificationProperty where+  toJSON EnaSrdUdpSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EnaSrdUdpEnabled" Prelude.<$> enaSrdUdpEnabled]))+instance Property "EnaSrdUdpEnabled" EnaSrdUdpSpecificationProperty where+  type PropertyType "EnaSrdUdpEnabled" EnaSrdUdpSpecificationProperty = Value Prelude.Bool+  set newValue EnaSrdUdpSpecificationProperty {..}+    = EnaSrdUdpSpecificationProperty+        {enaSrdUdpEnabled = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/EnaSrdUdpSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.EnaSrdUdpSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EnaSrdUdpSpecificationProperty :: Prelude.Type+instance ToResourceProperties EnaSrdUdpSpecificationProperty+instance Prelude.Eq EnaSrdUdpSpecificationProperty+instance Prelude.Show EnaSrdUdpSpecificationProperty+instance JSON.ToJSON EnaSrdUdpSpecificationProperty
+ gen/Stratosphere/EC2/Instance/EnclaveOptionsProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.EC2.Instance.EnclaveOptionsProperty (+        EnclaveOptionsProperty(..), mkEnclaveOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnclaveOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enclaveoptions.html>+    EnclaveOptionsProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-enclaveoptions.html#cfn-ec2-instance-enclaveoptions-enabled>+                            enabled :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEnclaveOptionsProperty :: EnclaveOptionsProperty+mkEnclaveOptionsProperty+  = EnclaveOptionsProperty+      {haddock_workaround_ = (), enabled = Prelude.Nothing}+instance ToResourceProperties EnclaveOptionsProperty where+  toResourceProperties EnclaveOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.EnclaveOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Enabled" Prelude.<$> enabled])}+instance JSON.ToJSON EnclaveOptionsProperty where+  toJSON EnclaveOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Enabled" Prelude.<$> enabled]))+instance Property "Enabled" EnclaveOptionsProperty where+  type PropertyType "Enabled" EnclaveOptionsProperty = Value Prelude.Bool+  set newValue EnclaveOptionsProperty {..}+    = EnclaveOptionsProperty {enabled = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/EnclaveOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.EnclaveOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EnclaveOptionsProperty :: Prelude.Type+instance ToResourceProperties EnclaveOptionsProperty+instance Prelude.Eq EnclaveOptionsProperty+instance Prelude.Show EnclaveOptionsProperty+instance JSON.ToJSON EnclaveOptionsProperty
+ gen/Stratosphere/EC2/Instance/HibernationOptionsProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.Instance.HibernationOptionsProperty (+        HibernationOptionsProperty(..), mkHibernationOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HibernationOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-hibernationoptions.html>+    HibernationOptionsProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-hibernationoptions.html#cfn-ec2-instance-hibernationoptions-configured>+                                configured :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHibernationOptionsProperty :: HibernationOptionsProperty+mkHibernationOptionsProperty+  = HibernationOptionsProperty+      {haddock_workaround_ = (), configured = Prelude.Nothing}+instance ToResourceProperties HibernationOptionsProperty where+  toResourceProperties HibernationOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.HibernationOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Configured" Prelude.<$> configured])}+instance JSON.ToJSON HibernationOptionsProperty where+  toJSON HibernationOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Configured" Prelude.<$> configured]))+instance Property "Configured" HibernationOptionsProperty where+  type PropertyType "Configured" HibernationOptionsProperty = Value Prelude.Bool+  set newValue HibernationOptionsProperty {..}+    = HibernationOptionsProperty+        {configured = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/HibernationOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.HibernationOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HibernationOptionsProperty :: Prelude.Type+instance ToResourceProperties HibernationOptionsProperty+instance Prelude.Eq HibernationOptionsProperty+instance Prelude.Show HibernationOptionsProperty+instance JSON.ToJSON HibernationOptionsProperty
+ gen/Stratosphere/EC2/Instance/InstanceIpv6AddressProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.EC2.Instance.InstanceIpv6AddressProperty (+        InstanceIpv6AddressProperty(..), mkInstanceIpv6AddressProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceIpv6AddressProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-instanceipv6address.html>+    InstanceIpv6AddressProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-instanceipv6address.html#cfn-ec2-instance-instanceipv6address-ipv6address>+                                 ipv6Address :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceIpv6AddressProperty ::+  Value Prelude.Text -> InstanceIpv6AddressProperty+mkInstanceIpv6AddressProperty ipv6Address+  = InstanceIpv6AddressProperty+      {haddock_workaround_ = (), ipv6Address = ipv6Address}+instance ToResourceProperties InstanceIpv6AddressProperty where+  toResourceProperties InstanceIpv6AddressProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.InstanceIpv6Address",+         supportsTags = Prelude.False,+         properties = ["Ipv6Address" JSON..= ipv6Address]}+instance JSON.ToJSON InstanceIpv6AddressProperty where+  toJSON InstanceIpv6AddressProperty {..}+    = JSON.object ["Ipv6Address" JSON..= ipv6Address]+instance Property "Ipv6Address" InstanceIpv6AddressProperty where+  type PropertyType "Ipv6Address" InstanceIpv6AddressProperty = Value Prelude.Text+  set newValue InstanceIpv6AddressProperty {..}+    = InstanceIpv6AddressProperty {ipv6Address = newValue, ..}
+ gen/Stratosphere/EC2/Instance/InstanceIpv6AddressProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.InstanceIpv6AddressProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceIpv6AddressProperty :: Prelude.Type+instance ToResourceProperties InstanceIpv6AddressProperty+instance Prelude.Eq InstanceIpv6AddressProperty+instance Prelude.Show InstanceIpv6AddressProperty+instance JSON.ToJSON InstanceIpv6AddressProperty
+ gen/Stratosphere/EC2/Instance/LaunchTemplateSpecificationProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.EC2.Instance.LaunchTemplateSpecificationProperty (+        LaunchTemplateSpecificationProperty(..),+        mkLaunchTemplateSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LaunchTemplateSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html>+    LaunchTemplateSpecificationProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-launchtemplateid>+                                         launchTemplateId :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-launchtemplatename>+                                         launchTemplateName :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-version>+                                         version :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchTemplateSpecificationProperty ::+  Value Prelude.Text -> LaunchTemplateSpecificationProperty+mkLaunchTemplateSpecificationProperty version+  = LaunchTemplateSpecificationProperty+      {haddock_workaround_ = (), version = version,+       launchTemplateId = Prelude.Nothing,+       launchTemplateName = Prelude.Nothing}+instance ToResourceProperties LaunchTemplateSpecificationProperty where+  toResourceProperties LaunchTemplateSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.LaunchTemplateSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Version" JSON..= version]+                           (Prelude.catMaybes+                              [(JSON..=) "LaunchTemplateId" Prelude.<$> launchTemplateId,+                               (JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName]))}+instance JSON.ToJSON LaunchTemplateSpecificationProperty where+  toJSON LaunchTemplateSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Version" JSON..= version]+              (Prelude.catMaybes+                 [(JSON..=) "LaunchTemplateId" Prelude.<$> launchTemplateId,+                  (JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName])))+instance Property "LaunchTemplateId" LaunchTemplateSpecificationProperty where+  type PropertyType "LaunchTemplateId" LaunchTemplateSpecificationProperty = Value Prelude.Text+  set newValue LaunchTemplateSpecificationProperty {..}+    = LaunchTemplateSpecificationProperty+        {launchTemplateId = Prelude.pure newValue, ..}+instance Property "LaunchTemplateName" LaunchTemplateSpecificationProperty where+  type PropertyType "LaunchTemplateName" LaunchTemplateSpecificationProperty = Value Prelude.Text+  set newValue LaunchTemplateSpecificationProperty {..}+    = LaunchTemplateSpecificationProperty+        {launchTemplateName = Prelude.pure newValue, ..}+instance Property "Version" LaunchTemplateSpecificationProperty where+  type PropertyType "Version" LaunchTemplateSpecificationProperty = Value Prelude.Text+  set newValue LaunchTemplateSpecificationProperty {..}+    = LaunchTemplateSpecificationProperty {version = newValue, ..}
+ gen/Stratosphere/EC2/Instance/LaunchTemplateSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.LaunchTemplateSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LaunchTemplateSpecificationProperty :: Prelude.Type+instance ToResourceProperties LaunchTemplateSpecificationProperty+instance Prelude.Eq LaunchTemplateSpecificationProperty+instance Prelude.Show LaunchTemplateSpecificationProperty+instance JSON.ToJSON LaunchTemplateSpecificationProperty
+ gen/Stratosphere/EC2/Instance/LicenseSpecificationProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.EC2.Instance.LicenseSpecificationProperty (+        LicenseSpecificationProperty(..), mkLicenseSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LicenseSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-licensespecification.html>+    LicenseSpecificationProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-licensespecification.html#cfn-ec2-instance-licensespecification-licenseconfigurationarn>+                                  licenseConfigurationArn :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLicenseSpecificationProperty ::+  Value Prelude.Text -> LicenseSpecificationProperty+mkLicenseSpecificationProperty licenseConfigurationArn+  = LicenseSpecificationProperty+      {haddock_workaround_ = (),+       licenseConfigurationArn = licenseConfigurationArn}+instance ToResourceProperties LicenseSpecificationProperty where+  toResourceProperties LicenseSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.LicenseSpecification",+         supportsTags = Prelude.False,+         properties = ["LicenseConfigurationArn"+                         JSON..= licenseConfigurationArn]}+instance JSON.ToJSON LicenseSpecificationProperty where+  toJSON LicenseSpecificationProperty {..}+    = JSON.object+        ["LicenseConfigurationArn" JSON..= licenseConfigurationArn]+instance Property "LicenseConfigurationArn" LicenseSpecificationProperty where+  type PropertyType "LicenseConfigurationArn" LicenseSpecificationProperty = Value Prelude.Text+  set newValue LicenseSpecificationProperty {..}+    = LicenseSpecificationProperty+        {licenseConfigurationArn = newValue, ..}
+ gen/Stratosphere/EC2/Instance/LicenseSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.LicenseSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LicenseSpecificationProperty :: Prelude.Type+instance ToResourceProperties LicenseSpecificationProperty+instance Prelude.Eq LicenseSpecificationProperty+instance Prelude.Show LicenseSpecificationProperty+instance JSON.ToJSON LicenseSpecificationProperty
+ gen/Stratosphere/EC2/Instance/MetadataOptionsProperty.hs view
@@ -0,0 +1,80 @@+module Stratosphere.EC2.Instance.MetadataOptionsProperty (+        MetadataOptionsProperty(..), mkMetadataOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetadataOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html>+    MetadataOptionsProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httpendpoint>+                             httpEndpoint :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httpprotocolipv6>+                             httpProtocolIpv6 :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httpputresponsehoplimit>+                             httpPutResponseHopLimit :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-httptokens>+                             httpTokens :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-metadataoptions.html#cfn-ec2-instance-metadataoptions-instancemetadatatags>+                             instanceMetadataTags :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetadataOptionsProperty :: MetadataOptionsProperty+mkMetadataOptionsProperty+  = MetadataOptionsProperty+      {haddock_workaround_ = (), httpEndpoint = Prelude.Nothing,+       httpProtocolIpv6 = Prelude.Nothing,+       httpPutResponseHopLimit = Prelude.Nothing,+       httpTokens = Prelude.Nothing,+       instanceMetadataTags = Prelude.Nothing}+instance ToResourceProperties MetadataOptionsProperty where+  toResourceProperties MetadataOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.MetadataOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "HttpEndpoint" Prelude.<$> httpEndpoint,+                            (JSON..=) "HttpProtocolIpv6" Prelude.<$> httpProtocolIpv6,+                            (JSON..=) "HttpPutResponseHopLimit"+                              Prelude.<$> httpPutResponseHopLimit,+                            (JSON..=) "HttpTokens" Prelude.<$> httpTokens,+                            (JSON..=) "InstanceMetadataTags"+                              Prelude.<$> instanceMetadataTags])}+instance JSON.ToJSON MetadataOptionsProperty where+  toJSON MetadataOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "HttpEndpoint" Prelude.<$> httpEndpoint,+               (JSON..=) "HttpProtocolIpv6" Prelude.<$> httpProtocolIpv6,+               (JSON..=) "HttpPutResponseHopLimit"+                 Prelude.<$> httpPutResponseHopLimit,+               (JSON..=) "HttpTokens" Prelude.<$> httpTokens,+               (JSON..=) "InstanceMetadataTags"+                 Prelude.<$> instanceMetadataTags]))+instance Property "HttpEndpoint" MetadataOptionsProperty where+  type PropertyType "HttpEndpoint" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {httpEndpoint = Prelude.pure newValue, ..}+instance Property "HttpProtocolIpv6" MetadataOptionsProperty where+  type PropertyType "HttpProtocolIpv6" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {httpProtocolIpv6 = Prelude.pure newValue, ..}+instance Property "HttpPutResponseHopLimit" MetadataOptionsProperty where+  type PropertyType "HttpPutResponseHopLimit" MetadataOptionsProperty = Value Prelude.Integer+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {httpPutResponseHopLimit = Prelude.pure newValue, ..}+instance Property "HttpTokens" MetadataOptionsProperty where+  type PropertyType "HttpTokens" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty {httpTokens = Prelude.pure newValue, ..}+instance Property "InstanceMetadataTags" MetadataOptionsProperty where+  type PropertyType "InstanceMetadataTags" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {instanceMetadataTags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/MetadataOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.MetadataOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetadataOptionsProperty :: Prelude.Type+instance ToResourceProperties MetadataOptionsProperty+instance Prelude.Eq MetadataOptionsProperty+instance Prelude.Show MetadataOptionsProperty+instance JSON.ToJSON MetadataOptionsProperty
+ gen/Stratosphere/EC2/Instance/NetworkInterfaceProperty.hs view
@@ -0,0 +1,176 @@+module Stratosphere.EC2.Instance.NetworkInterfaceProperty (+        module Exports, NetworkInterfaceProperty(..),+        mkNetworkInterfaceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.Instance.EnaSrdSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.InstanceIpv6AddressProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.Instance.PrivateIpAddressSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkInterfaceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html>+    NetworkInterfaceProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-associatecarrieripaddress>+                              associateCarrierIpAddress :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-associatepublicipaddress>+                              associatePublicIpAddress :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-deleteontermination>+                              deleteOnTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-description>+                              description :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-deviceindex>+                              deviceIndex :: (Value Prelude.Text),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-enasrdspecification>+                              enaSrdSpecification :: (Prelude.Maybe EnaSrdSpecificationProperty),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-groupset>+                              groupSet :: (Prelude.Maybe (ValueList Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-ipv6addresscount>+                              ipv6AddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-ipv6addresses>+                              ipv6Addresses :: (Prelude.Maybe [InstanceIpv6AddressProperty]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-networkinterfaceid>+                              networkInterfaceId :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-privateipaddress>+                              privateIpAddress :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-privateipaddresses>+                              privateIpAddresses :: (Prelude.Maybe [PrivateIpAddressSpecificationProperty]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-secondaryprivateipaddresscount>+                              secondaryPrivateIpAddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-networkinterface.html#cfn-ec2-instance-networkinterface-subnetid>+                              subnetId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterfaceProperty ::+  Value Prelude.Text -> NetworkInterfaceProperty+mkNetworkInterfaceProperty deviceIndex+  = NetworkInterfaceProperty+      {haddock_workaround_ = (), deviceIndex = deviceIndex,+       associateCarrierIpAddress = Prelude.Nothing,+       associatePublicIpAddress = Prelude.Nothing,+       deleteOnTermination = Prelude.Nothing,+       description = Prelude.Nothing,+       enaSrdSpecification = Prelude.Nothing, groupSet = Prelude.Nothing,+       ipv6AddressCount = Prelude.Nothing,+       ipv6Addresses = Prelude.Nothing,+       networkInterfaceId = Prelude.Nothing,+       privateIpAddress = Prelude.Nothing,+       privateIpAddresses = Prelude.Nothing,+       secondaryPrivateIpAddressCount = Prelude.Nothing,+       subnetId = Prelude.Nothing}+instance ToResourceProperties NetworkInterfaceProperty where+  toResourceProperties NetworkInterfaceProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.NetworkInterface",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DeviceIndex" JSON..= deviceIndex]+                           (Prelude.catMaybes+                              [(JSON..=) "AssociateCarrierIpAddress"+                                 Prelude.<$> associateCarrierIpAddress,+                               (JSON..=) "AssociatePublicIpAddress"+                                 Prelude.<$> associatePublicIpAddress,+                               (JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "EnaSrdSpecification" Prelude.<$> enaSrdSpecification,+                               (JSON..=) "GroupSet" Prelude.<$> groupSet,+                               (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+                               (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+                               (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                               (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+                               (JSON..=) "PrivateIpAddresses" Prelude.<$> privateIpAddresses,+                               (JSON..=) "SecondaryPrivateIpAddressCount"+                                 Prelude.<$> secondaryPrivateIpAddressCount,+                               (JSON..=) "SubnetId" Prelude.<$> subnetId]))}+instance JSON.ToJSON NetworkInterfaceProperty where+  toJSON NetworkInterfaceProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DeviceIndex" JSON..= deviceIndex]+              (Prelude.catMaybes+                 [(JSON..=) "AssociateCarrierIpAddress"+                    Prelude.<$> associateCarrierIpAddress,+                  (JSON..=) "AssociatePublicIpAddress"+                    Prelude.<$> associatePublicIpAddress,+                  (JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "EnaSrdSpecification" Prelude.<$> enaSrdSpecification,+                  (JSON..=) "GroupSet" Prelude.<$> groupSet,+                  (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+                  (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+                  (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                  (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+                  (JSON..=) "PrivateIpAddresses" Prelude.<$> privateIpAddresses,+                  (JSON..=) "SecondaryPrivateIpAddressCount"+                    Prelude.<$> secondaryPrivateIpAddressCount,+                  (JSON..=) "SubnetId" Prelude.<$> subnetId])))+instance Property "AssociateCarrierIpAddress" NetworkInterfaceProperty where+  type PropertyType "AssociateCarrierIpAddress" NetworkInterfaceProperty = Value Prelude.Bool+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {associateCarrierIpAddress = Prelude.pure newValue, ..}+instance Property "AssociatePublicIpAddress" NetworkInterfaceProperty where+  type PropertyType "AssociatePublicIpAddress" NetworkInterfaceProperty = Value Prelude.Bool+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {associatePublicIpAddress = Prelude.pure newValue, ..}+instance Property "DeleteOnTermination" NetworkInterfaceProperty where+  type PropertyType "DeleteOnTermination" NetworkInterfaceProperty = Value Prelude.Bool+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {deleteOnTermination = Prelude.pure newValue, ..}+instance Property "Description" NetworkInterfaceProperty where+  type PropertyType "Description" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {description = Prelude.pure newValue, ..}+instance Property "DeviceIndex" NetworkInterfaceProperty where+  type PropertyType "DeviceIndex" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty {deviceIndex = newValue, ..}+instance Property "EnaSrdSpecification" NetworkInterfaceProperty where+  type PropertyType "EnaSrdSpecification" NetworkInterfaceProperty = EnaSrdSpecificationProperty+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {enaSrdSpecification = Prelude.pure newValue, ..}+instance Property "GroupSet" NetworkInterfaceProperty where+  type PropertyType "GroupSet" NetworkInterfaceProperty = ValueList Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty {groupSet = Prelude.pure newValue, ..}+instance Property "Ipv6AddressCount" NetworkInterfaceProperty where+  type PropertyType "Ipv6AddressCount" NetworkInterfaceProperty = Value Prelude.Integer+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {ipv6AddressCount = Prelude.pure newValue, ..}+instance Property "Ipv6Addresses" NetworkInterfaceProperty where+  type PropertyType "Ipv6Addresses" NetworkInterfaceProperty = [InstanceIpv6AddressProperty]+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {ipv6Addresses = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceId" NetworkInterfaceProperty where+  type PropertyType "NetworkInterfaceId" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {networkInterfaceId = Prelude.pure newValue, ..}+instance Property "PrivateIpAddress" NetworkInterfaceProperty where+  type PropertyType "PrivateIpAddress" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {privateIpAddress = Prelude.pure newValue, ..}+instance Property "PrivateIpAddresses" NetworkInterfaceProperty where+  type PropertyType "PrivateIpAddresses" NetworkInterfaceProperty = [PrivateIpAddressSpecificationProperty]+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {privateIpAddresses = Prelude.pure newValue, ..}+instance Property "SecondaryPrivateIpAddressCount" NetworkInterfaceProperty where+  type PropertyType "SecondaryPrivateIpAddressCount" NetworkInterfaceProperty = Value Prelude.Integer+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {secondaryPrivateIpAddressCount = Prelude.pure newValue, ..}+instance Property "SubnetId" NetworkInterfaceProperty where+  type PropertyType "SubnetId" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty {subnetId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/NetworkInterfaceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.NetworkInterfaceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkInterfaceProperty :: Prelude.Type+instance ToResourceProperties NetworkInterfaceProperty+instance Prelude.Eq NetworkInterfaceProperty+instance Prelude.Show NetworkInterfaceProperty+instance JSON.ToJSON NetworkInterfaceProperty
+ gen/Stratosphere/EC2/Instance/PrivateDnsNameOptionsProperty.hs view
@@ -0,0 +1,62 @@+module Stratosphere.EC2.Instance.PrivateDnsNameOptionsProperty (+        PrivateDnsNameOptionsProperty(..), mkPrivateDnsNameOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PrivateDnsNameOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privatednsnameoptions.html>+    PrivateDnsNameOptionsProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privatednsnameoptions.html#cfn-ec2-instance-privatednsnameoptions-enableresourcenamednsaaaarecord>+                                   enableResourceNameDnsAAAARecord :: (Prelude.Maybe (Value Prelude.Bool)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privatednsnameoptions.html#cfn-ec2-instance-privatednsnameoptions-enableresourcenamednsarecord>+                                   enableResourceNameDnsARecord :: (Prelude.Maybe (Value Prelude.Bool)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privatednsnameoptions.html#cfn-ec2-instance-privatednsnameoptions-hostnametype>+                                   hostnameType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPrivateDnsNameOptionsProperty :: PrivateDnsNameOptionsProperty+mkPrivateDnsNameOptionsProperty+  = PrivateDnsNameOptionsProperty+      {haddock_workaround_ = (),+       enableResourceNameDnsAAAARecord = Prelude.Nothing,+       enableResourceNameDnsARecord = Prelude.Nothing,+       hostnameType = Prelude.Nothing}+instance ToResourceProperties PrivateDnsNameOptionsProperty where+  toResourceProperties PrivateDnsNameOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.PrivateDnsNameOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EnableResourceNameDnsAAAARecord"+                              Prelude.<$> enableResourceNameDnsAAAARecord,+                            (JSON..=) "EnableResourceNameDnsARecord"+                              Prelude.<$> enableResourceNameDnsARecord,+                            (JSON..=) "HostnameType" Prelude.<$> hostnameType])}+instance JSON.ToJSON PrivateDnsNameOptionsProperty where+  toJSON PrivateDnsNameOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EnableResourceNameDnsAAAARecord"+                 Prelude.<$> enableResourceNameDnsAAAARecord,+               (JSON..=) "EnableResourceNameDnsARecord"+                 Prelude.<$> enableResourceNameDnsARecord,+               (JSON..=) "HostnameType" Prelude.<$> hostnameType]))+instance Property "EnableResourceNameDnsAAAARecord" PrivateDnsNameOptionsProperty where+  type PropertyType "EnableResourceNameDnsAAAARecord" PrivateDnsNameOptionsProperty = Value Prelude.Bool+  set newValue PrivateDnsNameOptionsProperty {..}+    = PrivateDnsNameOptionsProperty+        {enableResourceNameDnsAAAARecord = Prelude.pure newValue, ..}+instance Property "EnableResourceNameDnsARecord" PrivateDnsNameOptionsProperty where+  type PropertyType "EnableResourceNameDnsARecord" PrivateDnsNameOptionsProperty = Value Prelude.Bool+  set newValue PrivateDnsNameOptionsProperty {..}+    = PrivateDnsNameOptionsProperty+        {enableResourceNameDnsARecord = Prelude.pure newValue, ..}+instance Property "HostnameType" PrivateDnsNameOptionsProperty where+  type PropertyType "HostnameType" PrivateDnsNameOptionsProperty = Value Prelude.Text+  set newValue PrivateDnsNameOptionsProperty {..}+    = PrivateDnsNameOptionsProperty+        {hostnameType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/PrivateDnsNameOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.PrivateDnsNameOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PrivateDnsNameOptionsProperty :: Prelude.Type+instance ToResourceProperties PrivateDnsNameOptionsProperty+instance Prelude.Eq PrivateDnsNameOptionsProperty+instance Prelude.Show PrivateDnsNameOptionsProperty+instance JSON.ToJSON PrivateDnsNameOptionsProperty
+ gen/Stratosphere/EC2/Instance/PrivateIpAddressSpecificationProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.Instance.PrivateIpAddressSpecificationProperty (+        PrivateIpAddressSpecificationProperty(..),+        mkPrivateIpAddressSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PrivateIpAddressSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privateipaddressspecification.html>+    PrivateIpAddressSpecificationProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privateipaddressspecification.html#cfn-ec2-instance-privateipaddressspecification-primary>+                                           primary :: (Value Prelude.Bool),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-privateipaddressspecification.html#cfn-ec2-instance-privateipaddressspecification-privateipaddress>+                                           privateIpAddress :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPrivateIpAddressSpecificationProperty ::+  Value Prelude.Bool+  -> Value Prelude.Text -> PrivateIpAddressSpecificationProperty+mkPrivateIpAddressSpecificationProperty primary privateIpAddress+  = PrivateIpAddressSpecificationProperty+      {haddock_workaround_ = (), primary = primary,+       privateIpAddress = privateIpAddress}+instance ToResourceProperties PrivateIpAddressSpecificationProperty where+  toResourceProperties PrivateIpAddressSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.PrivateIpAddressSpecification",+         supportsTags = Prelude.False,+         properties = ["Primary" JSON..= primary,+                       "PrivateIpAddress" JSON..= privateIpAddress]}+instance JSON.ToJSON PrivateIpAddressSpecificationProperty where+  toJSON PrivateIpAddressSpecificationProperty {..}+    = JSON.object+        ["Primary" JSON..= primary,+         "PrivateIpAddress" JSON..= privateIpAddress]+instance Property "Primary" PrivateIpAddressSpecificationProperty where+  type PropertyType "Primary" PrivateIpAddressSpecificationProperty = Value Prelude.Bool+  set newValue PrivateIpAddressSpecificationProperty {..}+    = PrivateIpAddressSpecificationProperty {primary = newValue, ..}+instance Property "PrivateIpAddress" PrivateIpAddressSpecificationProperty where+  type PropertyType "PrivateIpAddress" PrivateIpAddressSpecificationProperty = Value Prelude.Text+  set newValue PrivateIpAddressSpecificationProperty {..}+    = PrivateIpAddressSpecificationProperty+        {privateIpAddress = newValue, ..}
+ gen/Stratosphere/EC2/Instance/PrivateIpAddressSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.PrivateIpAddressSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PrivateIpAddressSpecificationProperty :: Prelude.Type+instance ToResourceProperties PrivateIpAddressSpecificationProperty+instance Prelude.Eq PrivateIpAddressSpecificationProperty+instance Prelude.Show PrivateIpAddressSpecificationProperty+instance JSON.ToJSON PrivateIpAddressSpecificationProperty
+ gen/Stratosphere/EC2/Instance/SsmAssociationProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.EC2.Instance.SsmAssociationProperty (+        module Exports, SsmAssociationProperty(..),+        mkSsmAssociationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.Instance.AssociationParameterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SsmAssociationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html>+    SsmAssociationProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html#cfn-ec2-instance-ssmassociation-associationparameters>+                            associationParameters :: (Prelude.Maybe [AssociationParameterProperty]),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html#cfn-ec2-instance-ssmassociation-documentname>+                            documentName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSsmAssociationProperty ::+  Value Prelude.Text -> SsmAssociationProperty+mkSsmAssociationProperty documentName+  = SsmAssociationProperty+      {haddock_workaround_ = (), documentName = documentName,+       associationParameters = Prelude.Nothing}+instance ToResourceProperties SsmAssociationProperty where+  toResourceProperties SsmAssociationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.SsmAssociation",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DocumentName" JSON..= documentName]+                           (Prelude.catMaybes+                              [(JSON..=) "AssociationParameters"+                                 Prelude.<$> associationParameters]))}+instance JSON.ToJSON SsmAssociationProperty where+  toJSON SsmAssociationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DocumentName" JSON..= documentName]+              (Prelude.catMaybes+                 [(JSON..=) "AssociationParameters"+                    Prelude.<$> associationParameters])))+instance Property "AssociationParameters" SsmAssociationProperty where+  type PropertyType "AssociationParameters" SsmAssociationProperty = [AssociationParameterProperty]+  set newValue SsmAssociationProperty {..}+    = SsmAssociationProperty+        {associationParameters = Prelude.pure newValue, ..}+instance Property "DocumentName" SsmAssociationProperty where+  type PropertyType "DocumentName" SsmAssociationProperty = Value Prelude.Text+  set newValue SsmAssociationProperty {..}+    = SsmAssociationProperty {documentName = newValue, ..}
+ gen/Stratosphere/EC2/Instance/SsmAssociationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.SsmAssociationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SsmAssociationProperty :: Prelude.Type+instance ToResourceProperties SsmAssociationProperty+instance Prelude.Eq SsmAssociationProperty+instance Prelude.Show SsmAssociationProperty+instance JSON.ToJSON SsmAssociationProperty
+ gen/Stratosphere/EC2/Instance/StateProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.Instance.StateProperty (+        StateProperty(..), mkStateProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StateProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-state.html>+    StateProperty {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-state.html#cfn-ec2-instance-state-code>+                   code :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-state.html#cfn-ec2-instance-state-name>+                   name :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStateProperty :: StateProperty+mkStateProperty+  = StateProperty+      {haddock_workaround_ = (), code = Prelude.Nothing,+       name = Prelude.Nothing}+instance ToResourceProperties StateProperty where+  toResourceProperties StateProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.State",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Code" Prelude.<$> code,+                            (JSON..=) "Name" Prelude.<$> name])}+instance JSON.ToJSON StateProperty where+  toJSON StateProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Code" Prelude.<$> code,+               (JSON..=) "Name" Prelude.<$> name]))+instance Property "Code" StateProperty where+  type PropertyType "Code" StateProperty = Value Prelude.Text+  set newValue StateProperty {..}+    = StateProperty {code = Prelude.pure newValue, ..}+instance Property "Name" StateProperty where+  type PropertyType "Name" StateProperty = Value Prelude.Text+  set newValue StateProperty {..}+    = StateProperty {name = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Instance/StateProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.StateProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StateProperty :: Prelude.Type+instance ToResourceProperties StateProperty+instance Prelude.Eq StateProperty+instance Prelude.Show StateProperty+instance JSON.ToJSON StateProperty
+ gen/Stratosphere/EC2/Instance/VolumeProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.EC2.Instance.VolumeProperty (+        VolumeProperty(..), mkVolumeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VolumeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-volume.html>+    VolumeProperty {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-volume.html#cfn-ec2-instance-volume-device>+                    device :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-volume.html#cfn-ec2-instance-volume-volumeid>+                    volumeId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVolumeProperty ::+  Value Prelude.Text -> Value Prelude.Text -> VolumeProperty+mkVolumeProperty device volumeId+  = VolumeProperty+      {haddock_workaround_ = (), device = device, volumeId = volumeId}+instance ToResourceProperties VolumeProperty where+  toResourceProperties VolumeProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Instance.Volume",+         supportsTags = Prelude.False,+         properties = ["Device" JSON..= device,+                       "VolumeId" JSON..= volumeId]}+instance JSON.ToJSON VolumeProperty where+  toJSON VolumeProperty {..}+    = JSON.object+        ["Device" JSON..= device, "VolumeId" JSON..= volumeId]+instance Property "Device" VolumeProperty where+  type PropertyType "Device" VolumeProperty = Value Prelude.Text+  set newValue VolumeProperty {..}+    = VolumeProperty {device = newValue, ..}+instance Property "VolumeId" VolumeProperty where+  type PropertyType "VolumeId" VolumeProperty = Value Prelude.Text+  set newValue VolumeProperty {..}+    = VolumeProperty {volumeId = newValue, ..}
+ gen/Stratosphere/EC2/Instance/VolumeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Instance.VolumeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VolumeProperty :: Prelude.Type+instance ToResourceProperties VolumeProperty+instance Prelude.Eq VolumeProperty+instance Prelude.Show VolumeProperty+instance JSON.ToJSON VolumeProperty
+ gen/Stratosphere/EC2/InstanceConnectEndpoint.hs view
@@ -0,0 +1,76 @@+module Stratosphere.EC2.InstanceConnectEndpoint (+        InstanceConnectEndpoint(..), mkInstanceConnectEndpoint+    ) 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 InstanceConnectEndpoint+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html>+    InstanceConnectEndpoint {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html#cfn-ec2-instanceconnectendpoint-clienttoken>+                             clientToken :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html#cfn-ec2-instanceconnectendpoint-preserveclientip>+                             preserveClientIp :: (Prelude.Maybe (Value Prelude.Bool)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html#cfn-ec2-instanceconnectendpoint-securitygroupids>+                             securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html#cfn-ec2-instanceconnectendpoint-subnetid>+                             subnetId :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instanceconnectendpoint.html#cfn-ec2-instanceconnectendpoint-tags>+                             tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceConnectEndpoint ::+  Value Prelude.Text -> InstanceConnectEndpoint+mkInstanceConnectEndpoint subnetId+  = InstanceConnectEndpoint+      {haddock_workaround_ = (), subnetId = subnetId,+       clientToken = Prelude.Nothing, preserveClientIp = Prelude.Nothing,+       securityGroupIds = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties InstanceConnectEndpoint where+  toResourceProperties InstanceConnectEndpoint {..}+    = ResourceProperties+        {awsType = "AWS::EC2::InstanceConnectEndpoint",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["SubnetId" JSON..= subnetId]+                           (Prelude.catMaybes+                              [(JSON..=) "ClientToken" Prelude.<$> clientToken,+                               (JSON..=) "PreserveClientIp" Prelude.<$> preserveClientIp,+                               (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON InstanceConnectEndpoint where+  toJSON InstanceConnectEndpoint {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["SubnetId" JSON..= subnetId]+              (Prelude.catMaybes+                 [(JSON..=) "ClientToken" Prelude.<$> clientToken,+                  (JSON..=) "PreserveClientIp" Prelude.<$> preserveClientIp,+                  (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ClientToken" InstanceConnectEndpoint where+  type PropertyType "ClientToken" InstanceConnectEndpoint = Value Prelude.Text+  set newValue InstanceConnectEndpoint {..}+    = InstanceConnectEndpoint {clientToken = Prelude.pure newValue, ..}+instance Property "PreserveClientIp" InstanceConnectEndpoint where+  type PropertyType "PreserveClientIp" InstanceConnectEndpoint = Value Prelude.Bool+  set newValue InstanceConnectEndpoint {..}+    = InstanceConnectEndpoint+        {preserveClientIp = Prelude.pure newValue, ..}+instance Property "SecurityGroupIds" InstanceConnectEndpoint where+  type PropertyType "SecurityGroupIds" InstanceConnectEndpoint = ValueList Prelude.Text+  set newValue InstanceConnectEndpoint {..}+    = InstanceConnectEndpoint+        {securityGroupIds = Prelude.pure newValue, ..}+instance Property "SubnetId" InstanceConnectEndpoint where+  type PropertyType "SubnetId" InstanceConnectEndpoint = Value Prelude.Text+  set newValue InstanceConnectEndpoint {..}+    = InstanceConnectEndpoint {subnetId = newValue, ..}+instance Property "Tags" InstanceConnectEndpoint where+  type PropertyType "Tags" InstanceConnectEndpoint = [Tag]+  set newValue InstanceConnectEndpoint {..}+    = InstanceConnectEndpoint {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/InternetGateway.hs view
@@ -0,0 +1,34 @@+module Stratosphere.EC2.InternetGateway (+        InternetGateway(..), mkInternetGateway+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+data InternetGateway+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html>+    InternetGateway {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-internetgateway.html#cfn-ec2-internetgateway-tags>+                     tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInternetGateway :: InternetGateway+mkInternetGateway+  = InternetGateway+      {haddock_workaround_ = (), tags = Prelude.Nothing}+instance ToResourceProperties InternetGateway where+  toResourceProperties InternetGateway {..}+    = ResourceProperties+        {awsType = "AWS::EC2::InternetGateway",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON InternetGateway where+  toJSON InternetGateway {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))+instance Property "Tags" InternetGateway where+  type PropertyType "Tags" InternetGateway = [Tag]+  set newValue InternetGateway {..}+    = InternetGateway {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/IpPoolRouteTableAssociation.hs view
@@ -0,0 +1,43 @@+module Stratosphere.EC2.IpPoolRouteTableAssociation (+        IpPoolRouteTableAssociation(..), mkIpPoolRouteTableAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IpPoolRouteTableAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ippoolroutetableassociation.html>+    IpPoolRouteTableAssociation {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ippoolroutetableassociation.html#cfn-ec2-ippoolroutetableassociation-publicipv4pool>+                                 publicIpv4Pool :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ippoolroutetableassociation.html#cfn-ec2-ippoolroutetableassociation-routetableid>+                                 routeTableId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpPoolRouteTableAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> IpPoolRouteTableAssociation+mkIpPoolRouteTableAssociation publicIpv4Pool routeTableId+  = IpPoolRouteTableAssociation+      {haddock_workaround_ = (), publicIpv4Pool = publicIpv4Pool,+       routeTableId = routeTableId}+instance ToResourceProperties IpPoolRouteTableAssociation where+  toResourceProperties IpPoolRouteTableAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::IpPoolRouteTableAssociation",+         supportsTags = Prelude.False,+         properties = ["PublicIpv4Pool" JSON..= publicIpv4Pool,+                       "RouteTableId" JSON..= routeTableId]}+instance JSON.ToJSON IpPoolRouteTableAssociation where+  toJSON IpPoolRouteTableAssociation {..}+    = JSON.object+        ["PublicIpv4Pool" JSON..= publicIpv4Pool,+         "RouteTableId" JSON..= routeTableId]+instance Property "PublicIpv4Pool" IpPoolRouteTableAssociation where+  type PropertyType "PublicIpv4Pool" IpPoolRouteTableAssociation = Value Prelude.Text+  set newValue IpPoolRouteTableAssociation {..}+    = IpPoolRouteTableAssociation {publicIpv4Pool = newValue, ..}+instance Property "RouteTableId" IpPoolRouteTableAssociation where+  type PropertyType "RouteTableId" IpPoolRouteTableAssociation = Value Prelude.Text+  set newValue IpPoolRouteTableAssociation {..}+    = IpPoolRouteTableAssociation {routeTableId = newValue, ..}
+ gen/Stratosphere/EC2/KeyPair.hs view
@@ -0,0 +1,71 @@+module Stratosphere.EC2.KeyPair (+        KeyPair(..), mkKeyPair+    ) 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 KeyPair+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html>+    KeyPair {haddock_workaround_ :: (),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html#cfn-ec2-keypair-keyformat>+             keyFormat :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html#cfn-ec2-keypair-keyname>+             keyName :: (Value Prelude.Text),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html#cfn-ec2-keypair-keytype>+             keyType :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html#cfn-ec2-keypair-publickeymaterial>+             publicKeyMaterial :: (Prelude.Maybe (Value Prelude.Text)),+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html#cfn-ec2-keypair-tags>+             tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkKeyPair :: Value Prelude.Text -> KeyPair+mkKeyPair keyName+  = KeyPair+      {haddock_workaround_ = (), keyName = keyName,+       keyFormat = Prelude.Nothing, keyType = Prelude.Nothing,+       publicKeyMaterial = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties KeyPair where+  toResourceProperties KeyPair {..}+    = ResourceProperties+        {awsType = "AWS::EC2::KeyPair", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["KeyName" JSON..= keyName]+                           (Prelude.catMaybes+                              [(JSON..=) "KeyFormat" Prelude.<$> keyFormat,+                               (JSON..=) "KeyType" Prelude.<$> keyType,+                               (JSON..=) "PublicKeyMaterial" Prelude.<$> publicKeyMaterial,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON KeyPair where+  toJSON KeyPair {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["KeyName" JSON..= keyName]+              (Prelude.catMaybes+                 [(JSON..=) "KeyFormat" Prelude.<$> keyFormat,+                  (JSON..=) "KeyType" Prelude.<$> keyType,+                  (JSON..=) "PublicKeyMaterial" Prelude.<$> publicKeyMaterial,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "KeyFormat" KeyPair where+  type PropertyType "KeyFormat" KeyPair = Value Prelude.Text+  set newValue KeyPair {..}+    = KeyPair {keyFormat = Prelude.pure newValue, ..}+instance Property "KeyName" KeyPair where+  type PropertyType "KeyName" KeyPair = Value Prelude.Text+  set newValue KeyPair {..} = KeyPair {keyName = newValue, ..}+instance Property "KeyType" KeyPair where+  type PropertyType "KeyType" KeyPair = Value Prelude.Text+  set newValue KeyPair {..}+    = KeyPair {keyType = Prelude.pure newValue, ..}+instance Property "PublicKeyMaterial" KeyPair where+  type PropertyType "PublicKeyMaterial" KeyPair = Value Prelude.Text+  set newValue KeyPair {..}+    = KeyPair {publicKeyMaterial = Prelude.pure newValue, ..}+instance Property "Tags" KeyPair where+  type PropertyType "Tags" KeyPair = [Tag]+  set newValue KeyPair {..}+    = KeyPair {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate.hs view
@@ -0,0 +1,67 @@+module Stratosphere.EC2.LaunchTemplate (+        module Exports, LaunchTemplate(..), mkLaunchTemplate+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.LaunchTemplateDataProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.LaunchTemplateTagSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LaunchTemplate+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html>+    LaunchTemplate {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-launchtemplatedata>+                    launchTemplateData :: LaunchTemplateDataProperty,+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-launchtemplatename>+                    launchTemplateName :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-tagspecifications>+                    tagSpecifications :: (Prelude.Maybe [LaunchTemplateTagSpecificationProperty]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#cfn-ec2-launchtemplate-versiondescription>+                    versionDescription :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchTemplate :: LaunchTemplateDataProperty -> LaunchTemplate+mkLaunchTemplate launchTemplateData+  = LaunchTemplate+      {haddock_workaround_ = (), launchTemplateData = launchTemplateData,+       launchTemplateName = Prelude.Nothing,+       tagSpecifications = Prelude.Nothing,+       versionDescription = Prelude.Nothing}+instance ToResourceProperties LaunchTemplate where+  toResourceProperties LaunchTemplate {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LaunchTemplateData" JSON..= launchTemplateData]+                           (Prelude.catMaybes+                              [(JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName,+                               (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                               (JSON..=) "VersionDescription" Prelude.<$> versionDescription]))}+instance JSON.ToJSON LaunchTemplate where+  toJSON LaunchTemplate {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LaunchTemplateData" JSON..= launchTemplateData]+              (Prelude.catMaybes+                 [(JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName,+                  (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                  (JSON..=) "VersionDescription" Prelude.<$> versionDescription])))+instance Property "LaunchTemplateData" LaunchTemplate where+  type PropertyType "LaunchTemplateData" LaunchTemplate = LaunchTemplateDataProperty+  set newValue LaunchTemplate {..}+    = LaunchTemplate {launchTemplateData = newValue, ..}+instance Property "LaunchTemplateName" LaunchTemplate where+  type PropertyType "LaunchTemplateName" LaunchTemplate = Value Prelude.Text+  set newValue LaunchTemplate {..}+    = LaunchTemplate {launchTemplateName = Prelude.pure newValue, ..}+instance Property "TagSpecifications" LaunchTemplate where+  type PropertyType "TagSpecifications" LaunchTemplate = [LaunchTemplateTagSpecificationProperty]+  set newValue LaunchTemplate {..}+    = LaunchTemplate {tagSpecifications = Prelude.pure newValue, ..}+instance Property "VersionDescription" LaunchTemplate where+  type PropertyType "VersionDescription" LaunchTemplate = Value Prelude.Text+  set newValue LaunchTemplate {..}+    = LaunchTemplate {versionDescription = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/AcceleratorCountProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.LaunchTemplate.AcceleratorCountProperty (+        AcceleratorCountProperty(..), mkAcceleratorCountProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AcceleratorCountProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-acceleratorcount.html>+    AcceleratorCountProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-acceleratorcount.html#cfn-ec2-launchtemplate-acceleratorcount-max>+                              max :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-acceleratorcount.html#cfn-ec2-launchtemplate-acceleratorcount-min>+                              min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAcceleratorCountProperty :: AcceleratorCountProperty+mkAcceleratorCountProperty+  = AcceleratorCountProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties AcceleratorCountProperty where+  toResourceProperties AcceleratorCountProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.AcceleratorCount",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON AcceleratorCountProperty where+  toJSON AcceleratorCountProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" AcceleratorCountProperty where+  type PropertyType "Max" AcceleratorCountProperty = Value Prelude.Integer+  set newValue AcceleratorCountProperty {..}+    = AcceleratorCountProperty {max = Prelude.pure newValue, ..}+instance Property "Min" AcceleratorCountProperty where+  type PropertyType "Min" AcceleratorCountProperty = Value Prelude.Integer+  set newValue AcceleratorCountProperty {..}+    = AcceleratorCountProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/AcceleratorCountProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.AcceleratorCountProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AcceleratorCountProperty :: Prelude.Type+instance ToResourceProperties AcceleratorCountProperty+instance Prelude.Eq AcceleratorCountProperty+instance Prelude.Show AcceleratorCountProperty+instance JSON.ToJSON AcceleratorCountProperty
+ gen/Stratosphere/EC2/LaunchTemplate/AcceleratorTotalMemoryMiBProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.LaunchTemplate.AcceleratorTotalMemoryMiBProperty (+        AcceleratorTotalMemoryMiBProperty(..),+        mkAcceleratorTotalMemoryMiBProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AcceleratorTotalMemoryMiBProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-acceleratortotalmemorymib.html>+    AcceleratorTotalMemoryMiBProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-acceleratortotalmemorymib.html#cfn-ec2-launchtemplate-acceleratortotalmemorymib-max>+                                       max :: (Prelude.Maybe (Value Prelude.Integer)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-acceleratortotalmemorymib.html#cfn-ec2-launchtemplate-acceleratortotalmemorymib-min>+                                       min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAcceleratorTotalMemoryMiBProperty ::+  AcceleratorTotalMemoryMiBProperty+mkAcceleratorTotalMemoryMiBProperty+  = AcceleratorTotalMemoryMiBProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties AcceleratorTotalMemoryMiBProperty where+  toResourceProperties AcceleratorTotalMemoryMiBProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.AcceleratorTotalMemoryMiB",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON AcceleratorTotalMemoryMiBProperty where+  toJSON AcceleratorTotalMemoryMiBProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" AcceleratorTotalMemoryMiBProperty where+  type PropertyType "Max" AcceleratorTotalMemoryMiBProperty = Value Prelude.Integer+  set newValue AcceleratorTotalMemoryMiBProperty {..}+    = AcceleratorTotalMemoryMiBProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" AcceleratorTotalMemoryMiBProperty where+  type PropertyType "Min" AcceleratorTotalMemoryMiBProperty = Value Prelude.Integer+  set newValue AcceleratorTotalMemoryMiBProperty {..}+    = AcceleratorTotalMemoryMiBProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/AcceleratorTotalMemoryMiBProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.AcceleratorTotalMemoryMiBProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AcceleratorTotalMemoryMiBProperty :: Prelude.Type+instance ToResourceProperties AcceleratorTotalMemoryMiBProperty+instance Prelude.Eq AcceleratorTotalMemoryMiBProperty+instance Prelude.Show AcceleratorTotalMemoryMiBProperty+instance JSON.ToJSON AcceleratorTotalMemoryMiBProperty
+ gen/Stratosphere/EC2/LaunchTemplate/BaselineEbsBandwidthMbpsProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.LaunchTemplate.BaselineEbsBandwidthMbpsProperty (+        BaselineEbsBandwidthMbpsProperty(..),+        mkBaselineEbsBandwidthMbpsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BaselineEbsBandwidthMbpsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineebsbandwidthmbps.html>+    BaselineEbsBandwidthMbpsProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineebsbandwidthmbps.html#cfn-ec2-launchtemplate-baselineebsbandwidthmbps-max>+                                      max :: (Prelude.Maybe (Value Prelude.Integer)),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineebsbandwidthmbps.html#cfn-ec2-launchtemplate-baselineebsbandwidthmbps-min>+                                      min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBaselineEbsBandwidthMbpsProperty ::+  BaselineEbsBandwidthMbpsProperty+mkBaselineEbsBandwidthMbpsProperty+  = BaselineEbsBandwidthMbpsProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties BaselineEbsBandwidthMbpsProperty where+  toResourceProperties BaselineEbsBandwidthMbpsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.BaselineEbsBandwidthMbps",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON BaselineEbsBandwidthMbpsProperty where+  toJSON BaselineEbsBandwidthMbpsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" BaselineEbsBandwidthMbpsProperty where+  type PropertyType "Max" BaselineEbsBandwidthMbpsProperty = Value Prelude.Integer+  set newValue BaselineEbsBandwidthMbpsProperty {..}+    = BaselineEbsBandwidthMbpsProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" BaselineEbsBandwidthMbpsProperty where+  type PropertyType "Min" BaselineEbsBandwidthMbpsProperty = Value Prelude.Integer+  set newValue BaselineEbsBandwidthMbpsProperty {..}+    = BaselineEbsBandwidthMbpsProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/BaselineEbsBandwidthMbpsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.BaselineEbsBandwidthMbpsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BaselineEbsBandwidthMbpsProperty :: Prelude.Type+instance ToResourceProperties BaselineEbsBandwidthMbpsProperty+instance Prelude.Eq BaselineEbsBandwidthMbpsProperty+instance Prelude.Show BaselineEbsBandwidthMbpsProperty+instance JSON.ToJSON BaselineEbsBandwidthMbpsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/BaselinePerformanceFactorsProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.LaunchTemplate.BaselinePerformanceFactorsProperty (+        module Exports, BaselinePerformanceFactorsProperty(..),+        mkBaselinePerformanceFactorsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.CpuProperty as Exports+import Stratosphere.ResourceProperties+data BaselinePerformanceFactorsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineperformancefactors.html>+    BaselinePerformanceFactorsProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-baselineperformancefactors.html#cfn-ec2-launchtemplate-baselineperformancefactors-cpu>+                                        cpu :: (Prelude.Maybe CpuProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBaselinePerformanceFactorsProperty ::+  BaselinePerformanceFactorsProperty+mkBaselinePerformanceFactorsProperty+  = BaselinePerformanceFactorsProperty+      {haddock_workaround_ = (), cpu = Prelude.Nothing}+instance ToResourceProperties BaselinePerformanceFactorsProperty where+  toResourceProperties BaselinePerformanceFactorsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.BaselinePerformanceFactors",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Cpu" Prelude.<$> cpu])}+instance JSON.ToJSON BaselinePerformanceFactorsProperty where+  toJSON BaselinePerformanceFactorsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Cpu" Prelude.<$> cpu]))+instance Property "Cpu" BaselinePerformanceFactorsProperty where+  type PropertyType "Cpu" BaselinePerformanceFactorsProperty = CpuProperty+  set newValue BaselinePerformanceFactorsProperty {..}+    = BaselinePerformanceFactorsProperty+        {cpu = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/BaselinePerformanceFactorsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.BaselinePerformanceFactorsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BaselinePerformanceFactorsProperty :: Prelude.Type+instance ToResourceProperties BaselinePerformanceFactorsProperty+instance Prelude.Eq BaselinePerformanceFactorsProperty+instance Prelude.Show BaselinePerformanceFactorsProperty+instance JSON.ToJSON BaselinePerformanceFactorsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/BlockDeviceMappingProperty.hs view
@@ -0,0 +1,66 @@+module Stratosphere.EC2.LaunchTemplate.BlockDeviceMappingProperty (+        module Exports, BlockDeviceMappingProperty(..),+        mkBlockDeviceMappingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.EbsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BlockDeviceMappingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html>+    BlockDeviceMappingProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-devicename>+                                deviceName :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-ebs>+                                ebs :: (Prelude.Maybe EbsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-nodevice>+                                noDevice :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-blockdevicemapping.html#cfn-ec2-launchtemplate-blockdevicemapping-virtualname>+                                virtualName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBlockDeviceMappingProperty :: BlockDeviceMappingProperty+mkBlockDeviceMappingProperty+  = BlockDeviceMappingProperty+      {haddock_workaround_ = (), deviceName = Prelude.Nothing,+       ebs = Prelude.Nothing, noDevice = Prelude.Nothing,+       virtualName = Prelude.Nothing}+instance ToResourceProperties BlockDeviceMappingProperty where+  toResourceProperties BlockDeviceMappingProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.BlockDeviceMapping",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DeviceName" Prelude.<$> deviceName,+                            (JSON..=) "Ebs" Prelude.<$> ebs,+                            (JSON..=) "NoDevice" Prelude.<$> noDevice,+                            (JSON..=) "VirtualName" Prelude.<$> virtualName])}+instance JSON.ToJSON BlockDeviceMappingProperty where+  toJSON BlockDeviceMappingProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DeviceName" Prelude.<$> deviceName,+               (JSON..=) "Ebs" Prelude.<$> ebs,+               (JSON..=) "NoDevice" Prelude.<$> noDevice,+               (JSON..=) "VirtualName" Prelude.<$> virtualName]))+instance Property "DeviceName" BlockDeviceMappingProperty where+  type PropertyType "DeviceName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty+        {deviceName = Prelude.pure newValue, ..}+instance Property "Ebs" BlockDeviceMappingProperty where+  type PropertyType "Ebs" BlockDeviceMappingProperty = EbsProperty+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {ebs = Prelude.pure newValue, ..}+instance Property "NoDevice" BlockDeviceMappingProperty where+  type PropertyType "NoDevice" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {noDevice = Prelude.pure newValue, ..}+instance Property "VirtualName" BlockDeviceMappingProperty where+  type PropertyType "VirtualName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty+        {virtualName = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/BlockDeviceMappingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.BlockDeviceMappingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BlockDeviceMappingProperty :: Prelude.Type+instance ToResourceProperties BlockDeviceMappingProperty+instance Prelude.Eq BlockDeviceMappingProperty+instance Prelude.Show BlockDeviceMappingProperty+instance JSON.ToJSON BlockDeviceMappingProperty
+ gen/Stratosphere/EC2/LaunchTemplate/CapacityReservationSpecificationProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.EC2.LaunchTemplate.CapacityReservationSpecificationProperty (+        module Exports, CapacityReservationSpecificationProperty(..),+        mkCapacityReservationSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.CapacityReservationTargetProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityReservationSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationspecification.html>+    CapacityReservationSpecificationProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationspecification.html#cfn-ec2-launchtemplate-capacityreservationspecification-capacityreservationpreference>+                                              capacityReservationPreference :: (Prelude.Maybe (Value Prelude.Text)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationspecification.html#cfn-ec2-launchtemplate-capacityreservationspecification-capacityreservationtarget>+                                              capacityReservationTarget :: (Prelude.Maybe CapacityReservationTargetProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityReservationSpecificationProperty ::+  CapacityReservationSpecificationProperty+mkCapacityReservationSpecificationProperty+  = CapacityReservationSpecificationProperty+      {haddock_workaround_ = (),+       capacityReservationPreference = Prelude.Nothing,+       capacityReservationTarget = Prelude.Nothing}+instance ToResourceProperties CapacityReservationSpecificationProperty where+  toResourceProperties CapacityReservationSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.CapacityReservationSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CapacityReservationPreference"+                              Prelude.<$> capacityReservationPreference,+                            (JSON..=) "CapacityReservationTarget"+                              Prelude.<$> capacityReservationTarget])}+instance JSON.ToJSON CapacityReservationSpecificationProperty where+  toJSON CapacityReservationSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CapacityReservationPreference"+                 Prelude.<$> capacityReservationPreference,+               (JSON..=) "CapacityReservationTarget"+                 Prelude.<$> capacityReservationTarget]))+instance Property "CapacityReservationPreference" CapacityReservationSpecificationProperty where+  type PropertyType "CapacityReservationPreference" CapacityReservationSpecificationProperty = Value Prelude.Text+  set newValue CapacityReservationSpecificationProperty {..}+    = CapacityReservationSpecificationProperty+        {capacityReservationPreference = Prelude.pure newValue, ..}+instance Property "CapacityReservationTarget" CapacityReservationSpecificationProperty where+  type PropertyType "CapacityReservationTarget" CapacityReservationSpecificationProperty = CapacityReservationTargetProperty+  set newValue CapacityReservationSpecificationProperty {..}+    = CapacityReservationSpecificationProperty+        {capacityReservationTarget = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/CapacityReservationSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.CapacityReservationSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CapacityReservationSpecificationProperty :: Prelude.Type+instance ToResourceProperties CapacityReservationSpecificationProperty+instance Prelude.Eq CapacityReservationSpecificationProperty+instance Prelude.Show CapacityReservationSpecificationProperty+instance JSON.ToJSON CapacityReservationSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/CapacityReservationTargetProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.EC2.LaunchTemplate.CapacityReservationTargetProperty (+        CapacityReservationTargetProperty(..),+        mkCapacityReservationTargetProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CapacityReservationTargetProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html>+    CapacityReservationTargetProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html#cfn-ec2-launchtemplate-capacityreservationtarget-capacityreservationid>+                                       capacityReservationId :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-capacityreservationtarget.html#cfn-ec2-launchtemplate-capacityreservationtarget-capacityreservationresourcegrouparn>+                                       capacityReservationResourceGroupArn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCapacityReservationTargetProperty ::+  CapacityReservationTargetProperty+mkCapacityReservationTargetProperty+  = CapacityReservationTargetProperty+      {haddock_workaround_ = (), capacityReservationId = Prelude.Nothing,+       capacityReservationResourceGroupArn = Prelude.Nothing}+instance ToResourceProperties CapacityReservationTargetProperty where+  toResourceProperties CapacityReservationTargetProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.CapacityReservationTarget",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CapacityReservationId"+                              Prelude.<$> capacityReservationId,+                            (JSON..=) "CapacityReservationResourceGroupArn"+                              Prelude.<$> capacityReservationResourceGroupArn])}+instance JSON.ToJSON CapacityReservationTargetProperty where+  toJSON CapacityReservationTargetProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CapacityReservationId"+                 Prelude.<$> capacityReservationId,+               (JSON..=) "CapacityReservationResourceGroupArn"+                 Prelude.<$> capacityReservationResourceGroupArn]))+instance Property "CapacityReservationId" CapacityReservationTargetProperty where+  type PropertyType "CapacityReservationId" CapacityReservationTargetProperty = Value Prelude.Text+  set newValue CapacityReservationTargetProperty {..}+    = CapacityReservationTargetProperty+        {capacityReservationId = Prelude.pure newValue, ..}+instance Property "CapacityReservationResourceGroupArn" CapacityReservationTargetProperty where+  type PropertyType "CapacityReservationResourceGroupArn" CapacityReservationTargetProperty = Value Prelude.Text+  set newValue CapacityReservationTargetProperty {..}+    = CapacityReservationTargetProperty+        {capacityReservationResourceGroupArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/CapacityReservationTargetProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.CapacityReservationTargetProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CapacityReservationTargetProperty :: Prelude.Type+instance ToResourceProperties CapacityReservationTargetProperty+instance Prelude.Eq CapacityReservationTargetProperty+instance Prelude.Show CapacityReservationTargetProperty+instance JSON.ToJSON CapacityReservationTargetProperty
+ gen/Stratosphere/EC2/LaunchTemplate/ConnectionTrackingSpecificationProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.EC2.LaunchTemplate.ConnectionTrackingSpecificationProperty (+        ConnectionTrackingSpecificationProperty(..),+        mkConnectionTrackingSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ConnectionTrackingSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-connectiontrackingspecification.html>+    ConnectionTrackingSpecificationProperty {haddock_workaround_ :: (),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-connectiontrackingspecification.html#cfn-ec2-launchtemplate-connectiontrackingspecification-tcpestablishedtimeout>+                                             tcpEstablishedTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-connectiontrackingspecification.html#cfn-ec2-launchtemplate-connectiontrackingspecification-udpstreamtimeout>+                                             udpStreamTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-connectiontrackingspecification.html#cfn-ec2-launchtemplate-connectiontrackingspecification-udptimeout>+                                             udpTimeout :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkConnectionTrackingSpecificationProperty ::+  ConnectionTrackingSpecificationProperty+mkConnectionTrackingSpecificationProperty+  = ConnectionTrackingSpecificationProperty+      {haddock_workaround_ = (), tcpEstablishedTimeout = Prelude.Nothing,+       udpStreamTimeout = Prelude.Nothing, udpTimeout = Prelude.Nothing}+instance ToResourceProperties ConnectionTrackingSpecificationProperty where+  toResourceProperties ConnectionTrackingSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.ConnectionTrackingSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "TcpEstablishedTimeout"+                              Prelude.<$> tcpEstablishedTimeout,+                            (JSON..=) "UdpStreamTimeout" Prelude.<$> udpStreamTimeout,+                            (JSON..=) "UdpTimeout" Prelude.<$> udpTimeout])}+instance JSON.ToJSON ConnectionTrackingSpecificationProperty where+  toJSON ConnectionTrackingSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "TcpEstablishedTimeout"+                 Prelude.<$> tcpEstablishedTimeout,+               (JSON..=) "UdpStreamTimeout" Prelude.<$> udpStreamTimeout,+               (JSON..=) "UdpTimeout" Prelude.<$> udpTimeout]))+instance Property "TcpEstablishedTimeout" ConnectionTrackingSpecificationProperty where+  type PropertyType "TcpEstablishedTimeout" ConnectionTrackingSpecificationProperty = Value Prelude.Integer+  set newValue ConnectionTrackingSpecificationProperty {..}+    = ConnectionTrackingSpecificationProperty+        {tcpEstablishedTimeout = Prelude.pure newValue, ..}+instance Property "UdpStreamTimeout" ConnectionTrackingSpecificationProperty where+  type PropertyType "UdpStreamTimeout" ConnectionTrackingSpecificationProperty = Value Prelude.Integer+  set newValue ConnectionTrackingSpecificationProperty {..}+    = ConnectionTrackingSpecificationProperty+        {udpStreamTimeout = Prelude.pure newValue, ..}+instance Property "UdpTimeout" ConnectionTrackingSpecificationProperty where+  type PropertyType "UdpTimeout" ConnectionTrackingSpecificationProperty = Value Prelude.Integer+  set newValue ConnectionTrackingSpecificationProperty {..}+    = ConnectionTrackingSpecificationProperty+        {udpTimeout = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/ConnectionTrackingSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.ConnectionTrackingSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ConnectionTrackingSpecificationProperty :: Prelude.Type+instance ToResourceProperties ConnectionTrackingSpecificationProperty+instance Prelude.Eq ConnectionTrackingSpecificationProperty+instance Prelude.Show ConnectionTrackingSpecificationProperty+instance JSON.ToJSON ConnectionTrackingSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/CpuOptionsProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.EC2.LaunchTemplate.CpuOptionsProperty (+        CpuOptionsProperty(..), mkCpuOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CpuOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpuoptions.html>+    CpuOptionsProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpuoptions.html#cfn-ec2-launchtemplate-cpuoptions-amdsevsnp>+                        amdSevSnp :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpuoptions.html#cfn-ec2-launchtemplate-cpuoptions-corecount>+                        coreCount :: (Prelude.Maybe (Value Prelude.Integer)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpuoptions.html#cfn-ec2-launchtemplate-cpuoptions-threadspercore>+                        threadsPerCore :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCpuOptionsProperty :: CpuOptionsProperty+mkCpuOptionsProperty+  = CpuOptionsProperty+      {haddock_workaround_ = (), amdSevSnp = Prelude.Nothing,+       coreCount = Prelude.Nothing, threadsPerCore = Prelude.Nothing}+instance ToResourceProperties CpuOptionsProperty where+  toResourceProperties CpuOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.CpuOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AmdSevSnp" Prelude.<$> amdSevSnp,+                            (JSON..=) "CoreCount" Prelude.<$> coreCount,+                            (JSON..=) "ThreadsPerCore" Prelude.<$> threadsPerCore])}+instance JSON.ToJSON CpuOptionsProperty where+  toJSON CpuOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AmdSevSnp" Prelude.<$> amdSevSnp,+               (JSON..=) "CoreCount" Prelude.<$> coreCount,+               (JSON..=) "ThreadsPerCore" Prelude.<$> threadsPerCore]))+instance Property "AmdSevSnp" CpuOptionsProperty where+  type PropertyType "AmdSevSnp" CpuOptionsProperty = Value Prelude.Text+  set newValue CpuOptionsProperty {..}+    = CpuOptionsProperty {amdSevSnp = Prelude.pure newValue, ..}+instance Property "CoreCount" CpuOptionsProperty where+  type PropertyType "CoreCount" CpuOptionsProperty = Value Prelude.Integer+  set newValue CpuOptionsProperty {..}+    = CpuOptionsProperty {coreCount = Prelude.pure newValue, ..}+instance Property "ThreadsPerCore" CpuOptionsProperty where+  type PropertyType "ThreadsPerCore" CpuOptionsProperty = Value Prelude.Integer+  set newValue CpuOptionsProperty {..}+    = CpuOptionsProperty {threadsPerCore = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/CpuOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.CpuOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CpuOptionsProperty :: Prelude.Type+instance ToResourceProperties CpuOptionsProperty+instance Prelude.Eq CpuOptionsProperty+instance Prelude.Show CpuOptionsProperty+instance JSON.ToJSON CpuOptionsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/CpuProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.EC2.LaunchTemplate.CpuProperty (+        module Exports, CpuProperty(..), mkCpuProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.ReferenceProperty as Exports+import Stratosphere.ResourceProperties+data CpuProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpu.html>+    CpuProperty {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-cpu.html#cfn-ec2-launchtemplate-cpu-references>+                 references :: (Prelude.Maybe [ReferenceProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCpuProperty :: CpuProperty+mkCpuProperty+  = CpuProperty+      {haddock_workaround_ = (), references = Prelude.Nothing}+instance ToResourceProperties CpuProperty where+  toResourceProperties CpuProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.Cpu",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "References" Prelude.<$> references])}+instance JSON.ToJSON CpuProperty where+  toJSON CpuProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "References" Prelude.<$> references]))+instance Property "References" CpuProperty where+  type PropertyType "References" CpuProperty = [ReferenceProperty]+  set newValue CpuProperty {..}+    = CpuProperty {references = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/CpuProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.CpuProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CpuProperty :: Prelude.Type+instance ToResourceProperties CpuProperty+instance Prelude.Eq CpuProperty+instance Prelude.Show CpuProperty+instance JSON.ToJSON CpuProperty
+ gen/Stratosphere/EC2/LaunchTemplate/CreditSpecificationProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.LaunchTemplate.CreditSpecificationProperty (+        CreditSpecificationProperty(..), mkCreditSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CreditSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-creditspecification.html>+    CreditSpecificationProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-creditspecification.html#cfn-ec2-launchtemplate-creditspecification-cpucredits>+                                 cpuCredits :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCreditSpecificationProperty :: CreditSpecificationProperty+mkCreditSpecificationProperty+  = CreditSpecificationProperty+      {haddock_workaround_ = (), cpuCredits = Prelude.Nothing}+instance ToResourceProperties CreditSpecificationProperty where+  toResourceProperties CreditSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.CreditSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CpuCredits" Prelude.<$> cpuCredits])}+instance JSON.ToJSON CreditSpecificationProperty where+  toJSON CreditSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CpuCredits" Prelude.<$> cpuCredits]))+instance Property "CpuCredits" CreditSpecificationProperty where+  type PropertyType "CpuCredits" CreditSpecificationProperty = Value Prelude.Text+  set newValue CreditSpecificationProperty {..}+    = CreditSpecificationProperty+        {cpuCredits = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/CreditSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.CreditSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CreditSpecificationProperty :: Prelude.Type+instance ToResourceProperties CreditSpecificationProperty+instance Prelude.Eq CreditSpecificationProperty+instance Prelude.Show CreditSpecificationProperty+instance JSON.ToJSON CreditSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/EbsProperty.hs view
@@ -0,0 +1,108 @@+module Stratosphere.EC2.LaunchTemplate.EbsProperty (+        EbsProperty(..), mkEbsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EbsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html>+    EbsProperty {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-deleteontermination>+                 deleteOnTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-encrypted>+                 encrypted :: (Prelude.Maybe (Value Prelude.Bool)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-iops>+                 iops :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-kmskeyid>+                 kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-snapshotid>+                 snapshotId :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-throughput>+                 throughput :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-volumeinitializationrate>+                 volumeInitializationRate :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-volumesize>+                 volumeSize :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ebs.html#cfn-ec2-launchtemplate-ebs-volumetype>+                 volumeType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEbsProperty :: EbsProperty+mkEbsProperty+  = EbsProperty+      {haddock_workaround_ = (), deleteOnTermination = Prelude.Nothing,+       encrypted = Prelude.Nothing, iops = Prelude.Nothing,+       kmsKeyId = Prelude.Nothing, snapshotId = Prelude.Nothing,+       throughput = Prelude.Nothing,+       volumeInitializationRate = Prelude.Nothing,+       volumeSize = Prelude.Nothing, volumeType = Prelude.Nothing}+instance ToResourceProperties EbsProperty where+  toResourceProperties EbsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.Ebs",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                            (JSON..=) "Encrypted" Prelude.<$> encrypted,+                            (JSON..=) "Iops" Prelude.<$> iops,+                            (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+                            (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+                            (JSON..=) "Throughput" Prelude.<$> throughput,+                            (JSON..=) "VolumeInitializationRate"+                              Prelude.<$> volumeInitializationRate,+                            (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+                            (JSON..=) "VolumeType" Prelude.<$> volumeType])}+instance JSON.ToJSON EbsProperty where+  toJSON EbsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+               (JSON..=) "Encrypted" Prelude.<$> encrypted,+               (JSON..=) "Iops" Prelude.<$> iops,+               (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+               (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+               (JSON..=) "Throughput" Prelude.<$> throughput,+               (JSON..=) "VolumeInitializationRate"+                 Prelude.<$> volumeInitializationRate,+               (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+               (JSON..=) "VolumeType" Prelude.<$> volumeType]))+instance Property "DeleteOnTermination" EbsProperty where+  type PropertyType "DeleteOnTermination" EbsProperty = Value Prelude.Bool+  set newValue EbsProperty {..}+    = EbsProperty {deleteOnTermination = Prelude.pure newValue, ..}+instance Property "Encrypted" EbsProperty where+  type PropertyType "Encrypted" EbsProperty = Value Prelude.Bool+  set newValue EbsProperty {..}+    = EbsProperty {encrypted = Prelude.pure newValue, ..}+instance Property "Iops" EbsProperty where+  type PropertyType "Iops" EbsProperty = Value Prelude.Integer+  set newValue EbsProperty {..}+    = EbsProperty {iops = Prelude.pure newValue, ..}+instance Property "KmsKeyId" EbsProperty where+  type PropertyType "KmsKeyId" EbsProperty = Value Prelude.Text+  set newValue EbsProperty {..}+    = EbsProperty {kmsKeyId = Prelude.pure newValue, ..}+instance Property "SnapshotId" EbsProperty where+  type PropertyType "SnapshotId" EbsProperty = Value Prelude.Text+  set newValue EbsProperty {..}+    = EbsProperty {snapshotId = Prelude.pure newValue, ..}+instance Property "Throughput" EbsProperty where+  type PropertyType "Throughput" EbsProperty = Value Prelude.Integer+  set newValue EbsProperty {..}+    = EbsProperty {throughput = Prelude.pure newValue, ..}+instance Property "VolumeInitializationRate" EbsProperty where+  type PropertyType "VolumeInitializationRate" EbsProperty = Value Prelude.Integer+  set newValue EbsProperty {..}+    = EbsProperty+        {volumeInitializationRate = Prelude.pure newValue, ..}+instance Property "VolumeSize" EbsProperty where+  type PropertyType "VolumeSize" EbsProperty = Value Prelude.Integer+  set newValue EbsProperty {..}+    = EbsProperty {volumeSize = Prelude.pure newValue, ..}+instance Property "VolumeType" EbsProperty where+  type PropertyType "VolumeType" EbsProperty = Value Prelude.Text+  set newValue EbsProperty {..}+    = EbsProperty {volumeType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/EbsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.EbsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EbsProperty :: Prelude.Type+instance ToResourceProperties EbsProperty+instance Prelude.Eq EbsProperty+instance Prelude.Show EbsProperty+instance JSON.ToJSON EbsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/EnaSrdSpecificationProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.EC2.LaunchTemplate.EnaSrdSpecificationProperty (+        module Exports, EnaSrdSpecificationProperty(..),+        mkEnaSrdSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.EnaSrdUdpSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnaSrdSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdspecification.html>+    EnaSrdSpecificationProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdspecification.html#cfn-ec2-launchtemplate-enasrdspecification-enasrdenabled>+                                 enaSrdEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdspecification.html#cfn-ec2-launchtemplate-enasrdspecification-enasrdudpspecification>+                                 enaSrdUdpSpecification :: (Prelude.Maybe EnaSrdUdpSpecificationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEnaSrdSpecificationProperty :: EnaSrdSpecificationProperty+mkEnaSrdSpecificationProperty+  = EnaSrdSpecificationProperty+      {haddock_workaround_ = (), enaSrdEnabled = Prelude.Nothing,+       enaSrdUdpSpecification = Prelude.Nothing}+instance ToResourceProperties EnaSrdSpecificationProperty where+  toResourceProperties EnaSrdSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.EnaSrdSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EnaSrdEnabled" Prelude.<$> enaSrdEnabled,+                            (JSON..=) "EnaSrdUdpSpecification"+                              Prelude.<$> enaSrdUdpSpecification])}+instance JSON.ToJSON EnaSrdSpecificationProperty where+  toJSON EnaSrdSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EnaSrdEnabled" Prelude.<$> enaSrdEnabled,+               (JSON..=) "EnaSrdUdpSpecification"+                 Prelude.<$> enaSrdUdpSpecification]))+instance Property "EnaSrdEnabled" EnaSrdSpecificationProperty where+  type PropertyType "EnaSrdEnabled" EnaSrdSpecificationProperty = Value Prelude.Bool+  set newValue EnaSrdSpecificationProperty {..}+    = EnaSrdSpecificationProperty+        {enaSrdEnabled = Prelude.pure newValue, ..}+instance Property "EnaSrdUdpSpecification" EnaSrdSpecificationProperty where+  type PropertyType "EnaSrdUdpSpecification" EnaSrdSpecificationProperty = EnaSrdUdpSpecificationProperty+  set newValue EnaSrdSpecificationProperty {..}+    = EnaSrdSpecificationProperty+        {enaSrdUdpSpecification = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/EnaSrdSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.EnaSrdSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EnaSrdSpecificationProperty :: Prelude.Type+instance ToResourceProperties EnaSrdSpecificationProperty+instance Prelude.Eq EnaSrdSpecificationProperty+instance Prelude.Show EnaSrdSpecificationProperty+instance JSON.ToJSON EnaSrdSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/EnaSrdUdpSpecificationProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.EC2.LaunchTemplate.EnaSrdUdpSpecificationProperty (+        EnaSrdUdpSpecificationProperty(..),+        mkEnaSrdUdpSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnaSrdUdpSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdudpspecification.html>+    EnaSrdUdpSpecificationProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enasrdudpspecification.html#cfn-ec2-launchtemplate-enasrdudpspecification-enasrdudpenabled>+                                    enaSrdUdpEnabled :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEnaSrdUdpSpecificationProperty :: EnaSrdUdpSpecificationProperty+mkEnaSrdUdpSpecificationProperty+  = EnaSrdUdpSpecificationProperty+      {haddock_workaround_ = (), enaSrdUdpEnabled = Prelude.Nothing}+instance ToResourceProperties EnaSrdUdpSpecificationProperty where+  toResourceProperties EnaSrdUdpSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.EnaSrdUdpSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EnaSrdUdpEnabled" Prelude.<$> enaSrdUdpEnabled])}+instance JSON.ToJSON EnaSrdUdpSpecificationProperty where+  toJSON EnaSrdUdpSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EnaSrdUdpEnabled" Prelude.<$> enaSrdUdpEnabled]))+instance Property "EnaSrdUdpEnabled" EnaSrdUdpSpecificationProperty where+  type PropertyType "EnaSrdUdpEnabled" EnaSrdUdpSpecificationProperty = Value Prelude.Bool+  set newValue EnaSrdUdpSpecificationProperty {..}+    = EnaSrdUdpSpecificationProperty+        {enaSrdUdpEnabled = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/EnaSrdUdpSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.EnaSrdUdpSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EnaSrdUdpSpecificationProperty :: Prelude.Type+instance ToResourceProperties EnaSrdUdpSpecificationProperty+instance Prelude.Eq EnaSrdUdpSpecificationProperty+instance Prelude.Show EnaSrdUdpSpecificationProperty+instance JSON.ToJSON EnaSrdUdpSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/EnclaveOptionsProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.EC2.LaunchTemplate.EnclaveOptionsProperty (+        EnclaveOptionsProperty(..), mkEnclaveOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnclaveOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enclaveoptions.html>+    EnclaveOptionsProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-enclaveoptions.html#cfn-ec2-launchtemplate-enclaveoptions-enabled>+                            enabled :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEnclaveOptionsProperty :: EnclaveOptionsProperty+mkEnclaveOptionsProperty+  = EnclaveOptionsProperty+      {haddock_workaround_ = (), enabled = Prelude.Nothing}+instance ToResourceProperties EnclaveOptionsProperty where+  toResourceProperties EnclaveOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.EnclaveOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Enabled" Prelude.<$> enabled])}+instance JSON.ToJSON EnclaveOptionsProperty where+  toJSON EnclaveOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Enabled" Prelude.<$> enabled]))+instance Property "Enabled" EnclaveOptionsProperty where+  type PropertyType "Enabled" EnclaveOptionsProperty = Value Prelude.Bool+  set newValue EnclaveOptionsProperty {..}+    = EnclaveOptionsProperty {enabled = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/EnclaveOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.EnclaveOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EnclaveOptionsProperty :: Prelude.Type+instance ToResourceProperties EnclaveOptionsProperty+instance Prelude.Eq EnclaveOptionsProperty+instance Prelude.Show EnclaveOptionsProperty+instance JSON.ToJSON EnclaveOptionsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/HibernationOptionsProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.LaunchTemplate.HibernationOptionsProperty (+        HibernationOptionsProperty(..), mkHibernationOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data HibernationOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-hibernationoptions.html>+    HibernationOptionsProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-hibernationoptions.html#cfn-ec2-launchtemplate-hibernationoptions-configured>+                                configured :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkHibernationOptionsProperty :: HibernationOptionsProperty+mkHibernationOptionsProperty+  = HibernationOptionsProperty+      {haddock_workaround_ = (), configured = Prelude.Nothing}+instance ToResourceProperties HibernationOptionsProperty where+  toResourceProperties HibernationOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.HibernationOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Configured" Prelude.<$> configured])}+instance JSON.ToJSON HibernationOptionsProperty where+  toJSON HibernationOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Configured" Prelude.<$> configured]))+instance Property "Configured" HibernationOptionsProperty where+  type PropertyType "Configured" HibernationOptionsProperty = Value Prelude.Bool+  set newValue HibernationOptionsProperty {..}+    = HibernationOptionsProperty+        {configured = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/HibernationOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.HibernationOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data HibernationOptionsProperty :: Prelude.Type+instance ToResourceProperties HibernationOptionsProperty+instance Prelude.Eq HibernationOptionsProperty+instance Prelude.Show HibernationOptionsProperty+instance JSON.ToJSON HibernationOptionsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/IamInstanceProfileProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.LaunchTemplate.IamInstanceProfileProperty (+        IamInstanceProfileProperty(..), mkIamInstanceProfileProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IamInstanceProfileProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-iaminstanceprofile.html>+    IamInstanceProfileProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-iaminstanceprofile.html#cfn-ec2-launchtemplate-iaminstanceprofile-arn>+                                arn :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-iaminstanceprofile.html#cfn-ec2-launchtemplate-iaminstanceprofile-name>+                                name :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIamInstanceProfileProperty :: IamInstanceProfileProperty+mkIamInstanceProfileProperty+  = IamInstanceProfileProperty+      {haddock_workaround_ = (), arn = Prelude.Nothing,+       name = Prelude.Nothing}+instance ToResourceProperties IamInstanceProfileProperty where+  toResourceProperties IamInstanceProfileProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.IamInstanceProfile",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Arn" Prelude.<$> arn,+                            (JSON..=) "Name" Prelude.<$> name])}+instance JSON.ToJSON IamInstanceProfileProperty where+  toJSON IamInstanceProfileProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Arn" Prelude.<$> arn,+               (JSON..=) "Name" Prelude.<$> name]))+instance Property "Arn" IamInstanceProfileProperty where+  type PropertyType "Arn" IamInstanceProfileProperty = Value Prelude.Text+  set newValue IamInstanceProfileProperty {..}+    = IamInstanceProfileProperty {arn = Prelude.pure newValue, ..}+instance Property "Name" IamInstanceProfileProperty where+  type PropertyType "Name" IamInstanceProfileProperty = Value Prelude.Text+  set newValue IamInstanceProfileProperty {..}+    = IamInstanceProfileProperty {name = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/IamInstanceProfileProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.IamInstanceProfileProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IamInstanceProfileProperty :: Prelude.Type+instance ToResourceProperties IamInstanceProfileProperty+instance Prelude.Eq IamInstanceProfileProperty+instance Prelude.Show IamInstanceProfileProperty+instance JSON.ToJSON IamInstanceProfileProperty
+ gen/Stratosphere/EC2/LaunchTemplate/InstanceMarketOptionsProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.LaunchTemplate.InstanceMarketOptionsProperty (+        module Exports, InstanceMarketOptionsProperty(..),+        mkInstanceMarketOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.SpotOptionsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceMarketOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancemarketoptions.html>+    InstanceMarketOptionsProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancemarketoptions.html#cfn-ec2-launchtemplate-instancemarketoptions-markettype>+                                   marketType :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancemarketoptions.html#cfn-ec2-launchtemplate-instancemarketoptions-spotoptions>+                                   spotOptions :: (Prelude.Maybe SpotOptionsProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceMarketOptionsProperty :: InstanceMarketOptionsProperty+mkInstanceMarketOptionsProperty+  = InstanceMarketOptionsProperty+      {haddock_workaround_ = (), marketType = Prelude.Nothing,+       spotOptions = Prelude.Nothing}+instance ToResourceProperties InstanceMarketOptionsProperty where+  toResourceProperties InstanceMarketOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.InstanceMarketOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "MarketType" Prelude.<$> marketType,+                            (JSON..=) "SpotOptions" Prelude.<$> spotOptions])}+instance JSON.ToJSON InstanceMarketOptionsProperty where+  toJSON InstanceMarketOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "MarketType" Prelude.<$> marketType,+               (JSON..=) "SpotOptions" Prelude.<$> spotOptions]))+instance Property "MarketType" InstanceMarketOptionsProperty where+  type PropertyType "MarketType" InstanceMarketOptionsProperty = Value Prelude.Text+  set newValue InstanceMarketOptionsProperty {..}+    = InstanceMarketOptionsProperty+        {marketType = Prelude.pure newValue, ..}+instance Property "SpotOptions" InstanceMarketOptionsProperty where+  type PropertyType "SpotOptions" InstanceMarketOptionsProperty = SpotOptionsProperty+  set newValue InstanceMarketOptionsProperty {..}+    = InstanceMarketOptionsProperty+        {spotOptions = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/InstanceMarketOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.InstanceMarketOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceMarketOptionsProperty :: Prelude.Type+instance ToResourceProperties InstanceMarketOptionsProperty+instance Prelude.Eq InstanceMarketOptionsProperty+instance Prelude.Show InstanceMarketOptionsProperty+instance JSON.ToJSON InstanceMarketOptionsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/InstanceRequirementsProperty.hs view
@@ -0,0 +1,309 @@+module Stratosphere.EC2.LaunchTemplate.InstanceRequirementsProperty (+        module Exports, InstanceRequirementsProperty(..),+        mkInstanceRequirementsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.AcceleratorCountProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.AcceleratorTotalMemoryMiBProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.BaselineEbsBandwidthMbpsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.BaselinePerformanceFactorsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.MemoryGiBPerVCpuProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.MemoryMiBProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.NetworkBandwidthGbpsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.NetworkInterfaceCountProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.TotalLocalStorageGBProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.VCpuCountProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceRequirementsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html>+    InstanceRequirementsProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-acceleratorcount>+                                  acceleratorCount :: (Prelude.Maybe AcceleratorCountProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-acceleratormanufacturers>+                                  acceleratorManufacturers :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-acceleratornames>+                                  acceleratorNames :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-acceleratortotalmemorymib>+                                  acceleratorTotalMemoryMiB :: (Prelude.Maybe AcceleratorTotalMemoryMiBProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-acceleratortypes>+                                  acceleratorTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-allowedinstancetypes>+                                  allowedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-baremetal>+                                  bareMetal :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-baselineebsbandwidthmbps>+                                  baselineEbsBandwidthMbps :: (Prelude.Maybe BaselineEbsBandwidthMbpsProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-baselineperformancefactors>+                                  baselinePerformanceFactors :: (Prelude.Maybe BaselinePerformanceFactorsProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-burstableperformance>+                                  burstablePerformance :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-cpumanufacturers>+                                  cpuManufacturers :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-excludedinstancetypes>+                                  excludedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-instancegenerations>+                                  instanceGenerations :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-localstorage>+                                  localStorage :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-localstoragetypes>+                                  localStorageTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-maxspotpriceaspercentageofoptimalondemandprice>+                                  maxSpotPriceAsPercentageOfOptimalOnDemandPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-memorygibpervcpu>+                                  memoryGiBPerVCpu :: (Prelude.Maybe MemoryGiBPerVCpuProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-memorymib>+                                  memoryMiB :: (Prelude.Maybe MemoryMiBProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-networkbandwidthgbps>+                                  networkBandwidthGbps :: (Prelude.Maybe NetworkBandwidthGbpsProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-networkinterfacecount>+                                  networkInterfaceCount :: (Prelude.Maybe NetworkInterfaceCountProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-ondemandmaxpricepercentageoverlowestprice>+                                  onDemandMaxPricePercentageOverLowestPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-requirehibernatesupport>+                                  requireHibernateSupport :: (Prelude.Maybe (Value Prelude.Bool)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-spotmaxpricepercentageoverlowestprice>+                                  spotMaxPricePercentageOverLowestPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-totallocalstoragegb>+                                  totalLocalStorageGB :: (Prelude.Maybe TotalLocalStorageGBProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancerequirements.html#cfn-ec2-launchtemplate-instancerequirements-vcpucount>+                                  vCpuCount :: (Prelude.Maybe VCpuCountProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceRequirementsProperty :: InstanceRequirementsProperty+mkInstanceRequirementsProperty+  = InstanceRequirementsProperty+      {haddock_workaround_ = (), acceleratorCount = Prelude.Nothing,+       acceleratorManufacturers = Prelude.Nothing,+       acceleratorNames = Prelude.Nothing,+       acceleratorTotalMemoryMiB = Prelude.Nothing,+       acceleratorTypes = Prelude.Nothing,+       allowedInstanceTypes = Prelude.Nothing,+       bareMetal = Prelude.Nothing,+       baselineEbsBandwidthMbps = Prelude.Nothing,+       baselinePerformanceFactors = Prelude.Nothing,+       burstablePerformance = Prelude.Nothing,+       cpuManufacturers = Prelude.Nothing,+       excludedInstanceTypes = Prelude.Nothing,+       instanceGenerations = Prelude.Nothing,+       localStorage = Prelude.Nothing,+       localStorageTypes = Prelude.Nothing,+       maxSpotPriceAsPercentageOfOptimalOnDemandPrice = Prelude.Nothing,+       memoryGiBPerVCpu = Prelude.Nothing, memoryMiB = Prelude.Nothing,+       networkBandwidthGbps = Prelude.Nothing,+       networkInterfaceCount = Prelude.Nothing,+       onDemandMaxPricePercentageOverLowestPrice = Prelude.Nothing,+       requireHibernateSupport = Prelude.Nothing,+       spotMaxPricePercentageOverLowestPrice = Prelude.Nothing,+       totalLocalStorageGB = Prelude.Nothing, vCpuCount = Prelude.Nothing}+instance ToResourceProperties InstanceRequirementsProperty where+  toResourceProperties InstanceRequirementsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.InstanceRequirements",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,+                            (JSON..=) "AcceleratorManufacturers"+                              Prelude.<$> acceleratorManufacturers,+                            (JSON..=) "AcceleratorNames" Prelude.<$> acceleratorNames,+                            (JSON..=) "AcceleratorTotalMemoryMiB"+                              Prelude.<$> acceleratorTotalMemoryMiB,+                            (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,+                            (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,+                            (JSON..=) "BareMetal" Prelude.<$> bareMetal,+                            (JSON..=) "BaselineEbsBandwidthMbps"+                              Prelude.<$> baselineEbsBandwidthMbps,+                            (JSON..=) "BaselinePerformanceFactors"+                              Prelude.<$> baselinePerformanceFactors,+                            (JSON..=) "BurstablePerformance" Prelude.<$> burstablePerformance,+                            (JSON..=) "CpuManufacturers" Prelude.<$> cpuManufacturers,+                            (JSON..=) "ExcludedInstanceTypes"+                              Prelude.<$> excludedInstanceTypes,+                            (JSON..=) "InstanceGenerations" Prelude.<$> instanceGenerations,+                            (JSON..=) "LocalStorage" Prelude.<$> localStorage,+                            (JSON..=) "LocalStorageTypes" Prelude.<$> localStorageTypes,+                            (JSON..=) "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"+                              Prelude.<$> maxSpotPriceAsPercentageOfOptimalOnDemandPrice,+                            (JSON..=) "MemoryGiBPerVCpu" Prelude.<$> memoryGiBPerVCpu,+                            (JSON..=) "MemoryMiB" Prelude.<$> memoryMiB,+                            (JSON..=) "NetworkBandwidthGbps" Prelude.<$> networkBandwidthGbps,+                            (JSON..=) "NetworkInterfaceCount"+                              Prelude.<$> networkInterfaceCount,+                            (JSON..=) "OnDemandMaxPricePercentageOverLowestPrice"+                              Prelude.<$> onDemandMaxPricePercentageOverLowestPrice,+                            (JSON..=) "RequireHibernateSupport"+                              Prelude.<$> requireHibernateSupport,+                            (JSON..=) "SpotMaxPricePercentageOverLowestPrice"+                              Prelude.<$> spotMaxPricePercentageOverLowestPrice,+                            (JSON..=) "TotalLocalStorageGB" Prelude.<$> totalLocalStorageGB,+                            (JSON..=) "VCpuCount" Prelude.<$> vCpuCount])}+instance JSON.ToJSON InstanceRequirementsProperty where+  toJSON InstanceRequirementsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,+               (JSON..=) "AcceleratorManufacturers"+                 Prelude.<$> acceleratorManufacturers,+               (JSON..=) "AcceleratorNames" Prelude.<$> acceleratorNames,+               (JSON..=) "AcceleratorTotalMemoryMiB"+                 Prelude.<$> acceleratorTotalMemoryMiB,+               (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,+               (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,+               (JSON..=) "BareMetal" Prelude.<$> bareMetal,+               (JSON..=) "BaselineEbsBandwidthMbps"+                 Prelude.<$> baselineEbsBandwidthMbps,+               (JSON..=) "BaselinePerformanceFactors"+                 Prelude.<$> baselinePerformanceFactors,+               (JSON..=) "BurstablePerformance" Prelude.<$> burstablePerformance,+               (JSON..=) "CpuManufacturers" Prelude.<$> cpuManufacturers,+               (JSON..=) "ExcludedInstanceTypes"+                 Prelude.<$> excludedInstanceTypes,+               (JSON..=) "InstanceGenerations" Prelude.<$> instanceGenerations,+               (JSON..=) "LocalStorage" Prelude.<$> localStorage,+               (JSON..=) "LocalStorageTypes" Prelude.<$> localStorageTypes,+               (JSON..=) "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"+                 Prelude.<$> maxSpotPriceAsPercentageOfOptimalOnDemandPrice,+               (JSON..=) "MemoryGiBPerVCpu" Prelude.<$> memoryGiBPerVCpu,+               (JSON..=) "MemoryMiB" Prelude.<$> memoryMiB,+               (JSON..=) "NetworkBandwidthGbps" Prelude.<$> networkBandwidthGbps,+               (JSON..=) "NetworkInterfaceCount"+                 Prelude.<$> networkInterfaceCount,+               (JSON..=) "OnDemandMaxPricePercentageOverLowestPrice"+                 Prelude.<$> onDemandMaxPricePercentageOverLowestPrice,+               (JSON..=) "RequireHibernateSupport"+                 Prelude.<$> requireHibernateSupport,+               (JSON..=) "SpotMaxPricePercentageOverLowestPrice"+                 Prelude.<$> spotMaxPricePercentageOverLowestPrice,+               (JSON..=) "TotalLocalStorageGB" Prelude.<$> totalLocalStorageGB,+               (JSON..=) "VCpuCount" Prelude.<$> vCpuCount]))+instance Property "AcceleratorCount" InstanceRequirementsProperty where+  type PropertyType "AcceleratorCount" InstanceRequirementsProperty = AcceleratorCountProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorCount = Prelude.pure newValue, ..}+instance Property "AcceleratorManufacturers" InstanceRequirementsProperty where+  type PropertyType "AcceleratorManufacturers" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorManufacturers = Prelude.pure newValue, ..}+instance Property "AcceleratorNames" InstanceRequirementsProperty where+  type PropertyType "AcceleratorNames" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorNames = Prelude.pure newValue, ..}+instance Property "AcceleratorTotalMemoryMiB" InstanceRequirementsProperty where+  type PropertyType "AcceleratorTotalMemoryMiB" InstanceRequirementsProperty = AcceleratorTotalMemoryMiBProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorTotalMemoryMiB = Prelude.pure newValue, ..}+instance Property "AcceleratorTypes" InstanceRequirementsProperty where+  type PropertyType "AcceleratorTypes" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {acceleratorTypes = Prelude.pure newValue, ..}+instance Property "AllowedInstanceTypes" InstanceRequirementsProperty where+  type PropertyType "AllowedInstanceTypes" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {allowedInstanceTypes = Prelude.pure newValue, ..}+instance Property "BareMetal" InstanceRequirementsProperty where+  type PropertyType "BareMetal" InstanceRequirementsProperty = Value Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {bareMetal = Prelude.pure newValue, ..}+instance Property "BaselineEbsBandwidthMbps" InstanceRequirementsProperty where+  type PropertyType "BaselineEbsBandwidthMbps" InstanceRequirementsProperty = BaselineEbsBandwidthMbpsProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {baselineEbsBandwidthMbps = Prelude.pure newValue, ..}+instance Property "BaselinePerformanceFactors" InstanceRequirementsProperty where+  type PropertyType "BaselinePerformanceFactors" InstanceRequirementsProperty = BaselinePerformanceFactorsProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {baselinePerformanceFactors = Prelude.pure newValue, ..}+instance Property "BurstablePerformance" InstanceRequirementsProperty where+  type PropertyType "BurstablePerformance" InstanceRequirementsProperty = Value Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {burstablePerformance = Prelude.pure newValue, ..}+instance Property "CpuManufacturers" InstanceRequirementsProperty where+  type PropertyType "CpuManufacturers" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {cpuManufacturers = Prelude.pure newValue, ..}+instance Property "ExcludedInstanceTypes" InstanceRequirementsProperty where+  type PropertyType "ExcludedInstanceTypes" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {excludedInstanceTypes = Prelude.pure newValue, ..}+instance Property "InstanceGenerations" InstanceRequirementsProperty where+  type PropertyType "InstanceGenerations" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {instanceGenerations = Prelude.pure newValue, ..}+instance Property "LocalStorage" InstanceRequirementsProperty where+  type PropertyType "LocalStorage" InstanceRequirementsProperty = Value Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {localStorage = Prelude.pure newValue, ..}+instance Property "LocalStorageTypes" InstanceRequirementsProperty where+  type PropertyType "LocalStorageTypes" InstanceRequirementsProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {localStorageTypes = Prelude.pure newValue, ..}+instance Property "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" InstanceRequirementsProperty where+  type PropertyType "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" InstanceRequirementsProperty = Value Prelude.Integer+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {maxSpotPriceAsPercentageOfOptimalOnDemandPrice = Prelude.pure+                                                            newValue,+         ..}+instance Property "MemoryGiBPerVCpu" InstanceRequirementsProperty where+  type PropertyType "MemoryGiBPerVCpu" InstanceRequirementsProperty = MemoryGiBPerVCpuProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {memoryGiBPerVCpu = Prelude.pure newValue, ..}+instance Property "MemoryMiB" InstanceRequirementsProperty where+  type PropertyType "MemoryMiB" InstanceRequirementsProperty = MemoryMiBProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {memoryMiB = Prelude.pure newValue, ..}+instance Property "NetworkBandwidthGbps" InstanceRequirementsProperty where+  type PropertyType "NetworkBandwidthGbps" InstanceRequirementsProperty = NetworkBandwidthGbpsProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {networkBandwidthGbps = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceCount" InstanceRequirementsProperty where+  type PropertyType "NetworkInterfaceCount" InstanceRequirementsProperty = NetworkInterfaceCountProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {networkInterfaceCount = Prelude.pure newValue, ..}+instance Property "OnDemandMaxPricePercentageOverLowestPrice" InstanceRequirementsProperty where+  type PropertyType "OnDemandMaxPricePercentageOverLowestPrice" InstanceRequirementsProperty = Value Prelude.Integer+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {onDemandMaxPricePercentageOverLowestPrice = Prelude.pure newValue,+         ..}+instance Property "RequireHibernateSupport" InstanceRequirementsProperty where+  type PropertyType "RequireHibernateSupport" InstanceRequirementsProperty = Value Prelude.Bool+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {requireHibernateSupport = Prelude.pure newValue, ..}+instance Property "SpotMaxPricePercentageOverLowestPrice" InstanceRequirementsProperty where+  type PropertyType "SpotMaxPricePercentageOverLowestPrice" InstanceRequirementsProperty = Value Prelude.Integer+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {spotMaxPricePercentageOverLowestPrice = Prelude.pure newValue, ..}+instance Property "TotalLocalStorageGB" InstanceRequirementsProperty where+  type PropertyType "TotalLocalStorageGB" InstanceRequirementsProperty = TotalLocalStorageGBProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {totalLocalStorageGB = Prelude.pure newValue, ..}+instance Property "VCpuCount" InstanceRequirementsProperty where+  type PropertyType "VCpuCount" InstanceRequirementsProperty = VCpuCountProperty+  set newValue InstanceRequirementsProperty {..}+    = InstanceRequirementsProperty+        {vCpuCount = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/InstanceRequirementsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.InstanceRequirementsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceRequirementsProperty :: Prelude.Type+instance ToResourceProperties InstanceRequirementsProperty+instance Prelude.Eq InstanceRequirementsProperty+instance Prelude.Show InstanceRequirementsProperty+instance JSON.ToJSON InstanceRequirementsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/Ipv4PrefixSpecificationProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.LaunchTemplate.Ipv4PrefixSpecificationProperty (+        Ipv4PrefixSpecificationProperty(..),+        mkIpv4PrefixSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Ipv4PrefixSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv4prefixspecification.html>+    Ipv4PrefixSpecificationProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv4prefixspecification.html#cfn-ec2-launchtemplate-ipv4prefixspecification-ipv4prefix>+                                     ipv4Prefix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpv4PrefixSpecificationProperty ::+  Ipv4PrefixSpecificationProperty+mkIpv4PrefixSpecificationProperty+  = Ipv4PrefixSpecificationProperty+      {haddock_workaround_ = (), ipv4Prefix = Prelude.Nothing}+instance ToResourceProperties Ipv4PrefixSpecificationProperty where+  toResourceProperties Ipv4PrefixSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.Ipv4PrefixSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Ipv4Prefix" Prelude.<$> ipv4Prefix])}+instance JSON.ToJSON Ipv4PrefixSpecificationProperty where+  toJSON Ipv4PrefixSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Ipv4Prefix" Prelude.<$> ipv4Prefix]))+instance Property "Ipv4Prefix" Ipv4PrefixSpecificationProperty where+  type PropertyType "Ipv4Prefix" Ipv4PrefixSpecificationProperty = Value Prelude.Text+  set newValue Ipv4PrefixSpecificationProperty {..}+    = Ipv4PrefixSpecificationProperty+        {ipv4Prefix = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/Ipv4PrefixSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.Ipv4PrefixSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Ipv4PrefixSpecificationProperty :: Prelude.Type+instance ToResourceProperties Ipv4PrefixSpecificationProperty+instance Prelude.Eq Ipv4PrefixSpecificationProperty+instance Prelude.Show Ipv4PrefixSpecificationProperty+instance JSON.ToJSON Ipv4PrefixSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/Ipv6AddProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.EC2.LaunchTemplate.Ipv6AddProperty (+        Ipv6AddProperty(..), mkIpv6AddProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Ipv6AddProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html>+    Ipv6AddProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6add.html#cfn-ec2-launchtemplate-ipv6add-ipv6address>+                     ipv6Address :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpv6AddProperty :: Ipv6AddProperty+mkIpv6AddProperty+  = Ipv6AddProperty+      {haddock_workaround_ = (), ipv6Address = Prelude.Nothing}+instance ToResourceProperties Ipv6AddProperty where+  toResourceProperties Ipv6AddProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.Ipv6Add",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Ipv6Address" Prelude.<$> ipv6Address])}+instance JSON.ToJSON Ipv6AddProperty where+  toJSON Ipv6AddProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Ipv6Address" Prelude.<$> ipv6Address]))+instance Property "Ipv6Address" Ipv6AddProperty where+  type PropertyType "Ipv6Address" Ipv6AddProperty = Value Prelude.Text+  set newValue Ipv6AddProperty {..}+    = Ipv6AddProperty {ipv6Address = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/Ipv6AddProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.Ipv6AddProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Ipv6AddProperty :: Prelude.Type+instance ToResourceProperties Ipv6AddProperty+instance Prelude.Eq Ipv6AddProperty+instance Prelude.Show Ipv6AddProperty+instance JSON.ToJSON Ipv6AddProperty
+ gen/Stratosphere/EC2/LaunchTemplate/Ipv6PrefixSpecificationProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.LaunchTemplate.Ipv6PrefixSpecificationProperty (+        Ipv6PrefixSpecificationProperty(..),+        mkIpv6PrefixSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Ipv6PrefixSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6prefixspecification.html>+    Ipv6PrefixSpecificationProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-ipv6prefixspecification.html#cfn-ec2-launchtemplate-ipv6prefixspecification-ipv6prefix>+                                     ipv6Prefix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpv6PrefixSpecificationProperty ::+  Ipv6PrefixSpecificationProperty+mkIpv6PrefixSpecificationProperty+  = Ipv6PrefixSpecificationProperty+      {haddock_workaround_ = (), ipv6Prefix = Prelude.Nothing}+instance ToResourceProperties Ipv6PrefixSpecificationProperty where+  toResourceProperties Ipv6PrefixSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.Ipv6PrefixSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Ipv6Prefix" Prelude.<$> ipv6Prefix])}+instance JSON.ToJSON Ipv6PrefixSpecificationProperty where+  toJSON Ipv6PrefixSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Ipv6Prefix" Prelude.<$> ipv6Prefix]))+instance Property "Ipv6Prefix" Ipv6PrefixSpecificationProperty where+  type PropertyType "Ipv6Prefix" Ipv6PrefixSpecificationProperty = Value Prelude.Text+  set newValue Ipv6PrefixSpecificationProperty {..}+    = Ipv6PrefixSpecificationProperty+        {ipv6Prefix = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/Ipv6PrefixSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.Ipv6PrefixSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Ipv6PrefixSpecificationProperty :: Prelude.Type+instance ToResourceProperties Ipv6PrefixSpecificationProperty+instance Prelude.Eq Ipv6PrefixSpecificationProperty+instance Prelude.Show Ipv6PrefixSpecificationProperty+instance JSON.ToJSON Ipv6PrefixSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/LaunchTemplateDataProperty.hs view
@@ -0,0 +1,349 @@+module Stratosphere.EC2.LaunchTemplate.LaunchTemplateDataProperty (+        module Exports, LaunchTemplateDataProperty(..),+        mkLaunchTemplateDataProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.BlockDeviceMappingProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.CapacityReservationSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.CpuOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.CreditSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.EnclaveOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.HibernationOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.IamInstanceProfileProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.InstanceMarketOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.InstanceRequirementsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.LicenseSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.MaintenanceOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.MetadataOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.MonitoringProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.NetworkInterfaceProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.NetworkPerformanceOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.PlacementProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.PrivateDnsNameOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.TagSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LaunchTemplateDataProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>+    LaunchTemplateDataProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-blockdevicemappings>+                                blockDeviceMappings :: (Prelude.Maybe [BlockDeviceMappingProperty]),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-capacityreservationspecification>+                                capacityReservationSpecification :: (Prelude.Maybe CapacityReservationSpecificationProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-cpuoptions>+                                cpuOptions :: (Prelude.Maybe CpuOptionsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-creditspecification>+                                creditSpecification :: (Prelude.Maybe CreditSpecificationProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-disableapistop>+                                disableApiStop :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-disableapitermination>+                                disableApiTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-ebsoptimized>+                                ebsOptimized :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-enclaveoptions>+                                enclaveOptions :: (Prelude.Maybe EnclaveOptionsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-hibernationoptions>+                                hibernationOptions :: (Prelude.Maybe HibernationOptionsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-iaminstanceprofile>+                                iamInstanceProfile :: (Prelude.Maybe IamInstanceProfileProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-imageid>+                                imageId :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instanceinitiatedshutdownbehavior>+                                instanceInitiatedShutdownBehavior :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instancemarketoptions>+                                instanceMarketOptions :: (Prelude.Maybe InstanceMarketOptionsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instancerequirements>+                                instanceRequirements :: (Prelude.Maybe InstanceRequirementsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-instancetype>+                                instanceType :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-kernelid>+                                kernelId :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-keyname>+                                keyName :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-licensespecifications>+                                licenseSpecifications :: (Prelude.Maybe [LicenseSpecificationProperty]),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-maintenanceoptions>+                                maintenanceOptions :: (Prelude.Maybe MaintenanceOptionsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-metadataoptions>+                                metadataOptions :: (Prelude.Maybe MetadataOptionsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-monitoring>+                                monitoring :: (Prelude.Maybe MonitoringProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-networkinterfaces>+                                networkInterfaces :: (Prelude.Maybe [NetworkInterfaceProperty]),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-networkperformanceoptions>+                                networkPerformanceOptions :: (Prelude.Maybe NetworkPerformanceOptionsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-placement>+                                placement :: (Prelude.Maybe PlacementProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-privatednsnameoptions>+                                privateDnsNameOptions :: (Prelude.Maybe PrivateDnsNameOptionsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-ramdiskid>+                                ramDiskId :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-securitygroupids>+                                securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-securitygroups>+                                securityGroups :: (Prelude.Maybe (ValueList Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-tagspecifications>+                                tagSpecifications :: (Prelude.Maybe [TagSpecificationProperty]),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-userdata>+                                userData :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchTemplateDataProperty :: LaunchTemplateDataProperty+mkLaunchTemplateDataProperty+  = LaunchTemplateDataProperty+      {haddock_workaround_ = (), blockDeviceMappings = Prelude.Nothing,+       capacityReservationSpecification = Prelude.Nothing,+       cpuOptions = Prelude.Nothing,+       creditSpecification = Prelude.Nothing,+       disableApiStop = Prelude.Nothing,+       disableApiTermination = Prelude.Nothing,+       ebsOptimized = Prelude.Nothing, enclaveOptions = Prelude.Nothing,+       hibernationOptions = Prelude.Nothing,+       iamInstanceProfile = Prelude.Nothing, imageId = Prelude.Nothing,+       instanceInitiatedShutdownBehavior = Prelude.Nothing,+       instanceMarketOptions = Prelude.Nothing,+       instanceRequirements = Prelude.Nothing,+       instanceType = Prelude.Nothing, kernelId = Prelude.Nothing,+       keyName = Prelude.Nothing, licenseSpecifications = Prelude.Nothing,+       maintenanceOptions = Prelude.Nothing,+       metadataOptions = Prelude.Nothing, monitoring = Prelude.Nothing,+       networkInterfaces = Prelude.Nothing,+       networkPerformanceOptions = Prelude.Nothing,+       placement = Prelude.Nothing,+       privateDnsNameOptions = Prelude.Nothing,+       ramDiskId = Prelude.Nothing, securityGroupIds = Prelude.Nothing,+       securityGroups = Prelude.Nothing,+       tagSpecifications = Prelude.Nothing, userData = Prelude.Nothing}+instance ToResourceProperties LaunchTemplateDataProperty where+  toResourceProperties LaunchTemplateDataProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.LaunchTemplateData",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+                            (JSON..=) "CapacityReservationSpecification"+                              Prelude.<$> capacityReservationSpecification,+                            (JSON..=) "CpuOptions" Prelude.<$> cpuOptions,+                            (JSON..=) "CreditSpecification" Prelude.<$> creditSpecification,+                            (JSON..=) "DisableApiStop" Prelude.<$> disableApiStop,+                            (JSON..=) "DisableApiTermination"+                              Prelude.<$> disableApiTermination,+                            (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+                            (JSON..=) "EnclaveOptions" Prelude.<$> enclaveOptions,+                            (JSON..=) "HibernationOptions" Prelude.<$> hibernationOptions,+                            (JSON..=) "IamInstanceProfile" Prelude.<$> iamInstanceProfile,+                            (JSON..=) "ImageId" Prelude.<$> imageId,+                            (JSON..=) "InstanceInitiatedShutdownBehavior"+                              Prelude.<$> instanceInitiatedShutdownBehavior,+                            (JSON..=) "InstanceMarketOptions"+                              Prelude.<$> instanceMarketOptions,+                            (JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+                            (JSON..=) "InstanceType" Prelude.<$> instanceType,+                            (JSON..=) "KernelId" Prelude.<$> kernelId,+                            (JSON..=) "KeyName" Prelude.<$> keyName,+                            (JSON..=) "LicenseSpecifications"+                              Prelude.<$> licenseSpecifications,+                            (JSON..=) "MaintenanceOptions" Prelude.<$> maintenanceOptions,+                            (JSON..=) "MetadataOptions" Prelude.<$> metadataOptions,+                            (JSON..=) "Monitoring" Prelude.<$> monitoring,+                            (JSON..=) "NetworkInterfaces" Prelude.<$> networkInterfaces,+                            (JSON..=) "NetworkPerformanceOptions"+                              Prelude.<$> networkPerformanceOptions,+                            (JSON..=) "Placement" Prelude.<$> placement,+                            (JSON..=) "PrivateDnsNameOptions"+                              Prelude.<$> privateDnsNameOptions,+                            (JSON..=) "RamDiskId" Prelude.<$> ramDiskId,+                            (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                            (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+                            (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                            (JSON..=) "UserData" Prelude.<$> userData])}+instance JSON.ToJSON LaunchTemplateDataProperty where+  toJSON LaunchTemplateDataProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+               (JSON..=) "CapacityReservationSpecification"+                 Prelude.<$> capacityReservationSpecification,+               (JSON..=) "CpuOptions" Prelude.<$> cpuOptions,+               (JSON..=) "CreditSpecification" Prelude.<$> creditSpecification,+               (JSON..=) "DisableApiStop" Prelude.<$> disableApiStop,+               (JSON..=) "DisableApiTermination"+                 Prelude.<$> disableApiTermination,+               (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+               (JSON..=) "EnclaveOptions" Prelude.<$> enclaveOptions,+               (JSON..=) "HibernationOptions" Prelude.<$> hibernationOptions,+               (JSON..=) "IamInstanceProfile" Prelude.<$> iamInstanceProfile,+               (JSON..=) "ImageId" Prelude.<$> imageId,+               (JSON..=) "InstanceInitiatedShutdownBehavior"+                 Prelude.<$> instanceInitiatedShutdownBehavior,+               (JSON..=) "InstanceMarketOptions"+                 Prelude.<$> instanceMarketOptions,+               (JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+               (JSON..=) "InstanceType" Prelude.<$> instanceType,+               (JSON..=) "KernelId" Prelude.<$> kernelId,+               (JSON..=) "KeyName" Prelude.<$> keyName,+               (JSON..=) "LicenseSpecifications"+                 Prelude.<$> licenseSpecifications,+               (JSON..=) "MaintenanceOptions" Prelude.<$> maintenanceOptions,+               (JSON..=) "MetadataOptions" Prelude.<$> metadataOptions,+               (JSON..=) "Monitoring" Prelude.<$> monitoring,+               (JSON..=) "NetworkInterfaces" Prelude.<$> networkInterfaces,+               (JSON..=) "NetworkPerformanceOptions"+                 Prelude.<$> networkPerformanceOptions,+               (JSON..=) "Placement" Prelude.<$> placement,+               (JSON..=) "PrivateDnsNameOptions"+                 Prelude.<$> privateDnsNameOptions,+               (JSON..=) "RamDiskId" Prelude.<$> ramDiskId,+               (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+               (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+               (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+               (JSON..=) "UserData" Prelude.<$> userData]))+instance Property "BlockDeviceMappings" LaunchTemplateDataProperty where+  type PropertyType "BlockDeviceMappings" LaunchTemplateDataProperty = [BlockDeviceMappingProperty]+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {blockDeviceMappings = Prelude.pure newValue, ..}+instance Property "CapacityReservationSpecification" LaunchTemplateDataProperty where+  type PropertyType "CapacityReservationSpecification" LaunchTemplateDataProperty = CapacityReservationSpecificationProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {capacityReservationSpecification = Prelude.pure newValue, ..}+instance Property "CpuOptions" LaunchTemplateDataProperty where+  type PropertyType "CpuOptions" LaunchTemplateDataProperty = CpuOptionsProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {cpuOptions = Prelude.pure newValue, ..}+instance Property "CreditSpecification" LaunchTemplateDataProperty where+  type PropertyType "CreditSpecification" LaunchTemplateDataProperty = CreditSpecificationProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {creditSpecification = Prelude.pure newValue, ..}+instance Property "DisableApiStop" LaunchTemplateDataProperty where+  type PropertyType "DisableApiStop" LaunchTemplateDataProperty = Value Prelude.Bool+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {disableApiStop = Prelude.pure newValue, ..}+instance Property "DisableApiTermination" LaunchTemplateDataProperty where+  type PropertyType "DisableApiTermination" LaunchTemplateDataProperty = Value Prelude.Bool+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {disableApiTermination = Prelude.pure newValue, ..}+instance Property "EbsOptimized" LaunchTemplateDataProperty where+  type PropertyType "EbsOptimized" LaunchTemplateDataProperty = Value Prelude.Bool+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {ebsOptimized = Prelude.pure newValue, ..}+instance Property "EnclaveOptions" LaunchTemplateDataProperty where+  type PropertyType "EnclaveOptions" LaunchTemplateDataProperty = EnclaveOptionsProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {enclaveOptions = Prelude.pure newValue, ..}+instance Property "HibernationOptions" LaunchTemplateDataProperty where+  type PropertyType "HibernationOptions" LaunchTemplateDataProperty = HibernationOptionsProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {hibernationOptions = Prelude.pure newValue, ..}+instance Property "IamInstanceProfile" LaunchTemplateDataProperty where+  type PropertyType "IamInstanceProfile" LaunchTemplateDataProperty = IamInstanceProfileProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {iamInstanceProfile = Prelude.pure newValue, ..}+instance Property "ImageId" LaunchTemplateDataProperty where+  type PropertyType "ImageId" LaunchTemplateDataProperty = Value Prelude.Text+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty {imageId = Prelude.pure newValue, ..}+instance Property "InstanceInitiatedShutdownBehavior" LaunchTemplateDataProperty where+  type PropertyType "InstanceInitiatedShutdownBehavior" LaunchTemplateDataProperty = Value Prelude.Text+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {instanceInitiatedShutdownBehavior = Prelude.pure newValue, ..}+instance Property "InstanceMarketOptions" LaunchTemplateDataProperty where+  type PropertyType "InstanceMarketOptions" LaunchTemplateDataProperty = InstanceMarketOptionsProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {instanceMarketOptions = Prelude.pure newValue, ..}+instance Property "InstanceRequirements" LaunchTemplateDataProperty where+  type PropertyType "InstanceRequirements" LaunchTemplateDataProperty = InstanceRequirementsProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {instanceRequirements = Prelude.pure newValue, ..}+instance Property "InstanceType" LaunchTemplateDataProperty where+  type PropertyType "InstanceType" LaunchTemplateDataProperty = Value Prelude.Text+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {instanceType = Prelude.pure newValue, ..}+instance Property "KernelId" LaunchTemplateDataProperty where+  type PropertyType "KernelId" LaunchTemplateDataProperty = Value Prelude.Text+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty {kernelId = Prelude.pure newValue, ..}+instance Property "KeyName" LaunchTemplateDataProperty where+  type PropertyType "KeyName" LaunchTemplateDataProperty = Value Prelude.Text+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty {keyName = Prelude.pure newValue, ..}+instance Property "LicenseSpecifications" LaunchTemplateDataProperty where+  type PropertyType "LicenseSpecifications" LaunchTemplateDataProperty = [LicenseSpecificationProperty]+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {licenseSpecifications = Prelude.pure newValue, ..}+instance Property "MaintenanceOptions" LaunchTemplateDataProperty where+  type PropertyType "MaintenanceOptions" LaunchTemplateDataProperty = MaintenanceOptionsProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {maintenanceOptions = Prelude.pure newValue, ..}+instance Property "MetadataOptions" LaunchTemplateDataProperty where+  type PropertyType "MetadataOptions" LaunchTemplateDataProperty = MetadataOptionsProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {metadataOptions = Prelude.pure newValue, ..}+instance Property "Monitoring" LaunchTemplateDataProperty where+  type PropertyType "Monitoring" LaunchTemplateDataProperty = MonitoringProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {monitoring = Prelude.pure newValue, ..}+instance Property "NetworkInterfaces" LaunchTemplateDataProperty where+  type PropertyType "NetworkInterfaces" LaunchTemplateDataProperty = [NetworkInterfaceProperty]+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {networkInterfaces = Prelude.pure newValue, ..}+instance Property "NetworkPerformanceOptions" LaunchTemplateDataProperty where+  type PropertyType "NetworkPerformanceOptions" LaunchTemplateDataProperty = NetworkPerformanceOptionsProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {networkPerformanceOptions = Prelude.pure newValue, ..}+instance Property "Placement" LaunchTemplateDataProperty where+  type PropertyType "Placement" LaunchTemplateDataProperty = PlacementProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {placement = Prelude.pure newValue, ..}+instance Property "PrivateDnsNameOptions" LaunchTemplateDataProperty where+  type PropertyType "PrivateDnsNameOptions" LaunchTemplateDataProperty = PrivateDnsNameOptionsProperty+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {privateDnsNameOptions = Prelude.pure newValue, ..}+instance Property "RamDiskId" LaunchTemplateDataProperty where+  type PropertyType "RamDiskId" LaunchTemplateDataProperty = Value Prelude.Text+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {ramDiskId = Prelude.pure newValue, ..}+instance Property "SecurityGroupIds" LaunchTemplateDataProperty where+  type PropertyType "SecurityGroupIds" LaunchTemplateDataProperty = ValueList Prelude.Text+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {securityGroupIds = Prelude.pure newValue, ..}+instance Property "SecurityGroups" LaunchTemplateDataProperty where+  type PropertyType "SecurityGroups" LaunchTemplateDataProperty = ValueList Prelude.Text+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {securityGroups = Prelude.pure newValue, ..}+instance Property "TagSpecifications" LaunchTemplateDataProperty where+  type PropertyType "TagSpecifications" LaunchTemplateDataProperty = [TagSpecificationProperty]+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty+        {tagSpecifications = Prelude.pure newValue, ..}+instance Property "UserData" LaunchTemplateDataProperty where+  type PropertyType "UserData" LaunchTemplateDataProperty = Value Prelude.Text+  set newValue LaunchTemplateDataProperty {..}+    = LaunchTemplateDataProperty {userData = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/LaunchTemplateDataProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.LaunchTemplateDataProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LaunchTemplateDataProperty :: Prelude.Type+instance ToResourceProperties LaunchTemplateDataProperty+instance Prelude.Eq LaunchTemplateDataProperty+instance Prelude.Show LaunchTemplateDataProperty+instance JSON.ToJSON LaunchTemplateDataProperty
+ gen/Stratosphere/EC2/LaunchTemplate/LaunchTemplateTagSpecificationProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.EC2.LaunchTemplate.LaunchTemplateTagSpecificationProperty (+        LaunchTemplateTagSpecificationProperty(..),+        mkLaunchTemplateTagSpecificationProperty+    ) 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 LaunchTemplateTagSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatetagspecification.html>+    LaunchTemplateTagSpecificationProperty {haddock_workaround_ :: (),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatetagspecification.html#cfn-ec2-launchtemplate-launchtemplatetagspecification-resourcetype>+                                            resourceType :: (Prelude.Maybe (Value Prelude.Text)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatetagspecification.html#cfn-ec2-launchtemplate-launchtemplatetagspecification-tags>+                                            tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchTemplateTagSpecificationProperty ::+  LaunchTemplateTagSpecificationProperty+mkLaunchTemplateTagSpecificationProperty+  = LaunchTemplateTagSpecificationProperty+      {haddock_workaround_ = (), resourceType = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties LaunchTemplateTagSpecificationProperty where+  toResourceProperties LaunchTemplateTagSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.LaunchTemplateTagSpecification",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ResourceType" Prelude.<$> resourceType,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON LaunchTemplateTagSpecificationProperty where+  toJSON LaunchTemplateTagSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ResourceType" Prelude.<$> resourceType,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "ResourceType" LaunchTemplateTagSpecificationProperty where+  type PropertyType "ResourceType" LaunchTemplateTagSpecificationProperty = Value Prelude.Text+  set newValue LaunchTemplateTagSpecificationProperty {..}+    = LaunchTemplateTagSpecificationProperty+        {resourceType = Prelude.pure newValue, ..}+instance Property "Tags" LaunchTemplateTagSpecificationProperty where+  type PropertyType "Tags" LaunchTemplateTagSpecificationProperty = [Tag]+  set newValue LaunchTemplateTagSpecificationProperty {..}+    = LaunchTemplateTagSpecificationProperty+        {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/LaunchTemplateTagSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.LaunchTemplateTagSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LaunchTemplateTagSpecificationProperty :: Prelude.Type+instance ToResourceProperties LaunchTemplateTagSpecificationProperty+instance Prelude.Eq LaunchTemplateTagSpecificationProperty+instance Prelude.Show LaunchTemplateTagSpecificationProperty+instance JSON.ToJSON LaunchTemplateTagSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/LicenseSpecificationProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.EC2.LaunchTemplate.LicenseSpecificationProperty (+        LicenseSpecificationProperty(..), mkLicenseSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LicenseSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-licensespecification.html>+    LicenseSpecificationProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-licensespecification.html#cfn-ec2-launchtemplate-licensespecification-licenseconfigurationarn>+                                  licenseConfigurationArn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLicenseSpecificationProperty :: LicenseSpecificationProperty+mkLicenseSpecificationProperty+  = LicenseSpecificationProperty+      {haddock_workaround_ = (),+       licenseConfigurationArn = Prelude.Nothing}+instance ToResourceProperties LicenseSpecificationProperty where+  toResourceProperties LicenseSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.LicenseSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "LicenseConfigurationArn"+                              Prelude.<$> licenseConfigurationArn])}+instance JSON.ToJSON LicenseSpecificationProperty where+  toJSON LicenseSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "LicenseConfigurationArn"+                 Prelude.<$> licenseConfigurationArn]))+instance Property "LicenseConfigurationArn" LicenseSpecificationProperty where+  type PropertyType "LicenseConfigurationArn" LicenseSpecificationProperty = Value Prelude.Text+  set newValue LicenseSpecificationProperty {..}+    = LicenseSpecificationProperty+        {licenseConfigurationArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/LicenseSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.LicenseSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LicenseSpecificationProperty :: Prelude.Type+instance ToResourceProperties LicenseSpecificationProperty+instance Prelude.Eq LicenseSpecificationProperty+instance Prelude.Show LicenseSpecificationProperty+instance JSON.ToJSON LicenseSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/MaintenanceOptionsProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.LaunchTemplate.MaintenanceOptionsProperty (+        MaintenanceOptionsProperty(..), mkMaintenanceOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MaintenanceOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-maintenanceoptions.html>+    MaintenanceOptionsProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-maintenanceoptions.html#cfn-ec2-launchtemplate-maintenanceoptions-autorecovery>+                                autoRecovery :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMaintenanceOptionsProperty :: MaintenanceOptionsProperty+mkMaintenanceOptionsProperty+  = MaintenanceOptionsProperty+      {haddock_workaround_ = (), autoRecovery = Prelude.Nothing}+instance ToResourceProperties MaintenanceOptionsProperty where+  toResourceProperties MaintenanceOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.MaintenanceOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AutoRecovery" Prelude.<$> autoRecovery])}+instance JSON.ToJSON MaintenanceOptionsProperty where+  toJSON MaintenanceOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AutoRecovery" Prelude.<$> autoRecovery]))+instance Property "AutoRecovery" MaintenanceOptionsProperty where+  type PropertyType "AutoRecovery" MaintenanceOptionsProperty = Value Prelude.Text+  set newValue MaintenanceOptionsProperty {..}+    = MaintenanceOptionsProperty+        {autoRecovery = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/MaintenanceOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.MaintenanceOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MaintenanceOptionsProperty :: Prelude.Type+instance ToResourceProperties MaintenanceOptionsProperty+instance Prelude.Eq MaintenanceOptionsProperty+instance Prelude.Show MaintenanceOptionsProperty+instance JSON.ToJSON MaintenanceOptionsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/MemoryGiBPerVCpuProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.LaunchTemplate.MemoryGiBPerVCpuProperty (+        MemoryGiBPerVCpuProperty(..), mkMemoryGiBPerVCpuProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MemoryGiBPerVCpuProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-memorygibpervcpu.html>+    MemoryGiBPerVCpuProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-memorygibpervcpu.html#cfn-ec2-launchtemplate-memorygibpervcpu-max>+                              max :: (Prelude.Maybe (Value Prelude.Double)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-memorygibpervcpu.html#cfn-ec2-launchtemplate-memorygibpervcpu-min>+                              min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMemoryGiBPerVCpuProperty :: MemoryGiBPerVCpuProperty+mkMemoryGiBPerVCpuProperty+  = MemoryGiBPerVCpuProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties MemoryGiBPerVCpuProperty where+  toResourceProperties MemoryGiBPerVCpuProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.MemoryGiBPerVCpu",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON MemoryGiBPerVCpuProperty where+  toJSON MemoryGiBPerVCpuProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" MemoryGiBPerVCpuProperty where+  type PropertyType "Max" MemoryGiBPerVCpuProperty = Value Prelude.Double+  set newValue MemoryGiBPerVCpuProperty {..}+    = MemoryGiBPerVCpuProperty {max = Prelude.pure newValue, ..}+instance Property "Min" MemoryGiBPerVCpuProperty where+  type PropertyType "Min" MemoryGiBPerVCpuProperty = Value Prelude.Double+  set newValue MemoryGiBPerVCpuProperty {..}+    = MemoryGiBPerVCpuProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/MemoryGiBPerVCpuProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.MemoryGiBPerVCpuProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MemoryGiBPerVCpuProperty :: Prelude.Type+instance ToResourceProperties MemoryGiBPerVCpuProperty+instance Prelude.Eq MemoryGiBPerVCpuProperty+instance Prelude.Show MemoryGiBPerVCpuProperty+instance JSON.ToJSON MemoryGiBPerVCpuProperty
+ gen/Stratosphere/EC2/LaunchTemplate/MemoryMiBProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.LaunchTemplate.MemoryMiBProperty (+        MemoryMiBProperty(..), mkMemoryMiBProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MemoryMiBProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-memorymib.html>+    MemoryMiBProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-memorymib.html#cfn-ec2-launchtemplate-memorymib-max>+                       max :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-memorymib.html#cfn-ec2-launchtemplate-memorymib-min>+                       min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMemoryMiBProperty :: MemoryMiBProperty+mkMemoryMiBProperty+  = MemoryMiBProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties MemoryMiBProperty where+  toResourceProperties MemoryMiBProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.MemoryMiB",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON MemoryMiBProperty where+  toJSON MemoryMiBProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" MemoryMiBProperty where+  type PropertyType "Max" MemoryMiBProperty = Value Prelude.Integer+  set newValue MemoryMiBProperty {..}+    = MemoryMiBProperty {max = Prelude.pure newValue, ..}+instance Property "Min" MemoryMiBProperty where+  type PropertyType "Min" MemoryMiBProperty = Value Prelude.Integer+  set newValue MemoryMiBProperty {..}+    = MemoryMiBProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/MemoryMiBProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.MemoryMiBProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MemoryMiBProperty :: Prelude.Type+instance ToResourceProperties MemoryMiBProperty+instance Prelude.Eq MemoryMiBProperty+instance Prelude.Show MemoryMiBProperty+instance JSON.ToJSON MemoryMiBProperty
+ gen/Stratosphere/EC2/LaunchTemplate/MetadataOptionsProperty.hs view
@@ -0,0 +1,80 @@+module Stratosphere.EC2.LaunchTemplate.MetadataOptionsProperty (+        MetadataOptionsProperty(..), mkMetadataOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MetadataOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html>+    MetadataOptionsProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html#cfn-ec2-launchtemplate-metadataoptions-httpendpoint>+                             httpEndpoint :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html#cfn-ec2-launchtemplate-metadataoptions-httpprotocolipv6>+                             httpProtocolIpv6 :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html#cfn-ec2-launchtemplate-metadataoptions-httpputresponsehoplimit>+                             httpPutResponseHopLimit :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html#cfn-ec2-launchtemplate-metadataoptions-httptokens>+                             httpTokens :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-metadataoptions.html#cfn-ec2-launchtemplate-metadataoptions-instancemetadatatags>+                             instanceMetadataTags :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMetadataOptionsProperty :: MetadataOptionsProperty+mkMetadataOptionsProperty+  = MetadataOptionsProperty+      {haddock_workaround_ = (), httpEndpoint = Prelude.Nothing,+       httpProtocolIpv6 = Prelude.Nothing,+       httpPutResponseHopLimit = Prelude.Nothing,+       httpTokens = Prelude.Nothing,+       instanceMetadataTags = Prelude.Nothing}+instance ToResourceProperties MetadataOptionsProperty where+  toResourceProperties MetadataOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.MetadataOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "HttpEndpoint" Prelude.<$> httpEndpoint,+                            (JSON..=) "HttpProtocolIpv6" Prelude.<$> httpProtocolIpv6,+                            (JSON..=) "HttpPutResponseHopLimit"+                              Prelude.<$> httpPutResponseHopLimit,+                            (JSON..=) "HttpTokens" Prelude.<$> httpTokens,+                            (JSON..=) "InstanceMetadataTags"+                              Prelude.<$> instanceMetadataTags])}+instance JSON.ToJSON MetadataOptionsProperty where+  toJSON MetadataOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "HttpEndpoint" Prelude.<$> httpEndpoint,+               (JSON..=) "HttpProtocolIpv6" Prelude.<$> httpProtocolIpv6,+               (JSON..=) "HttpPutResponseHopLimit"+                 Prelude.<$> httpPutResponseHopLimit,+               (JSON..=) "HttpTokens" Prelude.<$> httpTokens,+               (JSON..=) "InstanceMetadataTags"+                 Prelude.<$> instanceMetadataTags]))+instance Property "HttpEndpoint" MetadataOptionsProperty where+  type PropertyType "HttpEndpoint" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {httpEndpoint = Prelude.pure newValue, ..}+instance Property "HttpProtocolIpv6" MetadataOptionsProperty where+  type PropertyType "HttpProtocolIpv6" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {httpProtocolIpv6 = Prelude.pure newValue, ..}+instance Property "HttpPutResponseHopLimit" MetadataOptionsProperty where+  type PropertyType "HttpPutResponseHopLimit" MetadataOptionsProperty = Value Prelude.Integer+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {httpPutResponseHopLimit = Prelude.pure newValue, ..}+instance Property "HttpTokens" MetadataOptionsProperty where+  type PropertyType "HttpTokens" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty {httpTokens = Prelude.pure newValue, ..}+instance Property "InstanceMetadataTags" MetadataOptionsProperty where+  type PropertyType "InstanceMetadataTags" MetadataOptionsProperty = Value Prelude.Text+  set newValue MetadataOptionsProperty {..}+    = MetadataOptionsProperty+        {instanceMetadataTags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/MetadataOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.MetadataOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MetadataOptionsProperty :: Prelude.Type+instance ToResourceProperties MetadataOptionsProperty+instance Prelude.Eq MetadataOptionsProperty+instance Prelude.Show MetadataOptionsProperty+instance JSON.ToJSON MetadataOptionsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/MonitoringProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.EC2.LaunchTemplate.MonitoringProperty (+        MonitoringProperty(..), mkMonitoringProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MonitoringProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-monitoring.html>+    MonitoringProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-monitoring.html#cfn-ec2-launchtemplate-monitoring-enabled>+                        enabled :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMonitoringProperty :: MonitoringProperty+mkMonitoringProperty+  = MonitoringProperty+      {haddock_workaround_ = (), enabled = Prelude.Nothing}+instance ToResourceProperties MonitoringProperty where+  toResourceProperties MonitoringProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.Monitoring",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Enabled" Prelude.<$> enabled])}+instance JSON.ToJSON MonitoringProperty where+  toJSON MonitoringProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Enabled" Prelude.<$> enabled]))+instance Property "Enabled" MonitoringProperty where+  type PropertyType "Enabled" MonitoringProperty = Value Prelude.Bool+  set newValue MonitoringProperty {..}+    = MonitoringProperty {enabled = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/MonitoringProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.MonitoringProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MonitoringProperty :: Prelude.Type+instance ToResourceProperties MonitoringProperty+instance Prelude.Eq MonitoringProperty+instance Prelude.Show MonitoringProperty+instance JSON.ToJSON MonitoringProperty
+ gen/Stratosphere/EC2/LaunchTemplate/NetworkBandwidthGbpsProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.LaunchTemplate.NetworkBandwidthGbpsProperty (+        NetworkBandwidthGbpsProperty(..), mkNetworkBandwidthGbpsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkBandwidthGbpsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkbandwidthgbps.html>+    NetworkBandwidthGbpsProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkbandwidthgbps.html#cfn-ec2-launchtemplate-networkbandwidthgbps-max>+                                  max :: (Prelude.Maybe (Value Prelude.Double)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkbandwidthgbps.html#cfn-ec2-launchtemplate-networkbandwidthgbps-min>+                                  min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkBandwidthGbpsProperty :: NetworkBandwidthGbpsProperty+mkNetworkBandwidthGbpsProperty+  = NetworkBandwidthGbpsProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties NetworkBandwidthGbpsProperty where+  toResourceProperties NetworkBandwidthGbpsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.NetworkBandwidthGbps",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON NetworkBandwidthGbpsProperty where+  toJSON NetworkBandwidthGbpsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" NetworkBandwidthGbpsProperty where+  type PropertyType "Max" NetworkBandwidthGbpsProperty = Value Prelude.Double+  set newValue NetworkBandwidthGbpsProperty {..}+    = NetworkBandwidthGbpsProperty {max = Prelude.pure newValue, ..}+instance Property "Min" NetworkBandwidthGbpsProperty where+  type PropertyType "Min" NetworkBandwidthGbpsProperty = Value Prelude.Double+  set newValue NetworkBandwidthGbpsProperty {..}+    = NetworkBandwidthGbpsProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/NetworkBandwidthGbpsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.NetworkBandwidthGbpsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkBandwidthGbpsProperty :: Prelude.Type+instance ToResourceProperties NetworkBandwidthGbpsProperty+instance Prelude.Eq NetworkBandwidthGbpsProperty+instance Prelude.Show NetworkBandwidthGbpsProperty+instance JSON.ToJSON NetworkBandwidthGbpsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/NetworkInterfaceCountProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.LaunchTemplate.NetworkInterfaceCountProperty (+        NetworkInterfaceCountProperty(..), mkNetworkInterfaceCountProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkInterfaceCountProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterfacecount.html>+    NetworkInterfaceCountProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterfacecount.html#cfn-ec2-launchtemplate-networkinterfacecount-max>+                                   max :: (Prelude.Maybe (Value Prelude.Integer)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterfacecount.html#cfn-ec2-launchtemplate-networkinterfacecount-min>+                                   min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterfaceCountProperty :: NetworkInterfaceCountProperty+mkNetworkInterfaceCountProperty+  = NetworkInterfaceCountProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties NetworkInterfaceCountProperty where+  toResourceProperties NetworkInterfaceCountProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.NetworkInterfaceCount",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON NetworkInterfaceCountProperty where+  toJSON NetworkInterfaceCountProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" NetworkInterfaceCountProperty where+  type PropertyType "Max" NetworkInterfaceCountProperty = Value Prelude.Integer+  set newValue NetworkInterfaceCountProperty {..}+    = NetworkInterfaceCountProperty {max = Prelude.pure newValue, ..}+instance Property "Min" NetworkInterfaceCountProperty where+  type PropertyType "Min" NetworkInterfaceCountProperty = Value Prelude.Integer+  set newValue NetworkInterfaceCountProperty {..}+    = NetworkInterfaceCountProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/NetworkInterfaceCountProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.NetworkInterfaceCountProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkInterfaceCountProperty :: Prelude.Type+instance ToResourceProperties NetworkInterfaceCountProperty+instance Prelude.Eq NetworkInterfaceCountProperty+instance Prelude.Show NetworkInterfaceCountProperty+instance JSON.ToJSON NetworkInterfaceCountProperty
+ gen/Stratosphere/EC2/LaunchTemplate/NetworkInterfaceProperty.hs view
@@ -0,0 +1,264 @@+module Stratosphere.EC2.LaunchTemplate.NetworkInterfaceProperty (+        module Exports, NetworkInterfaceProperty(..),+        mkNetworkInterfaceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.ConnectionTrackingSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.EnaSrdSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.Ipv4PrefixSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.Ipv6AddProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.Ipv6PrefixSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.LaunchTemplate.PrivateIpAddProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkInterfaceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html>+    NetworkInterfaceProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatecarrieripaddress>+                              associateCarrierIpAddress :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-associatepublicipaddress>+                              associatePublicIpAddress :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-connectiontrackingspecification>+                              connectionTrackingSpecification :: (Prelude.Maybe ConnectionTrackingSpecificationProperty),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deleteontermination>+                              deleteOnTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-description>+                              description :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-deviceindex>+                              deviceIndex :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-enaqueuecount>+                              enaQueueCount :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-enasrdspecification>+                              enaSrdSpecification :: (Prelude.Maybe EnaSrdSpecificationProperty),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-groups>+                              groups :: (Prelude.Maybe (ValueList Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-interfacetype>+                              interfaceType :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv4prefixcount>+                              ipv4PrefixCount :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv4prefixes>+                              ipv4Prefixes :: (Prelude.Maybe [Ipv4PrefixSpecificationProperty]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresscount>+                              ipv6AddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6addresses>+                              ipv6Addresses :: (Prelude.Maybe [Ipv6AddProperty]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6prefixcount>+                              ipv6PrefixCount :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-ipv6prefixes>+                              ipv6Prefixes :: (Prelude.Maybe [Ipv6PrefixSpecificationProperty]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkcardindex>+                              networkCardIndex :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-networkinterfaceid>+                              networkInterfaceId :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-primaryipv6>+                              primaryIpv6 :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddress>+                              privateIpAddress :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-privateipaddresses>+                              privateIpAddresses :: (Prelude.Maybe [PrivateIpAddProperty]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-secondaryprivateipaddresscount>+                              secondaryPrivateIpAddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkinterface.html#cfn-ec2-launchtemplate-networkinterface-subnetid>+                              subnetId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterfaceProperty :: NetworkInterfaceProperty+mkNetworkInterfaceProperty+  = NetworkInterfaceProperty+      {haddock_workaround_ = (),+       associateCarrierIpAddress = Prelude.Nothing,+       associatePublicIpAddress = Prelude.Nothing,+       connectionTrackingSpecification = Prelude.Nothing,+       deleteOnTermination = Prelude.Nothing,+       description = Prelude.Nothing, deviceIndex = Prelude.Nothing,+       enaQueueCount = Prelude.Nothing,+       enaSrdSpecification = Prelude.Nothing, groups = Prelude.Nothing,+       interfaceType = Prelude.Nothing, ipv4PrefixCount = Prelude.Nothing,+       ipv4Prefixes = Prelude.Nothing, ipv6AddressCount = Prelude.Nothing,+       ipv6Addresses = Prelude.Nothing, ipv6PrefixCount = Prelude.Nothing,+       ipv6Prefixes = Prelude.Nothing, networkCardIndex = Prelude.Nothing,+       networkInterfaceId = Prelude.Nothing,+       primaryIpv6 = Prelude.Nothing, privateIpAddress = Prelude.Nothing,+       privateIpAddresses = Prelude.Nothing,+       secondaryPrivateIpAddressCount = Prelude.Nothing,+       subnetId = Prelude.Nothing}+instance ToResourceProperties NetworkInterfaceProperty where+  toResourceProperties NetworkInterfaceProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.NetworkInterface",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AssociateCarrierIpAddress"+                              Prelude.<$> associateCarrierIpAddress,+                            (JSON..=) "AssociatePublicIpAddress"+                              Prelude.<$> associatePublicIpAddress,+                            (JSON..=) "ConnectionTrackingSpecification"+                              Prelude.<$> connectionTrackingSpecification,+                            (JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "DeviceIndex" Prelude.<$> deviceIndex,+                            (JSON..=) "EnaQueueCount" Prelude.<$> enaQueueCount,+                            (JSON..=) "EnaSrdSpecification" Prelude.<$> enaSrdSpecification,+                            (JSON..=) "Groups" Prelude.<$> groups,+                            (JSON..=) "InterfaceType" Prelude.<$> interfaceType,+                            (JSON..=) "Ipv4PrefixCount" Prelude.<$> ipv4PrefixCount,+                            (JSON..=) "Ipv4Prefixes" Prelude.<$> ipv4Prefixes,+                            (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+                            (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+                            (JSON..=) "Ipv6PrefixCount" Prelude.<$> ipv6PrefixCount,+                            (JSON..=) "Ipv6Prefixes" Prelude.<$> ipv6Prefixes,+                            (JSON..=) "NetworkCardIndex" Prelude.<$> networkCardIndex,+                            (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                            (JSON..=) "PrimaryIpv6" Prelude.<$> primaryIpv6,+                            (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+                            (JSON..=) "PrivateIpAddresses" Prelude.<$> privateIpAddresses,+                            (JSON..=) "SecondaryPrivateIpAddressCount"+                              Prelude.<$> secondaryPrivateIpAddressCount,+                            (JSON..=) "SubnetId" Prelude.<$> subnetId])}+instance JSON.ToJSON NetworkInterfaceProperty where+  toJSON NetworkInterfaceProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AssociateCarrierIpAddress"+                 Prelude.<$> associateCarrierIpAddress,+               (JSON..=) "AssociatePublicIpAddress"+                 Prelude.<$> associatePublicIpAddress,+               (JSON..=) "ConnectionTrackingSpecification"+                 Prelude.<$> connectionTrackingSpecification,+               (JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "DeviceIndex" Prelude.<$> deviceIndex,+               (JSON..=) "EnaQueueCount" Prelude.<$> enaQueueCount,+               (JSON..=) "EnaSrdSpecification" Prelude.<$> enaSrdSpecification,+               (JSON..=) "Groups" Prelude.<$> groups,+               (JSON..=) "InterfaceType" Prelude.<$> interfaceType,+               (JSON..=) "Ipv4PrefixCount" Prelude.<$> ipv4PrefixCount,+               (JSON..=) "Ipv4Prefixes" Prelude.<$> ipv4Prefixes,+               (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+               (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+               (JSON..=) "Ipv6PrefixCount" Prelude.<$> ipv6PrefixCount,+               (JSON..=) "Ipv6Prefixes" Prelude.<$> ipv6Prefixes,+               (JSON..=) "NetworkCardIndex" Prelude.<$> networkCardIndex,+               (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+               (JSON..=) "PrimaryIpv6" Prelude.<$> primaryIpv6,+               (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+               (JSON..=) "PrivateIpAddresses" Prelude.<$> privateIpAddresses,+               (JSON..=) "SecondaryPrivateIpAddressCount"+                 Prelude.<$> secondaryPrivateIpAddressCount,+               (JSON..=) "SubnetId" Prelude.<$> subnetId]))+instance Property "AssociateCarrierIpAddress" NetworkInterfaceProperty where+  type PropertyType "AssociateCarrierIpAddress" NetworkInterfaceProperty = Value Prelude.Bool+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {associateCarrierIpAddress = Prelude.pure newValue, ..}+instance Property "AssociatePublicIpAddress" NetworkInterfaceProperty where+  type PropertyType "AssociatePublicIpAddress" NetworkInterfaceProperty = Value Prelude.Bool+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {associatePublicIpAddress = Prelude.pure newValue, ..}+instance Property "ConnectionTrackingSpecification" NetworkInterfaceProperty where+  type PropertyType "ConnectionTrackingSpecification" NetworkInterfaceProperty = ConnectionTrackingSpecificationProperty+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {connectionTrackingSpecification = Prelude.pure newValue, ..}+instance Property "DeleteOnTermination" NetworkInterfaceProperty where+  type PropertyType "DeleteOnTermination" NetworkInterfaceProperty = Value Prelude.Bool+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {deleteOnTermination = Prelude.pure newValue, ..}+instance Property "Description" NetworkInterfaceProperty where+  type PropertyType "Description" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {description = Prelude.pure newValue, ..}+instance Property "DeviceIndex" NetworkInterfaceProperty where+  type PropertyType "DeviceIndex" NetworkInterfaceProperty = Value Prelude.Integer+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {deviceIndex = Prelude.pure newValue, ..}+instance Property "EnaQueueCount" NetworkInterfaceProperty where+  type PropertyType "EnaQueueCount" NetworkInterfaceProperty = Value Prelude.Integer+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {enaQueueCount = Prelude.pure newValue, ..}+instance Property "EnaSrdSpecification" NetworkInterfaceProperty where+  type PropertyType "EnaSrdSpecification" NetworkInterfaceProperty = EnaSrdSpecificationProperty+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {enaSrdSpecification = Prelude.pure newValue, ..}+instance Property "Groups" NetworkInterfaceProperty where+  type PropertyType "Groups" NetworkInterfaceProperty = ValueList Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty {groups = Prelude.pure newValue, ..}+instance Property "InterfaceType" NetworkInterfaceProperty where+  type PropertyType "InterfaceType" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {interfaceType = Prelude.pure newValue, ..}+instance Property "Ipv4PrefixCount" NetworkInterfaceProperty where+  type PropertyType "Ipv4PrefixCount" NetworkInterfaceProperty = Value Prelude.Integer+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {ipv4PrefixCount = Prelude.pure newValue, ..}+instance Property "Ipv4Prefixes" NetworkInterfaceProperty where+  type PropertyType "Ipv4Prefixes" NetworkInterfaceProperty = [Ipv4PrefixSpecificationProperty]+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {ipv4Prefixes = Prelude.pure newValue, ..}+instance Property "Ipv6AddressCount" NetworkInterfaceProperty where+  type PropertyType "Ipv6AddressCount" NetworkInterfaceProperty = Value Prelude.Integer+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {ipv6AddressCount = Prelude.pure newValue, ..}+instance Property "Ipv6Addresses" NetworkInterfaceProperty where+  type PropertyType "Ipv6Addresses" NetworkInterfaceProperty = [Ipv6AddProperty]+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {ipv6Addresses = Prelude.pure newValue, ..}+instance Property "Ipv6PrefixCount" NetworkInterfaceProperty where+  type PropertyType "Ipv6PrefixCount" NetworkInterfaceProperty = Value Prelude.Integer+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {ipv6PrefixCount = Prelude.pure newValue, ..}+instance Property "Ipv6Prefixes" NetworkInterfaceProperty where+  type PropertyType "Ipv6Prefixes" NetworkInterfaceProperty = [Ipv6PrefixSpecificationProperty]+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {ipv6Prefixes = Prelude.pure newValue, ..}+instance Property "NetworkCardIndex" NetworkInterfaceProperty where+  type PropertyType "NetworkCardIndex" NetworkInterfaceProperty = Value Prelude.Integer+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {networkCardIndex = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceId" NetworkInterfaceProperty where+  type PropertyType "NetworkInterfaceId" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {networkInterfaceId = Prelude.pure newValue, ..}+instance Property "PrimaryIpv6" NetworkInterfaceProperty where+  type PropertyType "PrimaryIpv6" NetworkInterfaceProperty = Value Prelude.Bool+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {primaryIpv6 = Prelude.pure newValue, ..}+instance Property "PrivateIpAddress" NetworkInterfaceProperty where+  type PropertyType "PrivateIpAddress" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {privateIpAddress = Prelude.pure newValue, ..}+instance Property "PrivateIpAddresses" NetworkInterfaceProperty where+  type PropertyType "PrivateIpAddresses" NetworkInterfaceProperty = [PrivateIpAddProperty]+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {privateIpAddresses = Prelude.pure newValue, ..}+instance Property "SecondaryPrivateIpAddressCount" NetworkInterfaceProperty where+  type PropertyType "SecondaryPrivateIpAddressCount" NetworkInterfaceProperty = Value Prelude.Integer+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty+        {secondaryPrivateIpAddressCount = Prelude.pure newValue, ..}+instance Property "SubnetId" NetworkInterfaceProperty where+  type PropertyType "SubnetId" NetworkInterfaceProperty = Value Prelude.Text+  set newValue NetworkInterfaceProperty {..}+    = NetworkInterfaceProperty {subnetId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/NetworkInterfaceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.NetworkInterfaceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkInterfaceProperty :: Prelude.Type+instance ToResourceProperties NetworkInterfaceProperty+instance Prelude.Eq NetworkInterfaceProperty+instance Prelude.Show NetworkInterfaceProperty+instance JSON.ToJSON NetworkInterfaceProperty
+ gen/Stratosphere/EC2/LaunchTemplate/NetworkPerformanceOptionsProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.LaunchTemplate.NetworkPerformanceOptionsProperty (+        NetworkPerformanceOptionsProperty(..),+        mkNetworkPerformanceOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkPerformanceOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkperformanceoptions.html>+    NetworkPerformanceOptionsProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkperformanceoptions.html#cfn-ec2-launchtemplate-networkperformanceoptions-bandwidthweighting>+                                       bandwidthWeighting :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkPerformanceOptionsProperty ::+  NetworkPerformanceOptionsProperty+mkNetworkPerformanceOptionsProperty+  = NetworkPerformanceOptionsProperty+      {haddock_workaround_ = (), bandwidthWeighting = Prelude.Nothing}+instance ToResourceProperties NetworkPerformanceOptionsProperty where+  toResourceProperties NetworkPerformanceOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.NetworkPerformanceOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "BandwidthWeighting" Prelude.<$> bandwidthWeighting])}+instance JSON.ToJSON NetworkPerformanceOptionsProperty where+  toJSON NetworkPerformanceOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "BandwidthWeighting" Prelude.<$> bandwidthWeighting]))+instance Property "BandwidthWeighting" NetworkPerformanceOptionsProperty where+  type PropertyType "BandwidthWeighting" NetworkPerformanceOptionsProperty = Value Prelude.Text+  set newValue NetworkPerformanceOptionsProperty {..}+    = NetworkPerformanceOptionsProperty+        {bandwidthWeighting = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/NetworkPerformanceOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.NetworkPerformanceOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkPerformanceOptionsProperty :: Prelude.Type+instance ToResourceProperties NetworkPerformanceOptionsProperty+instance Prelude.Eq NetworkPerformanceOptionsProperty+instance Prelude.Show NetworkPerformanceOptionsProperty+instance JSON.ToJSON NetworkPerformanceOptionsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/PlacementProperty.hs view
@@ -0,0 +1,106 @@+module Stratosphere.EC2.LaunchTemplate.PlacementProperty (+        PlacementProperty(..), mkPlacementProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PlacementProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html>+    PlacementProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-affinity>+                       affinity :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-availabilityzone>+                       availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-groupid>+                       groupId :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-groupname>+                       groupName :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-hostid>+                       hostId :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-hostresourcegrouparn>+                       hostResourceGroupArn :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-partitionnumber>+                       partitionNumber :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-spreaddomain>+                       spreadDomain :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-placement.html#cfn-ec2-launchtemplate-placement-tenancy>+                       tenancy :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPlacementProperty :: PlacementProperty+mkPlacementProperty+  = PlacementProperty+      {haddock_workaround_ = (), affinity = Prelude.Nothing,+       availabilityZone = Prelude.Nothing, groupId = Prelude.Nothing,+       groupName = Prelude.Nothing, hostId = Prelude.Nothing,+       hostResourceGroupArn = Prelude.Nothing,+       partitionNumber = Prelude.Nothing, spreadDomain = Prelude.Nothing,+       tenancy = Prelude.Nothing}+instance ToResourceProperties PlacementProperty where+  toResourceProperties PlacementProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.Placement",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Affinity" Prelude.<$> affinity,+                            (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                            (JSON..=) "GroupId" Prelude.<$> groupId,+                            (JSON..=) "GroupName" Prelude.<$> groupName,+                            (JSON..=) "HostId" Prelude.<$> hostId,+                            (JSON..=) "HostResourceGroupArn" Prelude.<$> hostResourceGroupArn,+                            (JSON..=) "PartitionNumber" Prelude.<$> partitionNumber,+                            (JSON..=) "SpreadDomain" Prelude.<$> spreadDomain,+                            (JSON..=) "Tenancy" Prelude.<$> tenancy])}+instance JSON.ToJSON PlacementProperty where+  toJSON PlacementProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Affinity" Prelude.<$> affinity,+               (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+               (JSON..=) "GroupId" Prelude.<$> groupId,+               (JSON..=) "GroupName" Prelude.<$> groupName,+               (JSON..=) "HostId" Prelude.<$> hostId,+               (JSON..=) "HostResourceGroupArn" Prelude.<$> hostResourceGroupArn,+               (JSON..=) "PartitionNumber" Prelude.<$> partitionNumber,+               (JSON..=) "SpreadDomain" Prelude.<$> spreadDomain,+               (JSON..=) "Tenancy" Prelude.<$> tenancy]))+instance Property "Affinity" PlacementProperty where+  type PropertyType "Affinity" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {affinity = Prelude.pure newValue, ..}+instance Property "AvailabilityZone" PlacementProperty where+  type PropertyType "AvailabilityZone" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {availabilityZone = Prelude.pure newValue, ..}+instance Property "GroupId" PlacementProperty where+  type PropertyType "GroupId" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {groupId = Prelude.pure newValue, ..}+instance Property "GroupName" PlacementProperty where+  type PropertyType "GroupName" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {groupName = Prelude.pure newValue, ..}+instance Property "HostId" PlacementProperty where+  type PropertyType "HostId" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {hostId = Prelude.pure newValue, ..}+instance Property "HostResourceGroupArn" PlacementProperty where+  type PropertyType "HostResourceGroupArn" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty+        {hostResourceGroupArn = Prelude.pure newValue, ..}+instance Property "PartitionNumber" PlacementProperty where+  type PropertyType "PartitionNumber" PlacementProperty = Value Prelude.Integer+  set newValue PlacementProperty {..}+    = PlacementProperty {partitionNumber = Prelude.pure newValue, ..}+instance Property "SpreadDomain" PlacementProperty where+  type PropertyType "SpreadDomain" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {spreadDomain = Prelude.pure newValue, ..}+instance Property "Tenancy" PlacementProperty where+  type PropertyType "Tenancy" PlacementProperty = Value Prelude.Text+  set newValue PlacementProperty {..}+    = PlacementProperty {tenancy = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/PlacementProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.PlacementProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PlacementProperty :: Prelude.Type+instance ToResourceProperties PlacementProperty+instance Prelude.Eq PlacementProperty+instance Prelude.Show PlacementProperty+instance JSON.ToJSON PlacementProperty
+ gen/Stratosphere/EC2/LaunchTemplate/PrivateDnsNameOptionsProperty.hs view
@@ -0,0 +1,62 @@+module Stratosphere.EC2.LaunchTemplate.PrivateDnsNameOptionsProperty (+        PrivateDnsNameOptionsProperty(..), mkPrivateDnsNameOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PrivateDnsNameOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privatednsnameoptions.html>+    PrivateDnsNameOptionsProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privatednsnameoptions.html#cfn-ec2-launchtemplate-privatednsnameoptions-enableresourcenamednsaaaarecord>+                                   enableResourceNameDnsAAAARecord :: (Prelude.Maybe (Value Prelude.Bool)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privatednsnameoptions.html#cfn-ec2-launchtemplate-privatednsnameoptions-enableresourcenamednsarecord>+                                   enableResourceNameDnsARecord :: (Prelude.Maybe (Value Prelude.Bool)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privatednsnameoptions.html#cfn-ec2-launchtemplate-privatednsnameoptions-hostnametype>+                                   hostnameType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPrivateDnsNameOptionsProperty :: PrivateDnsNameOptionsProperty+mkPrivateDnsNameOptionsProperty+  = PrivateDnsNameOptionsProperty+      {haddock_workaround_ = (),+       enableResourceNameDnsAAAARecord = Prelude.Nothing,+       enableResourceNameDnsARecord = Prelude.Nothing,+       hostnameType = Prelude.Nothing}+instance ToResourceProperties PrivateDnsNameOptionsProperty where+  toResourceProperties PrivateDnsNameOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.PrivateDnsNameOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EnableResourceNameDnsAAAARecord"+                              Prelude.<$> enableResourceNameDnsAAAARecord,+                            (JSON..=) "EnableResourceNameDnsARecord"+                              Prelude.<$> enableResourceNameDnsARecord,+                            (JSON..=) "HostnameType" Prelude.<$> hostnameType])}+instance JSON.ToJSON PrivateDnsNameOptionsProperty where+  toJSON PrivateDnsNameOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EnableResourceNameDnsAAAARecord"+                 Prelude.<$> enableResourceNameDnsAAAARecord,+               (JSON..=) "EnableResourceNameDnsARecord"+                 Prelude.<$> enableResourceNameDnsARecord,+               (JSON..=) "HostnameType" Prelude.<$> hostnameType]))+instance Property "EnableResourceNameDnsAAAARecord" PrivateDnsNameOptionsProperty where+  type PropertyType "EnableResourceNameDnsAAAARecord" PrivateDnsNameOptionsProperty = Value Prelude.Bool+  set newValue PrivateDnsNameOptionsProperty {..}+    = PrivateDnsNameOptionsProperty+        {enableResourceNameDnsAAAARecord = Prelude.pure newValue, ..}+instance Property "EnableResourceNameDnsARecord" PrivateDnsNameOptionsProperty where+  type PropertyType "EnableResourceNameDnsARecord" PrivateDnsNameOptionsProperty = Value Prelude.Bool+  set newValue PrivateDnsNameOptionsProperty {..}+    = PrivateDnsNameOptionsProperty+        {enableResourceNameDnsARecord = Prelude.pure newValue, ..}+instance Property "HostnameType" PrivateDnsNameOptionsProperty where+  type PropertyType "HostnameType" PrivateDnsNameOptionsProperty = Value Prelude.Text+  set newValue PrivateDnsNameOptionsProperty {..}+    = PrivateDnsNameOptionsProperty+        {hostnameType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/PrivateDnsNameOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.PrivateDnsNameOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PrivateDnsNameOptionsProperty :: Prelude.Type+instance ToResourceProperties PrivateDnsNameOptionsProperty+instance Prelude.Eq PrivateDnsNameOptionsProperty+instance Prelude.Show PrivateDnsNameOptionsProperty+instance JSON.ToJSON PrivateDnsNameOptionsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/PrivateIpAddProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.EC2.LaunchTemplate.PrivateIpAddProperty (+        PrivateIpAddProperty(..), mkPrivateIpAddProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PrivateIpAddProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html>+    PrivateIpAddProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html#cfn-ec2-launchtemplate-privateipadd-primary>+                          primary :: (Prelude.Maybe (Value Prelude.Bool)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-privateipadd.html#cfn-ec2-launchtemplate-privateipadd-privateipaddress>+                          privateIpAddress :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPrivateIpAddProperty :: PrivateIpAddProperty+mkPrivateIpAddProperty+  = PrivateIpAddProperty+      {haddock_workaround_ = (), primary = Prelude.Nothing,+       privateIpAddress = Prelude.Nothing}+instance ToResourceProperties PrivateIpAddProperty where+  toResourceProperties PrivateIpAddProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.PrivateIpAdd",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Primary" Prelude.<$> primary,+                            (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress])}+instance JSON.ToJSON PrivateIpAddProperty where+  toJSON PrivateIpAddProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Primary" Prelude.<$> primary,+               (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress]))+instance Property "Primary" PrivateIpAddProperty where+  type PropertyType "Primary" PrivateIpAddProperty = Value Prelude.Bool+  set newValue PrivateIpAddProperty {..}+    = PrivateIpAddProperty {primary = Prelude.pure newValue, ..}+instance Property "PrivateIpAddress" PrivateIpAddProperty where+  type PropertyType "PrivateIpAddress" PrivateIpAddProperty = Value Prelude.Text+  set newValue PrivateIpAddProperty {..}+    = PrivateIpAddProperty+        {privateIpAddress = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/PrivateIpAddProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.PrivateIpAddProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PrivateIpAddProperty :: Prelude.Type+instance ToResourceProperties PrivateIpAddProperty+instance Prelude.Eq PrivateIpAddProperty+instance Prelude.Show PrivateIpAddProperty+instance JSON.ToJSON PrivateIpAddProperty
+ gen/Stratosphere/EC2/LaunchTemplate/ReferenceProperty.hs view
@@ -0,0 +1,36 @@+module Stratosphere.EC2.LaunchTemplate.ReferenceProperty (+        ReferenceProperty(..), mkReferenceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ReferenceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-reference.html>+    ReferenceProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-reference.html#cfn-ec2-launchtemplate-reference-instancefamily>+                       instanceFamily :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkReferenceProperty :: ReferenceProperty+mkReferenceProperty+  = ReferenceProperty+      {haddock_workaround_ = (), instanceFamily = Prelude.Nothing}+instance ToResourceProperties ReferenceProperty where+  toResourceProperties ReferenceProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.Reference",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "InstanceFamily" Prelude.<$> instanceFamily])}+instance JSON.ToJSON ReferenceProperty where+  toJSON ReferenceProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "InstanceFamily" Prelude.<$> instanceFamily]))+instance Property "InstanceFamily" ReferenceProperty where+  type PropertyType "InstanceFamily" ReferenceProperty = Value Prelude.Text+  set newValue ReferenceProperty {..}+    = ReferenceProperty {instanceFamily = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/ReferenceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.ReferenceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ReferenceProperty :: Prelude.Type+instance ToResourceProperties ReferenceProperty+instance Prelude.Eq ReferenceProperty+instance Prelude.Show ReferenceProperty+instance JSON.ToJSON ReferenceProperty
+ gen/Stratosphere/EC2/LaunchTemplate/SpotOptionsProperty.hs view
@@ -0,0 +1,76 @@+module Stratosphere.EC2.LaunchTemplate.SpotOptionsProperty (+        SpotOptionsProperty(..), mkSpotOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SpotOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-spotoptions.html>+    SpotOptionsProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-spotoptions.html#cfn-ec2-launchtemplate-spotoptions-blockdurationminutes>+                         blockDurationMinutes :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-spotoptions.html#cfn-ec2-launchtemplate-spotoptions-instanceinterruptionbehavior>+                         instanceInterruptionBehavior :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-spotoptions.html#cfn-ec2-launchtemplate-spotoptions-maxprice>+                         maxPrice :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-spotoptions.html#cfn-ec2-launchtemplate-spotoptions-spotinstancetype>+                         spotInstanceType :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-spotoptions.html#cfn-ec2-launchtemplate-spotoptions-validuntil>+                         validUntil :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotOptionsProperty :: SpotOptionsProperty+mkSpotOptionsProperty+  = SpotOptionsProperty+      {haddock_workaround_ = (), blockDurationMinutes = Prelude.Nothing,+       instanceInterruptionBehavior = Prelude.Nothing,+       maxPrice = Prelude.Nothing, spotInstanceType = Prelude.Nothing,+       validUntil = Prelude.Nothing}+instance ToResourceProperties SpotOptionsProperty where+  toResourceProperties SpotOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.SpotOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "BlockDurationMinutes" Prelude.<$> blockDurationMinutes,+                            (JSON..=) "InstanceInterruptionBehavior"+                              Prelude.<$> instanceInterruptionBehavior,+                            (JSON..=) "MaxPrice" Prelude.<$> maxPrice,+                            (JSON..=) "SpotInstanceType" Prelude.<$> spotInstanceType,+                            (JSON..=) "ValidUntil" Prelude.<$> validUntil])}+instance JSON.ToJSON SpotOptionsProperty where+  toJSON SpotOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "BlockDurationMinutes" Prelude.<$> blockDurationMinutes,+               (JSON..=) "InstanceInterruptionBehavior"+                 Prelude.<$> instanceInterruptionBehavior,+               (JSON..=) "MaxPrice" Prelude.<$> maxPrice,+               (JSON..=) "SpotInstanceType" Prelude.<$> spotInstanceType,+               (JSON..=) "ValidUntil" Prelude.<$> validUntil]))+instance Property "BlockDurationMinutes" SpotOptionsProperty where+  type PropertyType "BlockDurationMinutes" SpotOptionsProperty = Value Prelude.Integer+  set newValue SpotOptionsProperty {..}+    = SpotOptionsProperty+        {blockDurationMinutes = Prelude.pure newValue, ..}+instance Property "InstanceInterruptionBehavior" SpotOptionsProperty where+  type PropertyType "InstanceInterruptionBehavior" SpotOptionsProperty = Value Prelude.Text+  set newValue SpotOptionsProperty {..}+    = SpotOptionsProperty+        {instanceInterruptionBehavior = Prelude.pure newValue, ..}+instance Property "MaxPrice" SpotOptionsProperty where+  type PropertyType "MaxPrice" SpotOptionsProperty = Value Prelude.Text+  set newValue SpotOptionsProperty {..}+    = SpotOptionsProperty {maxPrice = Prelude.pure newValue, ..}+instance Property "SpotInstanceType" SpotOptionsProperty where+  type PropertyType "SpotInstanceType" SpotOptionsProperty = Value Prelude.Text+  set newValue SpotOptionsProperty {..}+    = SpotOptionsProperty+        {spotInstanceType = Prelude.pure newValue, ..}+instance Property "ValidUntil" SpotOptionsProperty where+  type PropertyType "ValidUntil" SpotOptionsProperty = Value Prelude.Text+  set newValue SpotOptionsProperty {..}+    = SpotOptionsProperty {validUntil = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/SpotOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.SpotOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpotOptionsProperty :: Prelude.Type+instance ToResourceProperties SpotOptionsProperty+instance Prelude.Eq SpotOptionsProperty+instance Prelude.Show SpotOptionsProperty+instance JSON.ToJSON SpotOptionsProperty
+ gen/Stratosphere/EC2/LaunchTemplate/TagSpecificationProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.LaunchTemplate.TagSpecificationProperty (+        TagSpecificationProperty(..), mkTagSpecificationProperty+    ) 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 TagSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html>+    TagSpecificationProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html#cfn-ec2-launchtemplate-tagspecification-resourcetype>+                              resourceType :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-tagspecification.html#cfn-ec2-launchtemplate-tagspecification-tags>+                              tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTagSpecificationProperty :: TagSpecificationProperty+mkTagSpecificationProperty+  = TagSpecificationProperty+      {haddock_workaround_ = (), resourceType = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties TagSpecificationProperty where+  toResourceProperties TagSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.TagSpecification",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ResourceType" Prelude.<$> resourceType,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON TagSpecificationProperty where+  toJSON TagSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ResourceType" Prelude.<$> resourceType,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "ResourceType" TagSpecificationProperty where+  type PropertyType "ResourceType" TagSpecificationProperty = Value Prelude.Text+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty+        {resourceType = Prelude.pure newValue, ..}+instance Property "Tags" TagSpecificationProperty where+  type PropertyType "Tags" TagSpecificationProperty = [Tag]+  set newValue TagSpecificationProperty {..}+    = TagSpecificationProperty {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/TagSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.TagSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TagSpecificationProperty :: Prelude.Type+instance ToResourceProperties TagSpecificationProperty+instance Prelude.Eq TagSpecificationProperty+instance Prelude.Show TagSpecificationProperty+instance JSON.ToJSON TagSpecificationProperty
+ gen/Stratosphere/EC2/LaunchTemplate/TotalLocalStorageGBProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.LaunchTemplate.TotalLocalStorageGBProperty (+        TotalLocalStorageGBProperty(..), mkTotalLocalStorageGBProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TotalLocalStorageGBProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-totallocalstoragegb.html>+    TotalLocalStorageGBProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-totallocalstoragegb.html#cfn-ec2-launchtemplate-totallocalstoragegb-max>+                                 max :: (Prelude.Maybe (Value Prelude.Double)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-totallocalstoragegb.html#cfn-ec2-launchtemplate-totallocalstoragegb-min>+                                 min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTotalLocalStorageGBProperty :: TotalLocalStorageGBProperty+mkTotalLocalStorageGBProperty+  = TotalLocalStorageGBProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties TotalLocalStorageGBProperty where+  toResourceProperties TotalLocalStorageGBProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.TotalLocalStorageGB",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON TotalLocalStorageGBProperty where+  toJSON TotalLocalStorageGBProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" TotalLocalStorageGBProperty where+  type PropertyType "Max" TotalLocalStorageGBProperty = Value Prelude.Double+  set newValue TotalLocalStorageGBProperty {..}+    = TotalLocalStorageGBProperty {max = Prelude.pure newValue, ..}+instance Property "Min" TotalLocalStorageGBProperty where+  type PropertyType "Min" TotalLocalStorageGBProperty = Value Prelude.Double+  set newValue TotalLocalStorageGBProperty {..}+    = TotalLocalStorageGBProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/TotalLocalStorageGBProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.TotalLocalStorageGBProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TotalLocalStorageGBProperty :: Prelude.Type+instance ToResourceProperties TotalLocalStorageGBProperty+instance Prelude.Eq TotalLocalStorageGBProperty+instance Prelude.Show TotalLocalStorageGBProperty+instance JSON.ToJSON TotalLocalStorageGBProperty
+ gen/Stratosphere/EC2/LaunchTemplate/VCpuCountProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.LaunchTemplate.VCpuCountProperty (+        VCpuCountProperty(..), mkVCpuCountProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VCpuCountProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-vcpucount.html>+    VCpuCountProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-vcpucount.html#cfn-ec2-launchtemplate-vcpucount-max>+                       max :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-vcpucount.html#cfn-ec2-launchtemplate-vcpucount-min>+                       min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVCpuCountProperty :: VCpuCountProperty+mkVCpuCountProperty+  = VCpuCountProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties VCpuCountProperty where+  toResourceProperties VCpuCountProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LaunchTemplate.VCpuCount",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON VCpuCountProperty where+  toJSON VCpuCountProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" VCpuCountProperty where+  type PropertyType "Max" VCpuCountProperty = Value Prelude.Integer+  set newValue VCpuCountProperty {..}+    = VCpuCountProperty {max = Prelude.pure newValue, ..}+instance Property "Min" VCpuCountProperty where+  type PropertyType "Min" VCpuCountProperty = Value Prelude.Integer+  set newValue VCpuCountProperty {..}+    = VCpuCountProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LaunchTemplate/VCpuCountProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.LaunchTemplate.VCpuCountProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VCpuCountProperty :: Prelude.Type+instance ToResourceProperties VCpuCountProperty+instance Prelude.Eq VCpuCountProperty+instance Prelude.Show VCpuCountProperty+instance JSON.ToJSON VCpuCountProperty
+ gen/Stratosphere/EC2/LocalGatewayRoute.hs view
@@ -0,0 +1,71 @@+module Stratosphere.EC2.LocalGatewayRoute (+        LocalGatewayRoute(..), mkLocalGatewayRoute+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LocalGatewayRoute+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html>+    LocalGatewayRoute {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html#cfn-ec2-localgatewayroute-destinationcidrblock>+                       destinationCidrBlock :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html#cfn-ec2-localgatewayroute-localgatewayroutetableid>+                       localGatewayRouteTableId :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html#cfn-ec2-localgatewayroute-localgatewayvirtualinterfacegroupid>+                       localGatewayVirtualInterfaceGroupId :: (Prelude.Maybe (Value Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroute.html#cfn-ec2-localgatewayroute-networkinterfaceid>+                       networkInterfaceId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLocalGatewayRoute ::+  Value Prelude.Text -> Value Prelude.Text -> LocalGatewayRoute+mkLocalGatewayRoute destinationCidrBlock localGatewayRouteTableId+  = LocalGatewayRoute+      {haddock_workaround_ = (),+       destinationCidrBlock = destinationCidrBlock,+       localGatewayRouteTableId = localGatewayRouteTableId,+       localGatewayVirtualInterfaceGroupId = Prelude.Nothing,+       networkInterfaceId = Prelude.Nothing}+instance ToResourceProperties LocalGatewayRoute where+  toResourceProperties LocalGatewayRoute {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LocalGatewayRoute",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DestinationCidrBlock" JSON..= destinationCidrBlock,+                            "LocalGatewayRouteTableId" JSON..= localGatewayRouteTableId]+                           (Prelude.catMaybes+                              [(JSON..=) "LocalGatewayVirtualInterfaceGroupId"+                                 Prelude.<$> localGatewayVirtualInterfaceGroupId,+                               (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId]))}+instance JSON.ToJSON LocalGatewayRoute where+  toJSON LocalGatewayRoute {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DestinationCidrBlock" JSON..= destinationCidrBlock,+               "LocalGatewayRouteTableId" JSON..= localGatewayRouteTableId]+              (Prelude.catMaybes+                 [(JSON..=) "LocalGatewayVirtualInterfaceGroupId"+                    Prelude.<$> localGatewayVirtualInterfaceGroupId,+                  (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId])))+instance Property "DestinationCidrBlock" LocalGatewayRoute where+  type PropertyType "DestinationCidrBlock" LocalGatewayRoute = Value Prelude.Text+  set newValue LocalGatewayRoute {..}+    = LocalGatewayRoute {destinationCidrBlock = newValue, ..}+instance Property "LocalGatewayRouteTableId" LocalGatewayRoute where+  type PropertyType "LocalGatewayRouteTableId" LocalGatewayRoute = Value Prelude.Text+  set newValue LocalGatewayRoute {..}+    = LocalGatewayRoute {localGatewayRouteTableId = newValue, ..}+instance Property "LocalGatewayVirtualInterfaceGroupId" LocalGatewayRoute where+  type PropertyType "LocalGatewayVirtualInterfaceGroupId" LocalGatewayRoute = Value Prelude.Text+  set newValue LocalGatewayRoute {..}+    = LocalGatewayRoute+        {localGatewayVirtualInterfaceGroupId = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceId" LocalGatewayRoute where+  type PropertyType "NetworkInterfaceId" LocalGatewayRoute = Value Prelude.Text+  set newValue LocalGatewayRoute {..}+    = LocalGatewayRoute+        {networkInterfaceId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LocalGatewayRouteTable.hs view
@@ -0,0 +1,57 @@+module Stratosphere.EC2.LocalGatewayRouteTable (+        LocalGatewayRouteTable(..), mkLocalGatewayRouteTable+    ) 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 LocalGatewayRouteTable+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html>+    LocalGatewayRouteTable {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html#cfn-ec2-localgatewayroutetable-localgatewayid>+                            localGatewayId :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html#cfn-ec2-localgatewayroutetable-mode>+                            mode :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetable.html#cfn-ec2-localgatewayroutetable-tags>+                            tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLocalGatewayRouteTable ::+  Value Prelude.Text -> LocalGatewayRouteTable+mkLocalGatewayRouteTable localGatewayId+  = LocalGatewayRouteTable+      {haddock_workaround_ = (), localGatewayId = localGatewayId,+       mode = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties LocalGatewayRouteTable where+  toResourceProperties LocalGatewayRouteTable {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LocalGatewayRouteTable",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LocalGatewayId" JSON..= localGatewayId]+                           (Prelude.catMaybes+                              [(JSON..=) "Mode" Prelude.<$> mode,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON LocalGatewayRouteTable where+  toJSON LocalGatewayRouteTable {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LocalGatewayId" JSON..= localGatewayId]+              (Prelude.catMaybes+                 [(JSON..=) "Mode" Prelude.<$> mode,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "LocalGatewayId" LocalGatewayRouteTable where+  type PropertyType "LocalGatewayId" LocalGatewayRouteTable = Value Prelude.Text+  set newValue LocalGatewayRouteTable {..}+    = LocalGatewayRouteTable {localGatewayId = newValue, ..}+instance Property "Mode" LocalGatewayRouteTable where+  type PropertyType "Mode" LocalGatewayRouteTable = Value Prelude.Text+  set newValue LocalGatewayRouteTable {..}+    = LocalGatewayRouteTable {mode = Prelude.pure newValue, ..}+instance Property "Tags" LocalGatewayRouteTable where+  type PropertyType "Tags" LocalGatewayRouteTable = [Tag]+  set newValue LocalGatewayRouteTable {..}+    = LocalGatewayRouteTable {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LocalGatewayRouteTableVPCAssociation.hs view
@@ -0,0 +1,62 @@+module Stratosphere.EC2.LocalGatewayRouteTableVPCAssociation (+        LocalGatewayRouteTableVPCAssociation(..),+        mkLocalGatewayRouteTableVPCAssociation+    ) 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 LocalGatewayRouteTableVPCAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html>+    LocalGatewayRouteTableVPCAssociation {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html#cfn-ec2-localgatewayroutetablevpcassociation-localgatewayroutetableid>+                                          localGatewayRouteTableId :: (Value Prelude.Text),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html#cfn-ec2-localgatewayroutetablevpcassociation-tags>+                                          tags :: (Prelude.Maybe [Tag]),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevpcassociation.html#cfn-ec2-localgatewayroutetablevpcassociation-vpcid>+                                          vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLocalGatewayRouteTableVPCAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> LocalGatewayRouteTableVPCAssociation+mkLocalGatewayRouteTableVPCAssociation+  localGatewayRouteTableId+  vpcId+  = LocalGatewayRouteTableVPCAssociation+      {haddock_workaround_ = (),+       localGatewayRouteTableId = localGatewayRouteTableId, vpcId = vpcId,+       tags = Prelude.Nothing}+instance ToResourceProperties LocalGatewayRouteTableVPCAssociation where+  toResourceProperties LocalGatewayRouteTableVPCAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LocalGatewayRouteTableVPCAssociation",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LocalGatewayRouteTableId" JSON..= localGatewayRouteTableId,+                            "VpcId" JSON..= vpcId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON LocalGatewayRouteTableVPCAssociation where+  toJSON LocalGatewayRouteTableVPCAssociation {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LocalGatewayRouteTableId" JSON..= localGatewayRouteTableId,+               "VpcId" JSON..= vpcId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "LocalGatewayRouteTableId" LocalGatewayRouteTableVPCAssociation where+  type PropertyType "LocalGatewayRouteTableId" LocalGatewayRouteTableVPCAssociation = Value Prelude.Text+  set newValue LocalGatewayRouteTableVPCAssociation {..}+    = LocalGatewayRouteTableVPCAssociation+        {localGatewayRouteTableId = newValue, ..}+instance Property "Tags" LocalGatewayRouteTableVPCAssociation where+  type PropertyType "Tags" LocalGatewayRouteTableVPCAssociation = [Tag]+  set newValue LocalGatewayRouteTableVPCAssociation {..}+    = LocalGatewayRouteTableVPCAssociation+        {tags = Prelude.pure newValue, ..}+instance Property "VpcId" LocalGatewayRouteTableVPCAssociation where+  type PropertyType "VpcId" LocalGatewayRouteTableVPCAssociation = Value Prelude.Text+  set newValue LocalGatewayRouteTableVPCAssociation {..}+    = LocalGatewayRouteTableVPCAssociation {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/LocalGatewayRouteTableVirtualInterfaceGroupAssociation.hs view
@@ -0,0 +1,74 @@+module Stratosphere.EC2.LocalGatewayRouteTableVirtualInterfaceGroupAssociation (+        LocalGatewayRouteTableVirtualInterfaceGroupAssociation(..),+        mkLocalGatewayRouteTableVirtualInterfaceGroupAssociation+    ) 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 LocalGatewayRouteTableVirtualInterfaceGroupAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html>+    LocalGatewayRouteTableVirtualInterfaceGroupAssociation {haddock_workaround_ :: (),+                                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html#cfn-ec2-localgatewayroutetablevirtualinterfacegroupassociation-localgatewayroutetableid>+                                                            localGatewayRouteTableId :: (Value Prelude.Text),+                                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html#cfn-ec2-localgatewayroutetablevirtualinterfacegroupassociation-localgatewayvirtualinterfacegroupid>+                                                            localGatewayVirtualInterfaceGroupId :: (Value Prelude.Text),+                                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayroutetablevirtualinterfacegroupassociation.html#cfn-ec2-localgatewayroutetablevirtualinterfacegroupassociation-tags>+                                                            tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLocalGatewayRouteTableVirtualInterfaceGroupAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> LocalGatewayRouteTableVirtualInterfaceGroupAssociation+mkLocalGatewayRouteTableVirtualInterfaceGroupAssociation+  localGatewayRouteTableId+  localGatewayVirtualInterfaceGroupId+  = LocalGatewayRouteTableVirtualInterfaceGroupAssociation+      {haddock_workaround_ = (),+       localGatewayRouteTableId = localGatewayRouteTableId,+       localGatewayVirtualInterfaceGroupId = localGatewayVirtualInterfaceGroupId,+       tags = Prelude.Nothing}+instance ToResourceProperties LocalGatewayRouteTableVirtualInterfaceGroupAssociation where+  toResourceProperties+    LocalGatewayRouteTableVirtualInterfaceGroupAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LocalGatewayRouteTableId" JSON..= localGatewayRouteTableId,+                            "LocalGatewayVirtualInterfaceGroupId"+                              JSON..= localGatewayVirtualInterfaceGroupId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON LocalGatewayRouteTableVirtualInterfaceGroupAssociation where+  toJSON LocalGatewayRouteTableVirtualInterfaceGroupAssociation {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LocalGatewayRouteTableId" JSON..= localGatewayRouteTableId,+               "LocalGatewayVirtualInterfaceGroupId"+                 JSON..= localGatewayVirtualInterfaceGroupId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "LocalGatewayRouteTableId" LocalGatewayRouteTableVirtualInterfaceGroupAssociation where+  type PropertyType "LocalGatewayRouteTableId" LocalGatewayRouteTableVirtualInterfaceGroupAssociation = Value Prelude.Text+  set+    newValue+    LocalGatewayRouteTableVirtualInterfaceGroupAssociation {..}+    = LocalGatewayRouteTableVirtualInterfaceGroupAssociation+        {localGatewayRouteTableId = newValue, ..}+instance Property "LocalGatewayVirtualInterfaceGroupId" LocalGatewayRouteTableVirtualInterfaceGroupAssociation where+  type PropertyType "LocalGatewayVirtualInterfaceGroupId" LocalGatewayRouteTableVirtualInterfaceGroupAssociation = Value Prelude.Text+  set+    newValue+    LocalGatewayRouteTableVirtualInterfaceGroupAssociation {..}+    = LocalGatewayRouteTableVirtualInterfaceGroupAssociation+        {localGatewayVirtualInterfaceGroupId = newValue, ..}+instance Property "Tags" LocalGatewayRouteTableVirtualInterfaceGroupAssociation where+  type PropertyType "Tags" LocalGatewayRouteTableVirtualInterfaceGroupAssociation = [Tag]+  set+    newValue+    LocalGatewayRouteTableVirtualInterfaceGroupAssociation {..}+    = LocalGatewayRouteTableVirtualInterfaceGroupAssociation+        {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/LocalGatewayVirtualInterface.hs view
@@ -0,0 +1,112 @@+module Stratosphere.EC2.LocalGatewayVirtualInterface (+        LocalGatewayVirtualInterface(..), mkLocalGatewayVirtualInterface+    ) 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 LocalGatewayVirtualInterface+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html>+    LocalGatewayVirtualInterface {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-localaddress>+                                  localAddress :: (Value Prelude.Text),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-localgatewayvirtualinterfacegroupid>+                                  localGatewayVirtualInterfaceGroupId :: (Value Prelude.Text),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-outpostlagid>+                                  outpostLagId :: (Value Prelude.Text),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-peeraddress>+                                  peerAddress :: (Value Prelude.Text),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-peerbgpasn>+                                  peerBgpAsn :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-peerbgpasnextended>+                                  peerBgpAsnExtended :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-tags>+                                  tags :: (Prelude.Maybe [Tag]),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterface.html#cfn-ec2-localgatewayvirtualinterface-vlan>+                                  vlan :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLocalGatewayVirtualInterface ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> Value Prelude.Text+           -> Value Prelude.Integer -> LocalGatewayVirtualInterface+mkLocalGatewayVirtualInterface+  localAddress+  localGatewayVirtualInterfaceGroupId+  outpostLagId+  peerAddress+  vlan+  = LocalGatewayVirtualInterface+      {haddock_workaround_ = (), localAddress = localAddress,+       localGatewayVirtualInterfaceGroupId = localGatewayVirtualInterfaceGroupId,+       outpostLagId = outpostLagId, peerAddress = peerAddress,+       vlan = vlan, peerBgpAsn = Prelude.Nothing,+       peerBgpAsnExtended = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties LocalGatewayVirtualInterface where+  toResourceProperties LocalGatewayVirtualInterface {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LocalGatewayVirtualInterface",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LocalAddress" JSON..= localAddress,+                            "LocalGatewayVirtualInterfaceGroupId"+                              JSON..= localGatewayVirtualInterfaceGroupId,+                            "OutpostLagId" JSON..= outpostLagId,+                            "PeerAddress" JSON..= peerAddress, "Vlan" JSON..= vlan]+                           (Prelude.catMaybes+                              [(JSON..=) "PeerBgpAsn" Prelude.<$> peerBgpAsn,+                               (JSON..=) "PeerBgpAsnExtended" Prelude.<$> peerBgpAsnExtended,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON LocalGatewayVirtualInterface where+  toJSON LocalGatewayVirtualInterface {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LocalAddress" JSON..= localAddress,+               "LocalGatewayVirtualInterfaceGroupId"+                 JSON..= localGatewayVirtualInterfaceGroupId,+               "OutpostLagId" JSON..= outpostLagId,+               "PeerAddress" JSON..= peerAddress, "Vlan" JSON..= vlan]+              (Prelude.catMaybes+                 [(JSON..=) "PeerBgpAsn" Prelude.<$> peerBgpAsn,+                  (JSON..=) "PeerBgpAsnExtended" Prelude.<$> peerBgpAsnExtended,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "LocalAddress" LocalGatewayVirtualInterface where+  type PropertyType "LocalAddress" LocalGatewayVirtualInterface = Value Prelude.Text+  set newValue LocalGatewayVirtualInterface {..}+    = LocalGatewayVirtualInterface {localAddress = newValue, ..}+instance Property "LocalGatewayVirtualInterfaceGroupId" LocalGatewayVirtualInterface where+  type PropertyType "LocalGatewayVirtualInterfaceGroupId" LocalGatewayVirtualInterface = Value Prelude.Text+  set newValue LocalGatewayVirtualInterface {..}+    = LocalGatewayVirtualInterface+        {localGatewayVirtualInterfaceGroupId = newValue, ..}+instance Property "OutpostLagId" LocalGatewayVirtualInterface where+  type PropertyType "OutpostLagId" LocalGatewayVirtualInterface = Value Prelude.Text+  set newValue LocalGatewayVirtualInterface {..}+    = LocalGatewayVirtualInterface {outpostLagId = newValue, ..}+instance Property "PeerAddress" LocalGatewayVirtualInterface where+  type PropertyType "PeerAddress" LocalGatewayVirtualInterface = Value Prelude.Text+  set newValue LocalGatewayVirtualInterface {..}+    = LocalGatewayVirtualInterface {peerAddress = newValue, ..}+instance Property "PeerBgpAsn" LocalGatewayVirtualInterface where+  type PropertyType "PeerBgpAsn" LocalGatewayVirtualInterface = Value Prelude.Integer+  set newValue LocalGatewayVirtualInterface {..}+    = LocalGatewayVirtualInterface+        {peerBgpAsn = Prelude.pure newValue, ..}+instance Property "PeerBgpAsnExtended" LocalGatewayVirtualInterface where+  type PropertyType "PeerBgpAsnExtended" LocalGatewayVirtualInterface = Value Prelude.Integer+  set newValue LocalGatewayVirtualInterface {..}+    = LocalGatewayVirtualInterface+        {peerBgpAsnExtended = Prelude.pure newValue, ..}+instance Property "Tags" LocalGatewayVirtualInterface where+  type PropertyType "Tags" LocalGatewayVirtualInterface = [Tag]+  set newValue LocalGatewayVirtualInterface {..}+    = LocalGatewayVirtualInterface {tags = Prelude.pure newValue, ..}+instance Property "Vlan" LocalGatewayVirtualInterface where+  type PropertyType "Vlan" LocalGatewayVirtualInterface = Value Prelude.Integer+  set newValue LocalGatewayVirtualInterface {..}+    = LocalGatewayVirtualInterface {vlan = newValue, ..}
+ gen/Stratosphere/EC2/LocalGatewayVirtualInterfaceGroup.hs view
@@ -0,0 +1,70 @@+module Stratosphere.EC2.LocalGatewayVirtualInterfaceGroup (+        LocalGatewayVirtualInterfaceGroup(..),+        mkLocalGatewayVirtualInterfaceGroup+    ) 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 LocalGatewayVirtualInterfaceGroup+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html>+    LocalGatewayVirtualInterfaceGroup {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-localbgpasn>+                                       localBgpAsn :: (Prelude.Maybe (Value Prelude.Integer)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-localbgpasnextended>+                                       localBgpAsnExtended :: (Prelude.Maybe (Value Prelude.Integer)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-localgatewayid>+                                       localGatewayId :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-localgatewayvirtualinterfacegroup.html#cfn-ec2-localgatewayvirtualinterfacegroup-tags>+                                       tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLocalGatewayVirtualInterfaceGroup ::+  Value Prelude.Text -> LocalGatewayVirtualInterfaceGroup+mkLocalGatewayVirtualInterfaceGroup localGatewayId+  = LocalGatewayVirtualInterfaceGroup+      {haddock_workaround_ = (), localGatewayId = localGatewayId,+       localBgpAsn = Prelude.Nothing,+       localBgpAsnExtended = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties LocalGatewayVirtualInterfaceGroup where+  toResourceProperties LocalGatewayVirtualInterfaceGroup {..}+    = ResourceProperties+        {awsType = "AWS::EC2::LocalGatewayVirtualInterfaceGroup",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["LocalGatewayId" JSON..= localGatewayId]+                           (Prelude.catMaybes+                              [(JSON..=) "LocalBgpAsn" Prelude.<$> localBgpAsn,+                               (JSON..=) "LocalBgpAsnExtended" Prelude.<$> localBgpAsnExtended,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON LocalGatewayVirtualInterfaceGroup where+  toJSON LocalGatewayVirtualInterfaceGroup {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["LocalGatewayId" JSON..= localGatewayId]+              (Prelude.catMaybes+                 [(JSON..=) "LocalBgpAsn" Prelude.<$> localBgpAsn,+                  (JSON..=) "LocalBgpAsnExtended" Prelude.<$> localBgpAsnExtended,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "LocalBgpAsn" LocalGatewayVirtualInterfaceGroup where+  type PropertyType "LocalBgpAsn" LocalGatewayVirtualInterfaceGroup = Value Prelude.Integer+  set newValue LocalGatewayVirtualInterfaceGroup {..}+    = LocalGatewayVirtualInterfaceGroup+        {localBgpAsn = Prelude.pure newValue, ..}+instance Property "LocalBgpAsnExtended" LocalGatewayVirtualInterfaceGroup where+  type PropertyType "LocalBgpAsnExtended" LocalGatewayVirtualInterfaceGroup = Value Prelude.Integer+  set newValue LocalGatewayVirtualInterfaceGroup {..}+    = LocalGatewayVirtualInterfaceGroup+        {localBgpAsnExtended = Prelude.pure newValue, ..}+instance Property "LocalGatewayId" LocalGatewayVirtualInterfaceGroup where+  type PropertyType "LocalGatewayId" LocalGatewayVirtualInterfaceGroup = Value Prelude.Text+  set newValue LocalGatewayVirtualInterfaceGroup {..}+    = LocalGatewayVirtualInterfaceGroup {localGatewayId = newValue, ..}+instance Property "Tags" LocalGatewayVirtualInterfaceGroup where+  type PropertyType "Tags" LocalGatewayVirtualInterfaceGroup = [Tag]+  set newValue LocalGatewayVirtualInterfaceGroup {..}+    = LocalGatewayVirtualInterfaceGroup+        {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NatGateway.hs view
@@ -0,0 +1,126 @@+module Stratosphere.EC2.NatGateway (+        NatGateway(..), mkNatGateway+    ) 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 NatGateway+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html>+    NatGateway {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-allocationid>+                allocationId :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-connectivitytype>+                connectivityType :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-maxdraindurationseconds>+                maxDrainDurationSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-privateipaddress>+                privateIpAddress :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-secondaryallocationids>+                secondaryAllocationIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-secondaryprivateipaddresscount>+                secondaryPrivateIpAddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-secondaryprivateipaddresses>+                secondaryPrivateIpAddresses :: (Prelude.Maybe (ValueList Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-subnetid>+                subnetId :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-tags>+                tags :: (Prelude.Maybe [Tag]),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-natgateway.html#cfn-ec2-natgateway-vpcid>+                vpcId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNatGateway :: NatGateway+mkNatGateway+  = NatGateway+      {haddock_workaround_ = (), allocationId = Prelude.Nothing,+       connectivityType = Prelude.Nothing,+       maxDrainDurationSeconds = Prelude.Nothing,+       privateIpAddress = Prelude.Nothing,+       secondaryAllocationIds = Prelude.Nothing,+       secondaryPrivateIpAddressCount = Prelude.Nothing,+       secondaryPrivateIpAddresses = Prelude.Nothing,+       subnetId = Prelude.Nothing, tags = Prelude.Nothing,+       vpcId = Prelude.Nothing}+instance ToResourceProperties NatGateway where+  toResourceProperties NatGateway {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NatGateway", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AllocationId" Prelude.<$> allocationId,+                            (JSON..=) "ConnectivityType" Prelude.<$> connectivityType,+                            (JSON..=) "MaxDrainDurationSeconds"+                              Prelude.<$> maxDrainDurationSeconds,+                            (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+                            (JSON..=) "SecondaryAllocationIds"+                              Prelude.<$> secondaryAllocationIds,+                            (JSON..=) "SecondaryPrivateIpAddressCount"+                              Prelude.<$> secondaryPrivateIpAddressCount,+                            (JSON..=) "SecondaryPrivateIpAddresses"+                              Prelude.<$> secondaryPrivateIpAddresses,+                            (JSON..=) "SubnetId" Prelude.<$> subnetId,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "VpcId" Prelude.<$> vpcId])}+instance JSON.ToJSON NatGateway where+  toJSON NatGateway {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AllocationId" Prelude.<$> allocationId,+               (JSON..=) "ConnectivityType" Prelude.<$> connectivityType,+               (JSON..=) "MaxDrainDurationSeconds"+                 Prelude.<$> maxDrainDurationSeconds,+               (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+               (JSON..=) "SecondaryAllocationIds"+                 Prelude.<$> secondaryAllocationIds,+               (JSON..=) "SecondaryPrivateIpAddressCount"+                 Prelude.<$> secondaryPrivateIpAddressCount,+               (JSON..=) "SecondaryPrivateIpAddresses"+                 Prelude.<$> secondaryPrivateIpAddresses,+               (JSON..=) "SubnetId" Prelude.<$> subnetId,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "VpcId" Prelude.<$> vpcId]))+instance Property "AllocationId" NatGateway where+  type PropertyType "AllocationId" NatGateway = Value Prelude.Text+  set newValue NatGateway {..}+    = NatGateway {allocationId = Prelude.pure newValue, ..}+instance Property "ConnectivityType" NatGateway where+  type PropertyType "ConnectivityType" NatGateway = Value Prelude.Text+  set newValue NatGateway {..}+    = NatGateway {connectivityType = Prelude.pure newValue, ..}+instance Property "MaxDrainDurationSeconds" NatGateway where+  type PropertyType "MaxDrainDurationSeconds" NatGateway = Value Prelude.Integer+  set newValue NatGateway {..}+    = NatGateway {maxDrainDurationSeconds = Prelude.pure newValue, ..}+instance Property "PrivateIpAddress" NatGateway where+  type PropertyType "PrivateIpAddress" NatGateway = Value Prelude.Text+  set newValue NatGateway {..}+    = NatGateway {privateIpAddress = Prelude.pure newValue, ..}+instance Property "SecondaryAllocationIds" NatGateway where+  type PropertyType "SecondaryAllocationIds" NatGateway = ValueList Prelude.Text+  set newValue NatGateway {..}+    = NatGateway {secondaryAllocationIds = Prelude.pure newValue, ..}+instance Property "SecondaryPrivateIpAddressCount" NatGateway where+  type PropertyType "SecondaryPrivateIpAddressCount" NatGateway = Value Prelude.Integer+  set newValue NatGateway {..}+    = NatGateway+        {secondaryPrivateIpAddressCount = Prelude.pure newValue, ..}+instance Property "SecondaryPrivateIpAddresses" NatGateway where+  type PropertyType "SecondaryPrivateIpAddresses" NatGateway = ValueList Prelude.Text+  set newValue NatGateway {..}+    = NatGateway+        {secondaryPrivateIpAddresses = Prelude.pure newValue, ..}+instance Property "SubnetId" NatGateway where+  type PropertyType "SubnetId" NatGateway = Value Prelude.Text+  set newValue NatGateway {..}+    = NatGateway {subnetId = Prelude.pure newValue, ..}+instance Property "Tags" NatGateway where+  type PropertyType "Tags" NatGateway = [Tag]+  set newValue NatGateway {..}+    = NatGateway {tags = Prelude.pure newValue, ..}+instance Property "VpcId" NatGateway where+  type PropertyType "VpcId" NatGateway = Value Prelude.Text+  set newValue NatGateway {..}+    = NatGateway {vpcId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkAcl.hs view
@@ -0,0 +1,43 @@+module Stratosphere.EC2.NetworkAcl (+        NetworkAcl(..), mkNetworkAcl+    ) 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 NetworkAcl+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html>+    NetworkAcl {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html#cfn-ec2-networkacl-tags>+                tags :: (Prelude.Maybe [Tag]),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkacl.html#cfn-ec2-networkacl-vpcid>+                vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkAcl :: Value Prelude.Text -> NetworkAcl+mkNetworkAcl vpcId+  = NetworkAcl+      {haddock_workaround_ = (), vpcId = vpcId, tags = Prelude.Nothing}+instance ToResourceProperties NetworkAcl where+  toResourceProperties NetworkAcl {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkAcl", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcId" JSON..= vpcId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON NetworkAcl where+  toJSON NetworkAcl {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcId" JSON..= vpcId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Tags" NetworkAcl where+  type PropertyType "Tags" NetworkAcl = [Tag]+  set newValue NetworkAcl {..}+    = NetworkAcl {tags = Prelude.pure newValue, ..}+instance Property "VpcId" NetworkAcl where+  type PropertyType "VpcId" NetworkAcl = Value Prelude.Text+  set newValue NetworkAcl {..} = NetworkAcl {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/NetworkAclEntry.hs view
@@ -0,0 +1,107 @@+module Stratosphere.EC2.NetworkAclEntry (+        module Exports, NetworkAclEntry(..), mkNetworkAclEntry+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkAclEntry.IcmpProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkAclEntry.PortRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkAclEntry+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html>+    NetworkAclEntry {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-cidrblock>+                     cidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-egress>+                     egress :: (Prelude.Maybe (Value Prelude.Bool)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-icmp>+                     icmp :: (Prelude.Maybe IcmpProperty),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-ipv6cidrblock>+                     ipv6CidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-networkaclid>+                     networkAclId :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-portrange>+                     portRange :: (Prelude.Maybe PortRangeProperty),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-protocol>+                     protocol :: (Value Prelude.Integer),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-ruleaction>+                     ruleAction :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkaclentry.html#cfn-ec2-networkaclentry-rulenumber>+                     ruleNumber :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkAclEntry ::+  Value Prelude.Text+  -> Value Prelude.Integer+     -> Value Prelude.Text -> Value Prelude.Integer -> NetworkAclEntry+mkNetworkAclEntry networkAclId protocol ruleAction ruleNumber+  = NetworkAclEntry+      {haddock_workaround_ = (), networkAclId = networkAclId,+       protocol = protocol, ruleAction = ruleAction,+       ruleNumber = ruleNumber, cidrBlock = Prelude.Nothing,+       egress = Prelude.Nothing, icmp = Prelude.Nothing,+       ipv6CidrBlock = Prelude.Nothing, portRange = Prelude.Nothing}+instance ToResourceProperties NetworkAclEntry where+  toResourceProperties NetworkAclEntry {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkAclEntry",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["NetworkAclId" JSON..= networkAclId, "Protocol" JSON..= protocol,+                            "RuleAction" JSON..= ruleAction, "RuleNumber" JSON..= ruleNumber]+                           (Prelude.catMaybes+                              [(JSON..=) "CidrBlock" Prelude.<$> cidrBlock,+                               (JSON..=) "Egress" Prelude.<$> egress,+                               (JSON..=) "Icmp" Prelude.<$> icmp,+                               (JSON..=) "Ipv6CidrBlock" Prelude.<$> ipv6CidrBlock,+                               (JSON..=) "PortRange" Prelude.<$> portRange]))}+instance JSON.ToJSON NetworkAclEntry where+  toJSON NetworkAclEntry {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["NetworkAclId" JSON..= networkAclId, "Protocol" JSON..= protocol,+               "RuleAction" JSON..= ruleAction, "RuleNumber" JSON..= ruleNumber]+              (Prelude.catMaybes+                 [(JSON..=) "CidrBlock" Prelude.<$> cidrBlock,+                  (JSON..=) "Egress" Prelude.<$> egress,+                  (JSON..=) "Icmp" Prelude.<$> icmp,+                  (JSON..=) "Ipv6CidrBlock" Prelude.<$> ipv6CidrBlock,+                  (JSON..=) "PortRange" Prelude.<$> portRange])))+instance Property "CidrBlock" NetworkAclEntry where+  type PropertyType "CidrBlock" NetworkAclEntry = Value Prelude.Text+  set newValue NetworkAclEntry {..}+    = NetworkAclEntry {cidrBlock = Prelude.pure newValue, ..}+instance Property "Egress" NetworkAclEntry where+  type PropertyType "Egress" NetworkAclEntry = Value Prelude.Bool+  set newValue NetworkAclEntry {..}+    = NetworkAclEntry {egress = Prelude.pure newValue, ..}+instance Property "Icmp" NetworkAclEntry where+  type PropertyType "Icmp" NetworkAclEntry = IcmpProperty+  set newValue NetworkAclEntry {..}+    = NetworkAclEntry {icmp = Prelude.pure newValue, ..}+instance Property "Ipv6CidrBlock" NetworkAclEntry where+  type PropertyType "Ipv6CidrBlock" NetworkAclEntry = Value Prelude.Text+  set newValue NetworkAclEntry {..}+    = NetworkAclEntry {ipv6CidrBlock = Prelude.pure newValue, ..}+instance Property "NetworkAclId" NetworkAclEntry where+  type PropertyType "NetworkAclId" NetworkAclEntry = Value Prelude.Text+  set newValue NetworkAclEntry {..}+    = NetworkAclEntry {networkAclId = newValue, ..}+instance Property "PortRange" NetworkAclEntry where+  type PropertyType "PortRange" NetworkAclEntry = PortRangeProperty+  set newValue NetworkAclEntry {..}+    = NetworkAclEntry {portRange = Prelude.pure newValue, ..}+instance Property "Protocol" NetworkAclEntry where+  type PropertyType "Protocol" NetworkAclEntry = Value Prelude.Integer+  set newValue NetworkAclEntry {..}+    = NetworkAclEntry {protocol = newValue, ..}+instance Property "RuleAction" NetworkAclEntry where+  type PropertyType "RuleAction" NetworkAclEntry = Value Prelude.Text+  set newValue NetworkAclEntry {..}+    = NetworkAclEntry {ruleAction = newValue, ..}+instance Property "RuleNumber" NetworkAclEntry where+  type PropertyType "RuleNumber" NetworkAclEntry = Value Prelude.Integer+  set newValue NetworkAclEntry {..}+    = NetworkAclEntry {ruleNumber = newValue, ..}
+ gen/Stratosphere/EC2/NetworkAclEntry/IcmpProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.NetworkAclEntry.IcmpProperty (+        IcmpProperty(..), mkIcmpProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IcmpProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html>+    IcmpProperty {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html#cfn-ec2-networkaclentry-icmp-code>+                  code :: (Prelude.Maybe (Value Prelude.Integer)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-icmp.html#cfn-ec2-networkaclentry-icmp-type>+                  type' :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIcmpProperty :: IcmpProperty+mkIcmpProperty+  = IcmpProperty+      {haddock_workaround_ = (), code = Prelude.Nothing,+       type' = Prelude.Nothing}+instance ToResourceProperties IcmpProperty where+  toResourceProperties IcmpProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkAclEntry.Icmp",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Code" Prelude.<$> code,+                            (JSON..=) "Type" Prelude.<$> type'])}+instance JSON.ToJSON IcmpProperty where+  toJSON IcmpProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Code" Prelude.<$> code,+               (JSON..=) "Type" Prelude.<$> type']))+instance Property "Code" IcmpProperty where+  type PropertyType "Code" IcmpProperty = Value Prelude.Integer+  set newValue IcmpProperty {..}+    = IcmpProperty {code = Prelude.pure newValue, ..}+instance Property "Type" IcmpProperty where+  type PropertyType "Type" IcmpProperty = Value Prelude.Integer+  set newValue IcmpProperty {..}+    = IcmpProperty {type' = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkAclEntry/IcmpProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkAclEntry.IcmpProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IcmpProperty :: Prelude.Type+instance ToResourceProperties IcmpProperty+instance Prelude.Eq IcmpProperty+instance Prelude.Show IcmpProperty+instance JSON.ToJSON IcmpProperty
+ gen/Stratosphere/EC2/NetworkAclEntry/PortRangeProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.NetworkAclEntry.PortRangeProperty (+        PortRangeProperty(..), mkPortRangeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PortRangeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html>+    PortRangeProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html#cfn-ec2-networkaclentry-portrange-from>+                       from :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkaclentry-portrange.html#cfn-ec2-networkaclentry-portrange-to>+                       to :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPortRangeProperty :: PortRangeProperty+mkPortRangeProperty+  = PortRangeProperty+      {haddock_workaround_ = (), from = Prelude.Nothing,+       to = Prelude.Nothing}+instance ToResourceProperties PortRangeProperty where+  toResourceProperties PortRangeProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkAclEntry.PortRange",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "From" Prelude.<$> from,+                            (JSON..=) "To" Prelude.<$> to])}+instance JSON.ToJSON PortRangeProperty where+  toJSON PortRangeProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "From" Prelude.<$> from,+               (JSON..=) "To" Prelude.<$> to]))+instance Property "From" PortRangeProperty where+  type PropertyType "From" PortRangeProperty = Value Prelude.Integer+  set newValue PortRangeProperty {..}+    = PortRangeProperty {from = Prelude.pure newValue, ..}+instance Property "To" PortRangeProperty where+  type PropertyType "To" PortRangeProperty = Value Prelude.Integer+  set newValue PortRangeProperty {..}+    = PortRangeProperty {to = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkAclEntry/PortRangeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkAclEntry.PortRangeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PortRangeProperty :: Prelude.Type+instance ToResourceProperties PortRangeProperty+instance Prelude.Eq PortRangeProperty+instance Prelude.Show PortRangeProperty+instance JSON.ToJSON PortRangeProperty
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope.hs view
@@ -0,0 +1,57 @@+module Stratosphere.EC2.NetworkInsightsAccessScope (+        module Exports, NetworkInsightsAccessScope(..),+        mkNetworkInsightsAccessScope+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAccessScope.AccessScopePathRequestProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+data NetworkInsightsAccessScope+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html>+    NetworkInsightsAccessScope {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html#cfn-ec2-networkinsightsaccessscope-excludepaths>+                                excludePaths :: (Prelude.Maybe [AccessScopePathRequestProperty]),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html#cfn-ec2-networkinsightsaccessscope-matchpaths>+                                matchPaths :: (Prelude.Maybe [AccessScopePathRequestProperty]),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscope.html#cfn-ec2-networkinsightsaccessscope-tags>+                                tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInsightsAccessScope :: NetworkInsightsAccessScope+mkNetworkInsightsAccessScope+  = NetworkInsightsAccessScope+      {haddock_workaround_ = (), excludePaths = Prelude.Nothing,+       matchPaths = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties NetworkInsightsAccessScope where+  toResourceProperties NetworkInsightsAccessScope {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAccessScope",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ExcludePaths" Prelude.<$> excludePaths,+                            (JSON..=) "MatchPaths" Prelude.<$> matchPaths,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON NetworkInsightsAccessScope where+  toJSON NetworkInsightsAccessScope {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ExcludePaths" Prelude.<$> excludePaths,+               (JSON..=) "MatchPaths" Prelude.<$> matchPaths,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "ExcludePaths" NetworkInsightsAccessScope where+  type PropertyType "ExcludePaths" NetworkInsightsAccessScope = [AccessScopePathRequestProperty]+  set newValue NetworkInsightsAccessScope {..}+    = NetworkInsightsAccessScope+        {excludePaths = Prelude.pure newValue, ..}+instance Property "MatchPaths" NetworkInsightsAccessScope where+  type PropertyType "MatchPaths" NetworkInsightsAccessScope = [AccessScopePathRequestProperty]+  set newValue NetworkInsightsAccessScope {..}+    = NetworkInsightsAccessScope+        {matchPaths = Prelude.pure newValue, ..}+instance Property "Tags" NetworkInsightsAccessScope where+  type PropertyType "Tags" NetworkInsightsAccessScope = [Tag]+  set newValue NetworkInsightsAccessScope {..}+    = NetworkInsightsAccessScope {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/AccessScopePathRequestProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.AccessScopePathRequestProperty (+        module Exports, AccessScopePathRequestProperty(..),+        mkAccessScopePathRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAccessScope.PathStatementRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAccessScope.ThroughResourcesStatementRequestProperty as Exports+import Stratosphere.ResourceProperties+data AccessScopePathRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-accessscopepathrequest.html>+    AccessScopePathRequestProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-accessscopepathrequest.html#cfn-ec2-networkinsightsaccessscope-accessscopepathrequest-destination>+                                    destination :: (Prelude.Maybe PathStatementRequestProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-accessscopepathrequest.html#cfn-ec2-networkinsightsaccessscope-accessscopepathrequest-source>+                                    source :: (Prelude.Maybe PathStatementRequestProperty),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-accessscopepathrequest.html#cfn-ec2-networkinsightsaccessscope-accessscopepathrequest-throughresources>+                                    throughResources :: (Prelude.Maybe [ThroughResourcesStatementRequestProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessScopePathRequestProperty :: AccessScopePathRequestProperty+mkAccessScopePathRequestProperty+  = AccessScopePathRequestProperty+      {haddock_workaround_ = (), destination = Prelude.Nothing,+       source = Prelude.Nothing, throughResources = Prelude.Nothing}+instance ToResourceProperties AccessScopePathRequestProperty where+  toResourceProperties AccessScopePathRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAccessScope.AccessScopePathRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Destination" Prelude.<$> destination,+                            (JSON..=) "Source" Prelude.<$> source,+                            (JSON..=) "ThroughResources" Prelude.<$> throughResources])}+instance JSON.ToJSON AccessScopePathRequestProperty where+  toJSON AccessScopePathRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Destination" Prelude.<$> destination,+               (JSON..=) "Source" Prelude.<$> source,+               (JSON..=) "ThroughResources" Prelude.<$> throughResources]))+instance Property "Destination" AccessScopePathRequestProperty where+  type PropertyType "Destination" AccessScopePathRequestProperty = PathStatementRequestProperty+  set newValue AccessScopePathRequestProperty {..}+    = AccessScopePathRequestProperty+        {destination = Prelude.pure newValue, ..}+instance Property "Source" AccessScopePathRequestProperty where+  type PropertyType "Source" AccessScopePathRequestProperty = PathStatementRequestProperty+  set newValue AccessScopePathRequestProperty {..}+    = AccessScopePathRequestProperty+        {source = Prelude.pure newValue, ..}+instance Property "ThroughResources" AccessScopePathRequestProperty where+  type PropertyType "ThroughResources" AccessScopePathRequestProperty = [ThroughResourcesStatementRequestProperty]+  set newValue AccessScopePathRequestProperty {..}+    = AccessScopePathRequestProperty+        {throughResources = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/AccessScopePathRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.AccessScopePathRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessScopePathRequestProperty :: Prelude.Type+instance ToResourceProperties AccessScopePathRequestProperty+instance Prelude.Eq AccessScopePathRequestProperty+instance Prelude.Show AccessScopePathRequestProperty+instance JSON.ToJSON AccessScopePathRequestProperty
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/PacketHeaderStatementRequestProperty.hs view
@@ -0,0 +1,99 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.PacketHeaderStatementRequestProperty (+        PacketHeaderStatementRequestProperty(..),+        mkPacketHeaderStatementRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PacketHeaderStatementRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-packetheaderstatementrequest.html>+    PacketHeaderStatementRequestProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-packetheaderstatementrequest.html#cfn-ec2-networkinsightsaccessscope-packetheaderstatementrequest-destinationaddresses>+                                          destinationAddresses :: (Prelude.Maybe (ValueList Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-packetheaderstatementrequest.html#cfn-ec2-networkinsightsaccessscope-packetheaderstatementrequest-destinationports>+                                          destinationPorts :: (Prelude.Maybe (ValueList Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-packetheaderstatementrequest.html#cfn-ec2-networkinsightsaccessscope-packetheaderstatementrequest-destinationprefixlists>+                                          destinationPrefixLists :: (Prelude.Maybe (ValueList Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-packetheaderstatementrequest.html#cfn-ec2-networkinsightsaccessscope-packetheaderstatementrequest-protocols>+                                          protocols :: (Prelude.Maybe (ValueList Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-packetheaderstatementrequest.html#cfn-ec2-networkinsightsaccessscope-packetheaderstatementrequest-sourceaddresses>+                                          sourceAddresses :: (Prelude.Maybe (ValueList Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-packetheaderstatementrequest.html#cfn-ec2-networkinsightsaccessscope-packetheaderstatementrequest-sourceports>+                                          sourcePorts :: (Prelude.Maybe (ValueList Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-packetheaderstatementrequest.html#cfn-ec2-networkinsightsaccessscope-packetheaderstatementrequest-sourceprefixlists>+                                          sourcePrefixLists :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPacketHeaderStatementRequestProperty ::+  PacketHeaderStatementRequestProperty+mkPacketHeaderStatementRequestProperty+  = PacketHeaderStatementRequestProperty+      {haddock_workaround_ = (), destinationAddresses = Prelude.Nothing,+       destinationPorts = Prelude.Nothing,+       destinationPrefixLists = Prelude.Nothing,+       protocols = Prelude.Nothing, sourceAddresses = Prelude.Nothing,+       sourcePorts = Prelude.Nothing, sourcePrefixLists = Prelude.Nothing}+instance ToResourceProperties PacketHeaderStatementRequestProperty where+  toResourceProperties PacketHeaderStatementRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAccessScope.PacketHeaderStatementRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DestinationAddresses" Prelude.<$> destinationAddresses,+                            (JSON..=) "DestinationPorts" Prelude.<$> destinationPorts,+                            (JSON..=) "DestinationPrefixLists"+                              Prelude.<$> destinationPrefixLists,+                            (JSON..=) "Protocols" Prelude.<$> protocols,+                            (JSON..=) "SourceAddresses" Prelude.<$> sourceAddresses,+                            (JSON..=) "SourcePorts" Prelude.<$> sourcePorts,+                            (JSON..=) "SourcePrefixLists" Prelude.<$> sourcePrefixLists])}+instance JSON.ToJSON PacketHeaderStatementRequestProperty where+  toJSON PacketHeaderStatementRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DestinationAddresses" Prelude.<$> destinationAddresses,+               (JSON..=) "DestinationPorts" Prelude.<$> destinationPorts,+               (JSON..=) "DestinationPrefixLists"+                 Prelude.<$> destinationPrefixLists,+               (JSON..=) "Protocols" Prelude.<$> protocols,+               (JSON..=) "SourceAddresses" Prelude.<$> sourceAddresses,+               (JSON..=) "SourcePorts" Prelude.<$> sourcePorts,+               (JSON..=) "SourcePrefixLists" Prelude.<$> sourcePrefixLists]))+instance Property "DestinationAddresses" PacketHeaderStatementRequestProperty where+  type PropertyType "DestinationAddresses" PacketHeaderStatementRequestProperty = ValueList Prelude.Text+  set newValue PacketHeaderStatementRequestProperty {..}+    = PacketHeaderStatementRequestProperty+        {destinationAddresses = Prelude.pure newValue, ..}+instance Property "DestinationPorts" PacketHeaderStatementRequestProperty where+  type PropertyType "DestinationPorts" PacketHeaderStatementRequestProperty = ValueList Prelude.Text+  set newValue PacketHeaderStatementRequestProperty {..}+    = PacketHeaderStatementRequestProperty+        {destinationPorts = Prelude.pure newValue, ..}+instance Property "DestinationPrefixLists" PacketHeaderStatementRequestProperty where+  type PropertyType "DestinationPrefixLists" PacketHeaderStatementRequestProperty = ValueList Prelude.Text+  set newValue PacketHeaderStatementRequestProperty {..}+    = PacketHeaderStatementRequestProperty+        {destinationPrefixLists = Prelude.pure newValue, ..}+instance Property "Protocols" PacketHeaderStatementRequestProperty where+  type PropertyType "Protocols" PacketHeaderStatementRequestProperty = ValueList Prelude.Text+  set newValue PacketHeaderStatementRequestProperty {..}+    = PacketHeaderStatementRequestProperty+        {protocols = Prelude.pure newValue, ..}+instance Property "SourceAddresses" PacketHeaderStatementRequestProperty where+  type PropertyType "SourceAddresses" PacketHeaderStatementRequestProperty = ValueList Prelude.Text+  set newValue PacketHeaderStatementRequestProperty {..}+    = PacketHeaderStatementRequestProperty+        {sourceAddresses = Prelude.pure newValue, ..}+instance Property "SourcePorts" PacketHeaderStatementRequestProperty where+  type PropertyType "SourcePorts" PacketHeaderStatementRequestProperty = ValueList Prelude.Text+  set newValue PacketHeaderStatementRequestProperty {..}+    = PacketHeaderStatementRequestProperty+        {sourcePorts = Prelude.pure newValue, ..}+instance Property "SourcePrefixLists" PacketHeaderStatementRequestProperty where+  type PropertyType "SourcePrefixLists" PacketHeaderStatementRequestProperty = ValueList Prelude.Text+  set newValue PacketHeaderStatementRequestProperty {..}+    = PacketHeaderStatementRequestProperty+        {sourcePrefixLists = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/PacketHeaderStatementRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.PacketHeaderStatementRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PacketHeaderStatementRequestProperty :: Prelude.Type+instance ToResourceProperties PacketHeaderStatementRequestProperty+instance Prelude.Eq PacketHeaderStatementRequestProperty+instance Prelude.Show PacketHeaderStatementRequestProperty+instance JSON.ToJSON PacketHeaderStatementRequestProperty
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/PathStatementRequestProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.PathStatementRequestProperty (+        module Exports, PathStatementRequestProperty(..),+        mkPathStatementRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAccessScope.PacketHeaderStatementRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAccessScope.ResourceStatementRequestProperty as Exports+import Stratosphere.ResourceProperties+data PathStatementRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-pathstatementrequest.html>+    PathStatementRequestProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-pathstatementrequest.html#cfn-ec2-networkinsightsaccessscope-pathstatementrequest-packetheaderstatement>+                                  packetHeaderStatement :: (Prelude.Maybe PacketHeaderStatementRequestProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-pathstatementrequest.html#cfn-ec2-networkinsightsaccessscope-pathstatementrequest-resourcestatement>+                                  resourceStatement :: (Prelude.Maybe ResourceStatementRequestProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPathStatementRequestProperty :: PathStatementRequestProperty+mkPathStatementRequestProperty+  = PathStatementRequestProperty+      {haddock_workaround_ = (), packetHeaderStatement = Prelude.Nothing,+       resourceStatement = Prelude.Nothing}+instance ToResourceProperties PathStatementRequestProperty where+  toResourceProperties PathStatementRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAccessScope.PathStatementRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "PacketHeaderStatement"+                              Prelude.<$> packetHeaderStatement,+                            (JSON..=) "ResourceStatement" Prelude.<$> resourceStatement])}+instance JSON.ToJSON PathStatementRequestProperty where+  toJSON PathStatementRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "PacketHeaderStatement"+                 Prelude.<$> packetHeaderStatement,+               (JSON..=) "ResourceStatement" Prelude.<$> resourceStatement]))+instance Property "PacketHeaderStatement" PathStatementRequestProperty where+  type PropertyType "PacketHeaderStatement" PathStatementRequestProperty = PacketHeaderStatementRequestProperty+  set newValue PathStatementRequestProperty {..}+    = PathStatementRequestProperty+        {packetHeaderStatement = Prelude.pure newValue, ..}+instance Property "ResourceStatement" PathStatementRequestProperty where+  type PropertyType "ResourceStatement" PathStatementRequestProperty = ResourceStatementRequestProperty+  set newValue PathStatementRequestProperty {..}+    = PathStatementRequestProperty+        {resourceStatement = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/PathStatementRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.PathStatementRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PathStatementRequestProperty :: Prelude.Type+instance ToResourceProperties PathStatementRequestProperty+instance Prelude.Eq PathStatementRequestProperty+instance Prelude.Show PathStatementRequestProperty+instance JSON.ToJSON PathStatementRequestProperty
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/ResourceStatementRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.ResourceStatementRequestProperty (+        ResourceStatementRequestProperty(..),+        mkResourceStatementRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ResourceStatementRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-resourcestatementrequest.html>+    ResourceStatementRequestProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-resourcestatementrequest.html#cfn-ec2-networkinsightsaccessscope-resourcestatementrequest-resourcetypes>+                                      resourceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-resourcestatementrequest.html#cfn-ec2-networkinsightsaccessscope-resourcestatementrequest-resources>+                                      resources :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkResourceStatementRequestProperty ::+  ResourceStatementRequestProperty+mkResourceStatementRequestProperty+  = ResourceStatementRequestProperty+      {haddock_workaround_ = (), resourceTypes = Prelude.Nothing,+       resources = Prelude.Nothing}+instance ToResourceProperties ResourceStatementRequestProperty where+  toResourceProperties ResourceStatementRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAccessScope.ResourceStatementRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ResourceTypes" Prelude.<$> resourceTypes,+                            (JSON..=) "Resources" Prelude.<$> resources])}+instance JSON.ToJSON ResourceStatementRequestProperty where+  toJSON ResourceStatementRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ResourceTypes" Prelude.<$> resourceTypes,+               (JSON..=) "Resources" Prelude.<$> resources]))+instance Property "ResourceTypes" ResourceStatementRequestProperty where+  type PropertyType "ResourceTypes" ResourceStatementRequestProperty = ValueList Prelude.Text+  set newValue ResourceStatementRequestProperty {..}+    = ResourceStatementRequestProperty+        {resourceTypes = Prelude.pure newValue, ..}+instance Property "Resources" ResourceStatementRequestProperty where+  type PropertyType "Resources" ResourceStatementRequestProperty = ValueList Prelude.Text+  set newValue ResourceStatementRequestProperty {..}+    = ResourceStatementRequestProperty+        {resources = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/ResourceStatementRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.ResourceStatementRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ResourceStatementRequestProperty :: Prelude.Type+instance ToResourceProperties ResourceStatementRequestProperty+instance Prelude.Eq ResourceStatementRequestProperty+instance Prelude.Show ResourceStatementRequestProperty+instance JSON.ToJSON ResourceStatementRequestProperty
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/ThroughResourcesStatementRequestProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.ThroughResourcesStatementRequestProperty (+        module Exports, ThroughResourcesStatementRequestProperty(..),+        mkThroughResourcesStatementRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAccessScope.ResourceStatementRequestProperty as Exports+import Stratosphere.ResourceProperties+data ThroughResourcesStatementRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-throughresourcesstatementrequest.html>+    ThroughResourcesStatementRequestProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsaccessscope-throughresourcesstatementrequest.html#cfn-ec2-networkinsightsaccessscope-throughresourcesstatementrequest-resourcestatement>+                                              resourceStatement :: (Prelude.Maybe ResourceStatementRequestProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkThroughResourcesStatementRequestProperty ::+  ThroughResourcesStatementRequestProperty+mkThroughResourcesStatementRequestProperty+  = ThroughResourcesStatementRequestProperty+      {haddock_workaround_ = (), resourceStatement = Prelude.Nothing}+instance ToResourceProperties ThroughResourcesStatementRequestProperty where+  toResourceProperties ThroughResourcesStatementRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAccessScope.ThroughResourcesStatementRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ResourceStatement" Prelude.<$> resourceStatement])}+instance JSON.ToJSON ThroughResourcesStatementRequestProperty where+  toJSON ThroughResourcesStatementRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ResourceStatement" Prelude.<$> resourceStatement]))+instance Property "ResourceStatement" ThroughResourcesStatementRequestProperty where+  type PropertyType "ResourceStatement" ThroughResourcesStatementRequestProperty = ResourceStatementRequestProperty+  set newValue ThroughResourcesStatementRequestProperty {..}+    = ThroughResourcesStatementRequestProperty+        {resourceStatement = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAccessScope/ThroughResourcesStatementRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAccessScope.ThroughResourcesStatementRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ThroughResourcesStatementRequestProperty :: Prelude.Type+instance ToResourceProperties ThroughResourcesStatementRequestProperty+instance Prelude.Eq ThroughResourcesStatementRequestProperty+instance Prelude.Show ThroughResourcesStatementRequestProperty+instance JSON.ToJSON ThroughResourcesStatementRequestProperty
+ gen/Stratosphere/EC2/NetworkInsightsAccessScopeAnalysis.hs view
@@ -0,0 +1,53 @@+module Stratosphere.EC2.NetworkInsightsAccessScopeAnalysis (+        NetworkInsightsAccessScopeAnalysis(..),+        mkNetworkInsightsAccessScopeAnalysis+    ) 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 NetworkInsightsAccessScopeAnalysis+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html>+    NetworkInsightsAccessScopeAnalysis {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html#cfn-ec2-networkinsightsaccessscopeanalysis-networkinsightsaccessscopeid>+                                        networkInsightsAccessScopeId :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsaccessscopeanalysis.html#cfn-ec2-networkinsightsaccessscopeanalysis-tags>+                                        tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInsightsAccessScopeAnalysis ::+  Value Prelude.Text -> NetworkInsightsAccessScopeAnalysis+mkNetworkInsightsAccessScopeAnalysis networkInsightsAccessScopeId+  = NetworkInsightsAccessScopeAnalysis+      {haddock_workaround_ = (),+       networkInsightsAccessScopeId = networkInsightsAccessScopeId,+       tags = Prelude.Nothing}+instance ToResourceProperties NetworkInsightsAccessScopeAnalysis where+  toResourceProperties NetworkInsightsAccessScopeAnalysis {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAccessScopeAnalysis",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["NetworkInsightsAccessScopeId"+                              JSON..= networkInsightsAccessScopeId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON NetworkInsightsAccessScopeAnalysis where+  toJSON NetworkInsightsAccessScopeAnalysis {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["NetworkInsightsAccessScopeId"+                 JSON..= networkInsightsAccessScopeId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "NetworkInsightsAccessScopeId" NetworkInsightsAccessScopeAnalysis where+  type PropertyType "NetworkInsightsAccessScopeId" NetworkInsightsAccessScopeAnalysis = Value Prelude.Text+  set newValue NetworkInsightsAccessScopeAnalysis {..}+    = NetworkInsightsAccessScopeAnalysis+        {networkInsightsAccessScopeId = newValue, ..}+instance Property "Tags" NetworkInsightsAccessScopeAnalysis where+  type PropertyType "Tags" NetworkInsightsAccessScopeAnalysis = [Tag]+  set newValue NetworkInsightsAccessScopeAnalysis {..}+    = NetworkInsightsAccessScopeAnalysis+        {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis.hs view
@@ -0,0 +1,79 @@+module Stratosphere.EC2.NetworkInsightsAnalysis (+        NetworkInsightsAnalysis(..), mkNetworkInsightsAnalysis+    ) 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 NetworkInsightsAnalysis+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html>+    NetworkInsightsAnalysis {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html#cfn-ec2-networkinsightsanalysis-additionalaccounts>+                             additionalAccounts :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html#cfn-ec2-networkinsightsanalysis-filterinarns>+                             filterInArns :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html#cfn-ec2-networkinsightsanalysis-filteroutarns>+                             filterOutArns :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html#cfn-ec2-networkinsightsanalysis-networkinsightspathid>+                             networkInsightsPathId :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightsanalysis.html#cfn-ec2-networkinsightsanalysis-tags>+                             tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInsightsAnalysis ::+  Value Prelude.Text -> NetworkInsightsAnalysis+mkNetworkInsightsAnalysis networkInsightsPathId+  = NetworkInsightsAnalysis+      {haddock_workaround_ = (),+       networkInsightsPathId = networkInsightsPathId,+       additionalAccounts = Prelude.Nothing,+       filterInArns = Prelude.Nothing, filterOutArns = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties NetworkInsightsAnalysis where+  toResourceProperties NetworkInsightsAnalysis {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["NetworkInsightsPathId" JSON..= networkInsightsPathId]+                           (Prelude.catMaybes+                              [(JSON..=) "AdditionalAccounts" Prelude.<$> additionalAccounts,+                               (JSON..=) "FilterInArns" Prelude.<$> filterInArns,+                               (JSON..=) "FilterOutArns" Prelude.<$> filterOutArns,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON NetworkInsightsAnalysis where+  toJSON NetworkInsightsAnalysis {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["NetworkInsightsPathId" JSON..= networkInsightsPathId]+              (Prelude.catMaybes+                 [(JSON..=) "AdditionalAccounts" Prelude.<$> additionalAccounts,+                  (JSON..=) "FilterInArns" Prelude.<$> filterInArns,+                  (JSON..=) "FilterOutArns" Prelude.<$> filterOutArns,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AdditionalAccounts" NetworkInsightsAnalysis where+  type PropertyType "AdditionalAccounts" NetworkInsightsAnalysis = ValueList Prelude.Text+  set newValue NetworkInsightsAnalysis {..}+    = NetworkInsightsAnalysis+        {additionalAccounts = Prelude.pure newValue, ..}+instance Property "FilterInArns" NetworkInsightsAnalysis where+  type PropertyType "FilterInArns" NetworkInsightsAnalysis = ValueList Prelude.Text+  set newValue NetworkInsightsAnalysis {..}+    = NetworkInsightsAnalysis+        {filterInArns = Prelude.pure newValue, ..}+instance Property "FilterOutArns" NetworkInsightsAnalysis where+  type PropertyType "FilterOutArns" NetworkInsightsAnalysis = ValueList Prelude.Text+  set newValue NetworkInsightsAnalysis {..}+    = NetworkInsightsAnalysis+        {filterOutArns = Prelude.pure newValue, ..}+instance Property "NetworkInsightsPathId" NetworkInsightsAnalysis where+  type PropertyType "NetworkInsightsPathId" NetworkInsightsAnalysis = Value Prelude.Text+  set newValue NetworkInsightsAnalysis {..}+    = NetworkInsightsAnalysis {networkInsightsPathId = newValue, ..}+instance Property "Tags" NetworkInsightsAnalysis where+  type PropertyType "Tags" NetworkInsightsAnalysis = [Tag]+  set newValue NetworkInsightsAnalysis {..}+    = NetworkInsightsAnalysis {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AdditionalDetailProperty.hs view
@@ -0,0 +1,67 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AdditionalDetailProperty (+        module Exports, AdditionalDetailProperty(..),+        mkAdditionalDetailProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisComponentProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AdditionalDetailProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-additionaldetail.html>+    AdditionalDetailProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-additionaldetail.html#cfn-ec2-networkinsightsanalysis-additionaldetail-additionaldetailtype>+                              additionalDetailType :: (Prelude.Maybe (Value Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-additionaldetail.html#cfn-ec2-networkinsightsanalysis-additionaldetail-component>+                              component :: (Prelude.Maybe AnalysisComponentProperty),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-additionaldetail.html#cfn-ec2-networkinsightsanalysis-additionaldetail-loadbalancers>+                              loadBalancers :: (Prelude.Maybe [AnalysisComponentProperty]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-additionaldetail.html#cfn-ec2-networkinsightsanalysis-additionaldetail-servicename>+                              serviceName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAdditionalDetailProperty :: AdditionalDetailProperty+mkAdditionalDetailProperty+  = AdditionalDetailProperty+      {haddock_workaround_ = (), additionalDetailType = Prelude.Nothing,+       component = Prelude.Nothing, loadBalancers = Prelude.Nothing,+       serviceName = Prelude.Nothing}+instance ToResourceProperties AdditionalDetailProperty where+  toResourceProperties AdditionalDetailProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.AdditionalDetail",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AdditionalDetailType" Prelude.<$> additionalDetailType,+                            (JSON..=) "Component" Prelude.<$> component,+                            (JSON..=) "LoadBalancers" Prelude.<$> loadBalancers,+                            (JSON..=) "ServiceName" Prelude.<$> serviceName])}+instance JSON.ToJSON AdditionalDetailProperty where+  toJSON AdditionalDetailProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AdditionalDetailType" Prelude.<$> additionalDetailType,+               (JSON..=) "Component" Prelude.<$> component,+               (JSON..=) "LoadBalancers" Prelude.<$> loadBalancers,+               (JSON..=) "ServiceName" Prelude.<$> serviceName]))+instance Property "AdditionalDetailType" AdditionalDetailProperty where+  type PropertyType "AdditionalDetailType" AdditionalDetailProperty = Value Prelude.Text+  set newValue AdditionalDetailProperty {..}+    = AdditionalDetailProperty+        {additionalDetailType = Prelude.pure newValue, ..}+instance Property "Component" AdditionalDetailProperty where+  type PropertyType "Component" AdditionalDetailProperty = AnalysisComponentProperty+  set newValue AdditionalDetailProperty {..}+    = AdditionalDetailProperty {component = Prelude.pure newValue, ..}+instance Property "LoadBalancers" AdditionalDetailProperty where+  type PropertyType "LoadBalancers" AdditionalDetailProperty = [AnalysisComponentProperty]+  set newValue AdditionalDetailProperty {..}+    = AdditionalDetailProperty+        {loadBalancers = Prelude.pure newValue, ..}+instance Property "ServiceName" AdditionalDetailProperty where+  type PropertyType "ServiceName" AdditionalDetailProperty = Value Prelude.Text+  set newValue AdditionalDetailProperty {..}+    = AdditionalDetailProperty+        {serviceName = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AdditionalDetailProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AdditionalDetailProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AdditionalDetailProperty :: Prelude.Type+instance ToResourceProperties AdditionalDetailProperty+instance Prelude.Eq AdditionalDetailProperty+instance Prelude.Show AdditionalDetailProperty+instance JSON.ToJSON AdditionalDetailProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AlternatePathHintProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AlternatePathHintProperty (+        AlternatePathHintProperty(..), mkAlternatePathHintProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AlternatePathHintProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-alternatepathhint.html>+    AlternatePathHintProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-alternatepathhint.html#cfn-ec2-networkinsightsanalysis-alternatepathhint-componentarn>+                               componentArn :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-alternatepathhint.html#cfn-ec2-networkinsightsanalysis-alternatepathhint-componentid>+                               componentId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAlternatePathHintProperty :: AlternatePathHintProperty+mkAlternatePathHintProperty+  = AlternatePathHintProperty+      {haddock_workaround_ = (), componentArn = Prelude.Nothing,+       componentId = Prelude.Nothing}+instance ToResourceProperties AlternatePathHintProperty where+  toResourceProperties AlternatePathHintProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.AlternatePathHint",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ComponentArn" Prelude.<$> componentArn,+                            (JSON..=) "ComponentId" Prelude.<$> componentId])}+instance JSON.ToJSON AlternatePathHintProperty where+  toJSON AlternatePathHintProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ComponentArn" Prelude.<$> componentArn,+               (JSON..=) "ComponentId" Prelude.<$> componentId]))+instance Property "ComponentArn" AlternatePathHintProperty where+  type PropertyType "ComponentArn" AlternatePathHintProperty = Value Prelude.Text+  set newValue AlternatePathHintProperty {..}+    = AlternatePathHintProperty+        {componentArn = Prelude.pure newValue, ..}+instance Property "ComponentId" AlternatePathHintProperty where+  type PropertyType "ComponentId" AlternatePathHintProperty = Value Prelude.Text+  set newValue AlternatePathHintProperty {..}+    = AlternatePathHintProperty+        {componentId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AlternatePathHintProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AlternatePathHintProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AlternatePathHintProperty :: Prelude.Type+instance ToResourceProperties AlternatePathHintProperty+instance Prelude.Eq AlternatePathHintProperty+instance Prelude.Show AlternatePathHintProperty+instance JSON.ToJSON AlternatePathHintProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisAclRuleProperty.hs view
@@ -0,0 +1,81 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisAclRuleProperty (+        module Exports, AnalysisAclRuleProperty(..),+        mkAnalysisAclRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.PortRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnalysisAclRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html>+    AnalysisAclRuleProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-cidr>+                             cidr :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-egress>+                             egress :: (Prelude.Maybe (Value Prelude.Bool)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-portrange>+                             portRange :: (Prelude.Maybe PortRangeProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-protocol>+                             protocol :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-ruleaction>+                             ruleAction :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisaclrule.html#cfn-ec2-networkinsightsanalysis-analysisaclrule-rulenumber>+                             ruleNumber :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnalysisAclRuleProperty :: AnalysisAclRuleProperty+mkAnalysisAclRuleProperty+  = AnalysisAclRuleProperty+      {haddock_workaround_ = (), cidr = Prelude.Nothing,+       egress = Prelude.Nothing, portRange = Prelude.Nothing,+       protocol = Prelude.Nothing, ruleAction = Prelude.Nothing,+       ruleNumber = Prelude.Nothing}+instance ToResourceProperties AnalysisAclRuleProperty where+  toResourceProperties AnalysisAclRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.AnalysisAclRule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Cidr" Prelude.<$> cidr,+                            (JSON..=) "Egress" Prelude.<$> egress,+                            (JSON..=) "PortRange" Prelude.<$> portRange,+                            (JSON..=) "Protocol" Prelude.<$> protocol,+                            (JSON..=) "RuleAction" Prelude.<$> ruleAction,+                            (JSON..=) "RuleNumber" Prelude.<$> ruleNumber])}+instance JSON.ToJSON AnalysisAclRuleProperty where+  toJSON AnalysisAclRuleProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Cidr" Prelude.<$> cidr,+               (JSON..=) "Egress" Prelude.<$> egress,+               (JSON..=) "PortRange" Prelude.<$> portRange,+               (JSON..=) "Protocol" Prelude.<$> protocol,+               (JSON..=) "RuleAction" Prelude.<$> ruleAction,+               (JSON..=) "RuleNumber" Prelude.<$> ruleNumber]))+instance Property "Cidr" AnalysisAclRuleProperty where+  type PropertyType "Cidr" AnalysisAclRuleProperty = Value Prelude.Text+  set newValue AnalysisAclRuleProperty {..}+    = AnalysisAclRuleProperty {cidr = Prelude.pure newValue, ..}+instance Property "Egress" AnalysisAclRuleProperty where+  type PropertyType "Egress" AnalysisAclRuleProperty = Value Prelude.Bool+  set newValue AnalysisAclRuleProperty {..}+    = AnalysisAclRuleProperty {egress = Prelude.pure newValue, ..}+instance Property "PortRange" AnalysisAclRuleProperty where+  type PropertyType "PortRange" AnalysisAclRuleProperty = PortRangeProperty+  set newValue AnalysisAclRuleProperty {..}+    = AnalysisAclRuleProperty {portRange = Prelude.pure newValue, ..}+instance Property "Protocol" AnalysisAclRuleProperty where+  type PropertyType "Protocol" AnalysisAclRuleProperty = Value Prelude.Text+  set newValue AnalysisAclRuleProperty {..}+    = AnalysisAclRuleProperty {protocol = Prelude.pure newValue, ..}+instance Property "RuleAction" AnalysisAclRuleProperty where+  type PropertyType "RuleAction" AnalysisAclRuleProperty = Value Prelude.Text+  set newValue AnalysisAclRuleProperty {..}+    = AnalysisAclRuleProperty {ruleAction = Prelude.pure newValue, ..}+instance Property "RuleNumber" AnalysisAclRuleProperty where+  type PropertyType "RuleNumber" AnalysisAclRuleProperty = Value Prelude.Integer+  set newValue AnalysisAclRuleProperty {..}+    = AnalysisAclRuleProperty {ruleNumber = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisAclRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisAclRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AnalysisAclRuleProperty :: Prelude.Type+instance ToResourceProperties AnalysisAclRuleProperty+instance Prelude.Eq AnalysisAclRuleProperty+instance Prelude.Show AnalysisAclRuleProperty+instance JSON.ToJSON AnalysisAclRuleProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisComponentProperty.hs view
@@ -0,0 +1,43 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisComponentProperty (+        AnalysisComponentProperty(..), mkAnalysisComponentProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnalysisComponentProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysiscomponent.html>+    AnalysisComponentProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysiscomponent.html#cfn-ec2-networkinsightsanalysis-analysiscomponent-arn>+                               arn :: (Prelude.Maybe (Value Prelude.Text)),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysiscomponent.html#cfn-ec2-networkinsightsanalysis-analysiscomponent-id>+                               id :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnalysisComponentProperty :: AnalysisComponentProperty+mkAnalysisComponentProperty+  = AnalysisComponentProperty+      {haddock_workaround_ = (), arn = Prelude.Nothing,+       id = Prelude.Nothing}+instance ToResourceProperties AnalysisComponentProperty where+  toResourceProperties AnalysisComponentProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.AnalysisComponent",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Arn" Prelude.<$> arn, (JSON..=) "Id" Prelude.<$> id])}+instance JSON.ToJSON AnalysisComponentProperty where+  toJSON AnalysisComponentProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Arn" Prelude.<$> arn, (JSON..=) "Id" Prelude.<$> id]))+instance Property "Arn" AnalysisComponentProperty where+  type PropertyType "Arn" AnalysisComponentProperty = Value Prelude.Text+  set newValue AnalysisComponentProperty {..}+    = AnalysisComponentProperty {arn = Prelude.pure newValue, ..}+instance Property "Id" AnalysisComponentProperty where+  type PropertyType "Id" AnalysisComponentProperty = Value Prelude.Text+  set newValue AnalysisComponentProperty {..}+    = AnalysisComponentProperty {id = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisComponentProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisComponentProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AnalysisComponentProperty :: Prelude.Type+instance ToResourceProperties AnalysisComponentProperty+instance Prelude.Eq AnalysisComponentProperty+instance Prelude.Show AnalysisComponentProperty+instance JSON.ToJSON AnalysisComponentProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisLoadBalancerListenerProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisLoadBalancerListenerProperty (+        AnalysisLoadBalancerListenerProperty(..),+        mkAnalysisLoadBalancerListenerProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnalysisLoadBalancerListenerProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancerlistener.html>+    AnalysisLoadBalancerListenerProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancerlistener.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancerlistener-instanceport>+                                          instancePort :: (Prelude.Maybe (Value Prelude.Integer)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancerlistener.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancerlistener-loadbalancerport>+                                          loadBalancerPort :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnalysisLoadBalancerListenerProperty ::+  AnalysisLoadBalancerListenerProperty+mkAnalysisLoadBalancerListenerProperty+  = AnalysisLoadBalancerListenerProperty+      {haddock_workaround_ = (), instancePort = Prelude.Nothing,+       loadBalancerPort = Prelude.Nothing}+instance ToResourceProperties AnalysisLoadBalancerListenerProperty where+  toResourceProperties AnalysisLoadBalancerListenerProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerListener",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "InstancePort" Prelude.<$> instancePort,+                            (JSON..=) "LoadBalancerPort" Prelude.<$> loadBalancerPort])}+instance JSON.ToJSON AnalysisLoadBalancerListenerProperty where+  toJSON AnalysisLoadBalancerListenerProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "InstancePort" Prelude.<$> instancePort,+               (JSON..=) "LoadBalancerPort" Prelude.<$> loadBalancerPort]))+instance Property "InstancePort" AnalysisLoadBalancerListenerProperty where+  type PropertyType "InstancePort" AnalysisLoadBalancerListenerProperty = Value Prelude.Integer+  set newValue AnalysisLoadBalancerListenerProperty {..}+    = AnalysisLoadBalancerListenerProperty+        {instancePort = Prelude.pure newValue, ..}+instance Property "LoadBalancerPort" AnalysisLoadBalancerListenerProperty where+  type PropertyType "LoadBalancerPort" AnalysisLoadBalancerListenerProperty = Value Prelude.Integer+  set newValue AnalysisLoadBalancerListenerProperty {..}+    = AnalysisLoadBalancerListenerProperty+        {loadBalancerPort = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisLoadBalancerListenerProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisLoadBalancerListenerProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AnalysisLoadBalancerListenerProperty :: Prelude.Type+instance ToResourceProperties AnalysisLoadBalancerListenerProperty+instance Prelude.Eq AnalysisLoadBalancerListenerProperty+instance Prelude.Show AnalysisLoadBalancerListenerProperty+instance JSON.ToJSON AnalysisLoadBalancerListenerProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisLoadBalancerTargetProperty.hs view
@@ -0,0 +1,69 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisLoadBalancerTargetProperty (+        module Exports, AnalysisLoadBalancerTargetProperty(..),+        mkAnalysisLoadBalancerTargetProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisComponentProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnalysisLoadBalancerTargetProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html>+    AnalysisLoadBalancerTargetProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancertarget-address>+                                        address :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancertarget-availabilityzone>+                                        availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancertarget-instance>+                                        instance' :: (Prelude.Maybe AnalysisComponentProperty),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisloadbalancertarget.html#cfn-ec2-networkinsightsanalysis-analysisloadbalancertarget-port>+                                        port :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnalysisLoadBalancerTargetProperty ::+  AnalysisLoadBalancerTargetProperty+mkAnalysisLoadBalancerTargetProperty+  = AnalysisLoadBalancerTargetProperty+      {haddock_workaround_ = (), address = Prelude.Nothing,+       availabilityZone = Prelude.Nothing, instance' = Prelude.Nothing,+       port = Prelude.Nothing}+instance ToResourceProperties AnalysisLoadBalancerTargetProperty where+  toResourceProperties AnalysisLoadBalancerTargetProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.AnalysisLoadBalancerTarget",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Address" Prelude.<$> address,+                            (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                            (JSON..=) "Instance" Prelude.<$> instance',+                            (JSON..=) "Port" Prelude.<$> port])}+instance JSON.ToJSON AnalysisLoadBalancerTargetProperty where+  toJSON AnalysisLoadBalancerTargetProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Address" Prelude.<$> address,+               (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+               (JSON..=) "Instance" Prelude.<$> instance',+               (JSON..=) "Port" Prelude.<$> port]))+instance Property "Address" AnalysisLoadBalancerTargetProperty where+  type PropertyType "Address" AnalysisLoadBalancerTargetProperty = Value Prelude.Text+  set newValue AnalysisLoadBalancerTargetProperty {..}+    = AnalysisLoadBalancerTargetProperty+        {address = Prelude.pure newValue, ..}+instance Property "AvailabilityZone" AnalysisLoadBalancerTargetProperty where+  type PropertyType "AvailabilityZone" AnalysisLoadBalancerTargetProperty = Value Prelude.Text+  set newValue AnalysisLoadBalancerTargetProperty {..}+    = AnalysisLoadBalancerTargetProperty+        {availabilityZone = Prelude.pure newValue, ..}+instance Property "Instance" AnalysisLoadBalancerTargetProperty where+  type PropertyType "Instance" AnalysisLoadBalancerTargetProperty = AnalysisComponentProperty+  set newValue AnalysisLoadBalancerTargetProperty {..}+    = AnalysisLoadBalancerTargetProperty+        {instance' = Prelude.pure newValue, ..}+instance Property "Port" AnalysisLoadBalancerTargetProperty where+  type PropertyType "Port" AnalysisLoadBalancerTargetProperty = Value Prelude.Integer+  set newValue AnalysisLoadBalancerTargetProperty {..}+    = AnalysisLoadBalancerTargetProperty+        {port = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisLoadBalancerTargetProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisLoadBalancerTargetProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AnalysisLoadBalancerTargetProperty :: Prelude.Type+instance ToResourceProperties AnalysisLoadBalancerTargetProperty+instance Prelude.Eq AnalysisLoadBalancerTargetProperty+instance Prelude.Show AnalysisLoadBalancerTargetProperty+instance JSON.ToJSON AnalysisLoadBalancerTargetProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisPacketHeaderProperty.hs view
@@ -0,0 +1,80 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisPacketHeaderProperty (+        module Exports, AnalysisPacketHeaderProperty(..),+        mkAnalysisPacketHeaderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.PortRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnalysisPacketHeaderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html>+    AnalysisPacketHeaderProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-destinationaddresses>+                                  destinationAddresses :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-destinationportranges>+                                  destinationPortRanges :: (Prelude.Maybe [PortRangeProperty]),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-protocol>+                                  protocol :: (Prelude.Maybe (Value Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-sourceaddresses>+                                  sourceAddresses :: (Prelude.Maybe (ValueList Prelude.Text)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysispacketheader.html#cfn-ec2-networkinsightsanalysis-analysispacketheader-sourceportranges>+                                  sourcePortRanges :: (Prelude.Maybe [PortRangeProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnalysisPacketHeaderProperty :: AnalysisPacketHeaderProperty+mkAnalysisPacketHeaderProperty+  = AnalysisPacketHeaderProperty+      {haddock_workaround_ = (), destinationAddresses = Prelude.Nothing,+       destinationPortRanges = Prelude.Nothing,+       protocol = Prelude.Nothing, sourceAddresses = Prelude.Nothing,+       sourcePortRanges = Prelude.Nothing}+instance ToResourceProperties AnalysisPacketHeaderProperty where+  toResourceProperties AnalysisPacketHeaderProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.AnalysisPacketHeader",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DestinationAddresses" Prelude.<$> destinationAddresses,+                            (JSON..=) "DestinationPortRanges"+                              Prelude.<$> destinationPortRanges,+                            (JSON..=) "Protocol" Prelude.<$> protocol,+                            (JSON..=) "SourceAddresses" Prelude.<$> sourceAddresses,+                            (JSON..=) "SourcePortRanges" Prelude.<$> sourcePortRanges])}+instance JSON.ToJSON AnalysisPacketHeaderProperty where+  toJSON AnalysisPacketHeaderProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DestinationAddresses" Prelude.<$> destinationAddresses,+               (JSON..=) "DestinationPortRanges"+                 Prelude.<$> destinationPortRanges,+               (JSON..=) "Protocol" Prelude.<$> protocol,+               (JSON..=) "SourceAddresses" Prelude.<$> sourceAddresses,+               (JSON..=) "SourcePortRanges" Prelude.<$> sourcePortRanges]))+instance Property "DestinationAddresses" AnalysisPacketHeaderProperty where+  type PropertyType "DestinationAddresses" AnalysisPacketHeaderProperty = ValueList Prelude.Text+  set newValue AnalysisPacketHeaderProperty {..}+    = AnalysisPacketHeaderProperty+        {destinationAddresses = Prelude.pure newValue, ..}+instance Property "DestinationPortRanges" AnalysisPacketHeaderProperty where+  type PropertyType "DestinationPortRanges" AnalysisPacketHeaderProperty = [PortRangeProperty]+  set newValue AnalysisPacketHeaderProperty {..}+    = AnalysisPacketHeaderProperty+        {destinationPortRanges = Prelude.pure newValue, ..}+instance Property "Protocol" AnalysisPacketHeaderProperty where+  type PropertyType "Protocol" AnalysisPacketHeaderProperty = Value Prelude.Text+  set newValue AnalysisPacketHeaderProperty {..}+    = AnalysisPacketHeaderProperty+        {protocol = Prelude.pure newValue, ..}+instance Property "SourceAddresses" AnalysisPacketHeaderProperty where+  type PropertyType "SourceAddresses" AnalysisPacketHeaderProperty = ValueList Prelude.Text+  set newValue AnalysisPacketHeaderProperty {..}+    = AnalysisPacketHeaderProperty+        {sourceAddresses = Prelude.pure newValue, ..}+instance Property "SourcePortRanges" AnalysisPacketHeaderProperty where+  type PropertyType "SourcePortRanges" AnalysisPacketHeaderProperty = [PortRangeProperty]+  set newValue AnalysisPacketHeaderProperty {..}+    = AnalysisPacketHeaderProperty+        {sourcePortRanges = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisPacketHeaderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisPacketHeaderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AnalysisPacketHeaderProperty :: Prelude.Type+instance ToResourceProperties AnalysisPacketHeaderProperty+instance Prelude.Eq AnalysisPacketHeaderProperty+instance Prelude.Show AnalysisPacketHeaderProperty+instance JSON.ToJSON AnalysisPacketHeaderProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisRouteTableRouteProperty.hs view
@@ -0,0 +1,142 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisRouteTableRouteProperty (+        AnalysisRouteTableRouteProperty(..),+        mkAnalysisRouteTableRouteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnalysisRouteTableRouteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html>+    AnalysisRouteTableRouteProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-natgatewayid>+                                     natGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-networkinterfaceid>+                                     networkInterfaceId :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-origin>+                                     origin :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-state>+                                     state :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-transitgatewayid>+                                     transitGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-vpcpeeringconnectionid>+                                     vpcPeeringConnectionId :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-destinationcidr>+                                     destinationCidr :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-destinationprefixlistid>+                                     destinationPrefixListId :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-egressonlyinternetgatewayid>+                                     egressOnlyInternetGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-gatewayid>+                                     gatewayId :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysisroutetableroute.html#cfn-ec2-networkinsightsanalysis-analysisroutetableroute-instanceid>+                                     instanceId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnalysisRouteTableRouteProperty ::+  AnalysisRouteTableRouteProperty+mkAnalysisRouteTableRouteProperty+  = AnalysisRouteTableRouteProperty+      {haddock_workaround_ = (), natGatewayId = Prelude.Nothing,+       networkInterfaceId = Prelude.Nothing, origin = Prelude.Nothing,+       state = Prelude.Nothing, transitGatewayId = Prelude.Nothing,+       vpcPeeringConnectionId = Prelude.Nothing,+       destinationCidr = Prelude.Nothing,+       destinationPrefixListId = Prelude.Nothing,+       egressOnlyInternetGatewayId = Prelude.Nothing,+       gatewayId = Prelude.Nothing, instanceId = Prelude.Nothing}+instance ToResourceProperties AnalysisRouteTableRouteProperty where+  toResourceProperties AnalysisRouteTableRouteProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.AnalysisRouteTableRoute",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "NatGatewayId" Prelude.<$> natGatewayId,+                            (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                            (JSON..=) "Origin" Prelude.<$> origin,+                            (JSON..=) "State" Prelude.<$> state,+                            (JSON..=) "TransitGatewayId" Prelude.<$> transitGatewayId,+                            (JSON..=) "VpcPeeringConnectionId"+                              Prelude.<$> vpcPeeringConnectionId,+                            (JSON..=) "destinationCidr" Prelude.<$> destinationCidr,+                            (JSON..=) "destinationPrefixListId"+                              Prelude.<$> destinationPrefixListId,+                            (JSON..=) "egressOnlyInternetGatewayId"+                              Prelude.<$> egressOnlyInternetGatewayId,+                            (JSON..=) "gatewayId" Prelude.<$> gatewayId,+                            (JSON..=) "instanceId" Prelude.<$> instanceId])}+instance JSON.ToJSON AnalysisRouteTableRouteProperty where+  toJSON AnalysisRouteTableRouteProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "NatGatewayId" Prelude.<$> natGatewayId,+               (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+               (JSON..=) "Origin" Prelude.<$> origin,+               (JSON..=) "State" Prelude.<$> state,+               (JSON..=) "TransitGatewayId" Prelude.<$> transitGatewayId,+               (JSON..=) "VpcPeeringConnectionId"+                 Prelude.<$> vpcPeeringConnectionId,+               (JSON..=) "destinationCidr" Prelude.<$> destinationCidr,+               (JSON..=) "destinationPrefixListId"+                 Prelude.<$> destinationPrefixListId,+               (JSON..=) "egressOnlyInternetGatewayId"+                 Prelude.<$> egressOnlyInternetGatewayId,+               (JSON..=) "gatewayId" Prelude.<$> gatewayId,+               (JSON..=) "instanceId" Prelude.<$> instanceId]))+instance Property "NatGatewayId" AnalysisRouteTableRouteProperty where+  type PropertyType "NatGatewayId" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {natGatewayId = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceId" AnalysisRouteTableRouteProperty where+  type PropertyType "NetworkInterfaceId" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {networkInterfaceId = Prelude.pure newValue, ..}+instance Property "Origin" AnalysisRouteTableRouteProperty where+  type PropertyType "Origin" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {origin = Prelude.pure newValue, ..}+instance Property "State" AnalysisRouteTableRouteProperty where+  type PropertyType "State" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {state = Prelude.pure newValue, ..}+instance Property "TransitGatewayId" AnalysisRouteTableRouteProperty where+  type PropertyType "TransitGatewayId" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {transitGatewayId = Prelude.pure newValue, ..}+instance Property "VpcPeeringConnectionId" AnalysisRouteTableRouteProperty where+  type PropertyType "VpcPeeringConnectionId" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {vpcPeeringConnectionId = Prelude.pure newValue, ..}+instance Property "destinationCidr" AnalysisRouteTableRouteProperty where+  type PropertyType "destinationCidr" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {destinationCidr = Prelude.pure newValue, ..}+instance Property "destinationPrefixListId" AnalysisRouteTableRouteProperty where+  type PropertyType "destinationPrefixListId" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {destinationPrefixListId = Prelude.pure newValue, ..}+instance Property "egressOnlyInternetGatewayId" AnalysisRouteTableRouteProperty where+  type PropertyType "egressOnlyInternetGatewayId" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {egressOnlyInternetGatewayId = Prelude.pure newValue, ..}+instance Property "gatewayId" AnalysisRouteTableRouteProperty where+  type PropertyType "gatewayId" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {gatewayId = Prelude.pure newValue, ..}+instance Property "instanceId" AnalysisRouteTableRouteProperty where+  type PropertyType "instanceId" AnalysisRouteTableRouteProperty = Value Prelude.Text+  set newValue AnalysisRouteTableRouteProperty {..}+    = AnalysisRouteTableRouteProperty+        {instanceId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisRouteTableRouteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisRouteTableRouteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AnalysisRouteTableRouteProperty :: Prelude.Type+instance ToResourceProperties AnalysisRouteTableRouteProperty+instance Prelude.Eq AnalysisRouteTableRouteProperty+instance Prelude.Show AnalysisRouteTableRouteProperty+instance JSON.ToJSON AnalysisRouteTableRouteProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisSecurityGroupRuleProperty.hs view
@@ -0,0 +1,88 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisSecurityGroupRuleProperty (+        module Exports, AnalysisSecurityGroupRuleProperty(..),+        mkAnalysisSecurityGroupRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.PortRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AnalysisSecurityGroupRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html>+    AnalysisSecurityGroupRuleProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-cidr>+                                       cidr :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-direction>+                                       direction :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-portrange>+                                       portRange :: (Prelude.Maybe PortRangeProperty),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-prefixlistid>+                                       prefixListId :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-protocol>+                                       protocol :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-analysissecuritygrouprule.html#cfn-ec2-networkinsightsanalysis-analysissecuritygrouprule-securitygroupid>+                                       securityGroupId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAnalysisSecurityGroupRuleProperty ::+  AnalysisSecurityGroupRuleProperty+mkAnalysisSecurityGroupRuleProperty+  = AnalysisSecurityGroupRuleProperty+      {haddock_workaround_ = (), cidr = Prelude.Nothing,+       direction = Prelude.Nothing, portRange = Prelude.Nothing,+       prefixListId = Prelude.Nothing, protocol = Prelude.Nothing,+       securityGroupId = Prelude.Nothing}+instance ToResourceProperties AnalysisSecurityGroupRuleProperty where+  toResourceProperties AnalysisSecurityGroupRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.AnalysisSecurityGroupRule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Cidr" Prelude.<$> cidr,+                            (JSON..=) "Direction" Prelude.<$> direction,+                            (JSON..=) "PortRange" Prelude.<$> portRange,+                            (JSON..=) "PrefixListId" Prelude.<$> prefixListId,+                            (JSON..=) "Protocol" Prelude.<$> protocol,+                            (JSON..=) "SecurityGroupId" Prelude.<$> securityGroupId])}+instance JSON.ToJSON AnalysisSecurityGroupRuleProperty where+  toJSON AnalysisSecurityGroupRuleProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Cidr" Prelude.<$> cidr,+               (JSON..=) "Direction" Prelude.<$> direction,+               (JSON..=) "PortRange" Prelude.<$> portRange,+               (JSON..=) "PrefixListId" Prelude.<$> prefixListId,+               (JSON..=) "Protocol" Prelude.<$> protocol,+               (JSON..=) "SecurityGroupId" Prelude.<$> securityGroupId]))+instance Property "Cidr" AnalysisSecurityGroupRuleProperty where+  type PropertyType "Cidr" AnalysisSecurityGroupRuleProperty = Value Prelude.Text+  set newValue AnalysisSecurityGroupRuleProperty {..}+    = AnalysisSecurityGroupRuleProperty+        {cidr = Prelude.pure newValue, ..}+instance Property "Direction" AnalysisSecurityGroupRuleProperty where+  type PropertyType "Direction" AnalysisSecurityGroupRuleProperty = Value Prelude.Text+  set newValue AnalysisSecurityGroupRuleProperty {..}+    = AnalysisSecurityGroupRuleProperty+        {direction = Prelude.pure newValue, ..}+instance Property "PortRange" AnalysisSecurityGroupRuleProperty where+  type PropertyType "PortRange" AnalysisSecurityGroupRuleProperty = PortRangeProperty+  set newValue AnalysisSecurityGroupRuleProperty {..}+    = AnalysisSecurityGroupRuleProperty+        {portRange = Prelude.pure newValue, ..}+instance Property "PrefixListId" AnalysisSecurityGroupRuleProperty where+  type PropertyType "PrefixListId" AnalysisSecurityGroupRuleProperty = Value Prelude.Text+  set newValue AnalysisSecurityGroupRuleProperty {..}+    = AnalysisSecurityGroupRuleProperty+        {prefixListId = Prelude.pure newValue, ..}+instance Property "Protocol" AnalysisSecurityGroupRuleProperty where+  type PropertyType "Protocol" AnalysisSecurityGroupRuleProperty = Value Prelude.Text+  set newValue AnalysisSecurityGroupRuleProperty {..}+    = AnalysisSecurityGroupRuleProperty+        {protocol = Prelude.pure newValue, ..}+instance Property "SecurityGroupId" AnalysisSecurityGroupRuleProperty where+  type PropertyType "SecurityGroupId" AnalysisSecurityGroupRuleProperty = Value Prelude.Text+  set newValue AnalysisSecurityGroupRuleProperty {..}+    = AnalysisSecurityGroupRuleProperty+        {securityGroupId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/AnalysisSecurityGroupRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisSecurityGroupRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AnalysisSecurityGroupRuleProperty :: Prelude.Type+instance ToResourceProperties AnalysisSecurityGroupRuleProperty+instance Prelude.Eq AnalysisSecurityGroupRuleProperty+instance Prelude.Show AnalysisSecurityGroupRuleProperty+instance JSON.ToJSON AnalysisSecurityGroupRuleProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/ExplanationProperty.hs view
@@ -0,0 +1,515 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.ExplanationProperty (+        module Exports, ExplanationProperty(..), mkExplanationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisAclRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisComponentProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisLoadBalancerListenerProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisLoadBalancerTargetProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisRouteTableRouteProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisSecurityGroupRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.PortRangeProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.TransitGatewayRouteTableRouteProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ExplanationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html>+    ExplanationProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-acl>+                         acl :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-aclrule>+                         aclRule :: (Prelude.Maybe AnalysisAclRuleProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-address>+                         address :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-addresses>+                         addresses :: (Prelude.Maybe (ValueList Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-attachedto>+                         attachedTo :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-availabilityzones>+                         availabilityZones :: (Prelude.Maybe (ValueList Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-cidrs>+                         cidrs :: (Prelude.Maybe (ValueList Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-classicloadbalancerlistener>+                         classicLoadBalancerListener :: (Prelude.Maybe AnalysisLoadBalancerListenerProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-component>+                         component :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-componentaccount>+                         componentAccount :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-componentregion>+                         componentRegion :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-customergateway>+                         customerGateway :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-destination>+                         destination :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-destinationvpc>+                         destinationVpc :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-direction>+                         direction :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-elasticloadbalancerlistener>+                         elasticLoadBalancerListener :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-explanationcode>+                         explanationCode :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-ingressroutetable>+                         ingressRouteTable :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-internetgateway>+                         internetGateway :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancerarn>+                         loadBalancerArn :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancerlistenerport>+                         loadBalancerListenerPort :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancertarget>+                         loadBalancerTarget :: (Prelude.Maybe AnalysisLoadBalancerTargetProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancertargetgroup>+                         loadBalancerTargetGroup :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancertargetgroups>+                         loadBalancerTargetGroups :: (Prelude.Maybe [AnalysisComponentProperty]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-loadbalancertargetport>+                         loadBalancerTargetPort :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-missingcomponent>+                         missingComponent :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-natgateway>+                         natGateway :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-networkinterface>+                         networkInterface :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-packetfield>+                         packetField :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-port>+                         port :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-portranges>+                         portRanges :: (Prelude.Maybe [PortRangeProperty]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-prefixlist>+                         prefixList :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-protocols>+                         protocols :: (Prelude.Maybe (ValueList Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-routetable>+                         routeTable :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-routetableroute>+                         routeTableRoute :: (Prelude.Maybe AnalysisRouteTableRouteProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-securitygroup>+                         securityGroup :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-securitygrouprule>+                         securityGroupRule :: (Prelude.Maybe AnalysisSecurityGroupRuleProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-securitygroups>+                         securityGroups :: (Prelude.Maybe [AnalysisComponentProperty]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-sourcevpc>+                         sourceVpc :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-state>+                         state :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-subnet>+                         subnet :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-subnetroutetable>+                         subnetRouteTable :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-transitgateway>+                         transitGateway :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-transitgatewayattachment>+                         transitGatewayAttachment :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-transitgatewayroutetable>+                         transitGatewayRouteTable :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-transitgatewayroutetableroute>+                         transitGatewayRouteTableRoute :: (Prelude.Maybe TransitGatewayRouteTableRouteProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpc>+                         vpc :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpcpeeringconnection>+                         vpcPeeringConnection :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpnconnection>+                         vpnConnection :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpngateway>+                         vpnGateway :: (Prelude.Maybe AnalysisComponentProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-explanation.html#cfn-ec2-networkinsightsanalysis-explanation-vpcendpoint>+                         vpcEndpoint :: (Prelude.Maybe AnalysisComponentProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkExplanationProperty :: ExplanationProperty+mkExplanationProperty+  = ExplanationProperty+      {haddock_workaround_ = (), acl = Prelude.Nothing,+       aclRule = Prelude.Nothing, address = Prelude.Nothing,+       addresses = Prelude.Nothing, attachedTo = Prelude.Nothing,+       availabilityZones = Prelude.Nothing, cidrs = Prelude.Nothing,+       classicLoadBalancerListener = Prelude.Nothing,+       component = Prelude.Nothing, componentAccount = Prelude.Nothing,+       componentRegion = Prelude.Nothing,+       customerGateway = Prelude.Nothing, destination = Prelude.Nothing,+       destinationVpc = Prelude.Nothing, direction = Prelude.Nothing,+       elasticLoadBalancerListener = Prelude.Nothing,+       explanationCode = Prelude.Nothing,+       ingressRouteTable = Prelude.Nothing,+       internetGateway = Prelude.Nothing,+       loadBalancerArn = Prelude.Nothing,+       loadBalancerListenerPort = Prelude.Nothing,+       loadBalancerTarget = Prelude.Nothing,+       loadBalancerTargetGroup = Prelude.Nothing,+       loadBalancerTargetGroups = Prelude.Nothing,+       loadBalancerTargetPort = Prelude.Nothing,+       missingComponent = Prelude.Nothing, natGateway = Prelude.Nothing,+       networkInterface = Prelude.Nothing, packetField = Prelude.Nothing,+       port = Prelude.Nothing, portRanges = Prelude.Nothing,+       prefixList = Prelude.Nothing, protocols = Prelude.Nothing,+       routeTable = Prelude.Nothing, routeTableRoute = Prelude.Nothing,+       securityGroup = Prelude.Nothing,+       securityGroupRule = Prelude.Nothing,+       securityGroups = Prelude.Nothing, sourceVpc = Prelude.Nothing,+       state = Prelude.Nothing, subnet = Prelude.Nothing,+       subnetRouteTable = Prelude.Nothing,+       transitGateway = Prelude.Nothing,+       transitGatewayAttachment = Prelude.Nothing,+       transitGatewayRouteTable = Prelude.Nothing,+       transitGatewayRouteTableRoute = Prelude.Nothing,+       vpc = Prelude.Nothing, vpcPeeringConnection = Prelude.Nothing,+       vpnConnection = Prelude.Nothing, vpnGateway = Prelude.Nothing,+       vpcEndpoint = Prelude.Nothing}+instance ToResourceProperties ExplanationProperty where+  toResourceProperties ExplanationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.Explanation",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Acl" Prelude.<$> acl,+                            (JSON..=) "AclRule" Prelude.<$> aclRule,+                            (JSON..=) "Address" Prelude.<$> address,+                            (JSON..=) "Addresses" Prelude.<$> addresses,+                            (JSON..=) "AttachedTo" Prelude.<$> attachedTo,+                            (JSON..=) "AvailabilityZones" Prelude.<$> availabilityZones,+                            (JSON..=) "Cidrs" Prelude.<$> cidrs,+                            (JSON..=) "ClassicLoadBalancerListener"+                              Prelude.<$> classicLoadBalancerListener,+                            (JSON..=) "Component" Prelude.<$> component,+                            (JSON..=) "ComponentAccount" Prelude.<$> componentAccount,+                            (JSON..=) "ComponentRegion" Prelude.<$> componentRegion,+                            (JSON..=) "CustomerGateway" Prelude.<$> customerGateway,+                            (JSON..=) "Destination" Prelude.<$> destination,+                            (JSON..=) "DestinationVpc" Prelude.<$> destinationVpc,+                            (JSON..=) "Direction" Prelude.<$> direction,+                            (JSON..=) "ElasticLoadBalancerListener"+                              Prelude.<$> elasticLoadBalancerListener,+                            (JSON..=) "ExplanationCode" Prelude.<$> explanationCode,+                            (JSON..=) "IngressRouteTable" Prelude.<$> ingressRouteTable,+                            (JSON..=) "InternetGateway" Prelude.<$> internetGateway,+                            (JSON..=) "LoadBalancerArn" Prelude.<$> loadBalancerArn,+                            (JSON..=) "LoadBalancerListenerPort"+                              Prelude.<$> loadBalancerListenerPort,+                            (JSON..=) "LoadBalancerTarget" Prelude.<$> loadBalancerTarget,+                            (JSON..=) "LoadBalancerTargetGroup"+                              Prelude.<$> loadBalancerTargetGroup,+                            (JSON..=) "LoadBalancerTargetGroups"+                              Prelude.<$> loadBalancerTargetGroups,+                            (JSON..=) "LoadBalancerTargetPort"+                              Prelude.<$> loadBalancerTargetPort,+                            (JSON..=) "MissingComponent" Prelude.<$> missingComponent,+                            (JSON..=) "NatGateway" Prelude.<$> natGateway,+                            (JSON..=) "NetworkInterface" Prelude.<$> networkInterface,+                            (JSON..=) "PacketField" Prelude.<$> packetField,+                            (JSON..=) "Port" Prelude.<$> port,+                            (JSON..=) "PortRanges" Prelude.<$> portRanges,+                            (JSON..=) "PrefixList" Prelude.<$> prefixList,+                            (JSON..=) "Protocols" Prelude.<$> protocols,+                            (JSON..=) "RouteTable" Prelude.<$> routeTable,+                            (JSON..=) "RouteTableRoute" Prelude.<$> routeTableRoute,+                            (JSON..=) "SecurityGroup" Prelude.<$> securityGroup,+                            (JSON..=) "SecurityGroupRule" Prelude.<$> securityGroupRule,+                            (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+                            (JSON..=) "SourceVpc" Prelude.<$> sourceVpc,+                            (JSON..=) "State" Prelude.<$> state,+                            (JSON..=) "Subnet" Prelude.<$> subnet,+                            (JSON..=) "SubnetRouteTable" Prelude.<$> subnetRouteTable,+                            (JSON..=) "TransitGateway" Prelude.<$> transitGateway,+                            (JSON..=) "TransitGatewayAttachment"+                              Prelude.<$> transitGatewayAttachment,+                            (JSON..=) "TransitGatewayRouteTable"+                              Prelude.<$> transitGatewayRouteTable,+                            (JSON..=) "TransitGatewayRouteTableRoute"+                              Prelude.<$> transitGatewayRouteTableRoute,+                            (JSON..=) "Vpc" Prelude.<$> vpc,+                            (JSON..=) "VpcPeeringConnection" Prelude.<$> vpcPeeringConnection,+                            (JSON..=) "VpnConnection" Prelude.<$> vpnConnection,+                            (JSON..=) "VpnGateway" Prelude.<$> vpnGateway,+                            (JSON..=) "vpcEndpoint" Prelude.<$> vpcEndpoint])}+instance JSON.ToJSON ExplanationProperty where+  toJSON ExplanationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Acl" Prelude.<$> acl,+               (JSON..=) "AclRule" Prelude.<$> aclRule,+               (JSON..=) "Address" Prelude.<$> address,+               (JSON..=) "Addresses" Prelude.<$> addresses,+               (JSON..=) "AttachedTo" Prelude.<$> attachedTo,+               (JSON..=) "AvailabilityZones" Prelude.<$> availabilityZones,+               (JSON..=) "Cidrs" Prelude.<$> cidrs,+               (JSON..=) "ClassicLoadBalancerListener"+                 Prelude.<$> classicLoadBalancerListener,+               (JSON..=) "Component" Prelude.<$> component,+               (JSON..=) "ComponentAccount" Prelude.<$> componentAccount,+               (JSON..=) "ComponentRegion" Prelude.<$> componentRegion,+               (JSON..=) "CustomerGateway" Prelude.<$> customerGateway,+               (JSON..=) "Destination" Prelude.<$> destination,+               (JSON..=) "DestinationVpc" Prelude.<$> destinationVpc,+               (JSON..=) "Direction" Prelude.<$> direction,+               (JSON..=) "ElasticLoadBalancerListener"+                 Prelude.<$> elasticLoadBalancerListener,+               (JSON..=) "ExplanationCode" Prelude.<$> explanationCode,+               (JSON..=) "IngressRouteTable" Prelude.<$> ingressRouteTable,+               (JSON..=) "InternetGateway" Prelude.<$> internetGateway,+               (JSON..=) "LoadBalancerArn" Prelude.<$> loadBalancerArn,+               (JSON..=) "LoadBalancerListenerPort"+                 Prelude.<$> loadBalancerListenerPort,+               (JSON..=) "LoadBalancerTarget" Prelude.<$> loadBalancerTarget,+               (JSON..=) "LoadBalancerTargetGroup"+                 Prelude.<$> loadBalancerTargetGroup,+               (JSON..=) "LoadBalancerTargetGroups"+                 Prelude.<$> loadBalancerTargetGroups,+               (JSON..=) "LoadBalancerTargetPort"+                 Prelude.<$> loadBalancerTargetPort,+               (JSON..=) "MissingComponent" Prelude.<$> missingComponent,+               (JSON..=) "NatGateway" Prelude.<$> natGateway,+               (JSON..=) "NetworkInterface" Prelude.<$> networkInterface,+               (JSON..=) "PacketField" Prelude.<$> packetField,+               (JSON..=) "Port" Prelude.<$> port,+               (JSON..=) "PortRanges" Prelude.<$> portRanges,+               (JSON..=) "PrefixList" Prelude.<$> prefixList,+               (JSON..=) "Protocols" Prelude.<$> protocols,+               (JSON..=) "RouteTable" Prelude.<$> routeTable,+               (JSON..=) "RouteTableRoute" Prelude.<$> routeTableRoute,+               (JSON..=) "SecurityGroup" Prelude.<$> securityGroup,+               (JSON..=) "SecurityGroupRule" Prelude.<$> securityGroupRule,+               (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+               (JSON..=) "SourceVpc" Prelude.<$> sourceVpc,+               (JSON..=) "State" Prelude.<$> state,+               (JSON..=) "Subnet" Prelude.<$> subnet,+               (JSON..=) "SubnetRouteTable" Prelude.<$> subnetRouteTable,+               (JSON..=) "TransitGateway" Prelude.<$> transitGateway,+               (JSON..=) "TransitGatewayAttachment"+                 Prelude.<$> transitGatewayAttachment,+               (JSON..=) "TransitGatewayRouteTable"+                 Prelude.<$> transitGatewayRouteTable,+               (JSON..=) "TransitGatewayRouteTableRoute"+                 Prelude.<$> transitGatewayRouteTableRoute,+               (JSON..=) "Vpc" Prelude.<$> vpc,+               (JSON..=) "VpcPeeringConnection" Prelude.<$> vpcPeeringConnection,+               (JSON..=) "VpnConnection" Prelude.<$> vpnConnection,+               (JSON..=) "VpnGateway" Prelude.<$> vpnGateway,+               (JSON..=) "vpcEndpoint" Prelude.<$> vpcEndpoint]))+instance Property "Acl" ExplanationProperty where+  type PropertyType "Acl" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {acl = Prelude.pure newValue, ..}+instance Property "AclRule" ExplanationProperty where+  type PropertyType "AclRule" ExplanationProperty = AnalysisAclRuleProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {aclRule = Prelude.pure newValue, ..}+instance Property "Address" ExplanationProperty where+  type PropertyType "Address" ExplanationProperty = Value Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {address = Prelude.pure newValue, ..}+instance Property "Addresses" ExplanationProperty where+  type PropertyType "Addresses" ExplanationProperty = ValueList Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {addresses = Prelude.pure newValue, ..}+instance Property "AttachedTo" ExplanationProperty where+  type PropertyType "AttachedTo" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {attachedTo = Prelude.pure newValue, ..}+instance Property "AvailabilityZones" ExplanationProperty where+  type PropertyType "AvailabilityZones" ExplanationProperty = ValueList Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {availabilityZones = Prelude.pure newValue, ..}+instance Property "Cidrs" ExplanationProperty where+  type PropertyType "Cidrs" ExplanationProperty = ValueList Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {cidrs = Prelude.pure newValue, ..}+instance Property "ClassicLoadBalancerListener" ExplanationProperty where+  type PropertyType "ClassicLoadBalancerListener" ExplanationProperty = AnalysisLoadBalancerListenerProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {classicLoadBalancerListener = Prelude.pure newValue, ..}+instance Property "Component" ExplanationProperty where+  type PropertyType "Component" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {component = Prelude.pure newValue, ..}+instance Property "ComponentAccount" ExplanationProperty where+  type PropertyType "ComponentAccount" ExplanationProperty = Value Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {componentAccount = Prelude.pure newValue, ..}+instance Property "ComponentRegion" ExplanationProperty where+  type PropertyType "ComponentRegion" ExplanationProperty = Value Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {componentRegion = Prelude.pure newValue, ..}+instance Property "CustomerGateway" ExplanationProperty where+  type PropertyType "CustomerGateway" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {customerGateway = Prelude.pure newValue, ..}+instance Property "Destination" ExplanationProperty where+  type PropertyType "Destination" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {destination = Prelude.pure newValue, ..}+instance Property "DestinationVpc" ExplanationProperty where+  type PropertyType "DestinationVpc" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {destinationVpc = Prelude.pure newValue, ..}+instance Property "Direction" ExplanationProperty where+  type PropertyType "Direction" ExplanationProperty = Value Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {direction = Prelude.pure newValue, ..}+instance Property "ElasticLoadBalancerListener" ExplanationProperty where+  type PropertyType "ElasticLoadBalancerListener" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {elasticLoadBalancerListener = Prelude.pure newValue, ..}+instance Property "ExplanationCode" ExplanationProperty where+  type PropertyType "ExplanationCode" ExplanationProperty = Value Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {explanationCode = Prelude.pure newValue, ..}+instance Property "IngressRouteTable" ExplanationProperty where+  type PropertyType "IngressRouteTable" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {ingressRouteTable = Prelude.pure newValue, ..}+instance Property "InternetGateway" ExplanationProperty where+  type PropertyType "InternetGateway" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {internetGateway = Prelude.pure newValue, ..}+instance Property "LoadBalancerArn" ExplanationProperty where+  type PropertyType "LoadBalancerArn" ExplanationProperty = Value Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {loadBalancerArn = Prelude.pure newValue, ..}+instance Property "LoadBalancerListenerPort" ExplanationProperty where+  type PropertyType "LoadBalancerListenerPort" ExplanationProperty = Value Prelude.Integer+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {loadBalancerListenerPort = Prelude.pure newValue, ..}+instance Property "LoadBalancerTarget" ExplanationProperty where+  type PropertyType "LoadBalancerTarget" ExplanationProperty = AnalysisLoadBalancerTargetProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {loadBalancerTarget = Prelude.pure newValue, ..}+instance Property "LoadBalancerTargetGroup" ExplanationProperty where+  type PropertyType "LoadBalancerTargetGroup" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {loadBalancerTargetGroup = Prelude.pure newValue, ..}+instance Property "LoadBalancerTargetGroups" ExplanationProperty where+  type PropertyType "LoadBalancerTargetGroups" ExplanationProperty = [AnalysisComponentProperty]+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {loadBalancerTargetGroups = Prelude.pure newValue, ..}+instance Property "LoadBalancerTargetPort" ExplanationProperty where+  type PropertyType "LoadBalancerTargetPort" ExplanationProperty = Value Prelude.Integer+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {loadBalancerTargetPort = Prelude.pure newValue, ..}+instance Property "MissingComponent" ExplanationProperty where+  type PropertyType "MissingComponent" ExplanationProperty = Value Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {missingComponent = Prelude.pure newValue, ..}+instance Property "NatGateway" ExplanationProperty where+  type PropertyType "NatGateway" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {natGateway = Prelude.pure newValue, ..}+instance Property "NetworkInterface" ExplanationProperty where+  type PropertyType "NetworkInterface" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {networkInterface = Prelude.pure newValue, ..}+instance Property "PacketField" ExplanationProperty where+  type PropertyType "PacketField" ExplanationProperty = Value Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {packetField = Prelude.pure newValue, ..}+instance Property "Port" ExplanationProperty where+  type PropertyType "Port" ExplanationProperty = Value Prelude.Integer+  set newValue ExplanationProperty {..}+    = ExplanationProperty {port = Prelude.pure newValue, ..}+instance Property "PortRanges" ExplanationProperty where+  type PropertyType "PortRanges" ExplanationProperty = [PortRangeProperty]+  set newValue ExplanationProperty {..}+    = ExplanationProperty {portRanges = Prelude.pure newValue, ..}+instance Property "PrefixList" ExplanationProperty where+  type PropertyType "PrefixList" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {prefixList = Prelude.pure newValue, ..}+instance Property "Protocols" ExplanationProperty where+  type PropertyType "Protocols" ExplanationProperty = ValueList Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {protocols = Prelude.pure newValue, ..}+instance Property "RouteTable" ExplanationProperty where+  type PropertyType "RouteTable" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {routeTable = Prelude.pure newValue, ..}+instance Property "RouteTableRoute" ExplanationProperty where+  type PropertyType "RouteTableRoute" ExplanationProperty = AnalysisRouteTableRouteProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {routeTableRoute = Prelude.pure newValue, ..}+instance Property "SecurityGroup" ExplanationProperty where+  type PropertyType "SecurityGroup" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {securityGroup = Prelude.pure newValue, ..}+instance Property "SecurityGroupRule" ExplanationProperty where+  type PropertyType "SecurityGroupRule" ExplanationProperty = AnalysisSecurityGroupRuleProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {securityGroupRule = Prelude.pure newValue, ..}+instance Property "SecurityGroups" ExplanationProperty where+  type PropertyType "SecurityGroups" ExplanationProperty = [AnalysisComponentProperty]+  set newValue ExplanationProperty {..}+    = ExplanationProperty {securityGroups = Prelude.pure newValue, ..}+instance Property "SourceVpc" ExplanationProperty where+  type PropertyType "SourceVpc" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {sourceVpc = Prelude.pure newValue, ..}+instance Property "State" ExplanationProperty where+  type PropertyType "State" ExplanationProperty = Value Prelude.Text+  set newValue ExplanationProperty {..}+    = ExplanationProperty {state = Prelude.pure newValue, ..}+instance Property "Subnet" ExplanationProperty where+  type PropertyType "Subnet" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {subnet = Prelude.pure newValue, ..}+instance Property "SubnetRouteTable" ExplanationProperty where+  type PropertyType "SubnetRouteTable" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {subnetRouteTable = Prelude.pure newValue, ..}+instance Property "TransitGateway" ExplanationProperty where+  type PropertyType "TransitGateway" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {transitGateway = Prelude.pure newValue, ..}+instance Property "TransitGatewayAttachment" ExplanationProperty where+  type PropertyType "TransitGatewayAttachment" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {transitGatewayAttachment = Prelude.pure newValue, ..}+instance Property "TransitGatewayRouteTable" ExplanationProperty where+  type PropertyType "TransitGatewayRouteTable" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {transitGatewayRouteTable = Prelude.pure newValue, ..}+instance Property "TransitGatewayRouteTableRoute" ExplanationProperty where+  type PropertyType "TransitGatewayRouteTableRoute" ExplanationProperty = TransitGatewayRouteTableRouteProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {transitGatewayRouteTableRoute = Prelude.pure newValue, ..}+instance Property "Vpc" ExplanationProperty where+  type PropertyType "Vpc" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {vpc = Prelude.pure newValue, ..}+instance Property "VpcPeeringConnection" ExplanationProperty where+  type PropertyType "VpcPeeringConnection" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty+        {vpcPeeringConnection = Prelude.pure newValue, ..}+instance Property "VpnConnection" ExplanationProperty where+  type PropertyType "VpnConnection" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {vpnConnection = Prelude.pure newValue, ..}+instance Property "VpnGateway" ExplanationProperty where+  type PropertyType "VpnGateway" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {vpnGateway = Prelude.pure newValue, ..}+instance Property "vpcEndpoint" ExplanationProperty where+  type PropertyType "vpcEndpoint" ExplanationProperty = AnalysisComponentProperty+  set newValue ExplanationProperty {..}+    = ExplanationProperty {vpcEndpoint = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/ExplanationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.ExplanationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ExplanationProperty :: Prelude.Type+instance ToResourceProperties ExplanationProperty+instance Prelude.Eq ExplanationProperty+instance Prelude.Show ExplanationProperty+instance JSON.ToJSON ExplanationProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/PathComponentProperty.hs view
@@ -0,0 +1,197 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.PathComponentProperty (+        module Exports, PathComponentProperty(..), mkPathComponentProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AdditionalDetailProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisAclRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisComponentProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisPacketHeaderProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisRouteTableRouteProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisSecurityGroupRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.ExplanationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsAnalysis.TransitGatewayRouteTableRouteProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PathComponentProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html>+    PathComponentProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-aclrule>+                           aclRule :: (Prelude.Maybe AnalysisAclRuleProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-additionaldetails>+                           additionalDetails :: (Prelude.Maybe [AdditionalDetailProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-component>+                           component :: (Prelude.Maybe AnalysisComponentProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-destinationvpc>+                           destinationVpc :: (Prelude.Maybe AnalysisComponentProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-elasticloadbalancerlistener>+                           elasticLoadBalancerListener :: (Prelude.Maybe AnalysisComponentProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-explanations>+                           explanations :: (Prelude.Maybe [ExplanationProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-inboundheader>+                           inboundHeader :: (Prelude.Maybe AnalysisPacketHeaderProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-outboundheader>+                           outboundHeader :: (Prelude.Maybe AnalysisPacketHeaderProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-routetableroute>+                           routeTableRoute :: (Prelude.Maybe AnalysisRouteTableRouteProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-securitygrouprule>+                           securityGroupRule :: (Prelude.Maybe AnalysisSecurityGroupRuleProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-sequencenumber>+                           sequenceNumber :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-servicename>+                           serviceName :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-sourcevpc>+                           sourceVpc :: (Prelude.Maybe AnalysisComponentProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-subnet>+                           subnet :: (Prelude.Maybe AnalysisComponentProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-transitgateway>+                           transitGateway :: (Prelude.Maybe AnalysisComponentProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-transitgatewayroutetableroute>+                           transitGatewayRouteTableRoute :: (Prelude.Maybe TransitGatewayRouteTableRouteProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-pathcomponent.html#cfn-ec2-networkinsightsanalysis-pathcomponent-vpc>+                           vpc :: (Prelude.Maybe AnalysisComponentProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPathComponentProperty :: PathComponentProperty+mkPathComponentProperty+  = PathComponentProperty+      {haddock_workaround_ = (), aclRule = Prelude.Nothing,+       additionalDetails = Prelude.Nothing, component = Prelude.Nothing,+       destinationVpc = Prelude.Nothing,+       elasticLoadBalancerListener = Prelude.Nothing,+       explanations = Prelude.Nothing, inboundHeader = Prelude.Nothing,+       outboundHeader = Prelude.Nothing,+       routeTableRoute = Prelude.Nothing,+       securityGroupRule = Prelude.Nothing,+       sequenceNumber = Prelude.Nothing, serviceName = Prelude.Nothing,+       sourceVpc = Prelude.Nothing, subnet = Prelude.Nothing,+       transitGateway = Prelude.Nothing,+       transitGatewayRouteTableRoute = Prelude.Nothing,+       vpc = Prelude.Nothing}+instance ToResourceProperties PathComponentProperty where+  toResourceProperties PathComponentProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.PathComponent",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AclRule" Prelude.<$> aclRule,+                            (JSON..=) "AdditionalDetails" Prelude.<$> additionalDetails,+                            (JSON..=) "Component" Prelude.<$> component,+                            (JSON..=) "DestinationVpc" Prelude.<$> destinationVpc,+                            (JSON..=) "ElasticLoadBalancerListener"+                              Prelude.<$> elasticLoadBalancerListener,+                            (JSON..=) "Explanations" Prelude.<$> explanations,+                            (JSON..=) "InboundHeader" Prelude.<$> inboundHeader,+                            (JSON..=) "OutboundHeader" Prelude.<$> outboundHeader,+                            (JSON..=) "RouteTableRoute" Prelude.<$> routeTableRoute,+                            (JSON..=) "SecurityGroupRule" Prelude.<$> securityGroupRule,+                            (JSON..=) "SequenceNumber" Prelude.<$> sequenceNumber,+                            (JSON..=) "ServiceName" Prelude.<$> serviceName,+                            (JSON..=) "SourceVpc" Prelude.<$> sourceVpc,+                            (JSON..=) "Subnet" Prelude.<$> subnet,+                            (JSON..=) "TransitGateway" Prelude.<$> transitGateway,+                            (JSON..=) "TransitGatewayRouteTableRoute"+                              Prelude.<$> transitGatewayRouteTableRoute,+                            (JSON..=) "Vpc" Prelude.<$> vpc])}+instance JSON.ToJSON PathComponentProperty where+  toJSON PathComponentProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AclRule" Prelude.<$> aclRule,+               (JSON..=) "AdditionalDetails" Prelude.<$> additionalDetails,+               (JSON..=) "Component" Prelude.<$> component,+               (JSON..=) "DestinationVpc" Prelude.<$> destinationVpc,+               (JSON..=) "ElasticLoadBalancerListener"+                 Prelude.<$> elasticLoadBalancerListener,+               (JSON..=) "Explanations" Prelude.<$> explanations,+               (JSON..=) "InboundHeader" Prelude.<$> inboundHeader,+               (JSON..=) "OutboundHeader" Prelude.<$> outboundHeader,+               (JSON..=) "RouteTableRoute" Prelude.<$> routeTableRoute,+               (JSON..=) "SecurityGroupRule" Prelude.<$> securityGroupRule,+               (JSON..=) "SequenceNumber" Prelude.<$> sequenceNumber,+               (JSON..=) "ServiceName" Prelude.<$> serviceName,+               (JSON..=) "SourceVpc" Prelude.<$> sourceVpc,+               (JSON..=) "Subnet" Prelude.<$> subnet,+               (JSON..=) "TransitGateway" Prelude.<$> transitGateway,+               (JSON..=) "TransitGatewayRouteTableRoute"+                 Prelude.<$> transitGatewayRouteTableRoute,+               (JSON..=) "Vpc" Prelude.<$> vpc]))+instance Property "AclRule" PathComponentProperty where+  type PropertyType "AclRule" PathComponentProperty = AnalysisAclRuleProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty {aclRule = Prelude.pure newValue, ..}+instance Property "AdditionalDetails" PathComponentProperty where+  type PropertyType "AdditionalDetails" PathComponentProperty = [AdditionalDetailProperty]+  set newValue PathComponentProperty {..}+    = PathComponentProperty+        {additionalDetails = Prelude.pure newValue, ..}+instance Property "Component" PathComponentProperty where+  type PropertyType "Component" PathComponentProperty = AnalysisComponentProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty {component = Prelude.pure newValue, ..}+instance Property "DestinationVpc" PathComponentProperty where+  type PropertyType "DestinationVpc" PathComponentProperty = AnalysisComponentProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty+        {destinationVpc = Prelude.pure newValue, ..}+instance Property "ElasticLoadBalancerListener" PathComponentProperty where+  type PropertyType "ElasticLoadBalancerListener" PathComponentProperty = AnalysisComponentProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty+        {elasticLoadBalancerListener = Prelude.pure newValue, ..}+instance Property "Explanations" PathComponentProperty where+  type PropertyType "Explanations" PathComponentProperty = [ExplanationProperty]+  set newValue PathComponentProperty {..}+    = PathComponentProperty {explanations = Prelude.pure newValue, ..}+instance Property "InboundHeader" PathComponentProperty where+  type PropertyType "InboundHeader" PathComponentProperty = AnalysisPacketHeaderProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty {inboundHeader = Prelude.pure newValue, ..}+instance Property "OutboundHeader" PathComponentProperty where+  type PropertyType "OutboundHeader" PathComponentProperty = AnalysisPacketHeaderProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty+        {outboundHeader = Prelude.pure newValue, ..}+instance Property "RouteTableRoute" PathComponentProperty where+  type PropertyType "RouteTableRoute" PathComponentProperty = AnalysisRouteTableRouteProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty+        {routeTableRoute = Prelude.pure newValue, ..}+instance Property "SecurityGroupRule" PathComponentProperty where+  type PropertyType "SecurityGroupRule" PathComponentProperty = AnalysisSecurityGroupRuleProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty+        {securityGroupRule = Prelude.pure newValue, ..}+instance Property "SequenceNumber" PathComponentProperty where+  type PropertyType "SequenceNumber" PathComponentProperty = Value Prelude.Integer+  set newValue PathComponentProperty {..}+    = PathComponentProperty+        {sequenceNumber = Prelude.pure newValue, ..}+instance Property "ServiceName" PathComponentProperty where+  type PropertyType "ServiceName" PathComponentProperty = Value Prelude.Text+  set newValue PathComponentProperty {..}+    = PathComponentProperty {serviceName = Prelude.pure newValue, ..}+instance Property "SourceVpc" PathComponentProperty where+  type PropertyType "SourceVpc" PathComponentProperty = AnalysisComponentProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty {sourceVpc = Prelude.pure newValue, ..}+instance Property "Subnet" PathComponentProperty where+  type PropertyType "Subnet" PathComponentProperty = AnalysisComponentProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty {subnet = Prelude.pure newValue, ..}+instance Property "TransitGateway" PathComponentProperty where+  type PropertyType "TransitGateway" PathComponentProperty = AnalysisComponentProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty+        {transitGateway = Prelude.pure newValue, ..}+instance Property "TransitGatewayRouteTableRoute" PathComponentProperty where+  type PropertyType "TransitGatewayRouteTableRoute" PathComponentProperty = TransitGatewayRouteTableRouteProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty+        {transitGatewayRouteTableRoute = Prelude.pure newValue, ..}+instance Property "Vpc" PathComponentProperty where+  type PropertyType "Vpc" PathComponentProperty = AnalysisComponentProperty+  set newValue PathComponentProperty {..}+    = PathComponentProperty {vpc = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/PathComponentProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.PathComponentProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PathComponentProperty :: Prelude.Type+instance ToResourceProperties PathComponentProperty+instance Prelude.Eq PathComponentProperty+instance Prelude.Show PathComponentProperty+instance JSON.ToJSON PathComponentProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/PortRangeProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.PortRangeProperty (+        PortRangeProperty(..), mkPortRangeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PortRangeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-portrange.html>+    PortRangeProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-portrange.html#cfn-ec2-networkinsightsanalysis-portrange-from>+                       from :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-portrange.html#cfn-ec2-networkinsightsanalysis-portrange-to>+                       to :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPortRangeProperty :: PortRangeProperty+mkPortRangeProperty+  = PortRangeProperty+      {haddock_workaround_ = (), from = Prelude.Nothing,+       to = Prelude.Nothing}+instance ToResourceProperties PortRangeProperty where+  toResourceProperties PortRangeProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.PortRange",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "From" Prelude.<$> from,+                            (JSON..=) "To" Prelude.<$> to])}+instance JSON.ToJSON PortRangeProperty where+  toJSON PortRangeProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "From" Prelude.<$> from,+               (JSON..=) "To" Prelude.<$> to]))+instance Property "From" PortRangeProperty where+  type PropertyType "From" PortRangeProperty = Value Prelude.Integer+  set newValue PortRangeProperty {..}+    = PortRangeProperty {from = Prelude.pure newValue, ..}+instance Property "To" PortRangeProperty where+  type PropertyType "To" PortRangeProperty = Value Prelude.Integer+  set newValue PortRangeProperty {..}+    = PortRangeProperty {to = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/PortRangeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.PortRangeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PortRangeProperty :: Prelude.Type+instance ToResourceProperties PortRangeProperty+instance Prelude.Eq PortRangeProperty+instance Prelude.Show PortRangeProperty+instance JSON.ToJSON PortRangeProperty
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/TransitGatewayRouteTableRouteProperty.hs view
@@ -0,0 +1,96 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.TransitGatewayRouteTableRouteProperty (+        TransitGatewayRouteTableRouteProperty(..),+        mkTransitGatewayRouteTableRouteProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayRouteTableRouteProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html>+    TransitGatewayRouteTableRouteProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-attachmentid>+                                           attachmentId :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-destinationcidr>+                                           destinationCidr :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-prefixlistid>+                                           prefixListId :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-resourceid>+                                           resourceId :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-resourcetype>+                                           resourceType :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-routeorigin>+                                           routeOrigin :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightsanalysis-transitgatewayroutetableroute.html#cfn-ec2-networkinsightsanalysis-transitgatewayroutetableroute-state>+                                           state :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayRouteTableRouteProperty ::+  TransitGatewayRouteTableRouteProperty+mkTransitGatewayRouteTableRouteProperty+  = TransitGatewayRouteTableRouteProperty+      {haddock_workaround_ = (), attachmentId = Prelude.Nothing,+       destinationCidr = Prelude.Nothing, prefixListId = Prelude.Nothing,+       resourceId = Prelude.Nothing, resourceType = Prelude.Nothing,+       routeOrigin = Prelude.Nothing, state = Prelude.Nothing}+instance ToResourceProperties TransitGatewayRouteTableRouteProperty where+  toResourceProperties TransitGatewayRouteTableRouteProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsAnalysis.TransitGatewayRouteTableRoute",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AttachmentId" Prelude.<$> attachmentId,+                            (JSON..=) "DestinationCidr" Prelude.<$> destinationCidr,+                            (JSON..=) "PrefixListId" Prelude.<$> prefixListId,+                            (JSON..=) "ResourceId" Prelude.<$> resourceId,+                            (JSON..=) "ResourceType" Prelude.<$> resourceType,+                            (JSON..=) "RouteOrigin" Prelude.<$> routeOrigin,+                            (JSON..=) "State" Prelude.<$> state])}+instance JSON.ToJSON TransitGatewayRouteTableRouteProperty where+  toJSON TransitGatewayRouteTableRouteProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AttachmentId" Prelude.<$> attachmentId,+               (JSON..=) "DestinationCidr" Prelude.<$> destinationCidr,+               (JSON..=) "PrefixListId" Prelude.<$> prefixListId,+               (JSON..=) "ResourceId" Prelude.<$> resourceId,+               (JSON..=) "ResourceType" Prelude.<$> resourceType,+               (JSON..=) "RouteOrigin" Prelude.<$> routeOrigin,+               (JSON..=) "State" Prelude.<$> state]))+instance Property "AttachmentId" TransitGatewayRouteTableRouteProperty where+  type PropertyType "AttachmentId" TransitGatewayRouteTableRouteProperty = Value Prelude.Text+  set newValue TransitGatewayRouteTableRouteProperty {..}+    = TransitGatewayRouteTableRouteProperty+        {attachmentId = Prelude.pure newValue, ..}+instance Property "DestinationCidr" TransitGatewayRouteTableRouteProperty where+  type PropertyType "DestinationCidr" TransitGatewayRouteTableRouteProperty = Value Prelude.Text+  set newValue TransitGatewayRouteTableRouteProperty {..}+    = TransitGatewayRouteTableRouteProperty+        {destinationCidr = Prelude.pure newValue, ..}+instance Property "PrefixListId" TransitGatewayRouteTableRouteProperty where+  type PropertyType "PrefixListId" TransitGatewayRouteTableRouteProperty = Value Prelude.Text+  set newValue TransitGatewayRouteTableRouteProperty {..}+    = TransitGatewayRouteTableRouteProperty+        {prefixListId = Prelude.pure newValue, ..}+instance Property "ResourceId" TransitGatewayRouteTableRouteProperty where+  type PropertyType "ResourceId" TransitGatewayRouteTableRouteProperty = Value Prelude.Text+  set newValue TransitGatewayRouteTableRouteProperty {..}+    = TransitGatewayRouteTableRouteProperty+        {resourceId = Prelude.pure newValue, ..}+instance Property "ResourceType" TransitGatewayRouteTableRouteProperty where+  type PropertyType "ResourceType" TransitGatewayRouteTableRouteProperty = Value Prelude.Text+  set newValue TransitGatewayRouteTableRouteProperty {..}+    = TransitGatewayRouteTableRouteProperty+        {resourceType = Prelude.pure newValue, ..}+instance Property "RouteOrigin" TransitGatewayRouteTableRouteProperty where+  type PropertyType "RouteOrigin" TransitGatewayRouteTableRouteProperty = Value Prelude.Text+  set newValue TransitGatewayRouteTableRouteProperty {..}+    = TransitGatewayRouteTableRouteProperty+        {routeOrigin = Prelude.pure newValue, ..}+instance Property "State" TransitGatewayRouteTableRouteProperty where+  type PropertyType "State" TransitGatewayRouteTableRouteProperty = Value Prelude.Text+  set newValue TransitGatewayRouteTableRouteProperty {..}+    = TransitGatewayRouteTableRouteProperty+        {state = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsAnalysis/TransitGatewayRouteTableRouteProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsAnalysis.TransitGatewayRouteTableRouteProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TransitGatewayRouteTableRouteProperty :: Prelude.Type+instance ToResourceProperties TransitGatewayRouteTableRouteProperty+instance Prelude.Eq TransitGatewayRouteTableRouteProperty+instance Prelude.Show TransitGatewayRouteTableRouteProperty+instance JSON.ToJSON TransitGatewayRouteTableRouteProperty
+ gen/Stratosphere/EC2/NetworkInsightsPath.hs view
@@ -0,0 +1,109 @@+module Stratosphere.EC2.NetworkInsightsPath (+        module Exports, NetworkInsightsPath(..), mkNetworkInsightsPath+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsPath.PathFilterProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data NetworkInsightsPath+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html>+    NetworkInsightsPath {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-destination>+                         destination :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-destinationip>+                         destinationIp :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-destinationport>+                         destinationPort :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-filteratdestination>+                         filterAtDestination :: (Prelude.Maybe PathFilterProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-filteratsource>+                         filterAtSource :: (Prelude.Maybe PathFilterProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-protocol>+                         protocol :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-source>+                         source :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-sourceip>+                         sourceIp :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinsightspath.html#cfn-ec2-networkinsightspath-tags>+                         tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInsightsPath ::+  Value Prelude.Text -> Value Prelude.Text -> NetworkInsightsPath+mkNetworkInsightsPath protocol source+  = NetworkInsightsPath+      {haddock_workaround_ = (), protocol = protocol, source = source,+       destination = Prelude.Nothing, destinationIp = Prelude.Nothing,+       destinationPort = Prelude.Nothing,+       filterAtDestination = Prelude.Nothing,+       filterAtSource = Prelude.Nothing, sourceIp = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties NetworkInsightsPath where+  toResourceProperties NetworkInsightsPath {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsPath",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Protocol" JSON..= protocol, "Source" JSON..= source]+                           (Prelude.catMaybes+                              [(JSON..=) "Destination" Prelude.<$> destination,+                               (JSON..=) "DestinationIp" Prelude.<$> destinationIp,+                               (JSON..=) "DestinationPort" Prelude.<$> destinationPort,+                               (JSON..=) "FilterAtDestination" Prelude.<$> filterAtDestination,+                               (JSON..=) "FilterAtSource" Prelude.<$> filterAtSource,+                               (JSON..=) "SourceIp" Prelude.<$> sourceIp,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON NetworkInsightsPath where+  toJSON NetworkInsightsPath {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Protocol" JSON..= protocol, "Source" JSON..= source]+              (Prelude.catMaybes+                 [(JSON..=) "Destination" Prelude.<$> destination,+                  (JSON..=) "DestinationIp" Prelude.<$> destinationIp,+                  (JSON..=) "DestinationPort" Prelude.<$> destinationPort,+                  (JSON..=) "FilterAtDestination" Prelude.<$> filterAtDestination,+                  (JSON..=) "FilterAtSource" Prelude.<$> filterAtSource,+                  (JSON..=) "SourceIp" Prelude.<$> sourceIp,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Destination" NetworkInsightsPath where+  type PropertyType "Destination" NetworkInsightsPath = Value Prelude.Text+  set newValue NetworkInsightsPath {..}+    = NetworkInsightsPath {destination = Prelude.pure newValue, ..}+instance Property "DestinationIp" NetworkInsightsPath where+  type PropertyType "DestinationIp" NetworkInsightsPath = Value Prelude.Text+  set newValue NetworkInsightsPath {..}+    = NetworkInsightsPath {destinationIp = Prelude.pure newValue, ..}+instance Property "DestinationPort" NetworkInsightsPath where+  type PropertyType "DestinationPort" NetworkInsightsPath = Value Prelude.Integer+  set newValue NetworkInsightsPath {..}+    = NetworkInsightsPath {destinationPort = Prelude.pure newValue, ..}+instance Property "FilterAtDestination" NetworkInsightsPath where+  type PropertyType "FilterAtDestination" NetworkInsightsPath = PathFilterProperty+  set newValue NetworkInsightsPath {..}+    = NetworkInsightsPath+        {filterAtDestination = Prelude.pure newValue, ..}+instance Property "FilterAtSource" NetworkInsightsPath where+  type PropertyType "FilterAtSource" NetworkInsightsPath = PathFilterProperty+  set newValue NetworkInsightsPath {..}+    = NetworkInsightsPath {filterAtSource = Prelude.pure newValue, ..}+instance Property "Protocol" NetworkInsightsPath where+  type PropertyType "Protocol" NetworkInsightsPath = Value Prelude.Text+  set newValue NetworkInsightsPath {..}+    = NetworkInsightsPath {protocol = newValue, ..}+instance Property "Source" NetworkInsightsPath where+  type PropertyType "Source" NetworkInsightsPath = Value Prelude.Text+  set newValue NetworkInsightsPath {..}+    = NetworkInsightsPath {source = newValue, ..}+instance Property "SourceIp" NetworkInsightsPath where+  type PropertyType "SourceIp" NetworkInsightsPath = Value Prelude.Text+  set newValue NetworkInsightsPath {..}+    = NetworkInsightsPath {sourceIp = Prelude.pure newValue, ..}+instance Property "Tags" NetworkInsightsPath where+  type PropertyType "Tags" NetworkInsightsPath = [Tag]+  set newValue NetworkInsightsPath {..}+    = NetworkInsightsPath {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsPath/FilterPortRangeProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.NetworkInsightsPath.FilterPortRangeProperty (+        FilterPortRangeProperty(..), mkFilterPortRangeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FilterPortRangeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightspath-filterportrange.html>+    FilterPortRangeProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightspath-filterportrange.html#cfn-ec2-networkinsightspath-filterportrange-fromport>+                             fromPort :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightspath-filterportrange.html#cfn-ec2-networkinsightspath-filterportrange-toport>+                             toPort :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFilterPortRangeProperty :: FilterPortRangeProperty+mkFilterPortRangeProperty+  = FilterPortRangeProperty+      {haddock_workaround_ = (), fromPort = Prelude.Nothing,+       toPort = Prelude.Nothing}+instance ToResourceProperties FilterPortRangeProperty where+  toResourceProperties FilterPortRangeProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsPath.FilterPortRange",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "FromPort" Prelude.<$> fromPort,+                            (JSON..=) "ToPort" Prelude.<$> toPort])}+instance JSON.ToJSON FilterPortRangeProperty where+  toJSON FilterPortRangeProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "FromPort" Prelude.<$> fromPort,+               (JSON..=) "ToPort" Prelude.<$> toPort]))+instance Property "FromPort" FilterPortRangeProperty where+  type PropertyType "FromPort" FilterPortRangeProperty = Value Prelude.Integer+  set newValue FilterPortRangeProperty {..}+    = FilterPortRangeProperty {fromPort = Prelude.pure newValue, ..}+instance Property "ToPort" FilterPortRangeProperty where+  type PropertyType "ToPort" FilterPortRangeProperty = Value Prelude.Integer+  set newValue FilterPortRangeProperty {..}+    = FilterPortRangeProperty {toPort = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsPath/FilterPortRangeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsPath.FilterPortRangeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FilterPortRangeProperty :: Prelude.Type+instance ToResourceProperties FilterPortRangeProperty+instance Prelude.Eq FilterPortRangeProperty+instance Prelude.Show FilterPortRangeProperty+instance JSON.ToJSON FilterPortRangeProperty
+ gen/Stratosphere/EC2/NetworkInsightsPath/PathFilterProperty.hs view
@@ -0,0 +1,65 @@+module Stratosphere.EC2.NetworkInsightsPath.PathFilterProperty (+        module Exports, PathFilterProperty(..), mkPathFilterProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInsightsPath.FilterPortRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PathFilterProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightspath-pathfilter.html>+    PathFilterProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightspath-pathfilter.html#cfn-ec2-networkinsightspath-pathfilter-destinationaddress>+                        destinationAddress :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightspath-pathfilter.html#cfn-ec2-networkinsightspath-pathfilter-destinationportrange>+                        destinationPortRange :: (Prelude.Maybe FilterPortRangeProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightspath-pathfilter.html#cfn-ec2-networkinsightspath-pathfilter-sourceaddress>+                        sourceAddress :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinsightspath-pathfilter.html#cfn-ec2-networkinsightspath-pathfilter-sourceportrange>+                        sourcePortRange :: (Prelude.Maybe FilterPortRangeProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPathFilterProperty :: PathFilterProperty+mkPathFilterProperty+  = PathFilterProperty+      {haddock_workaround_ = (), destinationAddress = Prelude.Nothing,+       destinationPortRange = Prelude.Nothing,+       sourceAddress = Prelude.Nothing, sourcePortRange = Prelude.Nothing}+instance ToResourceProperties PathFilterProperty where+  toResourceProperties PathFilterProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInsightsPath.PathFilter",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DestinationAddress" Prelude.<$> destinationAddress,+                            (JSON..=) "DestinationPortRange" Prelude.<$> destinationPortRange,+                            (JSON..=) "SourceAddress" Prelude.<$> sourceAddress,+                            (JSON..=) "SourcePortRange" Prelude.<$> sourcePortRange])}+instance JSON.ToJSON PathFilterProperty where+  toJSON PathFilterProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DestinationAddress" Prelude.<$> destinationAddress,+               (JSON..=) "DestinationPortRange" Prelude.<$> destinationPortRange,+               (JSON..=) "SourceAddress" Prelude.<$> sourceAddress,+               (JSON..=) "SourcePortRange" Prelude.<$> sourcePortRange]))+instance Property "DestinationAddress" PathFilterProperty where+  type PropertyType "DestinationAddress" PathFilterProperty = Value Prelude.Text+  set newValue PathFilterProperty {..}+    = PathFilterProperty+        {destinationAddress = Prelude.pure newValue, ..}+instance Property "DestinationPortRange" PathFilterProperty where+  type PropertyType "DestinationPortRange" PathFilterProperty = FilterPortRangeProperty+  set newValue PathFilterProperty {..}+    = PathFilterProperty+        {destinationPortRange = Prelude.pure newValue, ..}+instance Property "SourceAddress" PathFilterProperty where+  type PropertyType "SourceAddress" PathFilterProperty = Value Prelude.Text+  set newValue PathFilterProperty {..}+    = PathFilterProperty {sourceAddress = Prelude.pure newValue, ..}+instance Property "SourcePortRange" PathFilterProperty where+  type PropertyType "SourcePortRange" PathFilterProperty = FilterPortRangeProperty+  set newValue PathFilterProperty {..}+    = PathFilterProperty {sourcePortRange = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInsightsPath/PathFilterProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInsightsPath.PathFilterProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PathFilterProperty :: Prelude.Type+instance ToResourceProperties PathFilterProperty+instance Prelude.Eq PathFilterProperty+instance Prelude.Show PathFilterProperty+instance JSON.ToJSON PathFilterProperty
+ gen/Stratosphere/EC2/NetworkInterface.hs view
@@ -0,0 +1,179 @@+module Stratosphere.EC2.NetworkInterface (+        module Exports, NetworkInterface(..), mkNetworkInterface+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInterface.ConnectionTrackingSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInterface.InstanceIpv6AddressProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInterface.Ipv4PrefixSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInterface.Ipv6PrefixSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.NetworkInterface.PrivateIpAddressSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data NetworkInterface+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html>+    NetworkInterface {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-connectiontrackingspecification>+                      connectionTrackingSpecification :: (Prelude.Maybe ConnectionTrackingSpecificationProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-description>+                      description :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-groupset>+                      groupSet :: (Prelude.Maybe (ValueList Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-interfacetype>+                      interfaceType :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv4prefixcount>+                      ipv4PrefixCount :: (Prelude.Maybe (Value Prelude.Integer)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv4prefixes>+                      ipv4Prefixes :: (Prelude.Maybe [Ipv4PrefixSpecificationProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv6addresscount>+                      ipv6AddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv6addresses>+                      ipv6Addresses :: (Prelude.Maybe [InstanceIpv6AddressProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv6prefixcount>+                      ipv6PrefixCount :: (Prelude.Maybe (Value Prelude.Integer)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-ipv6prefixes>+                      ipv6Prefixes :: (Prelude.Maybe [Ipv6PrefixSpecificationProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-privateipaddress>+                      privateIpAddress :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-privateipaddresses>+                      privateIpAddresses :: (Prelude.Maybe [PrivateIpAddressSpecificationProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-secondaryprivateipaddresscount>+                      secondaryPrivateIpAddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-sourcedestcheck>+                      sourceDestCheck :: (Prelude.Maybe (Value Prelude.Bool)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-subnetid>+                      subnetId :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterface.html#cfn-ec2-networkinterface-tags>+                      tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterface :: Value Prelude.Text -> NetworkInterface+mkNetworkInterface subnetId+  = NetworkInterface+      {haddock_workaround_ = (), subnetId = subnetId,+       connectionTrackingSpecification = Prelude.Nothing,+       description = Prelude.Nothing, groupSet = Prelude.Nothing,+       interfaceType = Prelude.Nothing, ipv4PrefixCount = Prelude.Nothing,+       ipv4Prefixes = Prelude.Nothing, ipv6AddressCount = Prelude.Nothing,+       ipv6Addresses = Prelude.Nothing, ipv6PrefixCount = Prelude.Nothing,+       ipv6Prefixes = Prelude.Nothing, privateIpAddress = Prelude.Nothing,+       privateIpAddresses = Prelude.Nothing,+       secondaryPrivateIpAddressCount = Prelude.Nothing,+       sourceDestCheck = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties NetworkInterface where+  toResourceProperties NetworkInterface {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterface",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["SubnetId" JSON..= subnetId]+                           (Prelude.catMaybes+                              [(JSON..=) "ConnectionTrackingSpecification"+                                 Prelude.<$> connectionTrackingSpecification,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "GroupSet" Prelude.<$> groupSet,+                               (JSON..=) "InterfaceType" Prelude.<$> interfaceType,+                               (JSON..=) "Ipv4PrefixCount" Prelude.<$> ipv4PrefixCount,+                               (JSON..=) "Ipv4Prefixes" Prelude.<$> ipv4Prefixes,+                               (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+                               (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+                               (JSON..=) "Ipv6PrefixCount" Prelude.<$> ipv6PrefixCount,+                               (JSON..=) "Ipv6Prefixes" Prelude.<$> ipv6Prefixes,+                               (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+                               (JSON..=) "PrivateIpAddresses" Prelude.<$> privateIpAddresses,+                               (JSON..=) "SecondaryPrivateIpAddressCount"+                                 Prelude.<$> secondaryPrivateIpAddressCount,+                               (JSON..=) "SourceDestCheck" Prelude.<$> sourceDestCheck,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON NetworkInterface where+  toJSON NetworkInterface {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["SubnetId" JSON..= subnetId]+              (Prelude.catMaybes+                 [(JSON..=) "ConnectionTrackingSpecification"+                    Prelude.<$> connectionTrackingSpecification,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "GroupSet" Prelude.<$> groupSet,+                  (JSON..=) "InterfaceType" Prelude.<$> interfaceType,+                  (JSON..=) "Ipv4PrefixCount" Prelude.<$> ipv4PrefixCount,+                  (JSON..=) "Ipv4Prefixes" Prelude.<$> ipv4Prefixes,+                  (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+                  (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+                  (JSON..=) "Ipv6PrefixCount" Prelude.<$> ipv6PrefixCount,+                  (JSON..=) "Ipv6Prefixes" Prelude.<$> ipv6Prefixes,+                  (JSON..=) "PrivateIpAddress" Prelude.<$> privateIpAddress,+                  (JSON..=) "PrivateIpAddresses" Prelude.<$> privateIpAddresses,+                  (JSON..=) "SecondaryPrivateIpAddressCount"+                    Prelude.<$> secondaryPrivateIpAddressCount,+                  (JSON..=) "SourceDestCheck" Prelude.<$> sourceDestCheck,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ConnectionTrackingSpecification" NetworkInterface where+  type PropertyType "ConnectionTrackingSpecification" NetworkInterface = ConnectionTrackingSpecificationProperty+  set newValue NetworkInterface {..}+    = NetworkInterface+        {connectionTrackingSpecification = Prelude.pure newValue, ..}+instance Property "Description" NetworkInterface where+  type PropertyType "Description" NetworkInterface = Value Prelude.Text+  set newValue NetworkInterface {..}+    = NetworkInterface {description = Prelude.pure newValue, ..}+instance Property "GroupSet" NetworkInterface where+  type PropertyType "GroupSet" NetworkInterface = ValueList Prelude.Text+  set newValue NetworkInterface {..}+    = NetworkInterface {groupSet = Prelude.pure newValue, ..}+instance Property "InterfaceType" NetworkInterface where+  type PropertyType "InterfaceType" NetworkInterface = Value Prelude.Text+  set newValue NetworkInterface {..}+    = NetworkInterface {interfaceType = Prelude.pure newValue, ..}+instance Property "Ipv4PrefixCount" NetworkInterface where+  type PropertyType "Ipv4PrefixCount" NetworkInterface = Value Prelude.Integer+  set newValue NetworkInterface {..}+    = NetworkInterface {ipv4PrefixCount = Prelude.pure newValue, ..}+instance Property "Ipv4Prefixes" NetworkInterface where+  type PropertyType "Ipv4Prefixes" NetworkInterface = [Ipv4PrefixSpecificationProperty]+  set newValue NetworkInterface {..}+    = NetworkInterface {ipv4Prefixes = Prelude.pure newValue, ..}+instance Property "Ipv6AddressCount" NetworkInterface where+  type PropertyType "Ipv6AddressCount" NetworkInterface = Value Prelude.Integer+  set newValue NetworkInterface {..}+    = NetworkInterface {ipv6AddressCount = Prelude.pure newValue, ..}+instance Property "Ipv6Addresses" NetworkInterface where+  type PropertyType "Ipv6Addresses" NetworkInterface = [InstanceIpv6AddressProperty]+  set newValue NetworkInterface {..}+    = NetworkInterface {ipv6Addresses = Prelude.pure newValue, ..}+instance Property "Ipv6PrefixCount" NetworkInterface where+  type PropertyType "Ipv6PrefixCount" NetworkInterface = Value Prelude.Integer+  set newValue NetworkInterface {..}+    = NetworkInterface {ipv6PrefixCount = Prelude.pure newValue, ..}+instance Property "Ipv6Prefixes" NetworkInterface where+  type PropertyType "Ipv6Prefixes" NetworkInterface = [Ipv6PrefixSpecificationProperty]+  set newValue NetworkInterface {..}+    = NetworkInterface {ipv6Prefixes = Prelude.pure newValue, ..}+instance Property "PrivateIpAddress" NetworkInterface where+  type PropertyType "PrivateIpAddress" NetworkInterface = Value Prelude.Text+  set newValue NetworkInterface {..}+    = NetworkInterface {privateIpAddress = Prelude.pure newValue, ..}+instance Property "PrivateIpAddresses" NetworkInterface where+  type PropertyType "PrivateIpAddresses" NetworkInterface = [PrivateIpAddressSpecificationProperty]+  set newValue NetworkInterface {..}+    = NetworkInterface {privateIpAddresses = Prelude.pure newValue, ..}+instance Property "SecondaryPrivateIpAddressCount" NetworkInterface where+  type PropertyType "SecondaryPrivateIpAddressCount" NetworkInterface = Value Prelude.Integer+  set newValue NetworkInterface {..}+    = NetworkInterface+        {secondaryPrivateIpAddressCount = Prelude.pure newValue, ..}+instance Property "SourceDestCheck" NetworkInterface where+  type PropertyType "SourceDestCheck" NetworkInterface = Value Prelude.Bool+  set newValue NetworkInterface {..}+    = NetworkInterface {sourceDestCheck = Prelude.pure newValue, ..}+instance Property "SubnetId" NetworkInterface where+  type PropertyType "SubnetId" NetworkInterface = Value Prelude.Text+  set newValue NetworkInterface {..}+    = NetworkInterface {subnetId = newValue, ..}+instance Property "Tags" NetworkInterface where+  type PropertyType "Tags" NetworkInterface = [Tag]+  set newValue NetworkInterface {..}+    = NetworkInterface {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInterface/ConnectionTrackingSpecificationProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.EC2.NetworkInterface.ConnectionTrackingSpecificationProperty (+        ConnectionTrackingSpecificationProperty(..),+        mkConnectionTrackingSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ConnectionTrackingSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-connectiontrackingspecification.html>+    ConnectionTrackingSpecificationProperty {haddock_workaround_ :: (),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-connectiontrackingspecification.html#cfn-ec2-networkinterface-connectiontrackingspecification-tcpestablishedtimeout>+                                             tcpEstablishedTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-connectiontrackingspecification.html#cfn-ec2-networkinterface-connectiontrackingspecification-udpstreamtimeout>+                                             udpStreamTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-connectiontrackingspecification.html#cfn-ec2-networkinterface-connectiontrackingspecification-udptimeout>+                                             udpTimeout :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkConnectionTrackingSpecificationProperty ::+  ConnectionTrackingSpecificationProperty+mkConnectionTrackingSpecificationProperty+  = ConnectionTrackingSpecificationProperty+      {haddock_workaround_ = (), tcpEstablishedTimeout = Prelude.Nothing,+       udpStreamTimeout = Prelude.Nothing, udpTimeout = Prelude.Nothing}+instance ToResourceProperties ConnectionTrackingSpecificationProperty where+  toResourceProperties ConnectionTrackingSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterface.ConnectionTrackingSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "TcpEstablishedTimeout"+                              Prelude.<$> tcpEstablishedTimeout,+                            (JSON..=) "UdpStreamTimeout" Prelude.<$> udpStreamTimeout,+                            (JSON..=) "UdpTimeout" Prelude.<$> udpTimeout])}+instance JSON.ToJSON ConnectionTrackingSpecificationProperty where+  toJSON ConnectionTrackingSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "TcpEstablishedTimeout"+                 Prelude.<$> tcpEstablishedTimeout,+               (JSON..=) "UdpStreamTimeout" Prelude.<$> udpStreamTimeout,+               (JSON..=) "UdpTimeout" Prelude.<$> udpTimeout]))+instance Property "TcpEstablishedTimeout" ConnectionTrackingSpecificationProperty where+  type PropertyType "TcpEstablishedTimeout" ConnectionTrackingSpecificationProperty = Value Prelude.Integer+  set newValue ConnectionTrackingSpecificationProperty {..}+    = ConnectionTrackingSpecificationProperty+        {tcpEstablishedTimeout = Prelude.pure newValue, ..}+instance Property "UdpStreamTimeout" ConnectionTrackingSpecificationProperty where+  type PropertyType "UdpStreamTimeout" ConnectionTrackingSpecificationProperty = Value Prelude.Integer+  set newValue ConnectionTrackingSpecificationProperty {..}+    = ConnectionTrackingSpecificationProperty+        {udpStreamTimeout = Prelude.pure newValue, ..}+instance Property "UdpTimeout" ConnectionTrackingSpecificationProperty where+  type PropertyType "UdpTimeout" ConnectionTrackingSpecificationProperty = Value Prelude.Integer+  set newValue ConnectionTrackingSpecificationProperty {..}+    = ConnectionTrackingSpecificationProperty+        {udpTimeout = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInterface/ConnectionTrackingSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInterface.ConnectionTrackingSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ConnectionTrackingSpecificationProperty :: Prelude.Type+instance ToResourceProperties ConnectionTrackingSpecificationProperty+instance Prelude.Eq ConnectionTrackingSpecificationProperty+instance Prelude.Show ConnectionTrackingSpecificationProperty+instance JSON.ToJSON ConnectionTrackingSpecificationProperty
+ gen/Stratosphere/EC2/NetworkInterface/InstanceIpv6AddressProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.EC2.NetworkInterface.InstanceIpv6AddressProperty (+        InstanceIpv6AddressProperty(..), mkInstanceIpv6AddressProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceIpv6AddressProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-instanceipv6address.html>+    InstanceIpv6AddressProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-instanceipv6address.html#cfn-ec2-networkinterface-instanceipv6address-ipv6address>+                                 ipv6Address :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceIpv6AddressProperty ::+  Value Prelude.Text -> InstanceIpv6AddressProperty+mkInstanceIpv6AddressProperty ipv6Address+  = InstanceIpv6AddressProperty+      {haddock_workaround_ = (), ipv6Address = ipv6Address}+instance ToResourceProperties InstanceIpv6AddressProperty where+  toResourceProperties InstanceIpv6AddressProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterface.InstanceIpv6Address",+         supportsTags = Prelude.False,+         properties = ["Ipv6Address" JSON..= ipv6Address]}+instance JSON.ToJSON InstanceIpv6AddressProperty where+  toJSON InstanceIpv6AddressProperty {..}+    = JSON.object ["Ipv6Address" JSON..= ipv6Address]+instance Property "Ipv6Address" InstanceIpv6AddressProperty where+  type PropertyType "Ipv6Address" InstanceIpv6AddressProperty = Value Prelude.Text+  set newValue InstanceIpv6AddressProperty {..}+    = InstanceIpv6AddressProperty {ipv6Address = newValue, ..}
+ gen/Stratosphere/EC2/NetworkInterface/InstanceIpv6AddressProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInterface.InstanceIpv6AddressProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceIpv6AddressProperty :: Prelude.Type+instance ToResourceProperties InstanceIpv6AddressProperty+instance Prelude.Eq InstanceIpv6AddressProperty+instance Prelude.Show InstanceIpv6AddressProperty+instance JSON.ToJSON InstanceIpv6AddressProperty
+ gen/Stratosphere/EC2/NetworkInterface/Ipv4PrefixSpecificationProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.EC2.NetworkInterface.Ipv4PrefixSpecificationProperty (+        Ipv4PrefixSpecificationProperty(..),+        mkIpv4PrefixSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Ipv4PrefixSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-ipv4prefixspecification.html>+    Ipv4PrefixSpecificationProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-ipv4prefixspecification.html#cfn-ec2-networkinterface-ipv4prefixspecification-ipv4prefix>+                                     ipv4Prefix :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpv4PrefixSpecificationProperty ::+  Value Prelude.Text -> Ipv4PrefixSpecificationProperty+mkIpv4PrefixSpecificationProperty ipv4Prefix+  = Ipv4PrefixSpecificationProperty+      {haddock_workaround_ = (), ipv4Prefix = ipv4Prefix}+instance ToResourceProperties Ipv4PrefixSpecificationProperty where+  toResourceProperties Ipv4PrefixSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterface.Ipv4PrefixSpecification",+         supportsTags = Prelude.False,+         properties = ["Ipv4Prefix" JSON..= ipv4Prefix]}+instance JSON.ToJSON Ipv4PrefixSpecificationProperty where+  toJSON Ipv4PrefixSpecificationProperty {..}+    = JSON.object ["Ipv4Prefix" JSON..= ipv4Prefix]+instance Property "Ipv4Prefix" Ipv4PrefixSpecificationProperty where+  type PropertyType "Ipv4Prefix" Ipv4PrefixSpecificationProperty = Value Prelude.Text+  set newValue Ipv4PrefixSpecificationProperty {..}+    = Ipv4PrefixSpecificationProperty {ipv4Prefix = newValue, ..}
+ gen/Stratosphere/EC2/NetworkInterface/Ipv4PrefixSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInterface.Ipv4PrefixSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Ipv4PrefixSpecificationProperty :: Prelude.Type+instance ToResourceProperties Ipv4PrefixSpecificationProperty+instance Prelude.Eq Ipv4PrefixSpecificationProperty+instance Prelude.Show Ipv4PrefixSpecificationProperty+instance JSON.ToJSON Ipv4PrefixSpecificationProperty
+ gen/Stratosphere/EC2/NetworkInterface/Ipv6PrefixSpecificationProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.EC2.NetworkInterface.Ipv6PrefixSpecificationProperty (+        Ipv6PrefixSpecificationProperty(..),+        mkIpv6PrefixSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Ipv6PrefixSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-ipv6prefixspecification.html>+    Ipv6PrefixSpecificationProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-ipv6prefixspecification.html#cfn-ec2-networkinterface-ipv6prefixspecification-ipv6prefix>+                                     ipv6Prefix :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIpv6PrefixSpecificationProperty ::+  Value Prelude.Text -> Ipv6PrefixSpecificationProperty+mkIpv6PrefixSpecificationProperty ipv6Prefix+  = Ipv6PrefixSpecificationProperty+      {haddock_workaround_ = (), ipv6Prefix = ipv6Prefix}+instance ToResourceProperties Ipv6PrefixSpecificationProperty where+  toResourceProperties Ipv6PrefixSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterface.Ipv6PrefixSpecification",+         supportsTags = Prelude.False,+         properties = ["Ipv6Prefix" JSON..= ipv6Prefix]}+instance JSON.ToJSON Ipv6PrefixSpecificationProperty where+  toJSON Ipv6PrefixSpecificationProperty {..}+    = JSON.object ["Ipv6Prefix" JSON..= ipv6Prefix]+instance Property "Ipv6Prefix" Ipv6PrefixSpecificationProperty where+  type PropertyType "Ipv6Prefix" Ipv6PrefixSpecificationProperty = Value Prelude.Text+  set newValue Ipv6PrefixSpecificationProperty {..}+    = Ipv6PrefixSpecificationProperty {ipv6Prefix = newValue, ..}
+ gen/Stratosphere/EC2/NetworkInterface/Ipv6PrefixSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInterface.Ipv6PrefixSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Ipv6PrefixSpecificationProperty :: Prelude.Type+instance ToResourceProperties Ipv6PrefixSpecificationProperty+instance Prelude.Eq Ipv6PrefixSpecificationProperty+instance Prelude.Show Ipv6PrefixSpecificationProperty+instance JSON.ToJSON Ipv6PrefixSpecificationProperty
+ gen/Stratosphere/EC2/NetworkInterface/PrivateIpAddressSpecificationProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.NetworkInterface.PrivateIpAddressSpecificationProperty (+        PrivateIpAddressSpecificationProperty(..),+        mkPrivateIpAddressSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PrivateIpAddressSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-privateipaddressspecification.html>+    PrivateIpAddressSpecificationProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-privateipaddressspecification.html#cfn-ec2-networkinterface-privateipaddressspecification-primary>+                                           primary :: (Value Prelude.Bool),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterface-privateipaddressspecification.html#cfn-ec2-networkinterface-privateipaddressspecification-privateipaddress>+                                           privateIpAddress :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPrivateIpAddressSpecificationProperty ::+  Value Prelude.Bool+  -> Value Prelude.Text -> PrivateIpAddressSpecificationProperty+mkPrivateIpAddressSpecificationProperty primary privateIpAddress+  = PrivateIpAddressSpecificationProperty+      {haddock_workaround_ = (), primary = primary,+       privateIpAddress = privateIpAddress}+instance ToResourceProperties PrivateIpAddressSpecificationProperty where+  toResourceProperties PrivateIpAddressSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterface.PrivateIpAddressSpecification",+         supportsTags = Prelude.False,+         properties = ["Primary" JSON..= primary,+                       "PrivateIpAddress" JSON..= privateIpAddress]}+instance JSON.ToJSON PrivateIpAddressSpecificationProperty where+  toJSON PrivateIpAddressSpecificationProperty {..}+    = JSON.object+        ["Primary" JSON..= primary,+         "PrivateIpAddress" JSON..= privateIpAddress]+instance Property "Primary" PrivateIpAddressSpecificationProperty where+  type PropertyType "Primary" PrivateIpAddressSpecificationProperty = Value Prelude.Bool+  set newValue PrivateIpAddressSpecificationProperty {..}+    = PrivateIpAddressSpecificationProperty {primary = newValue, ..}+instance Property "PrivateIpAddress" PrivateIpAddressSpecificationProperty where+  type PropertyType "PrivateIpAddress" PrivateIpAddressSpecificationProperty = Value Prelude.Text+  set newValue PrivateIpAddressSpecificationProperty {..}+    = PrivateIpAddressSpecificationProperty+        {privateIpAddress = newValue, ..}
+ gen/Stratosphere/EC2/NetworkInterface/PrivateIpAddressSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInterface.PrivateIpAddressSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PrivateIpAddressSpecificationProperty :: Prelude.Type+instance ToResourceProperties PrivateIpAddressSpecificationProperty+instance Prelude.Eq PrivateIpAddressSpecificationProperty+instance Prelude.Show PrivateIpAddressSpecificationProperty+instance JSON.ToJSON PrivateIpAddressSpecificationProperty
+ gen/Stratosphere/EC2/NetworkInterfaceAttachment.hs view
@@ -0,0 +1,93 @@+module Stratosphere.EC2.NetworkInterfaceAttachment (+        module Exports, NetworkInterfaceAttachment(..),+        mkNetworkInterfaceAttachment+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInterfaceAttachment.EnaSrdSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkInterfaceAttachment+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html>+    NetworkInterfaceAttachment {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html#cfn-ec2-networkinterfaceattachment-deleteontermination>+                                deleteOnTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html#cfn-ec2-networkinterfaceattachment-deviceindex>+                                deviceIndex :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html#cfn-ec2-networkinterfaceattachment-enaqueuecount>+                                enaQueueCount :: (Prelude.Maybe (Value Prelude.Integer)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html#cfn-ec2-networkinterfaceattachment-enasrdspecification>+                                enaSrdSpecification :: (Prelude.Maybe EnaSrdSpecificationProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html#cfn-ec2-networkinterfaceattachment-instanceid>+                                instanceId :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfaceattachment.html#cfn-ec2-networkinterfaceattachment-networkinterfaceid>+                                networkInterfaceId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterfaceAttachment ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> NetworkInterfaceAttachment+mkNetworkInterfaceAttachment+  deviceIndex+  instanceId+  networkInterfaceId+  = NetworkInterfaceAttachment+      {haddock_workaround_ = (), deviceIndex = deviceIndex,+       instanceId = instanceId, networkInterfaceId = networkInterfaceId,+       deleteOnTermination = Prelude.Nothing,+       enaQueueCount = Prelude.Nothing,+       enaSrdSpecification = Prelude.Nothing}+instance ToResourceProperties NetworkInterfaceAttachment where+  toResourceProperties NetworkInterfaceAttachment {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterfaceAttachment",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DeviceIndex" JSON..= deviceIndex,+                            "InstanceId" JSON..= instanceId,+                            "NetworkInterfaceId" JSON..= networkInterfaceId]+                           (Prelude.catMaybes+                              [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                               (JSON..=) "EnaQueueCount" Prelude.<$> enaQueueCount,+                               (JSON..=) "EnaSrdSpecification" Prelude.<$> enaSrdSpecification]))}+instance JSON.ToJSON NetworkInterfaceAttachment where+  toJSON NetworkInterfaceAttachment {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DeviceIndex" JSON..= deviceIndex,+               "InstanceId" JSON..= instanceId,+               "NetworkInterfaceId" JSON..= networkInterfaceId]+              (Prelude.catMaybes+                 [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                  (JSON..=) "EnaQueueCount" Prelude.<$> enaQueueCount,+                  (JSON..=) "EnaSrdSpecification" Prelude.<$> enaSrdSpecification])))+instance Property "DeleteOnTermination" NetworkInterfaceAttachment where+  type PropertyType "DeleteOnTermination" NetworkInterfaceAttachment = Value Prelude.Bool+  set newValue NetworkInterfaceAttachment {..}+    = NetworkInterfaceAttachment+        {deleteOnTermination = Prelude.pure newValue, ..}+instance Property "DeviceIndex" NetworkInterfaceAttachment where+  type PropertyType "DeviceIndex" NetworkInterfaceAttachment = Value Prelude.Text+  set newValue NetworkInterfaceAttachment {..}+    = NetworkInterfaceAttachment {deviceIndex = newValue, ..}+instance Property "EnaQueueCount" NetworkInterfaceAttachment where+  type PropertyType "EnaQueueCount" NetworkInterfaceAttachment = Value Prelude.Integer+  set newValue NetworkInterfaceAttachment {..}+    = NetworkInterfaceAttachment+        {enaQueueCount = Prelude.pure newValue, ..}+instance Property "EnaSrdSpecification" NetworkInterfaceAttachment where+  type PropertyType "EnaSrdSpecification" NetworkInterfaceAttachment = EnaSrdSpecificationProperty+  set newValue NetworkInterfaceAttachment {..}+    = NetworkInterfaceAttachment+        {enaSrdSpecification = Prelude.pure newValue, ..}+instance Property "InstanceId" NetworkInterfaceAttachment where+  type PropertyType "InstanceId" NetworkInterfaceAttachment = Value Prelude.Text+  set newValue NetworkInterfaceAttachment {..}+    = NetworkInterfaceAttachment {instanceId = newValue, ..}+instance Property "NetworkInterfaceId" NetworkInterfaceAttachment where+  type PropertyType "NetworkInterfaceId" NetworkInterfaceAttachment = Value Prelude.Text+  set newValue NetworkInterfaceAttachment {..}+    = NetworkInterfaceAttachment {networkInterfaceId = newValue, ..}
+ gen/Stratosphere/EC2/NetworkInterfaceAttachment/EnaSrdSpecificationProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.EC2.NetworkInterfaceAttachment.EnaSrdSpecificationProperty (+        module Exports, EnaSrdSpecificationProperty(..),+        mkEnaSrdSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.NetworkInterfaceAttachment.EnaSrdUdpSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnaSrdSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterfaceattachment-enasrdspecification.html>+    EnaSrdSpecificationProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterfaceattachment-enasrdspecification.html#cfn-ec2-networkinterfaceattachment-enasrdspecification-enasrdenabled>+                                 enaSrdEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterfaceattachment-enasrdspecification.html#cfn-ec2-networkinterfaceattachment-enasrdspecification-enasrdudpspecification>+                                 enaSrdUdpSpecification :: (Prelude.Maybe EnaSrdUdpSpecificationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEnaSrdSpecificationProperty :: EnaSrdSpecificationProperty+mkEnaSrdSpecificationProperty+  = EnaSrdSpecificationProperty+      {haddock_workaround_ = (), enaSrdEnabled = Prelude.Nothing,+       enaSrdUdpSpecification = Prelude.Nothing}+instance ToResourceProperties EnaSrdSpecificationProperty where+  toResourceProperties EnaSrdSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterfaceAttachment.EnaSrdSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EnaSrdEnabled" Prelude.<$> enaSrdEnabled,+                            (JSON..=) "EnaSrdUdpSpecification"+                              Prelude.<$> enaSrdUdpSpecification])}+instance JSON.ToJSON EnaSrdSpecificationProperty where+  toJSON EnaSrdSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EnaSrdEnabled" Prelude.<$> enaSrdEnabled,+               (JSON..=) "EnaSrdUdpSpecification"+                 Prelude.<$> enaSrdUdpSpecification]))+instance Property "EnaSrdEnabled" EnaSrdSpecificationProperty where+  type PropertyType "EnaSrdEnabled" EnaSrdSpecificationProperty = Value Prelude.Bool+  set newValue EnaSrdSpecificationProperty {..}+    = EnaSrdSpecificationProperty+        {enaSrdEnabled = Prelude.pure newValue, ..}+instance Property "EnaSrdUdpSpecification" EnaSrdSpecificationProperty where+  type PropertyType "EnaSrdUdpSpecification" EnaSrdSpecificationProperty = EnaSrdUdpSpecificationProperty+  set newValue EnaSrdSpecificationProperty {..}+    = EnaSrdSpecificationProperty+        {enaSrdUdpSpecification = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInterfaceAttachment/EnaSrdSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInterfaceAttachment.EnaSrdSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EnaSrdSpecificationProperty :: Prelude.Type+instance ToResourceProperties EnaSrdSpecificationProperty+instance Prelude.Eq EnaSrdSpecificationProperty+instance Prelude.Show EnaSrdSpecificationProperty+instance JSON.ToJSON EnaSrdSpecificationProperty
+ gen/Stratosphere/EC2/NetworkInterfaceAttachment/EnaSrdUdpSpecificationProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.EC2.NetworkInterfaceAttachment.EnaSrdUdpSpecificationProperty (+        EnaSrdUdpSpecificationProperty(..),+        mkEnaSrdUdpSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EnaSrdUdpSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterfaceattachment-enasrdudpspecification.html>+    EnaSrdUdpSpecificationProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-networkinterfaceattachment-enasrdudpspecification.html#cfn-ec2-networkinterfaceattachment-enasrdudpspecification-enasrdudpenabled>+                                    enaSrdUdpEnabled :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEnaSrdUdpSpecificationProperty :: EnaSrdUdpSpecificationProperty+mkEnaSrdUdpSpecificationProperty+  = EnaSrdUdpSpecificationProperty+      {haddock_workaround_ = (), enaSrdUdpEnabled = Prelude.Nothing}+instance ToResourceProperties EnaSrdUdpSpecificationProperty where+  toResourceProperties EnaSrdUdpSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterfaceAttachment.EnaSrdUdpSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EnaSrdUdpEnabled" Prelude.<$> enaSrdUdpEnabled])}+instance JSON.ToJSON EnaSrdUdpSpecificationProperty where+  toJSON EnaSrdUdpSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EnaSrdUdpEnabled" Prelude.<$> enaSrdUdpEnabled]))+instance Property "EnaSrdUdpEnabled" EnaSrdUdpSpecificationProperty where+  type PropertyType "EnaSrdUdpEnabled" EnaSrdUdpSpecificationProperty = Value Prelude.Bool+  set newValue EnaSrdUdpSpecificationProperty {..}+    = EnaSrdUdpSpecificationProperty+        {enaSrdUdpEnabled = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/NetworkInterfaceAttachment/EnaSrdUdpSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.NetworkInterfaceAttachment.EnaSrdUdpSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EnaSrdUdpSpecificationProperty :: Prelude.Type+instance ToResourceProperties EnaSrdUdpSpecificationProperty+instance Prelude.Eq EnaSrdUdpSpecificationProperty+instance Prelude.Show EnaSrdUdpSpecificationProperty+instance JSON.ToJSON EnaSrdUdpSpecificationProperty
+ gen/Stratosphere/EC2/NetworkInterfacePermission.hs view
@@ -0,0 +1,55 @@+module Stratosphere.EC2.NetworkInterfacePermission (+        NetworkInterfacePermission(..), mkNetworkInterfacePermission+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkInterfacePermission+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html>+    NetworkInterfacePermission {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html#cfn-ec2-networkinterfacepermission-awsaccountid>+                                awsAccountId :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html#cfn-ec2-networkinterfacepermission-networkinterfaceid>+                                networkInterfaceId :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkinterfacepermission.html#cfn-ec2-networkinterfacepermission-permission>+                                permission :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterfacePermission ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> NetworkInterfacePermission+mkNetworkInterfacePermission+  awsAccountId+  networkInterfaceId+  permission+  = NetworkInterfacePermission+      {haddock_workaround_ = (), awsAccountId = awsAccountId,+       networkInterfaceId = networkInterfaceId, permission = permission}+instance ToResourceProperties NetworkInterfacePermission where+  toResourceProperties NetworkInterfacePermission {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkInterfacePermission",+         supportsTags = Prelude.False,+         properties = ["AwsAccountId" JSON..= awsAccountId,+                       "NetworkInterfaceId" JSON..= networkInterfaceId,+                       "Permission" JSON..= permission]}+instance JSON.ToJSON NetworkInterfacePermission where+  toJSON NetworkInterfacePermission {..}+    = JSON.object+        ["AwsAccountId" JSON..= awsAccountId,+         "NetworkInterfaceId" JSON..= networkInterfaceId,+         "Permission" JSON..= permission]+instance Property "AwsAccountId" NetworkInterfacePermission where+  type PropertyType "AwsAccountId" NetworkInterfacePermission = Value Prelude.Text+  set newValue NetworkInterfacePermission {..}+    = NetworkInterfacePermission {awsAccountId = newValue, ..}+instance Property "NetworkInterfaceId" NetworkInterfacePermission where+  type PropertyType "NetworkInterfaceId" NetworkInterfacePermission = Value Prelude.Text+  set newValue NetworkInterfacePermission {..}+    = NetworkInterfacePermission {networkInterfaceId = newValue, ..}+instance Property "Permission" NetworkInterfacePermission where+  type PropertyType "Permission" NetworkInterfacePermission = Value Prelude.Text+  set newValue NetworkInterfacePermission {..}+    = NetworkInterfacePermission {permission = newValue, ..}
+ gen/Stratosphere/EC2/NetworkPerformanceMetricSubscription.hs view
@@ -0,0 +1,63 @@+module Stratosphere.EC2.NetworkPerformanceMetricSubscription (+        NetworkPerformanceMetricSubscription(..),+        mkNetworkPerformanceMetricSubscription+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkPerformanceMetricSubscription+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html>+    NetworkPerformanceMetricSubscription {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html#cfn-ec2-networkperformancemetricsubscription-destination>+                                          destination :: (Value Prelude.Text),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html#cfn-ec2-networkperformancemetricsubscription-metric>+                                          metric :: (Value Prelude.Text),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html#cfn-ec2-networkperformancemetricsubscription-source>+                                          source :: (Value Prelude.Text),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-networkperformancemetricsubscription.html#cfn-ec2-networkperformancemetricsubscription-statistic>+                                          statistic :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkPerformanceMetricSubscription ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> Value Prelude.Text -> NetworkPerformanceMetricSubscription+mkNetworkPerformanceMetricSubscription+  destination+  metric+  source+  statistic+  = NetworkPerformanceMetricSubscription+      {haddock_workaround_ = (), destination = destination,+       metric = metric, source = source, statistic = statistic}+instance ToResourceProperties NetworkPerformanceMetricSubscription where+  toResourceProperties NetworkPerformanceMetricSubscription {..}+    = ResourceProperties+        {awsType = "AWS::EC2::NetworkPerformanceMetricSubscription",+         supportsTags = Prelude.False,+         properties = ["Destination" JSON..= destination,+                       "Metric" JSON..= metric, "Source" JSON..= source,+                       "Statistic" JSON..= statistic]}+instance JSON.ToJSON NetworkPerformanceMetricSubscription where+  toJSON NetworkPerformanceMetricSubscription {..}+    = JSON.object+        ["Destination" JSON..= destination, "Metric" JSON..= metric,+         "Source" JSON..= source, "Statistic" JSON..= statistic]+instance Property "Destination" NetworkPerformanceMetricSubscription where+  type PropertyType "Destination" NetworkPerformanceMetricSubscription = Value Prelude.Text+  set newValue NetworkPerformanceMetricSubscription {..}+    = NetworkPerformanceMetricSubscription {destination = newValue, ..}+instance Property "Metric" NetworkPerformanceMetricSubscription where+  type PropertyType "Metric" NetworkPerformanceMetricSubscription = Value Prelude.Text+  set newValue NetworkPerformanceMetricSubscription {..}+    = NetworkPerformanceMetricSubscription {metric = newValue, ..}+instance Property "Source" NetworkPerformanceMetricSubscription where+  type PropertyType "Source" NetworkPerformanceMetricSubscription = Value Prelude.Text+  set newValue NetworkPerformanceMetricSubscription {..}+    = NetworkPerformanceMetricSubscription {source = newValue, ..}+instance Property "Statistic" NetworkPerformanceMetricSubscription where+  type PropertyType "Statistic" NetworkPerformanceMetricSubscription = Value Prelude.Text+  set newValue NetworkPerformanceMetricSubscription {..}+    = NetworkPerformanceMetricSubscription {statistic = newValue, ..}
+ gen/Stratosphere/EC2/PlacementGroup.hs view
@@ -0,0 +1,62 @@+module Stratosphere.EC2.PlacementGroup (+        PlacementGroup(..), mkPlacementGroup+    ) 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 PlacementGroup+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html>+    PlacementGroup {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html#cfn-ec2-placementgroup-partitioncount>+                    partitionCount :: (Prelude.Maybe (Value Prelude.Integer)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html#cfn-ec2-placementgroup-spreadlevel>+                    spreadLevel :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html#cfn-ec2-placementgroup-strategy>+                    strategy :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-placementgroup.html#cfn-ec2-placementgroup-tags>+                    tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPlacementGroup :: PlacementGroup+mkPlacementGroup+  = PlacementGroup+      {haddock_workaround_ = (), partitionCount = Prelude.Nothing,+       spreadLevel = Prelude.Nothing, strategy = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties PlacementGroup where+  toResourceProperties PlacementGroup {..}+    = ResourceProperties+        {awsType = "AWS::EC2::PlacementGroup", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "PartitionCount" Prelude.<$> partitionCount,+                            (JSON..=) "SpreadLevel" Prelude.<$> spreadLevel,+                            (JSON..=) "Strategy" Prelude.<$> strategy,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON PlacementGroup where+  toJSON PlacementGroup {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "PartitionCount" Prelude.<$> partitionCount,+               (JSON..=) "SpreadLevel" Prelude.<$> spreadLevel,+               (JSON..=) "Strategy" Prelude.<$> strategy,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "PartitionCount" PlacementGroup where+  type PropertyType "PartitionCount" PlacementGroup = Value Prelude.Integer+  set newValue PlacementGroup {..}+    = PlacementGroup {partitionCount = Prelude.pure newValue, ..}+instance Property "SpreadLevel" PlacementGroup where+  type PropertyType "SpreadLevel" PlacementGroup = Value Prelude.Text+  set newValue PlacementGroup {..}+    = PlacementGroup {spreadLevel = Prelude.pure newValue, ..}+instance Property "Strategy" PlacementGroup where+  type PropertyType "Strategy" PlacementGroup = Value Prelude.Text+  set newValue PlacementGroup {..}+    = PlacementGroup {strategy = Prelude.pure newValue, ..}+instance Property "Tags" PlacementGroup where+  type PropertyType "Tags" PlacementGroup = [Tag]+  set newValue PlacementGroup {..}+    = PlacementGroup {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/PrefixList.hs view
@@ -0,0 +1,74 @@+module Stratosphere.EC2.PrefixList (+        module Exports, PrefixList(..), mkPrefixList+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.PrefixList.EntryProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data PrefixList+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html>+    PrefixList {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-addressfamily>+                addressFamily :: (Value Prelude.Text),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-entries>+                entries :: (Prelude.Maybe [EntryProperty]),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-maxentries>+                maxEntries :: (Prelude.Maybe (Value Prelude.Integer)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-prefixlistname>+                prefixListName :: (Value Prelude.Text),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-prefixlist.html#cfn-ec2-prefixlist-tags>+                tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPrefixList ::+  Value Prelude.Text -> Value Prelude.Text -> PrefixList+mkPrefixList addressFamily prefixListName+  = PrefixList+      {haddock_workaround_ = (), addressFamily = addressFamily,+       prefixListName = prefixListName, entries = Prelude.Nothing,+       maxEntries = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties PrefixList where+  toResourceProperties PrefixList {..}+    = ResourceProperties+        {awsType = "AWS::EC2::PrefixList", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AddressFamily" JSON..= addressFamily,+                            "PrefixListName" JSON..= prefixListName]+                           (Prelude.catMaybes+                              [(JSON..=) "Entries" Prelude.<$> entries,+                               (JSON..=) "MaxEntries" Prelude.<$> maxEntries,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON PrefixList where+  toJSON PrefixList {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AddressFamily" JSON..= addressFamily,+               "PrefixListName" JSON..= prefixListName]+              (Prelude.catMaybes+                 [(JSON..=) "Entries" Prelude.<$> entries,+                  (JSON..=) "MaxEntries" Prelude.<$> maxEntries,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AddressFamily" PrefixList where+  type PropertyType "AddressFamily" PrefixList = Value Prelude.Text+  set newValue PrefixList {..}+    = PrefixList {addressFamily = newValue, ..}+instance Property "Entries" PrefixList where+  type PropertyType "Entries" PrefixList = [EntryProperty]+  set newValue PrefixList {..}+    = PrefixList {entries = Prelude.pure newValue, ..}+instance Property "MaxEntries" PrefixList where+  type PropertyType "MaxEntries" PrefixList = Value Prelude.Integer+  set newValue PrefixList {..}+    = PrefixList {maxEntries = Prelude.pure newValue, ..}+instance Property "PrefixListName" PrefixList where+  type PropertyType "PrefixListName" PrefixList = Value Prelude.Text+  set newValue PrefixList {..}+    = PrefixList {prefixListName = newValue, ..}+instance Property "Tags" PrefixList where+  type PropertyType "Tags" PrefixList = [Tag]+  set newValue PrefixList {..}+    = PrefixList {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/PrefixList/EntryProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.PrefixList.EntryProperty (+        EntryProperty(..), mkEntryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EntryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-prefixlist-entry.html>+    EntryProperty {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-prefixlist-entry.html#cfn-ec2-prefixlist-entry-cidr>+                   cidr :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-prefixlist-entry.html#cfn-ec2-prefixlist-entry-description>+                   description :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEntryProperty :: Value Prelude.Text -> EntryProperty+mkEntryProperty cidr+  = EntryProperty+      {haddock_workaround_ = (), cidr = cidr,+       description = Prelude.Nothing}+instance ToResourceProperties EntryProperty where+  toResourceProperties EntryProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::PrefixList.Entry",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Cidr" JSON..= cidr]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description]))}+instance JSON.ToJSON EntryProperty where+  toJSON EntryProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Cidr" JSON..= cidr]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description])))+instance Property "Cidr" EntryProperty where+  type PropertyType "Cidr" EntryProperty = Value Prelude.Text+  set newValue EntryProperty {..}+    = EntryProperty {cidr = newValue, ..}+instance Property "Description" EntryProperty where+  type PropertyType "Description" EntryProperty = Value Prelude.Text+  set newValue EntryProperty {..}+    = EntryProperty {description = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/PrefixList/EntryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.PrefixList.EntryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EntryProperty :: Prelude.Type+instance ToResourceProperties EntryProperty+instance Prelude.Eq EntryProperty+instance Prelude.Show EntryProperty+instance JSON.ToJSON EntryProperty
+ gen/Stratosphere/EC2/Route.hs view
@@ -0,0 +1,168 @@+module Stratosphere.EC2.Route (+        Route(..), mkRoute+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Route+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html>+    Route {haddock_workaround_ :: (),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-carriergatewayid>+           carrierGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-corenetworkarn>+           coreNetworkArn :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationcidrblock>+           destinationCidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationipv6cidrblock>+           destinationIpv6CidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-destinationprefixlistid>+           destinationPrefixListId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-egressonlyinternetgatewayid>+           egressOnlyInternetGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-gatewayid>+           gatewayId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-instanceid>+           instanceId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-localgatewayid>+           localGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-natgatewayid>+           natGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-networkinterfaceid>+           networkInterfaceId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-routetableid>+           routeTableId :: (Value Prelude.Text),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-transitgatewayid>+           transitGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcendpointid>+           vpcEndpointId :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-route.html#cfn-ec2-route-vpcpeeringconnectionid>+           vpcPeeringConnectionId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRoute :: Value Prelude.Text -> Route+mkRoute routeTableId+  = Route+      {haddock_workaround_ = (), routeTableId = routeTableId,+       carrierGatewayId = Prelude.Nothing,+       coreNetworkArn = Prelude.Nothing,+       destinationCidrBlock = Prelude.Nothing,+       destinationIpv6CidrBlock = Prelude.Nothing,+       destinationPrefixListId = Prelude.Nothing,+       egressOnlyInternetGatewayId = Prelude.Nothing,+       gatewayId = Prelude.Nothing, instanceId = Prelude.Nothing,+       localGatewayId = Prelude.Nothing, natGatewayId = Prelude.Nothing,+       networkInterfaceId = Prelude.Nothing,+       transitGatewayId = Prelude.Nothing,+       vpcEndpointId = Prelude.Nothing,+       vpcPeeringConnectionId = Prelude.Nothing}+instance ToResourceProperties Route where+  toResourceProperties Route {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Route", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["RouteTableId" JSON..= routeTableId]+                           (Prelude.catMaybes+                              [(JSON..=) "CarrierGatewayId" Prelude.<$> carrierGatewayId,+                               (JSON..=) "CoreNetworkArn" Prelude.<$> coreNetworkArn,+                               (JSON..=) "DestinationCidrBlock" Prelude.<$> destinationCidrBlock,+                               (JSON..=) "DestinationIpv6CidrBlock"+                                 Prelude.<$> destinationIpv6CidrBlock,+                               (JSON..=) "DestinationPrefixListId"+                                 Prelude.<$> destinationPrefixListId,+                               (JSON..=) "EgressOnlyInternetGatewayId"+                                 Prelude.<$> egressOnlyInternetGatewayId,+                               (JSON..=) "GatewayId" Prelude.<$> gatewayId,+                               (JSON..=) "InstanceId" Prelude.<$> instanceId,+                               (JSON..=) "LocalGatewayId" Prelude.<$> localGatewayId,+                               (JSON..=) "NatGatewayId" Prelude.<$> natGatewayId,+                               (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                               (JSON..=) "TransitGatewayId" Prelude.<$> transitGatewayId,+                               (JSON..=) "VpcEndpointId" Prelude.<$> vpcEndpointId,+                               (JSON..=) "VpcPeeringConnectionId"+                                 Prelude.<$> vpcPeeringConnectionId]))}+instance JSON.ToJSON Route where+  toJSON Route {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["RouteTableId" JSON..= routeTableId]+              (Prelude.catMaybes+                 [(JSON..=) "CarrierGatewayId" Prelude.<$> carrierGatewayId,+                  (JSON..=) "CoreNetworkArn" Prelude.<$> coreNetworkArn,+                  (JSON..=) "DestinationCidrBlock" Prelude.<$> destinationCidrBlock,+                  (JSON..=) "DestinationIpv6CidrBlock"+                    Prelude.<$> destinationIpv6CidrBlock,+                  (JSON..=) "DestinationPrefixListId"+                    Prelude.<$> destinationPrefixListId,+                  (JSON..=) "EgressOnlyInternetGatewayId"+                    Prelude.<$> egressOnlyInternetGatewayId,+                  (JSON..=) "GatewayId" Prelude.<$> gatewayId,+                  (JSON..=) "InstanceId" Prelude.<$> instanceId,+                  (JSON..=) "LocalGatewayId" Prelude.<$> localGatewayId,+                  (JSON..=) "NatGatewayId" Prelude.<$> natGatewayId,+                  (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                  (JSON..=) "TransitGatewayId" Prelude.<$> transitGatewayId,+                  (JSON..=) "VpcEndpointId" Prelude.<$> vpcEndpointId,+                  (JSON..=) "VpcPeeringConnectionId"+                    Prelude.<$> vpcPeeringConnectionId])))+instance Property "CarrierGatewayId" Route where+  type PropertyType "CarrierGatewayId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {carrierGatewayId = Prelude.pure newValue, ..}+instance Property "CoreNetworkArn" Route where+  type PropertyType "CoreNetworkArn" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {coreNetworkArn = Prelude.pure newValue, ..}+instance Property "DestinationCidrBlock" Route where+  type PropertyType "DestinationCidrBlock" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {destinationCidrBlock = Prelude.pure newValue, ..}+instance Property "DestinationIpv6CidrBlock" Route where+  type PropertyType "DestinationIpv6CidrBlock" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {destinationIpv6CidrBlock = Prelude.pure newValue, ..}+instance Property "DestinationPrefixListId" Route where+  type PropertyType "DestinationPrefixListId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {destinationPrefixListId = Prelude.pure newValue, ..}+instance Property "EgressOnlyInternetGatewayId" Route where+  type PropertyType "EgressOnlyInternetGatewayId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {egressOnlyInternetGatewayId = Prelude.pure newValue, ..}+instance Property "GatewayId" Route where+  type PropertyType "GatewayId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {gatewayId = Prelude.pure newValue, ..}+instance Property "InstanceId" Route where+  type PropertyType "InstanceId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {instanceId = Prelude.pure newValue, ..}+instance Property "LocalGatewayId" Route where+  type PropertyType "LocalGatewayId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {localGatewayId = Prelude.pure newValue, ..}+instance Property "NatGatewayId" Route where+  type PropertyType "NatGatewayId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {natGatewayId = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceId" Route where+  type PropertyType "NetworkInterfaceId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {networkInterfaceId = Prelude.pure newValue, ..}+instance Property "RouteTableId" Route where+  type PropertyType "RouteTableId" Route = Value Prelude.Text+  set newValue Route {..} = Route {routeTableId = newValue, ..}+instance Property "TransitGatewayId" Route where+  type PropertyType "TransitGatewayId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {transitGatewayId = Prelude.pure newValue, ..}+instance Property "VpcEndpointId" Route where+  type PropertyType "VpcEndpointId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {vpcEndpointId = Prelude.pure newValue, ..}+instance Property "VpcPeeringConnectionId" Route where+  type PropertyType "VpcPeeringConnectionId" Route = Value Prelude.Text+  set newValue Route {..}+    = Route {vpcPeeringConnectionId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/RouteServer.hs view
@@ -0,0 +1,77 @@+module Stratosphere.EC2.RouteServer (+        RouteServer(..), mkRouteServer+    ) 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 RouteServer+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html>+    RouteServer {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-amazonsideasn>+                 amazonSideAsn :: (Value Prelude.Integer),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-persistroutes>+                 persistRoutes :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-persistroutesduration>+                 persistRoutesDuration :: (Prelude.Maybe (Value Prelude.Integer)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-snsnotificationsenabled>+                 snsNotificationsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserver.html#cfn-ec2-routeserver-tags>+                 tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRouteServer :: Value Prelude.Integer -> RouteServer+mkRouteServer amazonSideAsn+  = RouteServer+      {haddock_workaround_ = (), amazonSideAsn = amazonSideAsn,+       persistRoutes = Prelude.Nothing,+       persistRoutesDuration = Prelude.Nothing,+       snsNotificationsEnabled = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties RouteServer where+  toResourceProperties RouteServer {..}+    = ResourceProperties+        {awsType = "AWS::EC2::RouteServer", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AmazonSideAsn" JSON..= amazonSideAsn]+                           (Prelude.catMaybes+                              [(JSON..=) "PersistRoutes" Prelude.<$> persistRoutes,+                               (JSON..=) "PersistRoutesDuration"+                                 Prelude.<$> persistRoutesDuration,+                               (JSON..=) "SnsNotificationsEnabled"+                                 Prelude.<$> snsNotificationsEnabled,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON RouteServer where+  toJSON RouteServer {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AmazonSideAsn" JSON..= amazonSideAsn]+              (Prelude.catMaybes+                 [(JSON..=) "PersistRoutes" Prelude.<$> persistRoutes,+                  (JSON..=) "PersistRoutesDuration"+                    Prelude.<$> persistRoutesDuration,+                  (JSON..=) "SnsNotificationsEnabled"+                    Prelude.<$> snsNotificationsEnabled,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AmazonSideAsn" RouteServer where+  type PropertyType "AmazonSideAsn" RouteServer = Value Prelude.Integer+  set newValue RouteServer {..}+    = RouteServer {amazonSideAsn = newValue, ..}+instance Property "PersistRoutes" RouteServer where+  type PropertyType "PersistRoutes" RouteServer = Value Prelude.Text+  set newValue RouteServer {..}+    = RouteServer {persistRoutes = Prelude.pure newValue, ..}+instance Property "PersistRoutesDuration" RouteServer where+  type PropertyType "PersistRoutesDuration" RouteServer = Value Prelude.Integer+  set newValue RouteServer {..}+    = RouteServer {persistRoutesDuration = Prelude.pure newValue, ..}+instance Property "SnsNotificationsEnabled" RouteServer where+  type PropertyType "SnsNotificationsEnabled" RouteServer = Value Prelude.Bool+  set newValue RouteServer {..}+    = RouteServer {snsNotificationsEnabled = Prelude.pure newValue, ..}+instance Property "Tags" RouteServer where+  type PropertyType "Tags" RouteServer = [Tag]+  set newValue RouteServer {..}+    = RouteServer {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/RouteServerAssociation.hs view
@@ -0,0 +1,41 @@+module Stratosphere.EC2.RouteServerAssociation (+        RouteServerAssociation(..), mkRouteServerAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RouteServerAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverassociation.html>+    RouteServerAssociation {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverassociation.html#cfn-ec2-routeserverassociation-routeserverid>+                            routeServerId :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverassociation.html#cfn-ec2-routeserverassociation-vpcid>+                            vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRouteServerAssociation ::+  Value Prelude.Text -> Value Prelude.Text -> RouteServerAssociation+mkRouteServerAssociation routeServerId vpcId+  = RouteServerAssociation+      {haddock_workaround_ = (), routeServerId = routeServerId,+       vpcId = vpcId}+instance ToResourceProperties RouteServerAssociation where+  toResourceProperties RouteServerAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::RouteServerAssociation",+         supportsTags = Prelude.False,+         properties = ["RouteServerId" JSON..= routeServerId,+                       "VpcId" JSON..= vpcId]}+instance JSON.ToJSON RouteServerAssociation where+  toJSON RouteServerAssociation {..}+    = JSON.object+        ["RouteServerId" JSON..= routeServerId, "VpcId" JSON..= vpcId]+instance Property "RouteServerId" RouteServerAssociation where+  type PropertyType "RouteServerId" RouteServerAssociation = Value Prelude.Text+  set newValue RouteServerAssociation {..}+    = RouteServerAssociation {routeServerId = newValue, ..}+instance Property "VpcId" RouteServerAssociation where+  type PropertyType "VpcId" RouteServerAssociation = Value Prelude.Text+  set newValue RouteServerAssociation {..}+    = RouteServerAssociation {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/RouteServerEndpoint.hs view
@@ -0,0 +1,55 @@+module Stratosphere.EC2.RouteServerEndpoint (+        RouteServerEndpoint(..), mkRouteServerEndpoint+    ) 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 RouteServerEndpoint+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverendpoint.html>+    RouteServerEndpoint {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverendpoint.html#cfn-ec2-routeserverendpoint-routeserverid>+                         routeServerId :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverendpoint.html#cfn-ec2-routeserverendpoint-subnetid>+                         subnetId :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverendpoint.html#cfn-ec2-routeserverendpoint-tags>+                         tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRouteServerEndpoint ::+  Value Prelude.Text -> Value Prelude.Text -> RouteServerEndpoint+mkRouteServerEndpoint routeServerId subnetId+  = RouteServerEndpoint+      {haddock_workaround_ = (), routeServerId = routeServerId,+       subnetId = subnetId, tags = Prelude.Nothing}+instance ToResourceProperties RouteServerEndpoint where+  toResourceProperties RouteServerEndpoint {..}+    = ResourceProperties+        {awsType = "AWS::EC2::RouteServerEndpoint",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["RouteServerId" JSON..= routeServerId,+                            "SubnetId" JSON..= subnetId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON RouteServerEndpoint where+  toJSON RouteServerEndpoint {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["RouteServerId" JSON..= routeServerId,+               "SubnetId" JSON..= subnetId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "RouteServerId" RouteServerEndpoint where+  type PropertyType "RouteServerId" RouteServerEndpoint = Value Prelude.Text+  set newValue RouteServerEndpoint {..}+    = RouteServerEndpoint {routeServerId = newValue, ..}+instance Property "SubnetId" RouteServerEndpoint where+  type PropertyType "SubnetId" RouteServerEndpoint = Value Prelude.Text+  set newValue RouteServerEndpoint {..}+    = RouteServerEndpoint {subnetId = newValue, ..}+instance Property "Tags" RouteServerEndpoint where+  type PropertyType "Tags" RouteServerEndpoint = [Tag]+  set newValue RouteServerEndpoint {..}+    = RouteServerEndpoint {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/RouteServerPeer.hs view
@@ -0,0 +1,67 @@+module Stratosphere.EC2.RouteServerPeer (+        module Exports, RouteServerPeer(..), mkRouteServerPeer+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.RouteServerPeer.BgpOptionsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data RouteServerPeer+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html>+    RouteServerPeer {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html#cfn-ec2-routeserverpeer-bgpoptions>+                     bgpOptions :: BgpOptionsProperty,+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html#cfn-ec2-routeserverpeer-peeraddress>+                     peerAddress :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html#cfn-ec2-routeserverpeer-routeserverendpointid>+                     routeServerEndpointId :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpeer.html#cfn-ec2-routeserverpeer-tags>+                     tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRouteServerPeer ::+  BgpOptionsProperty+  -> Value Prelude.Text -> Value Prelude.Text -> RouteServerPeer+mkRouteServerPeer bgpOptions peerAddress routeServerEndpointId+  = RouteServerPeer+      {haddock_workaround_ = (), bgpOptions = bgpOptions,+       peerAddress = peerAddress,+       routeServerEndpointId = routeServerEndpointId,+       tags = Prelude.Nothing}+instance ToResourceProperties RouteServerPeer where+  toResourceProperties RouteServerPeer {..}+    = ResourceProperties+        {awsType = "AWS::EC2::RouteServerPeer",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["BgpOptions" JSON..= bgpOptions,+                            "PeerAddress" JSON..= peerAddress,+                            "RouteServerEndpointId" JSON..= routeServerEndpointId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON RouteServerPeer where+  toJSON RouteServerPeer {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["BgpOptions" JSON..= bgpOptions,+               "PeerAddress" JSON..= peerAddress,+               "RouteServerEndpointId" JSON..= routeServerEndpointId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "BgpOptions" RouteServerPeer where+  type PropertyType "BgpOptions" RouteServerPeer = BgpOptionsProperty+  set newValue RouteServerPeer {..}+    = RouteServerPeer {bgpOptions = newValue, ..}+instance Property "PeerAddress" RouteServerPeer where+  type PropertyType "PeerAddress" RouteServerPeer = Value Prelude.Text+  set newValue RouteServerPeer {..}+    = RouteServerPeer {peerAddress = newValue, ..}+instance Property "RouteServerEndpointId" RouteServerPeer where+  type PropertyType "RouteServerEndpointId" RouteServerPeer = Value Prelude.Text+  set newValue RouteServerPeer {..}+    = RouteServerPeer {routeServerEndpointId = newValue, ..}+instance Property "Tags" RouteServerPeer where+  type PropertyType "Tags" RouteServerPeer = [Tag]+  set newValue RouteServerPeer {..}+    = RouteServerPeer {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/RouteServerPeer/BgpOptionsProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.EC2.RouteServerPeer.BgpOptionsProperty (+        BgpOptionsProperty(..), mkBgpOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BgpOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-routeserverpeer-bgpoptions.html>+    BgpOptionsProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-routeserverpeer-bgpoptions.html#cfn-ec2-routeserverpeer-bgpoptions-peerasn>+                        peerAsn :: (Prelude.Maybe (Value Prelude.Integer)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-routeserverpeer-bgpoptions.html#cfn-ec2-routeserverpeer-bgpoptions-peerlivenessdetection>+                        peerLivenessDetection :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBgpOptionsProperty :: BgpOptionsProperty+mkBgpOptionsProperty+  = BgpOptionsProperty+      {haddock_workaround_ = (), peerAsn = Prelude.Nothing,+       peerLivenessDetection = Prelude.Nothing}+instance ToResourceProperties BgpOptionsProperty where+  toResourceProperties BgpOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::RouteServerPeer.BgpOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "PeerAsn" Prelude.<$> peerAsn,+                            (JSON..=) "PeerLivenessDetection"+                              Prelude.<$> peerLivenessDetection])}+instance JSON.ToJSON BgpOptionsProperty where+  toJSON BgpOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "PeerAsn" Prelude.<$> peerAsn,+               (JSON..=) "PeerLivenessDetection"+                 Prelude.<$> peerLivenessDetection]))+instance Property "PeerAsn" BgpOptionsProperty where+  type PropertyType "PeerAsn" BgpOptionsProperty = Value Prelude.Integer+  set newValue BgpOptionsProperty {..}+    = BgpOptionsProperty {peerAsn = Prelude.pure newValue, ..}+instance Property "PeerLivenessDetection" BgpOptionsProperty where+  type PropertyType "PeerLivenessDetection" BgpOptionsProperty = Value Prelude.Text+  set newValue BgpOptionsProperty {..}+    = BgpOptionsProperty+        {peerLivenessDetection = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/RouteServerPeer/BgpOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.RouteServerPeer.BgpOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BgpOptionsProperty :: Prelude.Type+instance ToResourceProperties BgpOptionsProperty+instance Prelude.Eq BgpOptionsProperty+instance Prelude.Show BgpOptionsProperty+instance JSON.ToJSON BgpOptionsProperty
+ gen/Stratosphere/EC2/RouteServerPropagation.hs view
@@ -0,0 +1,42 @@+module Stratosphere.EC2.RouteServerPropagation (+        RouteServerPropagation(..), mkRouteServerPropagation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RouteServerPropagation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpropagation.html>+    RouteServerPropagation {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpropagation.html#cfn-ec2-routeserverpropagation-routeserverid>+                            routeServerId :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routeserverpropagation.html#cfn-ec2-routeserverpropagation-routetableid>+                            routeTableId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRouteServerPropagation ::+  Value Prelude.Text -> Value Prelude.Text -> RouteServerPropagation+mkRouteServerPropagation routeServerId routeTableId+  = RouteServerPropagation+      {haddock_workaround_ = (), routeServerId = routeServerId,+       routeTableId = routeTableId}+instance ToResourceProperties RouteServerPropagation where+  toResourceProperties RouteServerPropagation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::RouteServerPropagation",+         supportsTags = Prelude.False,+         properties = ["RouteServerId" JSON..= routeServerId,+                       "RouteTableId" JSON..= routeTableId]}+instance JSON.ToJSON RouteServerPropagation where+  toJSON RouteServerPropagation {..}+    = JSON.object+        ["RouteServerId" JSON..= routeServerId,+         "RouteTableId" JSON..= routeTableId]+instance Property "RouteServerId" RouteServerPropagation where+  type PropertyType "RouteServerId" RouteServerPropagation = Value Prelude.Text+  set newValue RouteServerPropagation {..}+    = RouteServerPropagation {routeServerId = newValue, ..}+instance Property "RouteTableId" RouteServerPropagation where+  type PropertyType "RouteTableId" RouteServerPropagation = Value Prelude.Text+  set newValue RouteServerPropagation {..}+    = RouteServerPropagation {routeTableId = newValue, ..}
+ gen/Stratosphere/EC2/RouteTable.hs view
@@ -0,0 +1,43 @@+module Stratosphere.EC2.RouteTable (+        RouteTable(..), mkRouteTable+    ) 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 RouteTable+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html>+    RouteTable {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html#cfn-ec2-routetable-tags>+                tags :: (Prelude.Maybe [Tag]),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-routetable.html#cfn-ec2-routetable-vpcid>+                vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRouteTable :: Value Prelude.Text -> RouteTable+mkRouteTable vpcId+  = RouteTable+      {haddock_workaround_ = (), vpcId = vpcId, tags = Prelude.Nothing}+instance ToResourceProperties RouteTable where+  toResourceProperties RouteTable {..}+    = ResourceProperties+        {awsType = "AWS::EC2::RouteTable", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcId" JSON..= vpcId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON RouteTable where+  toJSON RouteTable {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcId" JSON..= vpcId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Tags" RouteTable where+  type PropertyType "Tags" RouteTable = [Tag]+  set newValue RouteTable {..}+    = RouteTable {tags = Prelude.pure newValue, ..}+instance Property "VpcId" RouteTable where+  type PropertyType "VpcId" RouteTable = Value Prelude.Text+  set newValue RouteTable {..} = RouteTable {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/SecurityGroup.hs view
@@ -0,0 +1,83 @@+module Stratosphere.EC2.SecurityGroup (+        module Exports, SecurityGroup(..), mkSecurityGroup+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SecurityGroup.EgressProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SecurityGroup.IngressProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data SecurityGroup+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html>+    SecurityGroup {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html#cfn-ec2-securitygroup-groupdescription>+                   groupDescription :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html#cfn-ec2-securitygroup-groupname>+                   groupName :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html#cfn-ec2-securitygroup-securitygroupegress>+                   securityGroupEgress :: (Prelude.Maybe [EgressProperty]),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html#cfn-ec2-securitygroup-securitygroupingress>+                   securityGroupIngress :: (Prelude.Maybe [IngressProperty]),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html#cfn-ec2-securitygroup-tags>+                   tags :: (Prelude.Maybe [Tag]),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroup.html#cfn-ec2-securitygroup-vpcid>+                   vpcId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSecurityGroup :: Value Prelude.Text -> SecurityGroup+mkSecurityGroup groupDescription+  = SecurityGroup+      {haddock_workaround_ = (), groupDescription = groupDescription,+       groupName = Prelude.Nothing, securityGroupEgress = Prelude.Nothing,+       securityGroupIngress = Prelude.Nothing, tags = Prelude.Nothing,+       vpcId = Prelude.Nothing}+instance ToResourceProperties SecurityGroup where+  toResourceProperties SecurityGroup {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SecurityGroup", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["GroupDescription" JSON..= groupDescription]+                           (Prelude.catMaybes+                              [(JSON..=) "GroupName" Prelude.<$> groupName,+                               (JSON..=) "SecurityGroupEgress" Prelude.<$> securityGroupEgress,+                               (JSON..=) "SecurityGroupIngress" Prelude.<$> securityGroupIngress,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "VpcId" Prelude.<$> vpcId]))}+instance JSON.ToJSON SecurityGroup where+  toJSON SecurityGroup {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["GroupDescription" JSON..= groupDescription]+              (Prelude.catMaybes+                 [(JSON..=) "GroupName" Prelude.<$> groupName,+                  (JSON..=) "SecurityGroupEgress" Prelude.<$> securityGroupEgress,+                  (JSON..=) "SecurityGroupIngress" Prelude.<$> securityGroupIngress,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "VpcId" Prelude.<$> vpcId])))+instance Property "GroupDescription" SecurityGroup where+  type PropertyType "GroupDescription" SecurityGroup = Value Prelude.Text+  set newValue SecurityGroup {..}+    = SecurityGroup {groupDescription = newValue, ..}+instance Property "GroupName" SecurityGroup where+  type PropertyType "GroupName" SecurityGroup = Value Prelude.Text+  set newValue SecurityGroup {..}+    = SecurityGroup {groupName = Prelude.pure newValue, ..}+instance Property "SecurityGroupEgress" SecurityGroup where+  type PropertyType "SecurityGroupEgress" SecurityGroup = [EgressProperty]+  set newValue SecurityGroup {..}+    = SecurityGroup {securityGroupEgress = Prelude.pure newValue, ..}+instance Property "SecurityGroupIngress" SecurityGroup where+  type PropertyType "SecurityGroupIngress" SecurityGroup = [IngressProperty]+  set newValue SecurityGroup {..}+    = SecurityGroup {securityGroupIngress = Prelude.pure newValue, ..}+instance Property "Tags" SecurityGroup where+  type PropertyType "Tags" SecurityGroup = [Tag]+  set newValue SecurityGroup {..}+    = SecurityGroup {tags = Prelude.pure newValue, ..}+instance Property "VpcId" SecurityGroup where+  type PropertyType "VpcId" SecurityGroup = Value Prelude.Text+  set newValue SecurityGroup {..}+    = SecurityGroup {vpcId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SecurityGroup/EgressProperty.hs view
@@ -0,0 +1,105 @@+module Stratosphere.EC2.SecurityGroup.EgressProperty (+        EgressProperty(..), mkEgressProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EgressProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html>+    EgressProperty {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-cidrip>+                    cidrIp :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-cidripv6>+                    cidrIpv6 :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-description>+                    description :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-destinationprefixlistid>+                    destinationPrefixListId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-destinationsecuritygroupid>+                    destinationSecurityGroupId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-fromport>+                    fromPort :: (Prelude.Maybe (Value Prelude.Integer)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-ipprotocol>+                    ipProtocol :: (Value Prelude.Text),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-egress.html#cfn-ec2-securitygroup-egress-toport>+                    toPort :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEgressProperty :: Value Prelude.Text -> EgressProperty+mkEgressProperty ipProtocol+  = EgressProperty+      {haddock_workaround_ = (), ipProtocol = ipProtocol,+       cidrIp = Prelude.Nothing, cidrIpv6 = Prelude.Nothing,+       description = Prelude.Nothing,+       destinationPrefixListId = Prelude.Nothing,+       destinationSecurityGroupId = Prelude.Nothing,+       fromPort = Prelude.Nothing, toPort = Prelude.Nothing}+instance ToResourceProperties EgressProperty where+  toResourceProperties EgressProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SecurityGroup.Egress",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IpProtocol" JSON..= ipProtocol]+                           (Prelude.catMaybes+                              [(JSON..=) "CidrIp" Prelude.<$> cidrIp,+                               (JSON..=) "CidrIpv6" Prelude.<$> cidrIpv6,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DestinationPrefixListId"+                                 Prelude.<$> destinationPrefixListId,+                               (JSON..=) "DestinationSecurityGroupId"+                                 Prelude.<$> destinationSecurityGroupId,+                               (JSON..=) "FromPort" Prelude.<$> fromPort,+                               (JSON..=) "ToPort" Prelude.<$> toPort]))}+instance JSON.ToJSON EgressProperty where+  toJSON EgressProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IpProtocol" JSON..= ipProtocol]+              (Prelude.catMaybes+                 [(JSON..=) "CidrIp" Prelude.<$> cidrIp,+                  (JSON..=) "CidrIpv6" Prelude.<$> cidrIpv6,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DestinationPrefixListId"+                    Prelude.<$> destinationPrefixListId,+                  (JSON..=) "DestinationSecurityGroupId"+                    Prelude.<$> destinationSecurityGroupId,+                  (JSON..=) "FromPort" Prelude.<$> fromPort,+                  (JSON..=) "ToPort" Prelude.<$> toPort])))+instance Property "CidrIp" EgressProperty where+  type PropertyType "CidrIp" EgressProperty = Value Prelude.Text+  set newValue EgressProperty {..}+    = EgressProperty {cidrIp = Prelude.pure newValue, ..}+instance Property "CidrIpv6" EgressProperty where+  type PropertyType "CidrIpv6" EgressProperty = Value Prelude.Text+  set newValue EgressProperty {..}+    = EgressProperty {cidrIpv6 = Prelude.pure newValue, ..}+instance Property "Description" EgressProperty where+  type PropertyType "Description" EgressProperty = Value Prelude.Text+  set newValue EgressProperty {..}+    = EgressProperty {description = Prelude.pure newValue, ..}+instance Property "DestinationPrefixListId" EgressProperty where+  type PropertyType "DestinationPrefixListId" EgressProperty = Value Prelude.Text+  set newValue EgressProperty {..}+    = EgressProperty+        {destinationPrefixListId = Prelude.pure newValue, ..}+instance Property "DestinationSecurityGroupId" EgressProperty where+  type PropertyType "DestinationSecurityGroupId" EgressProperty = Value Prelude.Text+  set newValue EgressProperty {..}+    = EgressProperty+        {destinationSecurityGroupId = Prelude.pure newValue, ..}+instance Property "FromPort" EgressProperty where+  type PropertyType "FromPort" EgressProperty = Value Prelude.Integer+  set newValue EgressProperty {..}+    = EgressProperty {fromPort = Prelude.pure newValue, ..}+instance Property "IpProtocol" EgressProperty where+  type PropertyType "IpProtocol" EgressProperty = Value Prelude.Text+  set newValue EgressProperty {..}+    = EgressProperty {ipProtocol = newValue, ..}+instance Property "ToPort" EgressProperty where+  type PropertyType "ToPort" EgressProperty = Value Prelude.Integer+  set newValue EgressProperty {..}+    = EgressProperty {toPort = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SecurityGroup/EgressProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SecurityGroup.EgressProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EgressProperty :: Prelude.Type+instance ToResourceProperties EgressProperty+instance Prelude.Eq EgressProperty+instance Prelude.Show EgressProperty+instance JSON.ToJSON EgressProperty
+ gen/Stratosphere/EC2/SecurityGroup/IngressProperty.hs view
@@ -0,0 +1,126 @@+module Stratosphere.EC2.SecurityGroup.IngressProperty (+        IngressProperty(..), mkIngressProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IngressProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html>+    IngressProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-cidrip>+                     cidrIp :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-cidripv6>+                     cidrIpv6 :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-description>+                     description :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-fromport>+                     fromPort :: (Prelude.Maybe (Value Prelude.Integer)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-ipprotocol>+                     ipProtocol :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-sourceprefixlistid>+                     sourcePrefixListId :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-sourcesecuritygroupid>+                     sourceSecurityGroupId :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-sourcesecuritygroupname>+                     sourceSecurityGroupName :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-sourcesecuritygroupownerid>+                     sourceSecurityGroupOwnerId :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-securitygroup-ingress.html#cfn-ec2-securitygroup-ingress-toport>+                     toPort :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIngressProperty :: Value Prelude.Text -> IngressProperty+mkIngressProperty ipProtocol+  = IngressProperty+      {haddock_workaround_ = (), ipProtocol = ipProtocol,+       cidrIp = Prelude.Nothing, cidrIpv6 = Prelude.Nothing,+       description = Prelude.Nothing, fromPort = Prelude.Nothing,+       sourcePrefixListId = Prelude.Nothing,+       sourceSecurityGroupId = Prelude.Nothing,+       sourceSecurityGroupName = Prelude.Nothing,+       sourceSecurityGroupOwnerId = Prelude.Nothing,+       toPort = Prelude.Nothing}+instance ToResourceProperties IngressProperty where+  toResourceProperties IngressProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SecurityGroup.Ingress",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IpProtocol" JSON..= ipProtocol]+                           (Prelude.catMaybes+                              [(JSON..=) "CidrIp" Prelude.<$> cidrIp,+                               (JSON..=) "CidrIpv6" Prelude.<$> cidrIpv6,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "FromPort" Prelude.<$> fromPort,+                               (JSON..=) "SourcePrefixListId" Prelude.<$> sourcePrefixListId,+                               (JSON..=) "SourceSecurityGroupId"+                                 Prelude.<$> sourceSecurityGroupId,+                               (JSON..=) "SourceSecurityGroupName"+                                 Prelude.<$> sourceSecurityGroupName,+                               (JSON..=) "SourceSecurityGroupOwnerId"+                                 Prelude.<$> sourceSecurityGroupOwnerId,+                               (JSON..=) "ToPort" Prelude.<$> toPort]))}+instance JSON.ToJSON IngressProperty where+  toJSON IngressProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IpProtocol" JSON..= ipProtocol]+              (Prelude.catMaybes+                 [(JSON..=) "CidrIp" Prelude.<$> cidrIp,+                  (JSON..=) "CidrIpv6" Prelude.<$> cidrIpv6,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "FromPort" Prelude.<$> fromPort,+                  (JSON..=) "SourcePrefixListId" Prelude.<$> sourcePrefixListId,+                  (JSON..=) "SourceSecurityGroupId"+                    Prelude.<$> sourceSecurityGroupId,+                  (JSON..=) "SourceSecurityGroupName"+                    Prelude.<$> sourceSecurityGroupName,+                  (JSON..=) "SourceSecurityGroupOwnerId"+                    Prelude.<$> sourceSecurityGroupOwnerId,+                  (JSON..=) "ToPort" Prelude.<$> toPort])))+instance Property "CidrIp" IngressProperty where+  type PropertyType "CidrIp" IngressProperty = Value Prelude.Text+  set newValue IngressProperty {..}+    = IngressProperty {cidrIp = Prelude.pure newValue, ..}+instance Property "CidrIpv6" IngressProperty where+  type PropertyType "CidrIpv6" IngressProperty = Value Prelude.Text+  set newValue IngressProperty {..}+    = IngressProperty {cidrIpv6 = Prelude.pure newValue, ..}+instance Property "Description" IngressProperty where+  type PropertyType "Description" IngressProperty = Value Prelude.Text+  set newValue IngressProperty {..}+    = IngressProperty {description = Prelude.pure newValue, ..}+instance Property "FromPort" IngressProperty where+  type PropertyType "FromPort" IngressProperty = Value Prelude.Integer+  set newValue IngressProperty {..}+    = IngressProperty {fromPort = Prelude.pure newValue, ..}+instance Property "IpProtocol" IngressProperty where+  type PropertyType "IpProtocol" IngressProperty = Value Prelude.Text+  set newValue IngressProperty {..}+    = IngressProperty {ipProtocol = newValue, ..}+instance Property "SourcePrefixListId" IngressProperty where+  type PropertyType "SourcePrefixListId" IngressProperty = Value Prelude.Text+  set newValue IngressProperty {..}+    = IngressProperty {sourcePrefixListId = Prelude.pure newValue, ..}+instance Property "SourceSecurityGroupId" IngressProperty where+  type PropertyType "SourceSecurityGroupId" IngressProperty = Value Prelude.Text+  set newValue IngressProperty {..}+    = IngressProperty+        {sourceSecurityGroupId = Prelude.pure newValue, ..}+instance Property "SourceSecurityGroupName" IngressProperty where+  type PropertyType "SourceSecurityGroupName" IngressProperty = Value Prelude.Text+  set newValue IngressProperty {..}+    = IngressProperty+        {sourceSecurityGroupName = Prelude.pure newValue, ..}+instance Property "SourceSecurityGroupOwnerId" IngressProperty where+  type PropertyType "SourceSecurityGroupOwnerId" IngressProperty = Value Prelude.Text+  set newValue IngressProperty {..}+    = IngressProperty+        {sourceSecurityGroupOwnerId = Prelude.pure newValue, ..}+instance Property "ToPort" IngressProperty where+  type PropertyType "ToPort" IngressProperty = Value Prelude.Integer+  set newValue IngressProperty {..}+    = IngressProperty {toPort = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SecurityGroup/IngressProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SecurityGroup.IngressProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IngressProperty :: Prelude.Type+instance ToResourceProperties IngressProperty+instance Prelude.Eq IngressProperty+instance Prelude.Show IngressProperty+instance JSON.ToJSON IngressProperty
+ gen/Stratosphere/EC2/SecurityGroupEgress.hs view
@@ -0,0 +1,112 @@+module Stratosphere.EC2.SecurityGroupEgress (+        SecurityGroupEgress(..), mkSecurityGroupEgress+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SecurityGroupEgress+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html>+    SecurityGroupEgress {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-cidrip>+                         cidrIp :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-cidripv6>+                         cidrIpv6 :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-description>+                         description :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-destinationprefixlistid>+                         destinationPrefixListId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-destinationsecuritygroupid>+                         destinationSecurityGroupId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-fromport>+                         fromPort :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-groupid>+                         groupId :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-ipprotocol>+                         ipProtocol :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupegress.html#cfn-ec2-securitygroupegress-toport>+                         toPort :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSecurityGroupEgress ::+  Value Prelude.Text -> Value Prelude.Text -> SecurityGroupEgress+mkSecurityGroupEgress groupId ipProtocol+  = SecurityGroupEgress+      {haddock_workaround_ = (), groupId = groupId,+       ipProtocol = ipProtocol, cidrIp = Prelude.Nothing,+       cidrIpv6 = Prelude.Nothing, description = Prelude.Nothing,+       destinationPrefixListId = Prelude.Nothing,+       destinationSecurityGroupId = Prelude.Nothing,+       fromPort = Prelude.Nothing, toPort = Prelude.Nothing}+instance ToResourceProperties SecurityGroupEgress where+  toResourceProperties SecurityGroupEgress {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SecurityGroupEgress",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["GroupId" JSON..= groupId, "IpProtocol" JSON..= ipProtocol]+                           (Prelude.catMaybes+                              [(JSON..=) "CidrIp" Prelude.<$> cidrIp,+                               (JSON..=) "CidrIpv6" Prelude.<$> cidrIpv6,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DestinationPrefixListId"+                                 Prelude.<$> destinationPrefixListId,+                               (JSON..=) "DestinationSecurityGroupId"+                                 Prelude.<$> destinationSecurityGroupId,+                               (JSON..=) "FromPort" Prelude.<$> fromPort,+                               (JSON..=) "ToPort" Prelude.<$> toPort]))}+instance JSON.ToJSON SecurityGroupEgress where+  toJSON SecurityGroupEgress {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["GroupId" JSON..= groupId, "IpProtocol" JSON..= ipProtocol]+              (Prelude.catMaybes+                 [(JSON..=) "CidrIp" Prelude.<$> cidrIp,+                  (JSON..=) "CidrIpv6" Prelude.<$> cidrIpv6,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DestinationPrefixListId"+                    Prelude.<$> destinationPrefixListId,+                  (JSON..=) "DestinationSecurityGroupId"+                    Prelude.<$> destinationSecurityGroupId,+                  (JSON..=) "FromPort" Prelude.<$> fromPort,+                  (JSON..=) "ToPort" Prelude.<$> toPort])))+instance Property "CidrIp" SecurityGroupEgress where+  type PropertyType "CidrIp" SecurityGroupEgress = Value Prelude.Text+  set newValue SecurityGroupEgress {..}+    = SecurityGroupEgress {cidrIp = Prelude.pure newValue, ..}+instance Property "CidrIpv6" SecurityGroupEgress where+  type PropertyType "CidrIpv6" SecurityGroupEgress = Value Prelude.Text+  set newValue SecurityGroupEgress {..}+    = SecurityGroupEgress {cidrIpv6 = Prelude.pure newValue, ..}+instance Property "Description" SecurityGroupEgress where+  type PropertyType "Description" SecurityGroupEgress = Value Prelude.Text+  set newValue SecurityGroupEgress {..}+    = SecurityGroupEgress {description = Prelude.pure newValue, ..}+instance Property "DestinationPrefixListId" SecurityGroupEgress where+  type PropertyType "DestinationPrefixListId" SecurityGroupEgress = Value Prelude.Text+  set newValue SecurityGroupEgress {..}+    = SecurityGroupEgress+        {destinationPrefixListId = Prelude.pure newValue, ..}+instance Property "DestinationSecurityGroupId" SecurityGroupEgress where+  type PropertyType "DestinationSecurityGroupId" SecurityGroupEgress = Value Prelude.Text+  set newValue SecurityGroupEgress {..}+    = SecurityGroupEgress+        {destinationSecurityGroupId = Prelude.pure newValue, ..}+instance Property "FromPort" SecurityGroupEgress where+  type PropertyType "FromPort" SecurityGroupEgress = Value Prelude.Integer+  set newValue SecurityGroupEgress {..}+    = SecurityGroupEgress {fromPort = Prelude.pure newValue, ..}+instance Property "GroupId" SecurityGroupEgress where+  type PropertyType "GroupId" SecurityGroupEgress = Value Prelude.Text+  set newValue SecurityGroupEgress {..}+    = SecurityGroupEgress {groupId = newValue, ..}+instance Property "IpProtocol" SecurityGroupEgress where+  type PropertyType "IpProtocol" SecurityGroupEgress = Value Prelude.Text+  set newValue SecurityGroupEgress {..}+    = SecurityGroupEgress {ipProtocol = newValue, ..}+instance Property "ToPort" SecurityGroupEgress where+  type PropertyType "ToPort" SecurityGroupEgress = Value Prelude.Integer+  set newValue SecurityGroupEgress {..}+    = SecurityGroupEgress {toPort = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SecurityGroupIngress.hs view
@@ -0,0 +1,145 @@+module Stratosphere.EC2.SecurityGroupIngress (+        SecurityGroupIngress(..), mkSecurityGroupIngress+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SecurityGroupIngress+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html>+    SecurityGroupIngress {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-cidrip>+                          cidrIp :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-cidripv6>+                          cidrIpv6 :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-description>+                          description :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-fromport>+                          fromPort :: (Prelude.Maybe (Value Prelude.Integer)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-groupid>+                          groupId :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-groupname>+                          groupName :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-ipprotocol>+                          ipProtocol :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-sourceprefixlistid>+                          sourcePrefixListId :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-sourcesecuritygroupid>+                          sourceSecurityGroupId :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-sourcesecuritygroupname>+                          sourceSecurityGroupName :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-sourcesecuritygroupownerid>+                          sourceSecurityGroupOwnerId :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupingress.html#cfn-ec2-securitygroupingress-toport>+                          toPort :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSecurityGroupIngress ::+  Value Prelude.Text -> SecurityGroupIngress+mkSecurityGroupIngress ipProtocol+  = SecurityGroupIngress+      {haddock_workaround_ = (), ipProtocol = ipProtocol,+       cidrIp = Prelude.Nothing, cidrIpv6 = Prelude.Nothing,+       description = Prelude.Nothing, fromPort = Prelude.Nothing,+       groupId = Prelude.Nothing, groupName = Prelude.Nothing,+       sourcePrefixListId = Prelude.Nothing,+       sourceSecurityGroupId = Prelude.Nothing,+       sourceSecurityGroupName = Prelude.Nothing,+       sourceSecurityGroupOwnerId = Prelude.Nothing,+       toPort = Prelude.Nothing}+instance ToResourceProperties SecurityGroupIngress where+  toResourceProperties SecurityGroupIngress {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SecurityGroupIngress",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IpProtocol" JSON..= ipProtocol]+                           (Prelude.catMaybes+                              [(JSON..=) "CidrIp" Prelude.<$> cidrIp,+                               (JSON..=) "CidrIpv6" Prelude.<$> cidrIpv6,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "FromPort" Prelude.<$> fromPort,+                               (JSON..=) "GroupId" Prelude.<$> groupId,+                               (JSON..=) "GroupName" Prelude.<$> groupName,+                               (JSON..=) "SourcePrefixListId" Prelude.<$> sourcePrefixListId,+                               (JSON..=) "SourceSecurityGroupId"+                                 Prelude.<$> sourceSecurityGroupId,+                               (JSON..=) "SourceSecurityGroupName"+                                 Prelude.<$> sourceSecurityGroupName,+                               (JSON..=) "SourceSecurityGroupOwnerId"+                                 Prelude.<$> sourceSecurityGroupOwnerId,+                               (JSON..=) "ToPort" Prelude.<$> toPort]))}+instance JSON.ToJSON SecurityGroupIngress where+  toJSON SecurityGroupIngress {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IpProtocol" JSON..= ipProtocol]+              (Prelude.catMaybes+                 [(JSON..=) "CidrIp" Prelude.<$> cidrIp,+                  (JSON..=) "CidrIpv6" Prelude.<$> cidrIpv6,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "FromPort" Prelude.<$> fromPort,+                  (JSON..=) "GroupId" Prelude.<$> groupId,+                  (JSON..=) "GroupName" Prelude.<$> groupName,+                  (JSON..=) "SourcePrefixListId" Prelude.<$> sourcePrefixListId,+                  (JSON..=) "SourceSecurityGroupId"+                    Prelude.<$> sourceSecurityGroupId,+                  (JSON..=) "SourceSecurityGroupName"+                    Prelude.<$> sourceSecurityGroupName,+                  (JSON..=) "SourceSecurityGroupOwnerId"+                    Prelude.<$> sourceSecurityGroupOwnerId,+                  (JSON..=) "ToPort" Prelude.<$> toPort])))+instance Property "CidrIp" SecurityGroupIngress where+  type PropertyType "CidrIp" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress {cidrIp = Prelude.pure newValue, ..}+instance Property "CidrIpv6" SecurityGroupIngress where+  type PropertyType "CidrIpv6" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress {cidrIpv6 = Prelude.pure newValue, ..}+instance Property "Description" SecurityGroupIngress where+  type PropertyType "Description" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress {description = Prelude.pure newValue, ..}+instance Property "FromPort" SecurityGroupIngress where+  type PropertyType "FromPort" SecurityGroupIngress = Value Prelude.Integer+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress {fromPort = Prelude.pure newValue, ..}+instance Property "GroupId" SecurityGroupIngress where+  type PropertyType "GroupId" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress {groupId = Prelude.pure newValue, ..}+instance Property "GroupName" SecurityGroupIngress where+  type PropertyType "GroupName" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress {groupName = Prelude.pure newValue, ..}+instance Property "IpProtocol" SecurityGroupIngress where+  type PropertyType "IpProtocol" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress {ipProtocol = newValue, ..}+instance Property "SourcePrefixListId" SecurityGroupIngress where+  type PropertyType "SourcePrefixListId" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress+        {sourcePrefixListId = Prelude.pure newValue, ..}+instance Property "SourceSecurityGroupId" SecurityGroupIngress where+  type PropertyType "SourceSecurityGroupId" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress+        {sourceSecurityGroupId = Prelude.pure newValue, ..}+instance Property "SourceSecurityGroupName" SecurityGroupIngress where+  type PropertyType "SourceSecurityGroupName" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress+        {sourceSecurityGroupName = Prelude.pure newValue, ..}+instance Property "SourceSecurityGroupOwnerId" SecurityGroupIngress where+  type PropertyType "SourceSecurityGroupOwnerId" SecurityGroupIngress = Value Prelude.Text+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress+        {sourceSecurityGroupOwnerId = Prelude.pure newValue, ..}+instance Property "ToPort" SecurityGroupIngress where+  type PropertyType "ToPort" SecurityGroupIngress = Value Prelude.Integer+  set newValue SecurityGroupIngress {..}+    = SecurityGroupIngress {toPort = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SecurityGroupVpcAssociation.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.SecurityGroupVpcAssociation (+        SecurityGroupVpcAssociation(..), mkSecurityGroupVpcAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SecurityGroupVpcAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html>+    SecurityGroupVpcAssociation {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html#cfn-ec2-securitygroupvpcassociation-groupid>+                                 groupId :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-securitygroupvpcassociation.html#cfn-ec2-securitygroupvpcassociation-vpcid>+                                 vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSecurityGroupVpcAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> SecurityGroupVpcAssociation+mkSecurityGroupVpcAssociation groupId vpcId+  = SecurityGroupVpcAssociation+      {haddock_workaround_ = (), groupId = groupId, vpcId = vpcId}+instance ToResourceProperties SecurityGroupVpcAssociation where+  toResourceProperties SecurityGroupVpcAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SecurityGroupVpcAssociation",+         supportsTags = Prelude.False,+         properties = ["GroupId" JSON..= groupId, "VpcId" JSON..= vpcId]}+instance JSON.ToJSON SecurityGroupVpcAssociation where+  toJSON SecurityGroupVpcAssociation {..}+    = JSON.object ["GroupId" JSON..= groupId, "VpcId" JSON..= vpcId]+instance Property "GroupId" SecurityGroupVpcAssociation where+  type PropertyType "GroupId" SecurityGroupVpcAssociation = Value Prelude.Text+  set newValue SecurityGroupVpcAssociation {..}+    = SecurityGroupVpcAssociation {groupId = newValue, ..}+instance Property "VpcId" SecurityGroupVpcAssociation where+  type PropertyType "VpcId" SecurityGroupVpcAssociation = Value Prelude.Text+  set newValue SecurityGroupVpcAssociation {..}+    = SecurityGroupVpcAssociation {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/SnapshotBlockPublicAccess.hs view
@@ -0,0 +1,31 @@+module Stratosphere.EC2.SnapshotBlockPublicAccess (+        SnapshotBlockPublicAccess(..), mkSnapshotBlockPublicAccess+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SnapshotBlockPublicAccess+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html>+    SnapshotBlockPublicAccess {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-snapshotblockpublicaccess.html#cfn-ec2-snapshotblockpublicaccess-state>+                               state :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSnapshotBlockPublicAccess ::+  Value Prelude.Text -> SnapshotBlockPublicAccess+mkSnapshotBlockPublicAccess state+  = SnapshotBlockPublicAccess+      {haddock_workaround_ = (), state = state}+instance ToResourceProperties SnapshotBlockPublicAccess where+  toResourceProperties SnapshotBlockPublicAccess {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SnapshotBlockPublicAccess",+         supportsTags = Prelude.False, properties = ["State" JSON..= state]}+instance JSON.ToJSON SnapshotBlockPublicAccess where+  toJSON SnapshotBlockPublicAccess {..}+    = JSON.object ["State" JSON..= state]+instance Property "State" SnapshotBlockPublicAccess where+  type PropertyType "State" SnapshotBlockPublicAccess = Value Prelude.Text+  set newValue SnapshotBlockPublicAccess {..}+    = SnapshotBlockPublicAccess {state = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet.hs view
@@ -0,0 +1,33 @@+module Stratosphere.EC2.SpotFleet (+        module Exports, SpotFleet(..), mkSpotFleet+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.SpotFleetRequestConfigDataProperty as Exports+import Stratosphere.ResourceProperties+data SpotFleet+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html>+    SpotFleet {haddock_workaround_ :: (),+               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-spotfleet.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata>+               spotFleetRequestConfigData :: SpotFleetRequestConfigDataProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotFleet :: SpotFleetRequestConfigDataProperty -> SpotFleet+mkSpotFleet spotFleetRequestConfigData+  = SpotFleet+      {haddock_workaround_ = (),+       spotFleetRequestConfigData = spotFleetRequestConfigData}+instance ToResourceProperties SpotFleet where+  toResourceProperties SpotFleet {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet", supportsTags = Prelude.False,+         properties = ["SpotFleetRequestConfigData"+                         JSON..= spotFleetRequestConfigData]}+instance JSON.ToJSON SpotFleet where+  toJSON SpotFleet {..}+    = JSON.object+        ["SpotFleetRequestConfigData" JSON..= spotFleetRequestConfigData]+instance Property "SpotFleetRequestConfigData" SpotFleet where+  type PropertyType "SpotFleetRequestConfigData" SpotFleet = SpotFleetRequestConfigDataProperty+  set newValue SpotFleet {..}+    = SpotFleet {spotFleetRequestConfigData = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/AcceleratorCountRequestProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.SpotFleet.AcceleratorCountRequestProperty (+        AcceleratorCountRequestProperty(..),+        mkAcceleratorCountRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AcceleratorCountRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratorcountrequest.html>+    AcceleratorCountRequestProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratorcountrequest.html#cfn-ec2-spotfleet-acceleratorcountrequest-max>+                                     max :: (Prelude.Maybe (Value Prelude.Integer)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratorcountrequest.html#cfn-ec2-spotfleet-acceleratorcountrequest-min>+                                     min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAcceleratorCountRequestProperty ::+  AcceleratorCountRequestProperty+mkAcceleratorCountRequestProperty+  = AcceleratorCountRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties AcceleratorCountRequestProperty where+  toResourceProperties AcceleratorCountRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.AcceleratorCountRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON AcceleratorCountRequestProperty where+  toJSON AcceleratorCountRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" AcceleratorCountRequestProperty where+  type PropertyType "Max" AcceleratorCountRequestProperty = Value Prelude.Integer+  set newValue AcceleratorCountRequestProperty {..}+    = AcceleratorCountRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" AcceleratorCountRequestProperty where+  type PropertyType "Min" AcceleratorCountRequestProperty = Value Prelude.Integer+  set newValue AcceleratorCountRequestProperty {..}+    = AcceleratorCountRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/AcceleratorCountRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.AcceleratorCountRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AcceleratorCountRequestProperty :: Prelude.Type+instance ToResourceProperties AcceleratorCountRequestProperty+instance Prelude.Eq AcceleratorCountRequestProperty+instance Prelude.Show AcceleratorCountRequestProperty+instance JSON.ToJSON AcceleratorCountRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/AcceleratorTotalMemoryMiBRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.SpotFleet.AcceleratorTotalMemoryMiBRequestProperty (+        AcceleratorTotalMemoryMiBRequestProperty(..),+        mkAcceleratorTotalMemoryMiBRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AcceleratorTotalMemoryMiBRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratortotalmemorymibrequest.html>+    AcceleratorTotalMemoryMiBRequestProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratortotalmemorymibrequest.html#cfn-ec2-spotfleet-acceleratortotalmemorymibrequest-max>+                                              max :: (Prelude.Maybe (Value Prelude.Integer)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-acceleratortotalmemorymibrequest.html#cfn-ec2-spotfleet-acceleratortotalmemorymibrequest-min>+                                              min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAcceleratorTotalMemoryMiBRequestProperty ::+  AcceleratorTotalMemoryMiBRequestProperty+mkAcceleratorTotalMemoryMiBRequestProperty+  = AcceleratorTotalMemoryMiBRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties AcceleratorTotalMemoryMiBRequestProperty where+  toResourceProperties AcceleratorTotalMemoryMiBRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.AcceleratorTotalMemoryMiBRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON AcceleratorTotalMemoryMiBRequestProperty where+  toJSON AcceleratorTotalMemoryMiBRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" AcceleratorTotalMemoryMiBRequestProperty where+  type PropertyType "Max" AcceleratorTotalMemoryMiBRequestProperty = Value Prelude.Integer+  set newValue AcceleratorTotalMemoryMiBRequestProperty {..}+    = AcceleratorTotalMemoryMiBRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" AcceleratorTotalMemoryMiBRequestProperty where+  type PropertyType "Min" AcceleratorTotalMemoryMiBRequestProperty = Value Prelude.Integer+  set newValue AcceleratorTotalMemoryMiBRequestProperty {..}+    = AcceleratorTotalMemoryMiBRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/AcceleratorTotalMemoryMiBRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.AcceleratorTotalMemoryMiBRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AcceleratorTotalMemoryMiBRequestProperty :: Prelude.Type+instance ToResourceProperties AcceleratorTotalMemoryMiBRequestProperty+instance Prelude.Eq AcceleratorTotalMemoryMiBRequestProperty+instance Prelude.Show AcceleratorTotalMemoryMiBRequestProperty+instance JSON.ToJSON AcceleratorTotalMemoryMiBRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/BaselineEbsBandwidthMbpsRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.SpotFleet.BaselineEbsBandwidthMbpsRequestProperty (+        BaselineEbsBandwidthMbpsRequestProperty(..),+        mkBaselineEbsBandwidthMbpsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BaselineEbsBandwidthMbpsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-baselineebsbandwidthmbpsrequest.html>+    BaselineEbsBandwidthMbpsRequestProperty {haddock_workaround_ :: (),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-baselineebsbandwidthmbpsrequest.html#cfn-ec2-spotfleet-baselineebsbandwidthmbpsrequest-max>+                                             max :: (Prelude.Maybe (Value Prelude.Integer)),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-baselineebsbandwidthmbpsrequest.html#cfn-ec2-spotfleet-baselineebsbandwidthmbpsrequest-min>+                                             min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBaselineEbsBandwidthMbpsRequestProperty ::+  BaselineEbsBandwidthMbpsRequestProperty+mkBaselineEbsBandwidthMbpsRequestProperty+  = BaselineEbsBandwidthMbpsRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties BaselineEbsBandwidthMbpsRequestProperty where+  toResourceProperties BaselineEbsBandwidthMbpsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.BaselineEbsBandwidthMbpsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON BaselineEbsBandwidthMbpsRequestProperty where+  toJSON BaselineEbsBandwidthMbpsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" BaselineEbsBandwidthMbpsRequestProperty where+  type PropertyType "Max" BaselineEbsBandwidthMbpsRequestProperty = Value Prelude.Integer+  set newValue BaselineEbsBandwidthMbpsRequestProperty {..}+    = BaselineEbsBandwidthMbpsRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" BaselineEbsBandwidthMbpsRequestProperty where+  type PropertyType "Min" BaselineEbsBandwidthMbpsRequestProperty = Value Prelude.Integer+  set newValue BaselineEbsBandwidthMbpsRequestProperty {..}+    = BaselineEbsBandwidthMbpsRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/BaselineEbsBandwidthMbpsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.BaselineEbsBandwidthMbpsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BaselineEbsBandwidthMbpsRequestProperty :: Prelude.Type+instance ToResourceProperties BaselineEbsBandwidthMbpsRequestProperty+instance Prelude.Eq BaselineEbsBandwidthMbpsRequestProperty+instance Prelude.Show BaselineEbsBandwidthMbpsRequestProperty+instance JSON.ToJSON BaselineEbsBandwidthMbpsRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/BaselinePerformanceFactorsRequestProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.SpotFleet.BaselinePerformanceFactorsRequestProperty (+        module Exports, BaselinePerformanceFactorsRequestProperty(..),+        mkBaselinePerformanceFactorsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.CpuPerformanceFactorRequestProperty as Exports+import Stratosphere.ResourceProperties+data BaselinePerformanceFactorsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-baselineperformancefactorsrequest.html>+    BaselinePerformanceFactorsRequestProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-baselineperformancefactorsrequest.html#cfn-ec2-spotfleet-baselineperformancefactorsrequest-cpu>+                                               cpu :: (Prelude.Maybe CpuPerformanceFactorRequestProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBaselinePerformanceFactorsRequestProperty ::+  BaselinePerformanceFactorsRequestProperty+mkBaselinePerformanceFactorsRequestProperty+  = BaselinePerformanceFactorsRequestProperty+      {haddock_workaround_ = (), cpu = Prelude.Nothing}+instance ToResourceProperties BaselinePerformanceFactorsRequestProperty where+  toResourceProperties BaselinePerformanceFactorsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.BaselinePerformanceFactorsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Cpu" Prelude.<$> cpu])}+instance JSON.ToJSON BaselinePerformanceFactorsRequestProperty where+  toJSON BaselinePerformanceFactorsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Cpu" Prelude.<$> cpu]))+instance Property "Cpu" BaselinePerformanceFactorsRequestProperty where+  type PropertyType "Cpu" BaselinePerformanceFactorsRequestProperty = CpuPerformanceFactorRequestProperty+  set newValue BaselinePerformanceFactorsRequestProperty {..}+    = BaselinePerformanceFactorsRequestProperty+        {cpu = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/BaselinePerformanceFactorsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.BaselinePerformanceFactorsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BaselinePerformanceFactorsRequestProperty :: Prelude.Type+instance ToResourceProperties BaselinePerformanceFactorsRequestProperty+instance Prelude.Eq BaselinePerformanceFactorsRequestProperty+instance Prelude.Show BaselinePerformanceFactorsRequestProperty+instance JSON.ToJSON BaselinePerformanceFactorsRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/BlockDeviceMappingProperty.hs view
@@ -0,0 +1,68 @@+module Stratosphere.EC2.SpotFleet.BlockDeviceMappingProperty (+        module Exports, BlockDeviceMappingProperty(..),+        mkBlockDeviceMappingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.EbsBlockDeviceProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BlockDeviceMappingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-blockdevicemapping.html>+    BlockDeviceMappingProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-blockdevicemapping.html#cfn-ec2-spotfleet-blockdevicemapping-devicename>+                                deviceName :: (Value Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-blockdevicemapping.html#cfn-ec2-spotfleet-blockdevicemapping-ebs>+                                ebs :: (Prelude.Maybe EbsBlockDeviceProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-blockdevicemapping.html#cfn-ec2-spotfleet-blockdevicemapping-nodevice>+                                noDevice :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-blockdevicemapping.html#cfn-ec2-spotfleet-blockdevicemapping-virtualname>+                                virtualName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBlockDeviceMappingProperty ::+  Value Prelude.Text -> BlockDeviceMappingProperty+mkBlockDeviceMappingProperty deviceName+  = BlockDeviceMappingProperty+      {haddock_workaround_ = (), deviceName = deviceName,+       ebs = Prelude.Nothing, noDevice = Prelude.Nothing,+       virtualName = Prelude.Nothing}+instance ToResourceProperties BlockDeviceMappingProperty where+  toResourceProperties BlockDeviceMappingProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.BlockDeviceMapping",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DeviceName" JSON..= deviceName]+                           (Prelude.catMaybes+                              [(JSON..=) "Ebs" Prelude.<$> ebs,+                               (JSON..=) "NoDevice" Prelude.<$> noDevice,+                               (JSON..=) "VirtualName" Prelude.<$> virtualName]))}+instance JSON.ToJSON BlockDeviceMappingProperty where+  toJSON BlockDeviceMappingProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DeviceName" JSON..= deviceName]+              (Prelude.catMaybes+                 [(JSON..=) "Ebs" Prelude.<$> ebs,+                  (JSON..=) "NoDevice" Prelude.<$> noDevice,+                  (JSON..=) "VirtualName" Prelude.<$> virtualName])))+instance Property "DeviceName" BlockDeviceMappingProperty where+  type PropertyType "DeviceName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {deviceName = newValue, ..}+instance Property "Ebs" BlockDeviceMappingProperty where+  type PropertyType "Ebs" BlockDeviceMappingProperty = EbsBlockDeviceProperty+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {ebs = Prelude.pure newValue, ..}+instance Property "NoDevice" BlockDeviceMappingProperty where+  type PropertyType "NoDevice" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty {noDevice = Prelude.pure newValue, ..}+instance Property "VirtualName" BlockDeviceMappingProperty where+  type PropertyType "VirtualName" BlockDeviceMappingProperty = Value Prelude.Text+  set newValue BlockDeviceMappingProperty {..}+    = BlockDeviceMappingProperty+        {virtualName = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/BlockDeviceMappingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.BlockDeviceMappingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BlockDeviceMappingProperty :: Prelude.Type+instance ToResourceProperties BlockDeviceMappingProperty+instance Prelude.Eq BlockDeviceMappingProperty+instance Prelude.Show BlockDeviceMappingProperty+instance JSON.ToJSON BlockDeviceMappingProperty
+ gen/Stratosphere/EC2/SpotFleet/ClassicLoadBalancerProperty.hs view
@@ -0,0 +1,31 @@+module Stratosphere.EC2.SpotFleet.ClassicLoadBalancerProperty (+        ClassicLoadBalancerProperty(..), mkClassicLoadBalancerProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ClassicLoadBalancerProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html>+    ClassicLoadBalancerProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancer.html#cfn-ec2-spotfleet-classicloadbalancer-name>+                                 name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClassicLoadBalancerProperty ::+  Value Prelude.Text -> ClassicLoadBalancerProperty+mkClassicLoadBalancerProperty name+  = ClassicLoadBalancerProperty+      {haddock_workaround_ = (), name = name}+instance ToResourceProperties ClassicLoadBalancerProperty where+  toResourceProperties ClassicLoadBalancerProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.ClassicLoadBalancer",+         supportsTags = Prelude.False, properties = ["Name" JSON..= name]}+instance JSON.ToJSON ClassicLoadBalancerProperty where+  toJSON ClassicLoadBalancerProperty {..}+    = JSON.object ["Name" JSON..= name]+instance Property "Name" ClassicLoadBalancerProperty where+  type PropertyType "Name" ClassicLoadBalancerProperty = Value Prelude.Text+  set newValue ClassicLoadBalancerProperty {..}+    = ClassicLoadBalancerProperty {name = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/ClassicLoadBalancerProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.ClassicLoadBalancerProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ClassicLoadBalancerProperty :: Prelude.Type+instance ToResourceProperties ClassicLoadBalancerProperty+instance Prelude.Eq ClassicLoadBalancerProperty+instance Prelude.Show ClassicLoadBalancerProperty+instance JSON.ToJSON ClassicLoadBalancerProperty
+ gen/Stratosphere/EC2/SpotFleet/ClassicLoadBalancersConfigProperty.hs view
@@ -0,0 +1,35 @@+module Stratosphere.EC2.SpotFleet.ClassicLoadBalancersConfigProperty (+        module Exports, ClassicLoadBalancersConfigProperty(..),+        mkClassicLoadBalancersConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.ClassicLoadBalancerProperty as Exports+import Stratosphere.ResourceProperties+data ClassicLoadBalancersConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html>+    ClassicLoadBalancersConfigProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-classicloadbalancersconfig.html#cfn-ec2-spotfleet-classicloadbalancersconfig-classicloadbalancers>+                                        classicLoadBalancers :: [ClassicLoadBalancerProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkClassicLoadBalancersConfigProperty ::+  [ClassicLoadBalancerProperty] -> ClassicLoadBalancersConfigProperty+mkClassicLoadBalancersConfigProperty classicLoadBalancers+  = ClassicLoadBalancersConfigProperty+      {haddock_workaround_ = (),+       classicLoadBalancers = classicLoadBalancers}+instance ToResourceProperties ClassicLoadBalancersConfigProperty where+  toResourceProperties ClassicLoadBalancersConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.ClassicLoadBalancersConfig",+         supportsTags = Prelude.False,+         properties = ["ClassicLoadBalancers" JSON..= classicLoadBalancers]}+instance JSON.ToJSON ClassicLoadBalancersConfigProperty where+  toJSON ClassicLoadBalancersConfigProperty {..}+    = JSON.object ["ClassicLoadBalancers" JSON..= classicLoadBalancers]+instance Property "ClassicLoadBalancers" ClassicLoadBalancersConfigProperty where+  type PropertyType "ClassicLoadBalancers" ClassicLoadBalancersConfigProperty = [ClassicLoadBalancerProperty]+  set newValue ClassicLoadBalancersConfigProperty {..}+    = ClassicLoadBalancersConfigProperty+        {classicLoadBalancers = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/ClassicLoadBalancersConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.ClassicLoadBalancersConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ClassicLoadBalancersConfigProperty :: Prelude.Type+instance ToResourceProperties ClassicLoadBalancersConfigProperty+instance Prelude.Eq ClassicLoadBalancersConfigProperty+instance Prelude.Show ClassicLoadBalancersConfigProperty+instance JSON.ToJSON ClassicLoadBalancersConfigProperty
+ gen/Stratosphere/EC2/SpotFleet/CpuPerformanceFactorRequestProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.SpotFleet.CpuPerformanceFactorRequestProperty (+        module Exports, CpuPerformanceFactorRequestProperty(..),+        mkCpuPerformanceFactorRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.PerformanceFactorReferenceRequestProperty as Exports+import Stratosphere.ResourceProperties+data CpuPerformanceFactorRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-cpuperformancefactorrequest.html>+    CpuPerformanceFactorRequestProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-cpuperformancefactorrequest.html#cfn-ec2-spotfleet-cpuperformancefactorrequest-references>+                                         references :: (Prelude.Maybe [PerformanceFactorReferenceRequestProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCpuPerformanceFactorRequestProperty ::+  CpuPerformanceFactorRequestProperty+mkCpuPerformanceFactorRequestProperty+  = CpuPerformanceFactorRequestProperty+      {haddock_workaround_ = (), references = Prelude.Nothing}+instance ToResourceProperties CpuPerformanceFactorRequestProperty where+  toResourceProperties CpuPerformanceFactorRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.CpuPerformanceFactorRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "References" Prelude.<$> references])}+instance JSON.ToJSON CpuPerformanceFactorRequestProperty where+  toJSON CpuPerformanceFactorRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "References" Prelude.<$> references]))+instance Property "References" CpuPerformanceFactorRequestProperty where+  type PropertyType "References" CpuPerformanceFactorRequestProperty = [PerformanceFactorReferenceRequestProperty]+  set newValue CpuPerformanceFactorRequestProperty {..}+    = CpuPerformanceFactorRequestProperty+        {references = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/CpuPerformanceFactorRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.CpuPerformanceFactorRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CpuPerformanceFactorRequestProperty :: Prelude.Type+instance ToResourceProperties CpuPerformanceFactorRequestProperty+instance Prelude.Eq CpuPerformanceFactorRequestProperty+instance Prelude.Show CpuPerformanceFactorRequestProperty+instance JSON.ToJSON CpuPerformanceFactorRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/EbsBlockDeviceProperty.hs view
@@ -0,0 +1,80 @@+module Stratosphere.EC2.SpotFleet.EbsBlockDeviceProperty (+        EbsBlockDeviceProperty(..), mkEbsBlockDeviceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EbsBlockDeviceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html>+    EbsBlockDeviceProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html#cfn-ec2-spotfleet-ebsblockdevice-deleteontermination>+                            deleteOnTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html#cfn-ec2-spotfleet-ebsblockdevice-encrypted>+                            encrypted :: (Prelude.Maybe (Value Prelude.Bool)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html#cfn-ec2-spotfleet-ebsblockdevice-iops>+                            iops :: (Prelude.Maybe (Value Prelude.Integer)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html#cfn-ec2-spotfleet-ebsblockdevice-snapshotid>+                            snapshotId :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html#cfn-ec2-spotfleet-ebsblockdevice-volumesize>+                            volumeSize :: (Prelude.Maybe (Value Prelude.Integer)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-ebsblockdevice.html#cfn-ec2-spotfleet-ebsblockdevice-volumetype>+                            volumeType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEbsBlockDeviceProperty :: EbsBlockDeviceProperty+mkEbsBlockDeviceProperty+  = EbsBlockDeviceProperty+      {haddock_workaround_ = (), deleteOnTermination = Prelude.Nothing,+       encrypted = Prelude.Nothing, iops = Prelude.Nothing,+       snapshotId = Prelude.Nothing, volumeSize = Prelude.Nothing,+       volumeType = Prelude.Nothing}+instance ToResourceProperties EbsBlockDeviceProperty where+  toResourceProperties EbsBlockDeviceProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.EbsBlockDevice",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                            (JSON..=) "Encrypted" Prelude.<$> encrypted,+                            (JSON..=) "Iops" Prelude.<$> iops,+                            (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+                            (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+                            (JSON..=) "VolumeType" Prelude.<$> volumeType])}+instance JSON.ToJSON EbsBlockDeviceProperty where+  toJSON EbsBlockDeviceProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+               (JSON..=) "Encrypted" Prelude.<$> encrypted,+               (JSON..=) "Iops" Prelude.<$> iops,+               (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+               (JSON..=) "VolumeSize" Prelude.<$> volumeSize,+               (JSON..=) "VolumeType" Prelude.<$> volumeType]))+instance Property "DeleteOnTermination" EbsBlockDeviceProperty where+  type PropertyType "DeleteOnTermination" EbsBlockDeviceProperty = Value Prelude.Bool+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty+        {deleteOnTermination = Prelude.pure newValue, ..}+instance Property "Encrypted" EbsBlockDeviceProperty where+  type PropertyType "Encrypted" EbsBlockDeviceProperty = Value Prelude.Bool+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {encrypted = Prelude.pure newValue, ..}+instance Property "Iops" EbsBlockDeviceProperty where+  type PropertyType "Iops" EbsBlockDeviceProperty = Value Prelude.Integer+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {iops = Prelude.pure newValue, ..}+instance Property "SnapshotId" EbsBlockDeviceProperty where+  type PropertyType "SnapshotId" EbsBlockDeviceProperty = Value Prelude.Text+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {snapshotId = Prelude.pure newValue, ..}+instance Property "VolumeSize" EbsBlockDeviceProperty where+  type PropertyType "VolumeSize" EbsBlockDeviceProperty = Value Prelude.Integer+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {volumeSize = Prelude.pure newValue, ..}+instance Property "VolumeType" EbsBlockDeviceProperty where+  type PropertyType "VolumeType" EbsBlockDeviceProperty = Value Prelude.Text+  set newValue EbsBlockDeviceProperty {..}+    = EbsBlockDeviceProperty {volumeType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/EbsBlockDeviceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.EbsBlockDeviceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EbsBlockDeviceProperty :: Prelude.Type+instance ToResourceProperties EbsBlockDeviceProperty+instance Prelude.Eq EbsBlockDeviceProperty+instance Prelude.Show EbsBlockDeviceProperty+instance JSON.ToJSON EbsBlockDeviceProperty
+ gen/Stratosphere/EC2/SpotFleet/FleetLaunchTemplateSpecificationProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.EC2.SpotFleet.FleetLaunchTemplateSpecificationProperty (+        FleetLaunchTemplateSpecificationProperty(..),+        mkFleetLaunchTemplateSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FleetLaunchTemplateSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html>+    FleetLaunchTemplateSpecificationProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplateid>+                                              launchTemplateId :: (Prelude.Maybe (Value Prelude.Text)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-launchtemplatename>+                                              launchTemplateName :: (Prelude.Maybe (Value Prelude.Text)),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-fleetlaunchtemplatespecification.html#cfn-ec2-spotfleet-fleetlaunchtemplatespecification-version>+                                              version :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFleetLaunchTemplateSpecificationProperty ::+  Value Prelude.Text -> FleetLaunchTemplateSpecificationProperty+mkFleetLaunchTemplateSpecificationProperty version+  = FleetLaunchTemplateSpecificationProperty+      {haddock_workaround_ = (), version = version,+       launchTemplateId = Prelude.Nothing,+       launchTemplateName = Prelude.Nothing}+instance ToResourceProperties FleetLaunchTemplateSpecificationProperty where+  toResourceProperties FleetLaunchTemplateSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.FleetLaunchTemplateSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Version" JSON..= version]+                           (Prelude.catMaybes+                              [(JSON..=) "LaunchTemplateId" Prelude.<$> launchTemplateId,+                               (JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName]))}+instance JSON.ToJSON FleetLaunchTemplateSpecificationProperty where+  toJSON FleetLaunchTemplateSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Version" JSON..= version]+              (Prelude.catMaybes+                 [(JSON..=) "LaunchTemplateId" Prelude.<$> launchTemplateId,+                  (JSON..=) "LaunchTemplateName" Prelude.<$> launchTemplateName])))+instance Property "LaunchTemplateId" FleetLaunchTemplateSpecificationProperty where+  type PropertyType "LaunchTemplateId" FleetLaunchTemplateSpecificationProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateSpecificationProperty {..}+    = FleetLaunchTemplateSpecificationProperty+        {launchTemplateId = Prelude.pure newValue, ..}+instance Property "LaunchTemplateName" FleetLaunchTemplateSpecificationProperty where+  type PropertyType "LaunchTemplateName" FleetLaunchTemplateSpecificationProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateSpecificationProperty {..}+    = FleetLaunchTemplateSpecificationProperty+        {launchTemplateName = Prelude.pure newValue, ..}+instance Property "Version" FleetLaunchTemplateSpecificationProperty where+  type PropertyType "Version" FleetLaunchTemplateSpecificationProperty = Value Prelude.Text+  set newValue FleetLaunchTemplateSpecificationProperty {..}+    = FleetLaunchTemplateSpecificationProperty {version = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/FleetLaunchTemplateSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.FleetLaunchTemplateSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FleetLaunchTemplateSpecificationProperty :: Prelude.Type+instance ToResourceProperties FleetLaunchTemplateSpecificationProperty+instance Prelude.Eq FleetLaunchTemplateSpecificationProperty+instance Prelude.Show FleetLaunchTemplateSpecificationProperty+instance JSON.ToJSON FleetLaunchTemplateSpecificationProperty
+ gen/Stratosphere/EC2/SpotFleet/GroupIdentifierProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.EC2.SpotFleet.GroupIdentifierProperty (+        GroupIdentifierProperty(..), mkGroupIdentifierProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GroupIdentifierProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-groupidentifier.html>+    GroupIdentifierProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-groupidentifier.html#cfn-ec2-spotfleet-groupidentifier-groupid>+                             groupId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkGroupIdentifierProperty ::+  Value Prelude.Text -> GroupIdentifierProperty+mkGroupIdentifierProperty groupId+  = GroupIdentifierProperty+      {haddock_workaround_ = (), groupId = groupId}+instance ToResourceProperties GroupIdentifierProperty where+  toResourceProperties GroupIdentifierProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.GroupIdentifier",+         supportsTags = Prelude.False,+         properties = ["GroupId" JSON..= groupId]}+instance JSON.ToJSON GroupIdentifierProperty where+  toJSON GroupIdentifierProperty {..}+    = JSON.object ["GroupId" JSON..= groupId]+instance Property "GroupId" GroupIdentifierProperty where+  type PropertyType "GroupId" GroupIdentifierProperty = Value Prelude.Text+  set newValue GroupIdentifierProperty {..}+    = GroupIdentifierProperty {groupId = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/GroupIdentifierProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.GroupIdentifierProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GroupIdentifierProperty :: Prelude.Type+instance ToResourceProperties GroupIdentifierProperty+instance Prelude.Eq GroupIdentifierProperty+instance Prelude.Show GroupIdentifierProperty+instance JSON.ToJSON GroupIdentifierProperty
+ gen/Stratosphere/EC2/SpotFleet/IamInstanceProfileSpecificationProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.SpotFleet.IamInstanceProfileSpecificationProperty (+        IamInstanceProfileSpecificationProperty(..),+        mkIamInstanceProfileSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IamInstanceProfileSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-iaminstanceprofilespecification.html>+    IamInstanceProfileSpecificationProperty {haddock_workaround_ :: (),+                                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-iaminstanceprofilespecification.html#cfn-ec2-spotfleet-iaminstanceprofilespecification-arn>+                                             arn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIamInstanceProfileSpecificationProperty ::+  IamInstanceProfileSpecificationProperty+mkIamInstanceProfileSpecificationProperty+  = IamInstanceProfileSpecificationProperty+      {haddock_workaround_ = (), arn = Prelude.Nothing}+instance ToResourceProperties IamInstanceProfileSpecificationProperty where+  toResourceProperties IamInstanceProfileSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.IamInstanceProfileSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Arn" Prelude.<$> arn])}+instance JSON.ToJSON IamInstanceProfileSpecificationProperty where+  toJSON IamInstanceProfileSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Arn" Prelude.<$> arn]))+instance Property "Arn" IamInstanceProfileSpecificationProperty where+  type PropertyType "Arn" IamInstanceProfileSpecificationProperty = Value Prelude.Text+  set newValue IamInstanceProfileSpecificationProperty {..}+    = IamInstanceProfileSpecificationProperty+        {arn = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/IamInstanceProfileSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.IamInstanceProfileSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IamInstanceProfileSpecificationProperty :: Prelude.Type+instance ToResourceProperties IamInstanceProfileSpecificationProperty+instance Prelude.Eq IamInstanceProfileSpecificationProperty+instance Prelude.Show IamInstanceProfileSpecificationProperty+instance JSON.ToJSON IamInstanceProfileSpecificationProperty
+ gen/Stratosphere/EC2/SpotFleet/InstanceIpv6AddressProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.EC2.SpotFleet.InstanceIpv6AddressProperty (+        InstanceIpv6AddressProperty(..), mkInstanceIpv6AddressProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceIpv6AddressProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instanceipv6address.html>+    InstanceIpv6AddressProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instanceipv6address.html#cfn-ec2-spotfleet-instanceipv6address-ipv6address>+                                 ipv6Address :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceIpv6AddressProperty ::+  Value Prelude.Text -> InstanceIpv6AddressProperty+mkInstanceIpv6AddressProperty ipv6Address+  = InstanceIpv6AddressProperty+      {haddock_workaround_ = (), ipv6Address = ipv6Address}+instance ToResourceProperties InstanceIpv6AddressProperty where+  toResourceProperties InstanceIpv6AddressProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.InstanceIpv6Address",+         supportsTags = Prelude.False,+         properties = ["Ipv6Address" JSON..= ipv6Address]}+instance JSON.ToJSON InstanceIpv6AddressProperty where+  toJSON InstanceIpv6AddressProperty {..}+    = JSON.object ["Ipv6Address" JSON..= ipv6Address]+instance Property "Ipv6Address" InstanceIpv6AddressProperty where+  type PropertyType "Ipv6Address" InstanceIpv6AddressProperty = Value Prelude.Text+  set newValue InstanceIpv6AddressProperty {..}+    = InstanceIpv6AddressProperty {ipv6Address = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/InstanceIpv6AddressProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.InstanceIpv6AddressProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceIpv6AddressProperty :: Prelude.Type+instance ToResourceProperties InstanceIpv6AddressProperty+instance Prelude.Eq InstanceIpv6AddressProperty+instance Prelude.Show InstanceIpv6AddressProperty+instance JSON.ToJSON InstanceIpv6AddressProperty
+ gen/Stratosphere/EC2/SpotFleet/InstanceNetworkInterfaceSpecificationProperty.hs view
@@ -0,0 +1,145 @@+module Stratosphere.EC2.SpotFleet.InstanceNetworkInterfaceSpecificationProperty (+        module Exports, InstanceNetworkInterfaceSpecificationProperty(..),+        mkInstanceNetworkInterfaceSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.InstanceIpv6AddressProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.PrivateIpAddressSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceNetworkInterfaceSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html>+    InstanceNetworkInterfaceSpecificationProperty {haddock_workaround_ :: (),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-associatepublicipaddress>+                                                   associatePublicIpAddress :: (Prelude.Maybe (Value Prelude.Bool)),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-deleteontermination>+                                                   deleteOnTermination :: (Prelude.Maybe (Value Prelude.Bool)),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-description>+                                                   description :: (Prelude.Maybe (Value Prelude.Text)),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-deviceindex>+                                                   deviceIndex :: (Prelude.Maybe (Value Prelude.Integer)),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-groups>+                                                   groups :: (Prelude.Maybe (ValueList Prelude.Text)),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-ipv6addresscount>+                                                   ipv6AddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-ipv6addresses>+                                                   ipv6Addresses :: (Prelude.Maybe [InstanceIpv6AddressProperty]),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-networkinterfaceid>+                                                   networkInterfaceId :: (Prelude.Maybe (Value Prelude.Text)),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-privateipaddresses>+                                                   privateIpAddresses :: (Prelude.Maybe [PrivateIpAddressSpecificationProperty]),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-secondaryprivateipaddresscount>+                                                   secondaryPrivateIpAddressCount :: (Prelude.Maybe (Value Prelude.Integer)),+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancenetworkinterfacespecification.html#cfn-ec2-spotfleet-instancenetworkinterfacespecification-subnetid>+                                                   subnetId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceNetworkInterfaceSpecificationProperty ::+  InstanceNetworkInterfaceSpecificationProperty+mkInstanceNetworkInterfaceSpecificationProperty+  = InstanceNetworkInterfaceSpecificationProperty+      {haddock_workaround_ = (),+       associatePublicIpAddress = Prelude.Nothing,+       deleteOnTermination = Prelude.Nothing,+       description = Prelude.Nothing, deviceIndex = Prelude.Nothing,+       groups = Prelude.Nothing, ipv6AddressCount = Prelude.Nothing,+       ipv6Addresses = Prelude.Nothing,+       networkInterfaceId = Prelude.Nothing,+       privateIpAddresses = Prelude.Nothing,+       secondaryPrivateIpAddressCount = Prelude.Nothing,+       subnetId = Prelude.Nothing}+instance ToResourceProperties InstanceNetworkInterfaceSpecificationProperty where+  toResourceProperties+    InstanceNetworkInterfaceSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.InstanceNetworkInterfaceSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AssociatePublicIpAddress"+                              Prelude.<$> associatePublicIpAddress,+                            (JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "DeviceIndex" Prelude.<$> deviceIndex,+                            (JSON..=) "Groups" Prelude.<$> groups,+                            (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+                            (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+                            (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                            (JSON..=) "PrivateIpAddresses" Prelude.<$> privateIpAddresses,+                            (JSON..=) "SecondaryPrivateIpAddressCount"+                              Prelude.<$> secondaryPrivateIpAddressCount,+                            (JSON..=) "SubnetId" Prelude.<$> subnetId])}+instance JSON.ToJSON InstanceNetworkInterfaceSpecificationProperty where+  toJSON InstanceNetworkInterfaceSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AssociatePublicIpAddress"+                 Prelude.<$> associatePublicIpAddress,+               (JSON..=) "DeleteOnTermination" Prelude.<$> deleteOnTermination,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "DeviceIndex" Prelude.<$> deviceIndex,+               (JSON..=) "Groups" Prelude.<$> groups,+               (JSON..=) "Ipv6AddressCount" Prelude.<$> ipv6AddressCount,+               (JSON..=) "Ipv6Addresses" Prelude.<$> ipv6Addresses,+               (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+               (JSON..=) "PrivateIpAddresses" Prelude.<$> privateIpAddresses,+               (JSON..=) "SecondaryPrivateIpAddressCount"+                 Prelude.<$> secondaryPrivateIpAddressCount,+               (JSON..=) "SubnetId" Prelude.<$> subnetId]))+instance Property "AssociatePublicIpAddress" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "AssociatePublicIpAddress" InstanceNetworkInterfaceSpecificationProperty = Value Prelude.Bool+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {associatePublicIpAddress = Prelude.pure newValue, ..}+instance Property "DeleteOnTermination" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "DeleteOnTermination" InstanceNetworkInterfaceSpecificationProperty = Value Prelude.Bool+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {deleteOnTermination = Prelude.pure newValue, ..}+instance Property "Description" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "Description" InstanceNetworkInterfaceSpecificationProperty = Value Prelude.Text+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {description = Prelude.pure newValue, ..}+instance Property "DeviceIndex" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "DeviceIndex" InstanceNetworkInterfaceSpecificationProperty = Value Prelude.Integer+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {deviceIndex = Prelude.pure newValue, ..}+instance Property "Groups" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "Groups" InstanceNetworkInterfaceSpecificationProperty = ValueList Prelude.Text+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {groups = Prelude.pure newValue, ..}+instance Property "Ipv6AddressCount" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "Ipv6AddressCount" InstanceNetworkInterfaceSpecificationProperty = Value Prelude.Integer+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {ipv6AddressCount = Prelude.pure newValue, ..}+instance Property "Ipv6Addresses" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "Ipv6Addresses" InstanceNetworkInterfaceSpecificationProperty = [InstanceIpv6AddressProperty]+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {ipv6Addresses = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceId" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "NetworkInterfaceId" InstanceNetworkInterfaceSpecificationProperty = Value Prelude.Text+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {networkInterfaceId = Prelude.pure newValue, ..}+instance Property "PrivateIpAddresses" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "PrivateIpAddresses" InstanceNetworkInterfaceSpecificationProperty = [PrivateIpAddressSpecificationProperty]+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {privateIpAddresses = Prelude.pure newValue, ..}+instance Property "SecondaryPrivateIpAddressCount" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "SecondaryPrivateIpAddressCount" InstanceNetworkInterfaceSpecificationProperty = Value Prelude.Integer+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {secondaryPrivateIpAddressCount = Prelude.pure newValue, ..}+instance Property "SubnetId" InstanceNetworkInterfaceSpecificationProperty where+  type PropertyType "SubnetId" InstanceNetworkInterfaceSpecificationProperty = Value Prelude.Text+  set newValue InstanceNetworkInterfaceSpecificationProperty {..}+    = InstanceNetworkInterfaceSpecificationProperty+        {subnetId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/InstanceNetworkInterfaceSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.InstanceNetworkInterfaceSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceNetworkInterfaceSpecificationProperty :: Prelude.Type+instance ToResourceProperties InstanceNetworkInterfaceSpecificationProperty+instance Prelude.Eq InstanceNetworkInterfaceSpecificationProperty+instance Prelude.Show InstanceNetworkInterfaceSpecificationProperty+instance JSON.ToJSON InstanceNetworkInterfaceSpecificationProperty
+ gen/Stratosphere/EC2/SpotFleet/InstanceRequirementsRequestProperty.hs view
@@ -0,0 +1,310 @@+module Stratosphere.EC2.SpotFleet.InstanceRequirementsRequestProperty (+        module Exports, InstanceRequirementsRequestProperty(..),+        mkInstanceRequirementsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.AcceleratorCountRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.AcceleratorTotalMemoryMiBRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.BaselineEbsBandwidthMbpsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.BaselinePerformanceFactorsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.MemoryGiBPerVCpuRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.MemoryMiBRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.NetworkBandwidthGbpsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.NetworkInterfaceCountRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.TotalLocalStorageGBRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.VCpuCountRangeRequestProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data InstanceRequirementsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html>+    InstanceRequirementsRequestProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-acceleratorcount>+                                         acceleratorCount :: (Prelude.Maybe AcceleratorCountRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-acceleratormanufacturers>+                                         acceleratorManufacturers :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-acceleratornames>+                                         acceleratorNames :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-acceleratortotalmemorymib>+                                         acceleratorTotalMemoryMiB :: (Prelude.Maybe AcceleratorTotalMemoryMiBRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-acceleratortypes>+                                         acceleratorTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-allowedinstancetypes>+                                         allowedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-baremetal>+                                         bareMetal :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-baselineebsbandwidthmbps>+                                         baselineEbsBandwidthMbps :: (Prelude.Maybe BaselineEbsBandwidthMbpsRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-baselineperformancefactors>+                                         baselinePerformanceFactors :: (Prelude.Maybe BaselinePerformanceFactorsRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-burstableperformance>+                                         burstablePerformance :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-cpumanufacturers>+                                         cpuManufacturers :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-excludedinstancetypes>+                                         excludedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-instancegenerations>+                                         instanceGenerations :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-localstorage>+                                         localStorage :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-localstoragetypes>+                                         localStorageTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-maxspotpriceaspercentageofoptimalondemandprice>+                                         maxSpotPriceAsPercentageOfOptimalOnDemandPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-memorygibpervcpu>+                                         memoryGiBPerVCpu :: (Prelude.Maybe MemoryGiBPerVCpuRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-memorymib>+                                         memoryMiB :: (Prelude.Maybe MemoryMiBRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-networkbandwidthgbps>+                                         networkBandwidthGbps :: (Prelude.Maybe NetworkBandwidthGbpsRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-networkinterfacecount>+                                         networkInterfaceCount :: (Prelude.Maybe NetworkInterfaceCountRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-ondemandmaxpricepercentageoverlowestprice>+                                         onDemandMaxPricePercentageOverLowestPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-requirehibernatesupport>+                                         requireHibernateSupport :: (Prelude.Maybe (Value Prelude.Bool)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-spotmaxpricepercentageoverlowestprice>+                                         spotMaxPricePercentageOverLowestPrice :: (Prelude.Maybe (Value Prelude.Integer)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-totallocalstoragegb>+                                         totalLocalStorageGB :: (Prelude.Maybe TotalLocalStorageGBRequestProperty),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-instancerequirementsrequest.html#cfn-ec2-spotfleet-instancerequirementsrequest-vcpucount>+                                         vCpuCount :: (Prelude.Maybe VCpuCountRangeRequestProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkInstanceRequirementsRequestProperty ::+  InstanceRequirementsRequestProperty+mkInstanceRequirementsRequestProperty+  = InstanceRequirementsRequestProperty+      {haddock_workaround_ = (), acceleratorCount = Prelude.Nothing,+       acceleratorManufacturers = Prelude.Nothing,+       acceleratorNames = Prelude.Nothing,+       acceleratorTotalMemoryMiB = Prelude.Nothing,+       acceleratorTypes = Prelude.Nothing,+       allowedInstanceTypes = Prelude.Nothing,+       bareMetal = Prelude.Nothing,+       baselineEbsBandwidthMbps = Prelude.Nothing,+       baselinePerformanceFactors = Prelude.Nothing,+       burstablePerformance = Prelude.Nothing,+       cpuManufacturers = Prelude.Nothing,+       excludedInstanceTypes = Prelude.Nothing,+       instanceGenerations = Prelude.Nothing,+       localStorage = Prelude.Nothing,+       localStorageTypes = Prelude.Nothing,+       maxSpotPriceAsPercentageOfOptimalOnDemandPrice = Prelude.Nothing,+       memoryGiBPerVCpu = Prelude.Nothing, memoryMiB = Prelude.Nothing,+       networkBandwidthGbps = Prelude.Nothing,+       networkInterfaceCount = Prelude.Nothing,+       onDemandMaxPricePercentageOverLowestPrice = Prelude.Nothing,+       requireHibernateSupport = Prelude.Nothing,+       spotMaxPricePercentageOverLowestPrice = Prelude.Nothing,+       totalLocalStorageGB = Prelude.Nothing, vCpuCount = Prelude.Nothing}+instance ToResourceProperties InstanceRequirementsRequestProperty where+  toResourceProperties InstanceRequirementsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.InstanceRequirementsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,+                            (JSON..=) "AcceleratorManufacturers"+                              Prelude.<$> acceleratorManufacturers,+                            (JSON..=) "AcceleratorNames" Prelude.<$> acceleratorNames,+                            (JSON..=) "AcceleratorTotalMemoryMiB"+                              Prelude.<$> acceleratorTotalMemoryMiB,+                            (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,+                            (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,+                            (JSON..=) "BareMetal" Prelude.<$> bareMetal,+                            (JSON..=) "BaselineEbsBandwidthMbps"+                              Prelude.<$> baselineEbsBandwidthMbps,+                            (JSON..=) "BaselinePerformanceFactors"+                              Prelude.<$> baselinePerformanceFactors,+                            (JSON..=) "BurstablePerformance" Prelude.<$> burstablePerformance,+                            (JSON..=) "CpuManufacturers" Prelude.<$> cpuManufacturers,+                            (JSON..=) "ExcludedInstanceTypes"+                              Prelude.<$> excludedInstanceTypes,+                            (JSON..=) "InstanceGenerations" Prelude.<$> instanceGenerations,+                            (JSON..=) "LocalStorage" Prelude.<$> localStorage,+                            (JSON..=) "LocalStorageTypes" Prelude.<$> localStorageTypes,+                            (JSON..=) "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"+                              Prelude.<$> maxSpotPriceAsPercentageOfOptimalOnDemandPrice,+                            (JSON..=) "MemoryGiBPerVCpu" Prelude.<$> memoryGiBPerVCpu,+                            (JSON..=) "MemoryMiB" Prelude.<$> memoryMiB,+                            (JSON..=) "NetworkBandwidthGbps" Prelude.<$> networkBandwidthGbps,+                            (JSON..=) "NetworkInterfaceCount"+                              Prelude.<$> networkInterfaceCount,+                            (JSON..=) "OnDemandMaxPricePercentageOverLowestPrice"+                              Prelude.<$> onDemandMaxPricePercentageOverLowestPrice,+                            (JSON..=) "RequireHibernateSupport"+                              Prelude.<$> requireHibernateSupport,+                            (JSON..=) "SpotMaxPricePercentageOverLowestPrice"+                              Prelude.<$> spotMaxPricePercentageOverLowestPrice,+                            (JSON..=) "TotalLocalStorageGB" Prelude.<$> totalLocalStorageGB,+                            (JSON..=) "VCpuCount" Prelude.<$> vCpuCount])}+instance JSON.ToJSON InstanceRequirementsRequestProperty where+  toJSON InstanceRequirementsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,+               (JSON..=) "AcceleratorManufacturers"+                 Prelude.<$> acceleratorManufacturers,+               (JSON..=) "AcceleratorNames" Prelude.<$> acceleratorNames,+               (JSON..=) "AcceleratorTotalMemoryMiB"+                 Prelude.<$> acceleratorTotalMemoryMiB,+               (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,+               (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,+               (JSON..=) "BareMetal" Prelude.<$> bareMetal,+               (JSON..=) "BaselineEbsBandwidthMbps"+                 Prelude.<$> baselineEbsBandwidthMbps,+               (JSON..=) "BaselinePerformanceFactors"+                 Prelude.<$> baselinePerformanceFactors,+               (JSON..=) "BurstablePerformance" Prelude.<$> burstablePerformance,+               (JSON..=) "CpuManufacturers" Prelude.<$> cpuManufacturers,+               (JSON..=) "ExcludedInstanceTypes"+                 Prelude.<$> excludedInstanceTypes,+               (JSON..=) "InstanceGenerations" Prelude.<$> instanceGenerations,+               (JSON..=) "LocalStorage" Prelude.<$> localStorage,+               (JSON..=) "LocalStorageTypes" Prelude.<$> localStorageTypes,+               (JSON..=) "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice"+                 Prelude.<$> maxSpotPriceAsPercentageOfOptimalOnDemandPrice,+               (JSON..=) "MemoryGiBPerVCpu" Prelude.<$> memoryGiBPerVCpu,+               (JSON..=) "MemoryMiB" Prelude.<$> memoryMiB,+               (JSON..=) "NetworkBandwidthGbps" Prelude.<$> networkBandwidthGbps,+               (JSON..=) "NetworkInterfaceCount"+                 Prelude.<$> networkInterfaceCount,+               (JSON..=) "OnDemandMaxPricePercentageOverLowestPrice"+                 Prelude.<$> onDemandMaxPricePercentageOverLowestPrice,+               (JSON..=) "RequireHibernateSupport"+                 Prelude.<$> requireHibernateSupport,+               (JSON..=) "SpotMaxPricePercentageOverLowestPrice"+                 Prelude.<$> spotMaxPricePercentageOverLowestPrice,+               (JSON..=) "TotalLocalStorageGB" Prelude.<$> totalLocalStorageGB,+               (JSON..=) "VCpuCount" Prelude.<$> vCpuCount]))+instance Property "AcceleratorCount" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorCount" InstanceRequirementsRequestProperty = AcceleratorCountRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorCount = Prelude.pure newValue, ..}+instance Property "AcceleratorManufacturers" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorManufacturers" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorManufacturers = Prelude.pure newValue, ..}+instance Property "AcceleratorNames" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorNames" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorNames = Prelude.pure newValue, ..}+instance Property "AcceleratorTotalMemoryMiB" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorTotalMemoryMiB" InstanceRequirementsRequestProperty = AcceleratorTotalMemoryMiBRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorTotalMemoryMiB = Prelude.pure newValue, ..}+instance Property "AcceleratorTypes" InstanceRequirementsRequestProperty where+  type PropertyType "AcceleratorTypes" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {acceleratorTypes = Prelude.pure newValue, ..}+instance Property "AllowedInstanceTypes" InstanceRequirementsRequestProperty where+  type PropertyType "AllowedInstanceTypes" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {allowedInstanceTypes = Prelude.pure newValue, ..}+instance Property "BareMetal" InstanceRequirementsRequestProperty where+  type PropertyType "BareMetal" InstanceRequirementsRequestProperty = Value Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {bareMetal = Prelude.pure newValue, ..}+instance Property "BaselineEbsBandwidthMbps" InstanceRequirementsRequestProperty where+  type PropertyType "BaselineEbsBandwidthMbps" InstanceRequirementsRequestProperty = BaselineEbsBandwidthMbpsRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {baselineEbsBandwidthMbps = Prelude.pure newValue, ..}+instance Property "BaselinePerformanceFactors" InstanceRequirementsRequestProperty where+  type PropertyType "BaselinePerformanceFactors" InstanceRequirementsRequestProperty = BaselinePerformanceFactorsRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {baselinePerformanceFactors = Prelude.pure newValue, ..}+instance Property "BurstablePerformance" InstanceRequirementsRequestProperty where+  type PropertyType "BurstablePerformance" InstanceRequirementsRequestProperty = Value Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {burstablePerformance = Prelude.pure newValue, ..}+instance Property "CpuManufacturers" InstanceRequirementsRequestProperty where+  type PropertyType "CpuManufacturers" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {cpuManufacturers = Prelude.pure newValue, ..}+instance Property "ExcludedInstanceTypes" InstanceRequirementsRequestProperty where+  type PropertyType "ExcludedInstanceTypes" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {excludedInstanceTypes = Prelude.pure newValue, ..}+instance Property "InstanceGenerations" InstanceRequirementsRequestProperty where+  type PropertyType "InstanceGenerations" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {instanceGenerations = Prelude.pure newValue, ..}+instance Property "LocalStorage" InstanceRequirementsRequestProperty where+  type PropertyType "LocalStorage" InstanceRequirementsRequestProperty = Value Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {localStorage = Prelude.pure newValue, ..}+instance Property "LocalStorageTypes" InstanceRequirementsRequestProperty where+  type PropertyType "LocalStorageTypes" InstanceRequirementsRequestProperty = ValueList Prelude.Text+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {localStorageTypes = Prelude.pure newValue, ..}+instance Property "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" InstanceRequirementsRequestProperty where+  type PropertyType "MaxSpotPriceAsPercentageOfOptimalOnDemandPrice" InstanceRequirementsRequestProperty = Value Prelude.Integer+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {maxSpotPriceAsPercentageOfOptimalOnDemandPrice = Prelude.pure+                                                            newValue,+         ..}+instance Property "MemoryGiBPerVCpu" InstanceRequirementsRequestProperty where+  type PropertyType "MemoryGiBPerVCpu" InstanceRequirementsRequestProperty = MemoryGiBPerVCpuRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {memoryGiBPerVCpu = Prelude.pure newValue, ..}+instance Property "MemoryMiB" InstanceRequirementsRequestProperty where+  type PropertyType "MemoryMiB" InstanceRequirementsRequestProperty = MemoryMiBRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {memoryMiB = Prelude.pure newValue, ..}+instance Property "NetworkBandwidthGbps" InstanceRequirementsRequestProperty where+  type PropertyType "NetworkBandwidthGbps" InstanceRequirementsRequestProperty = NetworkBandwidthGbpsRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {networkBandwidthGbps = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceCount" InstanceRequirementsRequestProperty where+  type PropertyType "NetworkInterfaceCount" InstanceRequirementsRequestProperty = NetworkInterfaceCountRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {networkInterfaceCount = Prelude.pure newValue, ..}+instance Property "OnDemandMaxPricePercentageOverLowestPrice" InstanceRequirementsRequestProperty where+  type PropertyType "OnDemandMaxPricePercentageOverLowestPrice" InstanceRequirementsRequestProperty = Value Prelude.Integer+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {onDemandMaxPricePercentageOverLowestPrice = Prelude.pure newValue,+         ..}+instance Property "RequireHibernateSupport" InstanceRequirementsRequestProperty where+  type PropertyType "RequireHibernateSupport" InstanceRequirementsRequestProperty = Value Prelude.Bool+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {requireHibernateSupport = Prelude.pure newValue, ..}+instance Property "SpotMaxPricePercentageOverLowestPrice" InstanceRequirementsRequestProperty where+  type PropertyType "SpotMaxPricePercentageOverLowestPrice" InstanceRequirementsRequestProperty = Value Prelude.Integer+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {spotMaxPricePercentageOverLowestPrice = Prelude.pure newValue, ..}+instance Property "TotalLocalStorageGB" InstanceRequirementsRequestProperty where+  type PropertyType "TotalLocalStorageGB" InstanceRequirementsRequestProperty = TotalLocalStorageGBRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {totalLocalStorageGB = Prelude.pure newValue, ..}+instance Property "VCpuCount" InstanceRequirementsRequestProperty where+  type PropertyType "VCpuCount" InstanceRequirementsRequestProperty = VCpuCountRangeRequestProperty+  set newValue InstanceRequirementsRequestProperty {..}+    = InstanceRequirementsRequestProperty+        {vCpuCount = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/InstanceRequirementsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.InstanceRequirementsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data InstanceRequirementsRequestProperty :: Prelude.Type+instance ToResourceProperties InstanceRequirementsRequestProperty+instance Prelude.Eq InstanceRequirementsRequestProperty+instance Prelude.Show InstanceRequirementsRequestProperty+instance JSON.ToJSON InstanceRequirementsRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/LaunchTemplateConfigProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.EC2.SpotFleet.LaunchTemplateConfigProperty (+        module Exports, LaunchTemplateConfigProperty(..),+        mkLaunchTemplateConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.FleetLaunchTemplateSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.LaunchTemplateOverridesProperty as Exports+import Stratosphere.ResourceProperties+data LaunchTemplateConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html>+    LaunchTemplateConfigProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-launchtemplatespecification>+                                  launchTemplateSpecification :: (Prelude.Maybe FleetLaunchTemplateSpecificationProperty),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateconfig.html#cfn-ec2-spotfleet-launchtemplateconfig-overrides>+                                  overrides :: (Prelude.Maybe [LaunchTemplateOverridesProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchTemplateConfigProperty :: LaunchTemplateConfigProperty+mkLaunchTemplateConfigProperty+  = LaunchTemplateConfigProperty+      {haddock_workaround_ = (),+       launchTemplateSpecification = Prelude.Nothing,+       overrides = Prelude.Nothing}+instance ToResourceProperties LaunchTemplateConfigProperty where+  toResourceProperties LaunchTemplateConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.LaunchTemplateConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "LaunchTemplateSpecification"+                              Prelude.<$> launchTemplateSpecification,+                            (JSON..=) "Overrides" Prelude.<$> overrides])}+instance JSON.ToJSON LaunchTemplateConfigProperty where+  toJSON LaunchTemplateConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "LaunchTemplateSpecification"+                 Prelude.<$> launchTemplateSpecification,+               (JSON..=) "Overrides" Prelude.<$> overrides]))+instance Property "LaunchTemplateSpecification" LaunchTemplateConfigProperty where+  type PropertyType "LaunchTemplateSpecification" LaunchTemplateConfigProperty = FleetLaunchTemplateSpecificationProperty+  set newValue LaunchTemplateConfigProperty {..}+    = LaunchTemplateConfigProperty+        {launchTemplateSpecification = Prelude.pure newValue, ..}+instance Property "Overrides" LaunchTemplateConfigProperty where+  type PropertyType "Overrides" LaunchTemplateConfigProperty = [LaunchTemplateOverridesProperty]+  set newValue LaunchTemplateConfigProperty {..}+    = LaunchTemplateConfigProperty+        {overrides = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/LaunchTemplateConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.LaunchTemplateConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LaunchTemplateConfigProperty :: Prelude.Type+instance ToResourceProperties LaunchTemplateConfigProperty+instance Prelude.Eq LaunchTemplateConfigProperty+instance Prelude.Show LaunchTemplateConfigProperty+instance JSON.ToJSON LaunchTemplateConfigProperty
+ gen/Stratosphere/EC2/SpotFleet/LaunchTemplateOverridesProperty.hs view
@@ -0,0 +1,98 @@+module Stratosphere.EC2.SpotFleet.LaunchTemplateOverridesProperty (+        module Exports, LaunchTemplateOverridesProperty(..),+        mkLaunchTemplateOverridesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.InstanceRequirementsRequestProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LaunchTemplateOverridesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html>+    LaunchTemplateOverridesProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-availabilityzone>+                                     availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-instancerequirements>+                                     instanceRequirements :: (Prelude.Maybe InstanceRequirementsRequestProperty),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-instancetype>+                                     instanceType :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-priority>+                                     priority :: (Prelude.Maybe (Value Prelude.Double)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-spotprice>+                                     spotPrice :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-subnetid>+                                     subnetId :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-launchtemplateoverrides.html#cfn-ec2-spotfleet-launchtemplateoverrides-weightedcapacity>+                                     weightedCapacity :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLaunchTemplateOverridesProperty ::+  LaunchTemplateOverridesProperty+mkLaunchTemplateOverridesProperty+  = LaunchTemplateOverridesProperty+      {haddock_workaround_ = (), availabilityZone = Prelude.Nothing,+       instanceRequirements = Prelude.Nothing,+       instanceType = Prelude.Nothing, priority = Prelude.Nothing,+       spotPrice = Prelude.Nothing, subnetId = Prelude.Nothing,+       weightedCapacity = Prelude.Nothing}+instance ToResourceProperties LaunchTemplateOverridesProperty where+  toResourceProperties LaunchTemplateOverridesProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.LaunchTemplateOverrides",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                            (JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+                            (JSON..=) "InstanceType" Prelude.<$> instanceType,+                            (JSON..=) "Priority" Prelude.<$> priority,+                            (JSON..=) "SpotPrice" Prelude.<$> spotPrice,+                            (JSON..=) "SubnetId" Prelude.<$> subnetId,+                            (JSON..=) "WeightedCapacity" Prelude.<$> weightedCapacity])}+instance JSON.ToJSON LaunchTemplateOverridesProperty where+  toJSON LaunchTemplateOverridesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+               (JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+               (JSON..=) "InstanceType" Prelude.<$> instanceType,+               (JSON..=) "Priority" Prelude.<$> priority,+               (JSON..=) "SpotPrice" Prelude.<$> spotPrice,+               (JSON..=) "SubnetId" Prelude.<$> subnetId,+               (JSON..=) "WeightedCapacity" Prelude.<$> weightedCapacity]))+instance Property "AvailabilityZone" LaunchTemplateOverridesProperty where+  type PropertyType "AvailabilityZone" LaunchTemplateOverridesProperty = Value Prelude.Text+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {availabilityZone = Prelude.pure newValue, ..}+instance Property "InstanceRequirements" LaunchTemplateOverridesProperty where+  type PropertyType "InstanceRequirements" LaunchTemplateOverridesProperty = InstanceRequirementsRequestProperty+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {instanceRequirements = Prelude.pure newValue, ..}+instance Property "InstanceType" LaunchTemplateOverridesProperty where+  type PropertyType "InstanceType" LaunchTemplateOverridesProperty = Value Prelude.Text+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {instanceType = Prelude.pure newValue, ..}+instance Property "Priority" LaunchTemplateOverridesProperty where+  type PropertyType "Priority" LaunchTemplateOverridesProperty = Value Prelude.Double+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {priority = Prelude.pure newValue, ..}+instance Property "SpotPrice" LaunchTemplateOverridesProperty where+  type PropertyType "SpotPrice" LaunchTemplateOverridesProperty = Value Prelude.Text+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {spotPrice = Prelude.pure newValue, ..}+instance Property "SubnetId" LaunchTemplateOverridesProperty where+  type PropertyType "SubnetId" LaunchTemplateOverridesProperty = Value Prelude.Text+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {subnetId = Prelude.pure newValue, ..}+instance Property "WeightedCapacity" LaunchTemplateOverridesProperty where+  type PropertyType "WeightedCapacity" LaunchTemplateOverridesProperty = Value Prelude.Double+  set newValue LaunchTemplateOverridesProperty {..}+    = LaunchTemplateOverridesProperty+        {weightedCapacity = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/LaunchTemplateOverridesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.LaunchTemplateOverridesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LaunchTemplateOverridesProperty :: Prelude.Type+instance ToResourceProperties LaunchTemplateOverridesProperty+instance Prelude.Eq LaunchTemplateOverridesProperty+instance Prelude.Show LaunchTemplateOverridesProperty+instance JSON.ToJSON LaunchTemplateOverridesProperty
+ gen/Stratosphere/EC2/SpotFleet/LoadBalancersConfigProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.EC2.SpotFleet.LoadBalancersConfigProperty (+        module Exports, LoadBalancersConfigProperty(..),+        mkLoadBalancersConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.ClassicLoadBalancersConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.TargetGroupsConfigProperty as Exports+import Stratosphere.ResourceProperties+data LoadBalancersConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html>+    LoadBalancersConfigProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html#cfn-ec2-spotfleet-loadbalancersconfig-classicloadbalancersconfig>+                                 classicLoadBalancersConfig :: (Prelude.Maybe ClassicLoadBalancersConfigProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-loadbalancersconfig.html#cfn-ec2-spotfleet-loadbalancersconfig-targetgroupsconfig>+                                 targetGroupsConfig :: (Prelude.Maybe TargetGroupsConfigProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLoadBalancersConfigProperty :: LoadBalancersConfigProperty+mkLoadBalancersConfigProperty+  = LoadBalancersConfigProperty+      {haddock_workaround_ = (),+       classicLoadBalancersConfig = Prelude.Nothing,+       targetGroupsConfig = Prelude.Nothing}+instance ToResourceProperties LoadBalancersConfigProperty where+  toResourceProperties LoadBalancersConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.LoadBalancersConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ClassicLoadBalancersConfig"+                              Prelude.<$> classicLoadBalancersConfig,+                            (JSON..=) "TargetGroupsConfig" Prelude.<$> targetGroupsConfig])}+instance JSON.ToJSON LoadBalancersConfigProperty where+  toJSON LoadBalancersConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ClassicLoadBalancersConfig"+                 Prelude.<$> classicLoadBalancersConfig,+               (JSON..=) "TargetGroupsConfig" Prelude.<$> targetGroupsConfig]))+instance Property "ClassicLoadBalancersConfig" LoadBalancersConfigProperty where+  type PropertyType "ClassicLoadBalancersConfig" LoadBalancersConfigProperty = ClassicLoadBalancersConfigProperty+  set newValue LoadBalancersConfigProperty {..}+    = LoadBalancersConfigProperty+        {classicLoadBalancersConfig = Prelude.pure newValue, ..}+instance Property "TargetGroupsConfig" LoadBalancersConfigProperty where+  type PropertyType "TargetGroupsConfig" LoadBalancersConfigProperty = TargetGroupsConfigProperty+  set newValue LoadBalancersConfigProperty {..}+    = LoadBalancersConfigProperty+        {targetGroupsConfig = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/LoadBalancersConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.LoadBalancersConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LoadBalancersConfigProperty :: Prelude.Type+instance ToResourceProperties LoadBalancersConfigProperty+instance Prelude.Eq LoadBalancersConfigProperty+instance Prelude.Show LoadBalancersConfigProperty+instance JSON.ToJSON LoadBalancersConfigProperty
+ gen/Stratosphere/EC2/SpotFleet/MemoryGiBPerVCpuRequestProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.SpotFleet.MemoryGiBPerVCpuRequestProperty (+        MemoryGiBPerVCpuRequestProperty(..),+        mkMemoryGiBPerVCpuRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MemoryGiBPerVCpuRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorygibpervcpurequest.html>+    MemoryGiBPerVCpuRequestProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorygibpervcpurequest.html#cfn-ec2-spotfleet-memorygibpervcpurequest-max>+                                     max :: (Prelude.Maybe (Value Prelude.Double)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorygibpervcpurequest.html#cfn-ec2-spotfleet-memorygibpervcpurequest-min>+                                     min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMemoryGiBPerVCpuRequestProperty ::+  MemoryGiBPerVCpuRequestProperty+mkMemoryGiBPerVCpuRequestProperty+  = MemoryGiBPerVCpuRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties MemoryGiBPerVCpuRequestProperty where+  toResourceProperties MemoryGiBPerVCpuRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.MemoryGiBPerVCpuRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON MemoryGiBPerVCpuRequestProperty where+  toJSON MemoryGiBPerVCpuRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" MemoryGiBPerVCpuRequestProperty where+  type PropertyType "Max" MemoryGiBPerVCpuRequestProperty = Value Prelude.Double+  set newValue MemoryGiBPerVCpuRequestProperty {..}+    = MemoryGiBPerVCpuRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" MemoryGiBPerVCpuRequestProperty where+  type PropertyType "Min" MemoryGiBPerVCpuRequestProperty = Value Prelude.Double+  set newValue MemoryGiBPerVCpuRequestProperty {..}+    = MemoryGiBPerVCpuRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/MemoryGiBPerVCpuRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.MemoryGiBPerVCpuRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MemoryGiBPerVCpuRequestProperty :: Prelude.Type+instance ToResourceProperties MemoryGiBPerVCpuRequestProperty+instance Prelude.Eq MemoryGiBPerVCpuRequestProperty+instance Prelude.Show MemoryGiBPerVCpuRequestProperty+instance JSON.ToJSON MemoryGiBPerVCpuRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/MemoryMiBRequestProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.SpotFleet.MemoryMiBRequestProperty (+        MemoryMiBRequestProperty(..), mkMemoryMiBRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MemoryMiBRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorymibrequest.html>+    MemoryMiBRequestProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorymibrequest.html#cfn-ec2-spotfleet-memorymibrequest-max>+                              max :: (Prelude.Maybe (Value Prelude.Integer)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-memorymibrequest.html#cfn-ec2-spotfleet-memorymibrequest-min>+                              min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMemoryMiBRequestProperty :: MemoryMiBRequestProperty+mkMemoryMiBRequestProperty+  = MemoryMiBRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties MemoryMiBRequestProperty where+  toResourceProperties MemoryMiBRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.MemoryMiBRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON MemoryMiBRequestProperty where+  toJSON MemoryMiBRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" MemoryMiBRequestProperty where+  type PropertyType "Max" MemoryMiBRequestProperty = Value Prelude.Integer+  set newValue MemoryMiBRequestProperty {..}+    = MemoryMiBRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" MemoryMiBRequestProperty where+  type PropertyType "Min" MemoryMiBRequestProperty = Value Prelude.Integer+  set newValue MemoryMiBRequestProperty {..}+    = MemoryMiBRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/MemoryMiBRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.MemoryMiBRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data MemoryMiBRequestProperty :: Prelude.Type+instance ToResourceProperties MemoryMiBRequestProperty+instance Prelude.Eq MemoryMiBRequestProperty+instance Prelude.Show MemoryMiBRequestProperty+instance JSON.ToJSON MemoryMiBRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/NetworkBandwidthGbpsRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.SpotFleet.NetworkBandwidthGbpsRequestProperty (+        NetworkBandwidthGbpsRequestProperty(..),+        mkNetworkBandwidthGbpsRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkBandwidthGbpsRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkbandwidthgbpsrequest.html>+    NetworkBandwidthGbpsRequestProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkbandwidthgbpsrequest.html#cfn-ec2-spotfleet-networkbandwidthgbpsrequest-max>+                                         max :: (Prelude.Maybe (Value Prelude.Double)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkbandwidthgbpsrequest.html#cfn-ec2-spotfleet-networkbandwidthgbpsrequest-min>+                                         min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkBandwidthGbpsRequestProperty ::+  NetworkBandwidthGbpsRequestProperty+mkNetworkBandwidthGbpsRequestProperty+  = NetworkBandwidthGbpsRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties NetworkBandwidthGbpsRequestProperty where+  toResourceProperties NetworkBandwidthGbpsRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.NetworkBandwidthGbpsRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON NetworkBandwidthGbpsRequestProperty where+  toJSON NetworkBandwidthGbpsRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" NetworkBandwidthGbpsRequestProperty where+  type PropertyType "Max" NetworkBandwidthGbpsRequestProperty = Value Prelude.Double+  set newValue NetworkBandwidthGbpsRequestProperty {..}+    = NetworkBandwidthGbpsRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" NetworkBandwidthGbpsRequestProperty where+  type PropertyType "Min" NetworkBandwidthGbpsRequestProperty = Value Prelude.Double+  set newValue NetworkBandwidthGbpsRequestProperty {..}+    = NetworkBandwidthGbpsRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/NetworkBandwidthGbpsRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.NetworkBandwidthGbpsRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkBandwidthGbpsRequestProperty :: Prelude.Type+instance ToResourceProperties NetworkBandwidthGbpsRequestProperty+instance Prelude.Eq NetworkBandwidthGbpsRequestProperty+instance Prelude.Show NetworkBandwidthGbpsRequestProperty+instance JSON.ToJSON NetworkBandwidthGbpsRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/NetworkInterfaceCountRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.SpotFleet.NetworkInterfaceCountRequestProperty (+        NetworkInterfaceCountRequestProperty(..),+        mkNetworkInterfaceCountRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkInterfaceCountRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkinterfacecountrequest.html>+    NetworkInterfaceCountRequestProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkinterfacecountrequest.html#cfn-ec2-spotfleet-networkinterfacecountrequest-max>+                                          max :: (Prelude.Maybe (Value Prelude.Integer)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-networkinterfacecountrequest.html#cfn-ec2-spotfleet-networkinterfacecountrequest-min>+                                          min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterfaceCountRequestProperty ::+  NetworkInterfaceCountRequestProperty+mkNetworkInterfaceCountRequestProperty+  = NetworkInterfaceCountRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties NetworkInterfaceCountRequestProperty where+  toResourceProperties NetworkInterfaceCountRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.NetworkInterfaceCountRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON NetworkInterfaceCountRequestProperty where+  toJSON NetworkInterfaceCountRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" NetworkInterfaceCountRequestProperty where+  type PropertyType "Max" NetworkInterfaceCountRequestProperty = Value Prelude.Integer+  set newValue NetworkInterfaceCountRequestProperty {..}+    = NetworkInterfaceCountRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" NetworkInterfaceCountRequestProperty where+  type PropertyType "Min" NetworkInterfaceCountRequestProperty = Value Prelude.Integer+  set newValue NetworkInterfaceCountRequestProperty {..}+    = NetworkInterfaceCountRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/NetworkInterfaceCountRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.NetworkInterfaceCountRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkInterfaceCountRequestProperty :: Prelude.Type+instance ToResourceProperties NetworkInterfaceCountRequestProperty+instance Prelude.Eq NetworkInterfaceCountRequestProperty+instance Prelude.Show NetworkInterfaceCountRequestProperty+instance JSON.ToJSON NetworkInterfaceCountRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/PerformanceFactorReferenceRequestProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.SpotFleet.PerformanceFactorReferenceRequestProperty (+        PerformanceFactorReferenceRequestProperty(..),+        mkPerformanceFactorReferenceRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PerformanceFactorReferenceRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-performancefactorreferencerequest.html>+    PerformanceFactorReferenceRequestProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-performancefactorreferencerequest.html#cfn-ec2-spotfleet-performancefactorreferencerequest-instancefamily>+                                               instanceFamily :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPerformanceFactorReferenceRequestProperty ::+  PerformanceFactorReferenceRequestProperty+mkPerformanceFactorReferenceRequestProperty+  = PerformanceFactorReferenceRequestProperty+      {haddock_workaround_ = (), instanceFamily = Prelude.Nothing}+instance ToResourceProperties PerformanceFactorReferenceRequestProperty where+  toResourceProperties PerformanceFactorReferenceRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.PerformanceFactorReferenceRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "InstanceFamily" Prelude.<$> instanceFamily])}+instance JSON.ToJSON PerformanceFactorReferenceRequestProperty where+  toJSON PerformanceFactorReferenceRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "InstanceFamily" Prelude.<$> instanceFamily]))+instance Property "InstanceFamily" PerformanceFactorReferenceRequestProperty where+  type PropertyType "InstanceFamily" PerformanceFactorReferenceRequestProperty = Value Prelude.Text+  set newValue PerformanceFactorReferenceRequestProperty {..}+    = PerformanceFactorReferenceRequestProperty+        {instanceFamily = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/PerformanceFactorReferenceRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.PerformanceFactorReferenceRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PerformanceFactorReferenceRequestProperty :: Prelude.Type+instance ToResourceProperties PerformanceFactorReferenceRequestProperty+instance Prelude.Eq PerformanceFactorReferenceRequestProperty+instance Prelude.Show PerformanceFactorReferenceRequestProperty+instance JSON.ToJSON PerformanceFactorReferenceRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/PrivateIpAddressSpecificationProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.SpotFleet.PrivateIpAddressSpecificationProperty (+        PrivateIpAddressSpecificationProperty(..),+        mkPrivateIpAddressSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PrivateIpAddressSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-privateipaddressspecification.html>+    PrivateIpAddressSpecificationProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-privateipaddressspecification.html#cfn-ec2-spotfleet-privateipaddressspecification-primary>+                                           primary :: (Prelude.Maybe (Value Prelude.Bool)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-privateipaddressspecification.html#cfn-ec2-spotfleet-privateipaddressspecification-privateipaddress>+                                           privateIpAddress :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPrivateIpAddressSpecificationProperty ::+  Value Prelude.Text -> PrivateIpAddressSpecificationProperty+mkPrivateIpAddressSpecificationProperty privateIpAddress+  = PrivateIpAddressSpecificationProperty+      {haddock_workaround_ = (), privateIpAddress = privateIpAddress,+       primary = Prelude.Nothing}+instance ToResourceProperties PrivateIpAddressSpecificationProperty where+  toResourceProperties PrivateIpAddressSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.PrivateIpAddressSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PrivateIpAddress" JSON..= privateIpAddress]+                           (Prelude.catMaybes [(JSON..=) "Primary" Prelude.<$> primary]))}+instance JSON.ToJSON PrivateIpAddressSpecificationProperty where+  toJSON PrivateIpAddressSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PrivateIpAddress" JSON..= privateIpAddress]+              (Prelude.catMaybes [(JSON..=) "Primary" Prelude.<$> primary])))+instance Property "Primary" PrivateIpAddressSpecificationProperty where+  type PropertyType "Primary" PrivateIpAddressSpecificationProperty = Value Prelude.Bool+  set newValue PrivateIpAddressSpecificationProperty {..}+    = PrivateIpAddressSpecificationProperty+        {primary = Prelude.pure newValue, ..}+instance Property "PrivateIpAddress" PrivateIpAddressSpecificationProperty where+  type PropertyType "PrivateIpAddress" PrivateIpAddressSpecificationProperty = Value Prelude.Text+  set newValue PrivateIpAddressSpecificationProperty {..}+    = PrivateIpAddressSpecificationProperty+        {privateIpAddress = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/PrivateIpAddressSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.PrivateIpAddressSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PrivateIpAddressSpecificationProperty :: Prelude.Type+instance ToResourceProperties PrivateIpAddressSpecificationProperty+instance Prelude.Eq PrivateIpAddressSpecificationProperty+instance Prelude.Show PrivateIpAddressSpecificationProperty+instance JSON.ToJSON PrivateIpAddressSpecificationProperty
+ gen/Stratosphere/EC2/SpotFleet/SpotCapacityRebalanceProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.SpotFleet.SpotCapacityRebalanceProperty (+        SpotCapacityRebalanceProperty(..), mkSpotCapacityRebalanceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SpotCapacityRebalanceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotcapacityrebalance.html>+    SpotCapacityRebalanceProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotcapacityrebalance.html#cfn-ec2-spotfleet-spotcapacityrebalance-replacementstrategy>+                                   replacementStrategy :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotcapacityrebalance.html#cfn-ec2-spotfleet-spotcapacityrebalance-terminationdelay>+                                   terminationDelay :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotCapacityRebalanceProperty :: SpotCapacityRebalanceProperty+mkSpotCapacityRebalanceProperty+  = SpotCapacityRebalanceProperty+      {haddock_workaround_ = (), replacementStrategy = Prelude.Nothing,+       terminationDelay = Prelude.Nothing}+instance ToResourceProperties SpotCapacityRebalanceProperty where+  toResourceProperties SpotCapacityRebalanceProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.SpotCapacityRebalance",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ReplacementStrategy" Prelude.<$> replacementStrategy,+                            (JSON..=) "TerminationDelay" Prelude.<$> terminationDelay])}+instance JSON.ToJSON SpotCapacityRebalanceProperty where+  toJSON SpotCapacityRebalanceProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ReplacementStrategy" Prelude.<$> replacementStrategy,+               (JSON..=) "TerminationDelay" Prelude.<$> terminationDelay]))+instance Property "ReplacementStrategy" SpotCapacityRebalanceProperty where+  type PropertyType "ReplacementStrategy" SpotCapacityRebalanceProperty = Value Prelude.Text+  set newValue SpotCapacityRebalanceProperty {..}+    = SpotCapacityRebalanceProperty+        {replacementStrategy = Prelude.pure newValue, ..}+instance Property "TerminationDelay" SpotCapacityRebalanceProperty where+  type PropertyType "TerminationDelay" SpotCapacityRebalanceProperty = Value Prelude.Integer+  set newValue SpotCapacityRebalanceProperty {..}+    = SpotCapacityRebalanceProperty+        {terminationDelay = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/SpotCapacityRebalanceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.SpotCapacityRebalanceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpotCapacityRebalanceProperty :: Prelude.Type+instance ToResourceProperties SpotCapacityRebalanceProperty+instance Prelude.Eq SpotCapacityRebalanceProperty+instance Prelude.Show SpotCapacityRebalanceProperty+instance JSON.ToJSON SpotCapacityRebalanceProperty
+ gen/Stratosphere/EC2/SpotFleet/SpotFleetLaunchSpecificationProperty.hs view
@@ -0,0 +1,212 @@+module Stratosphere.EC2.SpotFleet.SpotFleetLaunchSpecificationProperty (+        module Exports, SpotFleetLaunchSpecificationProperty(..),+        mkSpotFleetLaunchSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.BlockDeviceMappingProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.GroupIdentifierProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.IamInstanceProfileSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.InstanceNetworkInterfaceSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.InstanceRequirementsRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.SpotFleetMonitoringProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.SpotFleetTagSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.SpotPlacementProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SpotFleetLaunchSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html>+    SpotFleetLaunchSpecificationProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-blockdevicemappings>+                                          blockDeviceMappings :: (Prelude.Maybe [BlockDeviceMappingProperty]),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-ebsoptimized>+                                          ebsOptimized :: (Prelude.Maybe (Value Prelude.Bool)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-iaminstanceprofile>+                                          iamInstanceProfile :: (Prelude.Maybe IamInstanceProfileSpecificationProperty),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-imageid>+                                          imageId :: (Value Prelude.Text),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-instancerequirements>+                                          instanceRequirements :: (Prelude.Maybe InstanceRequirementsRequestProperty),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-instancetype>+                                          instanceType :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-kernelid>+                                          kernelId :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-keyname>+                                          keyName :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-monitoring>+                                          monitoring :: (Prelude.Maybe SpotFleetMonitoringProperty),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-networkinterfaces>+                                          networkInterfaces :: (Prelude.Maybe [InstanceNetworkInterfaceSpecificationProperty]),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-placement>+                                          placement :: (Prelude.Maybe SpotPlacementProperty),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-ramdiskid>+                                          ramdiskId :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-securitygroups>+                                          securityGroups :: (Prelude.Maybe [GroupIdentifierProperty]),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-spotprice>+                                          spotPrice :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-subnetid>+                                          subnetId :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-tagspecifications>+                                          tagSpecifications :: (Prelude.Maybe [SpotFleetTagSpecificationProperty]),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-userdata>+                                          userData :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetlaunchspecification.html#cfn-ec2-spotfleet-spotfleetlaunchspecification-weightedcapacity>+                                          weightedCapacity :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotFleetLaunchSpecificationProperty ::+  Value Prelude.Text -> SpotFleetLaunchSpecificationProperty+mkSpotFleetLaunchSpecificationProperty imageId+  = SpotFleetLaunchSpecificationProperty+      {haddock_workaround_ = (), imageId = imageId,+       blockDeviceMappings = Prelude.Nothing,+       ebsOptimized = Prelude.Nothing,+       iamInstanceProfile = Prelude.Nothing,+       instanceRequirements = Prelude.Nothing,+       instanceType = Prelude.Nothing, kernelId = Prelude.Nothing,+       keyName = Prelude.Nothing, monitoring = Prelude.Nothing,+       networkInterfaces = Prelude.Nothing, placement = Prelude.Nothing,+       ramdiskId = Prelude.Nothing, securityGroups = Prelude.Nothing,+       spotPrice = Prelude.Nothing, subnetId = Prelude.Nothing,+       tagSpecifications = Prelude.Nothing, userData = Prelude.Nothing,+       weightedCapacity = Prelude.Nothing}+instance ToResourceProperties SpotFleetLaunchSpecificationProperty where+  toResourceProperties SpotFleetLaunchSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.SpotFleetLaunchSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ImageId" JSON..= imageId]+                           (Prelude.catMaybes+                              [(JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+                               (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+                               (JSON..=) "IamInstanceProfile" Prelude.<$> iamInstanceProfile,+                               (JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+                               (JSON..=) "InstanceType" Prelude.<$> instanceType,+                               (JSON..=) "KernelId" Prelude.<$> kernelId,+                               (JSON..=) "KeyName" Prelude.<$> keyName,+                               (JSON..=) "Monitoring" Prelude.<$> monitoring,+                               (JSON..=) "NetworkInterfaces" Prelude.<$> networkInterfaces,+                               (JSON..=) "Placement" Prelude.<$> placement,+                               (JSON..=) "RamdiskId" Prelude.<$> ramdiskId,+                               (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+                               (JSON..=) "SpotPrice" Prelude.<$> spotPrice,+                               (JSON..=) "SubnetId" Prelude.<$> subnetId,+                               (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                               (JSON..=) "UserData" Prelude.<$> userData,+                               (JSON..=) "WeightedCapacity" Prelude.<$> weightedCapacity]))}+instance JSON.ToJSON SpotFleetLaunchSpecificationProperty where+  toJSON SpotFleetLaunchSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ImageId" JSON..= imageId]+              (Prelude.catMaybes+                 [(JSON..=) "BlockDeviceMappings" Prelude.<$> blockDeviceMappings,+                  (JSON..=) "EbsOptimized" Prelude.<$> ebsOptimized,+                  (JSON..=) "IamInstanceProfile" Prelude.<$> iamInstanceProfile,+                  (JSON..=) "InstanceRequirements" Prelude.<$> instanceRequirements,+                  (JSON..=) "InstanceType" Prelude.<$> instanceType,+                  (JSON..=) "KernelId" Prelude.<$> kernelId,+                  (JSON..=) "KeyName" Prelude.<$> keyName,+                  (JSON..=) "Monitoring" Prelude.<$> monitoring,+                  (JSON..=) "NetworkInterfaces" Prelude.<$> networkInterfaces,+                  (JSON..=) "Placement" Prelude.<$> placement,+                  (JSON..=) "RamdiskId" Prelude.<$> ramdiskId,+                  (JSON..=) "SecurityGroups" Prelude.<$> securityGroups,+                  (JSON..=) "SpotPrice" Prelude.<$> spotPrice,+                  (JSON..=) "SubnetId" Prelude.<$> subnetId,+                  (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                  (JSON..=) "UserData" Prelude.<$> userData,+                  (JSON..=) "WeightedCapacity" Prelude.<$> weightedCapacity])))+instance Property "BlockDeviceMappings" SpotFleetLaunchSpecificationProperty where+  type PropertyType "BlockDeviceMappings" SpotFleetLaunchSpecificationProperty = [BlockDeviceMappingProperty]+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {blockDeviceMappings = Prelude.pure newValue, ..}+instance Property "EbsOptimized" SpotFleetLaunchSpecificationProperty where+  type PropertyType "EbsOptimized" SpotFleetLaunchSpecificationProperty = Value Prelude.Bool+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {ebsOptimized = Prelude.pure newValue, ..}+instance Property "IamInstanceProfile" SpotFleetLaunchSpecificationProperty where+  type PropertyType "IamInstanceProfile" SpotFleetLaunchSpecificationProperty = IamInstanceProfileSpecificationProperty+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {iamInstanceProfile = Prelude.pure newValue, ..}+instance Property "ImageId" SpotFleetLaunchSpecificationProperty where+  type PropertyType "ImageId" SpotFleetLaunchSpecificationProperty = Value Prelude.Text+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty {imageId = newValue, ..}+instance Property "InstanceRequirements" SpotFleetLaunchSpecificationProperty where+  type PropertyType "InstanceRequirements" SpotFleetLaunchSpecificationProperty = InstanceRequirementsRequestProperty+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {instanceRequirements = Prelude.pure newValue, ..}+instance Property "InstanceType" SpotFleetLaunchSpecificationProperty where+  type PropertyType "InstanceType" SpotFleetLaunchSpecificationProperty = Value Prelude.Text+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {instanceType = Prelude.pure newValue, ..}+instance Property "KernelId" SpotFleetLaunchSpecificationProperty where+  type PropertyType "KernelId" SpotFleetLaunchSpecificationProperty = Value Prelude.Text+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {kernelId = Prelude.pure newValue, ..}+instance Property "KeyName" SpotFleetLaunchSpecificationProperty where+  type PropertyType "KeyName" SpotFleetLaunchSpecificationProperty = Value Prelude.Text+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {keyName = Prelude.pure newValue, ..}+instance Property "Monitoring" SpotFleetLaunchSpecificationProperty where+  type PropertyType "Monitoring" SpotFleetLaunchSpecificationProperty = SpotFleetMonitoringProperty+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {monitoring = Prelude.pure newValue, ..}+instance Property "NetworkInterfaces" SpotFleetLaunchSpecificationProperty where+  type PropertyType "NetworkInterfaces" SpotFleetLaunchSpecificationProperty = [InstanceNetworkInterfaceSpecificationProperty]+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {networkInterfaces = Prelude.pure newValue, ..}+instance Property "Placement" SpotFleetLaunchSpecificationProperty where+  type PropertyType "Placement" SpotFleetLaunchSpecificationProperty = SpotPlacementProperty+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {placement = Prelude.pure newValue, ..}+instance Property "RamdiskId" SpotFleetLaunchSpecificationProperty where+  type PropertyType "RamdiskId" SpotFleetLaunchSpecificationProperty = Value Prelude.Text+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {ramdiskId = Prelude.pure newValue, ..}+instance Property "SecurityGroups" SpotFleetLaunchSpecificationProperty where+  type PropertyType "SecurityGroups" SpotFleetLaunchSpecificationProperty = [GroupIdentifierProperty]+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {securityGroups = Prelude.pure newValue, ..}+instance Property "SpotPrice" SpotFleetLaunchSpecificationProperty where+  type PropertyType "SpotPrice" SpotFleetLaunchSpecificationProperty = Value Prelude.Text+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {spotPrice = Prelude.pure newValue, ..}+instance Property "SubnetId" SpotFleetLaunchSpecificationProperty where+  type PropertyType "SubnetId" SpotFleetLaunchSpecificationProperty = Value Prelude.Text+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {subnetId = Prelude.pure newValue, ..}+instance Property "TagSpecifications" SpotFleetLaunchSpecificationProperty where+  type PropertyType "TagSpecifications" SpotFleetLaunchSpecificationProperty = [SpotFleetTagSpecificationProperty]+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {tagSpecifications = Prelude.pure newValue, ..}+instance Property "UserData" SpotFleetLaunchSpecificationProperty where+  type PropertyType "UserData" SpotFleetLaunchSpecificationProperty = Value Prelude.Text+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {userData = Prelude.pure newValue, ..}+instance Property "WeightedCapacity" SpotFleetLaunchSpecificationProperty where+  type PropertyType "WeightedCapacity" SpotFleetLaunchSpecificationProperty = Value Prelude.Double+  set newValue SpotFleetLaunchSpecificationProperty {..}+    = SpotFleetLaunchSpecificationProperty+        {weightedCapacity = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/SpotFleetLaunchSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.SpotFleetLaunchSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpotFleetLaunchSpecificationProperty :: Prelude.Type+instance ToResourceProperties SpotFleetLaunchSpecificationProperty+instance Prelude.Eq SpotFleetLaunchSpecificationProperty+instance Prelude.Show SpotFleetLaunchSpecificationProperty+instance JSON.ToJSON SpotFleetLaunchSpecificationProperty
+ gen/Stratosphere/EC2/SpotFleet/SpotFleetMonitoringProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.EC2.SpotFleet.SpotFleetMonitoringProperty (+        SpotFleetMonitoringProperty(..), mkSpotFleetMonitoringProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SpotFleetMonitoringProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetmonitoring.html>+    SpotFleetMonitoringProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetmonitoring.html#cfn-ec2-spotfleet-spotfleetmonitoring-enabled>+                                 enabled :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotFleetMonitoringProperty :: SpotFleetMonitoringProperty+mkSpotFleetMonitoringProperty+  = SpotFleetMonitoringProperty+      {haddock_workaround_ = (), enabled = Prelude.Nothing}+instance ToResourceProperties SpotFleetMonitoringProperty where+  toResourceProperties SpotFleetMonitoringProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.SpotFleetMonitoring",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Enabled" Prelude.<$> enabled])}+instance JSON.ToJSON SpotFleetMonitoringProperty where+  toJSON SpotFleetMonitoringProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Enabled" Prelude.<$> enabled]))+instance Property "Enabled" SpotFleetMonitoringProperty where+  type PropertyType "Enabled" SpotFleetMonitoringProperty = Value Prelude.Bool+  set newValue SpotFleetMonitoringProperty {..}+    = SpotFleetMonitoringProperty {enabled = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/SpotFleetMonitoringProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.SpotFleetMonitoringProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpotFleetMonitoringProperty :: Prelude.Type+instance ToResourceProperties SpotFleetMonitoringProperty+instance Prelude.Eq SpotFleetMonitoringProperty+instance Prelude.Show SpotFleetMonitoringProperty+instance JSON.ToJSON SpotFleetMonitoringProperty
+ gen/Stratosphere/EC2/SpotFleet/SpotFleetRequestConfigDataProperty.hs view
@@ -0,0 +1,285 @@+module Stratosphere.EC2.SpotFleet.SpotFleetRequestConfigDataProperty (+        module Exports, SpotFleetRequestConfigDataProperty(..),+        mkSpotFleetRequestConfigDataProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.LaunchTemplateConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.LoadBalancersConfigProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.SpotFleetLaunchSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.SpotFleetTagSpecificationProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.SpotMaintenanceStrategiesProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SpotFleetRequestConfigDataProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html>+    SpotFleetRequestConfigDataProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-allocationstrategy>+                                        allocationStrategy :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-context>+                                        context :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-excesscapacityterminationpolicy>+                                        excessCapacityTerminationPolicy :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-iamfleetrole>+                                        iamFleetRole :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-instanceinterruptionbehavior>+                                        instanceInterruptionBehavior :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-instancepoolstousecount>+                                        instancePoolsToUseCount :: (Prelude.Maybe (Value Prelude.Integer)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchspecifications>+                                        launchSpecifications :: (Prelude.Maybe [SpotFleetLaunchSpecificationProperty]),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-launchtemplateconfigs>+                                        launchTemplateConfigs :: (Prelude.Maybe [LaunchTemplateConfigProperty]),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-loadbalancersconfig>+                                        loadBalancersConfig :: (Prelude.Maybe LoadBalancersConfigProperty),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-ondemandallocationstrategy>+                                        onDemandAllocationStrategy :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-ondemandmaxtotalprice>+                                        onDemandMaxTotalPrice :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-ondemandtargetcapacity>+                                        onDemandTargetCapacity :: (Prelude.Maybe (Value Prelude.Integer)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-replaceunhealthyinstances>+                                        replaceUnhealthyInstances :: (Prelude.Maybe (Value Prelude.Bool)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-spotmaintenancestrategies>+                                        spotMaintenanceStrategies :: (Prelude.Maybe SpotMaintenanceStrategiesProperty),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-spotmaxtotalprice>+                                        spotMaxTotalPrice :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-spotprice>+                                        spotPrice :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-tagspecifications>+                                        tagSpecifications :: (Prelude.Maybe [SpotFleetTagSpecificationProperty]),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-targetcapacity>+                                        targetCapacity :: (Value Prelude.Integer),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-targetcapacityunittype>+                                        targetCapacityUnitType :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-terminateinstanceswithexpiration>+                                        terminateInstancesWithExpiration :: (Prelude.Maybe (Value Prelude.Bool)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-type>+                                        type' :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-validfrom>+                                        validFrom :: (Prelude.Maybe (Value Prelude.Text)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleetrequestconfigdata.html#cfn-ec2-spotfleet-spotfleetrequestconfigdata-validuntil>+                                        validUntil :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotFleetRequestConfigDataProperty ::+  Value Prelude.Text+  -> Value Prelude.Integer -> SpotFleetRequestConfigDataProperty+mkSpotFleetRequestConfigDataProperty iamFleetRole targetCapacity+  = SpotFleetRequestConfigDataProperty+      {haddock_workaround_ = (), iamFleetRole = iamFleetRole,+       targetCapacity = targetCapacity,+       allocationStrategy = Prelude.Nothing, context = Prelude.Nothing,+       excessCapacityTerminationPolicy = Prelude.Nothing,+       instanceInterruptionBehavior = Prelude.Nothing,+       instancePoolsToUseCount = Prelude.Nothing,+       launchSpecifications = Prelude.Nothing,+       launchTemplateConfigs = Prelude.Nothing,+       loadBalancersConfig = Prelude.Nothing,+       onDemandAllocationStrategy = Prelude.Nothing,+       onDemandMaxTotalPrice = Prelude.Nothing,+       onDemandTargetCapacity = Prelude.Nothing,+       replaceUnhealthyInstances = Prelude.Nothing,+       spotMaintenanceStrategies = Prelude.Nothing,+       spotMaxTotalPrice = Prelude.Nothing, spotPrice = Prelude.Nothing,+       tagSpecifications = Prelude.Nothing,+       targetCapacityUnitType = Prelude.Nothing,+       terminateInstancesWithExpiration = Prelude.Nothing,+       type' = Prelude.Nothing, validFrom = Prelude.Nothing,+       validUntil = Prelude.Nothing}+instance ToResourceProperties SpotFleetRequestConfigDataProperty where+  toResourceProperties SpotFleetRequestConfigDataProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.SpotFleetRequestConfigData",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["IamFleetRole" JSON..= iamFleetRole,+                            "TargetCapacity" JSON..= targetCapacity]+                           (Prelude.catMaybes+                              [(JSON..=) "AllocationStrategy" Prelude.<$> allocationStrategy,+                               (JSON..=) "Context" Prelude.<$> context,+                               (JSON..=) "ExcessCapacityTerminationPolicy"+                                 Prelude.<$> excessCapacityTerminationPolicy,+                               (JSON..=) "InstanceInterruptionBehavior"+                                 Prelude.<$> instanceInterruptionBehavior,+                               (JSON..=) "InstancePoolsToUseCount"+                                 Prelude.<$> instancePoolsToUseCount,+                               (JSON..=) "LaunchSpecifications" Prelude.<$> launchSpecifications,+                               (JSON..=) "LaunchTemplateConfigs"+                                 Prelude.<$> launchTemplateConfigs,+                               (JSON..=) "LoadBalancersConfig" Prelude.<$> loadBalancersConfig,+                               (JSON..=) "OnDemandAllocationStrategy"+                                 Prelude.<$> onDemandAllocationStrategy,+                               (JSON..=) "OnDemandMaxTotalPrice"+                                 Prelude.<$> onDemandMaxTotalPrice,+                               (JSON..=) "OnDemandTargetCapacity"+                                 Prelude.<$> onDemandTargetCapacity,+                               (JSON..=) "ReplaceUnhealthyInstances"+                                 Prelude.<$> replaceUnhealthyInstances,+                               (JSON..=) "SpotMaintenanceStrategies"+                                 Prelude.<$> spotMaintenanceStrategies,+                               (JSON..=) "SpotMaxTotalPrice" Prelude.<$> spotMaxTotalPrice,+                               (JSON..=) "SpotPrice" Prelude.<$> spotPrice,+                               (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                               (JSON..=) "TargetCapacityUnitType"+                                 Prelude.<$> targetCapacityUnitType,+                               (JSON..=) "TerminateInstancesWithExpiration"+                                 Prelude.<$> terminateInstancesWithExpiration,+                               (JSON..=) "Type" Prelude.<$> type',+                               (JSON..=) "ValidFrom" Prelude.<$> validFrom,+                               (JSON..=) "ValidUntil" Prelude.<$> validUntil]))}+instance JSON.ToJSON SpotFleetRequestConfigDataProperty where+  toJSON SpotFleetRequestConfigDataProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["IamFleetRole" JSON..= iamFleetRole,+               "TargetCapacity" JSON..= targetCapacity]+              (Prelude.catMaybes+                 [(JSON..=) "AllocationStrategy" Prelude.<$> allocationStrategy,+                  (JSON..=) "Context" Prelude.<$> context,+                  (JSON..=) "ExcessCapacityTerminationPolicy"+                    Prelude.<$> excessCapacityTerminationPolicy,+                  (JSON..=) "InstanceInterruptionBehavior"+                    Prelude.<$> instanceInterruptionBehavior,+                  (JSON..=) "InstancePoolsToUseCount"+                    Prelude.<$> instancePoolsToUseCount,+                  (JSON..=) "LaunchSpecifications" Prelude.<$> launchSpecifications,+                  (JSON..=) "LaunchTemplateConfigs"+                    Prelude.<$> launchTemplateConfigs,+                  (JSON..=) "LoadBalancersConfig" Prelude.<$> loadBalancersConfig,+                  (JSON..=) "OnDemandAllocationStrategy"+                    Prelude.<$> onDemandAllocationStrategy,+                  (JSON..=) "OnDemandMaxTotalPrice"+                    Prelude.<$> onDemandMaxTotalPrice,+                  (JSON..=) "OnDemandTargetCapacity"+                    Prelude.<$> onDemandTargetCapacity,+                  (JSON..=) "ReplaceUnhealthyInstances"+                    Prelude.<$> replaceUnhealthyInstances,+                  (JSON..=) "SpotMaintenanceStrategies"+                    Prelude.<$> spotMaintenanceStrategies,+                  (JSON..=) "SpotMaxTotalPrice" Prelude.<$> spotMaxTotalPrice,+                  (JSON..=) "SpotPrice" Prelude.<$> spotPrice,+                  (JSON..=) "TagSpecifications" Prelude.<$> tagSpecifications,+                  (JSON..=) "TargetCapacityUnitType"+                    Prelude.<$> targetCapacityUnitType,+                  (JSON..=) "TerminateInstancesWithExpiration"+                    Prelude.<$> terminateInstancesWithExpiration,+                  (JSON..=) "Type" Prelude.<$> type',+                  (JSON..=) "ValidFrom" Prelude.<$> validFrom,+                  (JSON..=) "ValidUntil" Prelude.<$> validUntil])))+instance Property "AllocationStrategy" SpotFleetRequestConfigDataProperty where+  type PropertyType "AllocationStrategy" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {allocationStrategy = Prelude.pure newValue, ..}+instance Property "Context" SpotFleetRequestConfigDataProperty where+  type PropertyType "Context" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {context = Prelude.pure newValue, ..}+instance Property "ExcessCapacityTerminationPolicy" SpotFleetRequestConfigDataProperty where+  type PropertyType "ExcessCapacityTerminationPolicy" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {excessCapacityTerminationPolicy = Prelude.pure newValue, ..}+instance Property "IamFleetRole" SpotFleetRequestConfigDataProperty where+  type PropertyType "IamFleetRole" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty {iamFleetRole = newValue, ..}+instance Property "InstanceInterruptionBehavior" SpotFleetRequestConfigDataProperty where+  type PropertyType "InstanceInterruptionBehavior" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {instanceInterruptionBehavior = Prelude.pure newValue, ..}+instance Property "InstancePoolsToUseCount" SpotFleetRequestConfigDataProperty where+  type PropertyType "InstancePoolsToUseCount" SpotFleetRequestConfigDataProperty = Value Prelude.Integer+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {instancePoolsToUseCount = Prelude.pure newValue, ..}+instance Property "LaunchSpecifications" SpotFleetRequestConfigDataProperty where+  type PropertyType "LaunchSpecifications" SpotFleetRequestConfigDataProperty = [SpotFleetLaunchSpecificationProperty]+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {launchSpecifications = Prelude.pure newValue, ..}+instance Property "LaunchTemplateConfigs" SpotFleetRequestConfigDataProperty where+  type PropertyType "LaunchTemplateConfigs" SpotFleetRequestConfigDataProperty = [LaunchTemplateConfigProperty]+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {launchTemplateConfigs = Prelude.pure newValue, ..}+instance Property "LoadBalancersConfig" SpotFleetRequestConfigDataProperty where+  type PropertyType "LoadBalancersConfig" SpotFleetRequestConfigDataProperty = LoadBalancersConfigProperty+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {loadBalancersConfig = Prelude.pure newValue, ..}+instance Property "OnDemandAllocationStrategy" SpotFleetRequestConfigDataProperty where+  type PropertyType "OnDemandAllocationStrategy" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {onDemandAllocationStrategy = Prelude.pure newValue, ..}+instance Property "OnDemandMaxTotalPrice" SpotFleetRequestConfigDataProperty where+  type PropertyType "OnDemandMaxTotalPrice" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {onDemandMaxTotalPrice = Prelude.pure newValue, ..}+instance Property "OnDemandTargetCapacity" SpotFleetRequestConfigDataProperty where+  type PropertyType "OnDemandTargetCapacity" SpotFleetRequestConfigDataProperty = Value Prelude.Integer+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {onDemandTargetCapacity = Prelude.pure newValue, ..}+instance Property "ReplaceUnhealthyInstances" SpotFleetRequestConfigDataProperty where+  type PropertyType "ReplaceUnhealthyInstances" SpotFleetRequestConfigDataProperty = Value Prelude.Bool+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {replaceUnhealthyInstances = Prelude.pure newValue, ..}+instance Property "SpotMaintenanceStrategies" SpotFleetRequestConfigDataProperty where+  type PropertyType "SpotMaintenanceStrategies" SpotFleetRequestConfigDataProperty = SpotMaintenanceStrategiesProperty+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {spotMaintenanceStrategies = Prelude.pure newValue, ..}+instance Property "SpotMaxTotalPrice" SpotFleetRequestConfigDataProperty where+  type PropertyType "SpotMaxTotalPrice" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {spotMaxTotalPrice = Prelude.pure newValue, ..}+instance Property "SpotPrice" SpotFleetRequestConfigDataProperty where+  type PropertyType "SpotPrice" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {spotPrice = Prelude.pure newValue, ..}+instance Property "TagSpecifications" SpotFleetRequestConfigDataProperty where+  type PropertyType "TagSpecifications" SpotFleetRequestConfigDataProperty = [SpotFleetTagSpecificationProperty]+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {tagSpecifications = Prelude.pure newValue, ..}+instance Property "TargetCapacity" SpotFleetRequestConfigDataProperty where+  type PropertyType "TargetCapacity" SpotFleetRequestConfigDataProperty = Value Prelude.Integer+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {targetCapacity = newValue, ..}+instance Property "TargetCapacityUnitType" SpotFleetRequestConfigDataProperty where+  type PropertyType "TargetCapacityUnitType" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {targetCapacityUnitType = Prelude.pure newValue, ..}+instance Property "TerminateInstancesWithExpiration" SpotFleetRequestConfigDataProperty where+  type PropertyType "TerminateInstancesWithExpiration" SpotFleetRequestConfigDataProperty = Value Prelude.Bool+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {terminateInstancesWithExpiration = Prelude.pure newValue, ..}+instance Property "Type" SpotFleetRequestConfigDataProperty where+  type PropertyType "Type" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {type' = Prelude.pure newValue, ..}+instance Property "ValidFrom" SpotFleetRequestConfigDataProperty where+  type PropertyType "ValidFrom" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {validFrom = Prelude.pure newValue, ..}+instance Property "ValidUntil" SpotFleetRequestConfigDataProperty where+  type PropertyType "ValidUntil" SpotFleetRequestConfigDataProperty = Value Prelude.Text+  set newValue SpotFleetRequestConfigDataProperty {..}+    = SpotFleetRequestConfigDataProperty+        {validUntil = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/SpotFleetRequestConfigDataProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.SpotFleetRequestConfigDataProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpotFleetRequestConfigDataProperty :: Prelude.Type+instance ToResourceProperties SpotFleetRequestConfigDataProperty+instance Prelude.Eq SpotFleetRequestConfigDataProperty+instance Prelude.Show SpotFleetRequestConfigDataProperty+instance JSON.ToJSON SpotFleetRequestConfigDataProperty
+ gen/Stratosphere/EC2/SpotFleet/SpotFleetTagSpecificationProperty.hs view
@@ -0,0 +1,50 @@+module Stratosphere.EC2.SpotFleet.SpotFleetTagSpecificationProperty (+        SpotFleetTagSpecificationProperty(..),+        mkSpotFleetTagSpecificationProperty+    ) 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 SpotFleetTagSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleettagspecification.html>+    SpotFleetTagSpecificationProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleettagspecification.html#cfn-ec2-spotfleet-spotfleettagspecification-resourcetype>+                                       resourceType :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotfleettagspecification.html#cfn-ec2-spotfleet-spotfleettagspecification-tags>+                                       tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotFleetTagSpecificationProperty ::+  SpotFleetTagSpecificationProperty+mkSpotFleetTagSpecificationProperty+  = SpotFleetTagSpecificationProperty+      {haddock_workaround_ = (), resourceType = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties SpotFleetTagSpecificationProperty where+  toResourceProperties SpotFleetTagSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.SpotFleetTagSpecification",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ResourceType" Prelude.<$> resourceType,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON SpotFleetTagSpecificationProperty where+  toJSON SpotFleetTagSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ResourceType" Prelude.<$> resourceType,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "ResourceType" SpotFleetTagSpecificationProperty where+  type PropertyType "ResourceType" SpotFleetTagSpecificationProperty = Value Prelude.Text+  set newValue SpotFleetTagSpecificationProperty {..}+    = SpotFleetTagSpecificationProperty+        {resourceType = Prelude.pure newValue, ..}+instance Property "Tags" SpotFleetTagSpecificationProperty where+  type PropertyType "Tags" SpotFleetTagSpecificationProperty = [Tag]+  set newValue SpotFleetTagSpecificationProperty {..}+    = SpotFleetTagSpecificationProperty+        {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/SpotFleetTagSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.SpotFleetTagSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpotFleetTagSpecificationProperty :: Prelude.Type+instance ToResourceProperties SpotFleetTagSpecificationProperty+instance Prelude.Eq SpotFleetTagSpecificationProperty+instance Prelude.Show SpotFleetTagSpecificationProperty+instance JSON.ToJSON SpotFleetTagSpecificationProperty
+ gen/Stratosphere/EC2/SpotFleet/SpotMaintenanceStrategiesProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EC2.SpotFleet.SpotMaintenanceStrategiesProperty (+        module Exports, SpotMaintenanceStrategiesProperty(..),+        mkSpotMaintenanceStrategiesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.SpotCapacityRebalanceProperty as Exports+import Stratosphere.ResourceProperties+data SpotMaintenanceStrategiesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotmaintenancestrategies.html>+    SpotMaintenanceStrategiesProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotmaintenancestrategies.html#cfn-ec2-spotfleet-spotmaintenancestrategies-capacityrebalance>+                                       capacityRebalance :: (Prelude.Maybe SpotCapacityRebalanceProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotMaintenanceStrategiesProperty ::+  SpotMaintenanceStrategiesProperty+mkSpotMaintenanceStrategiesProperty+  = SpotMaintenanceStrategiesProperty+      {haddock_workaround_ = (), capacityRebalance = Prelude.Nothing}+instance ToResourceProperties SpotMaintenanceStrategiesProperty where+  toResourceProperties SpotMaintenanceStrategiesProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.SpotMaintenanceStrategies",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CapacityRebalance" Prelude.<$> capacityRebalance])}+instance JSON.ToJSON SpotMaintenanceStrategiesProperty where+  toJSON SpotMaintenanceStrategiesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CapacityRebalance" Prelude.<$> capacityRebalance]))+instance Property "CapacityRebalance" SpotMaintenanceStrategiesProperty where+  type PropertyType "CapacityRebalance" SpotMaintenanceStrategiesProperty = SpotCapacityRebalanceProperty+  set newValue SpotMaintenanceStrategiesProperty {..}+    = SpotMaintenanceStrategiesProperty+        {capacityRebalance = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/SpotMaintenanceStrategiesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.SpotMaintenanceStrategiesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpotMaintenanceStrategiesProperty :: Prelude.Type+instance ToResourceProperties SpotMaintenanceStrategiesProperty+instance Prelude.Eq SpotMaintenanceStrategiesProperty+instance Prelude.Show SpotMaintenanceStrategiesProperty+instance JSON.ToJSON SpotMaintenanceStrategiesProperty
+ gen/Stratosphere/EC2/SpotFleet/SpotPlacementProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.EC2.SpotFleet.SpotPlacementProperty (+        SpotPlacementProperty(..), mkSpotPlacementProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SpotPlacementProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotplacement.html>+    SpotPlacementProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotplacement.html#cfn-ec2-spotfleet-spotplacement-availabilityzone>+                           availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotplacement.html#cfn-ec2-spotfleet-spotplacement-groupname>+                           groupName :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-spotplacement.html#cfn-ec2-spotfleet-spotplacement-tenancy>+                           tenancy :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSpotPlacementProperty :: SpotPlacementProperty+mkSpotPlacementProperty+  = SpotPlacementProperty+      {haddock_workaround_ = (), availabilityZone = Prelude.Nothing,+       groupName = Prelude.Nothing, tenancy = Prelude.Nothing}+instance ToResourceProperties SpotPlacementProperty where+  toResourceProperties SpotPlacementProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.SpotPlacement",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                            (JSON..=) "GroupName" Prelude.<$> groupName,+                            (JSON..=) "Tenancy" Prelude.<$> tenancy])}+instance JSON.ToJSON SpotPlacementProperty where+  toJSON SpotPlacementProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+               (JSON..=) "GroupName" Prelude.<$> groupName,+               (JSON..=) "Tenancy" Prelude.<$> tenancy]))+instance Property "AvailabilityZone" SpotPlacementProperty where+  type PropertyType "AvailabilityZone" SpotPlacementProperty = Value Prelude.Text+  set newValue SpotPlacementProperty {..}+    = SpotPlacementProperty+        {availabilityZone = Prelude.pure newValue, ..}+instance Property "GroupName" SpotPlacementProperty where+  type PropertyType "GroupName" SpotPlacementProperty = Value Prelude.Text+  set newValue SpotPlacementProperty {..}+    = SpotPlacementProperty {groupName = Prelude.pure newValue, ..}+instance Property "Tenancy" SpotPlacementProperty where+  type PropertyType "Tenancy" SpotPlacementProperty = Value Prelude.Text+  set newValue SpotPlacementProperty {..}+    = SpotPlacementProperty {tenancy = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/SpotPlacementProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.SpotPlacementProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SpotPlacementProperty :: Prelude.Type+instance ToResourceProperties SpotPlacementProperty+instance Prelude.Eq SpotPlacementProperty+instance Prelude.Show SpotPlacementProperty+instance JSON.ToJSON SpotPlacementProperty
+ gen/Stratosphere/EC2/SpotFleet/TargetGroupProperty.hs view
@@ -0,0 +1,28 @@+module Stratosphere.EC2.SpotFleet.TargetGroupProperty (+        TargetGroupProperty(..), mkTargetGroupProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TargetGroupProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html>+    TargetGroupProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroup.html#cfn-ec2-spotfleet-targetgroup-arn>+                         arn :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetGroupProperty :: Value Prelude.Text -> TargetGroupProperty+mkTargetGroupProperty arn+  = TargetGroupProperty {haddock_workaround_ = (), arn = arn}+instance ToResourceProperties TargetGroupProperty where+  toResourceProperties TargetGroupProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.TargetGroup",+         supportsTags = Prelude.False, properties = ["Arn" JSON..= arn]}+instance JSON.ToJSON TargetGroupProperty where+  toJSON TargetGroupProperty {..} = JSON.object ["Arn" JSON..= arn]+instance Property "Arn" TargetGroupProperty where+  type PropertyType "Arn" TargetGroupProperty = Value Prelude.Text+  set newValue TargetGroupProperty {..}+    = TargetGroupProperty {arn = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/TargetGroupProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.TargetGroupProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetGroupProperty :: Prelude.Type+instance ToResourceProperties TargetGroupProperty+instance Prelude.Eq TargetGroupProperty+instance Prelude.Show TargetGroupProperty+instance JSON.ToJSON TargetGroupProperty
+ gen/Stratosphere/EC2/SpotFleet/TargetGroupsConfigProperty.hs view
@@ -0,0 +1,33 @@+module Stratosphere.EC2.SpotFleet.TargetGroupsConfigProperty (+        module Exports, TargetGroupsConfigProperty(..),+        mkTargetGroupsConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.SpotFleet.TargetGroupProperty as Exports+import Stratosphere.ResourceProperties+data TargetGroupsConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html>+    TargetGroupsConfigProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-targetgroupsconfig.html#cfn-ec2-spotfleet-targetgroupsconfig-targetgroups>+                                targetGroups :: [TargetGroupProperty]}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTargetGroupsConfigProperty ::+  [TargetGroupProperty] -> TargetGroupsConfigProperty+mkTargetGroupsConfigProperty targetGroups+  = TargetGroupsConfigProperty+      {haddock_workaround_ = (), targetGroups = targetGroups}+instance ToResourceProperties TargetGroupsConfigProperty where+  toResourceProperties TargetGroupsConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.TargetGroupsConfig",+         supportsTags = Prelude.False,+         properties = ["TargetGroups" JSON..= targetGroups]}+instance JSON.ToJSON TargetGroupsConfigProperty where+  toJSON TargetGroupsConfigProperty {..}+    = JSON.object ["TargetGroups" JSON..= targetGroups]+instance Property "TargetGroups" TargetGroupsConfigProperty where+  type PropertyType "TargetGroups" TargetGroupsConfigProperty = [TargetGroupProperty]+  set newValue TargetGroupsConfigProperty {..}+    = TargetGroupsConfigProperty {targetGroups = newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/TargetGroupsConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.TargetGroupsConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TargetGroupsConfigProperty :: Prelude.Type+instance ToResourceProperties TargetGroupsConfigProperty+instance Prelude.Eq TargetGroupsConfigProperty+instance Prelude.Show TargetGroupsConfigProperty+instance JSON.ToJSON TargetGroupsConfigProperty
+ gen/Stratosphere/EC2/SpotFleet/TotalLocalStorageGBRequestProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.SpotFleet.TotalLocalStorageGBRequestProperty (+        TotalLocalStorageGBRequestProperty(..),+        mkTotalLocalStorageGBRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TotalLocalStorageGBRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-totallocalstoragegbrequest.html>+    TotalLocalStorageGBRequestProperty {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-totallocalstoragegbrequest.html#cfn-ec2-spotfleet-totallocalstoragegbrequest-max>+                                        max :: (Prelude.Maybe (Value Prelude.Double)),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-totallocalstoragegbrequest.html#cfn-ec2-spotfleet-totallocalstoragegbrequest-min>+                                        min :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTotalLocalStorageGBRequestProperty ::+  TotalLocalStorageGBRequestProperty+mkTotalLocalStorageGBRequestProperty+  = TotalLocalStorageGBRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties TotalLocalStorageGBRequestProperty where+  toResourceProperties TotalLocalStorageGBRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.TotalLocalStorageGBRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON TotalLocalStorageGBRequestProperty where+  toJSON TotalLocalStorageGBRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" TotalLocalStorageGBRequestProperty where+  type PropertyType "Max" TotalLocalStorageGBRequestProperty = Value Prelude.Double+  set newValue TotalLocalStorageGBRequestProperty {..}+    = TotalLocalStorageGBRequestProperty+        {max = Prelude.pure newValue, ..}+instance Property "Min" TotalLocalStorageGBRequestProperty where+  type PropertyType "Min" TotalLocalStorageGBRequestProperty = Value Prelude.Double+  set newValue TotalLocalStorageGBRequestProperty {..}+    = TotalLocalStorageGBRequestProperty+        {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/TotalLocalStorageGBRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.TotalLocalStorageGBRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TotalLocalStorageGBRequestProperty :: Prelude.Type+instance ToResourceProperties TotalLocalStorageGBRequestProperty+instance Prelude.Eq TotalLocalStorageGBRequestProperty+instance Prelude.Show TotalLocalStorageGBRequestProperty+instance JSON.ToJSON TotalLocalStorageGBRequestProperty
+ gen/Stratosphere/EC2/SpotFleet/VCpuCountRangeRequestProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.SpotFleet.VCpuCountRangeRequestProperty (+        VCpuCountRangeRequestProperty(..), mkVCpuCountRangeRequestProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VCpuCountRangeRequestProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-vcpucountrangerequest.html>+    VCpuCountRangeRequestProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-vcpucountrangerequest.html#cfn-ec2-spotfleet-vcpucountrangerequest-max>+                                   max :: (Prelude.Maybe (Value Prelude.Integer)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-spotfleet-vcpucountrangerequest.html#cfn-ec2-spotfleet-vcpucountrangerequest-min>+                                   min :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVCpuCountRangeRequestProperty :: VCpuCountRangeRequestProperty+mkVCpuCountRangeRequestProperty+  = VCpuCountRangeRequestProperty+      {haddock_workaround_ = (), max = Prelude.Nothing,+       min = Prelude.Nothing}+instance ToResourceProperties VCpuCountRangeRequestProperty where+  toResourceProperties VCpuCountRangeRequestProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SpotFleet.VCpuCountRangeRequest",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Max" Prelude.<$> max,+                            (JSON..=) "Min" Prelude.<$> min])}+instance JSON.ToJSON VCpuCountRangeRequestProperty where+  toJSON VCpuCountRangeRequestProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Max" Prelude.<$> max,+               (JSON..=) "Min" Prelude.<$> min]))+instance Property "Max" VCpuCountRangeRequestProperty where+  type PropertyType "Max" VCpuCountRangeRequestProperty = Value Prelude.Integer+  set newValue VCpuCountRangeRequestProperty {..}+    = VCpuCountRangeRequestProperty {max = Prelude.pure newValue, ..}+instance Property "Min" VCpuCountRangeRequestProperty where+  type PropertyType "Min" VCpuCountRangeRequestProperty = Value Prelude.Integer+  set newValue VCpuCountRangeRequestProperty {..}+    = VCpuCountRangeRequestProperty {min = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/SpotFleet/VCpuCountRangeRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.SpotFleet.VCpuCountRangeRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VCpuCountRangeRequestProperty :: Prelude.Type+instance ToResourceProperties VCpuCountRangeRequestProperty+instance Prelude.Eq VCpuCountRangeRequestProperty+instance Prelude.Show VCpuCountRangeRequestProperty+instance JSON.ToJSON VCpuCountRangeRequestProperty
+ gen/Stratosphere/EC2/Subnet.hs view
@@ -0,0 +1,186 @@+module Stratosphere.EC2.Subnet (+        module Exports, Subnet(..), mkSubnet+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.Subnet.PrivateDnsNameOptionsOnLaunchProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Subnet+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html>+    Subnet {haddock_workaround_ :: (),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-assignipv6addressoncreation>+            assignIpv6AddressOnCreation :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-availabilityzone>+            availabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-availabilityzoneid>+            availabilityZoneId :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-cidrblock>+            cidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-enabledns64>+            enableDns64 :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-enablelniatdeviceindex>+            enableLniAtDeviceIndex :: (Prelude.Maybe (Value Prelude.Integer)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv4ipampoolid>+            ipv4IpamPoolId :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv4netmasklength>+            ipv4NetmaskLength :: (Prelude.Maybe (Value Prelude.Integer)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv6cidrblock>+            ipv6CidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv6ipampoolid>+            ipv6IpamPoolId :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv6native>+            ipv6Native :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-ipv6netmasklength>+            ipv6NetmaskLength :: (Prelude.Maybe (Value Prelude.Integer)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-mappubliciponlaunch>+            mapPublicIpOnLaunch :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-outpostarn>+            outpostArn :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-privatednsnameoptionsonlaunch>+            privateDnsNameOptionsOnLaunch :: (Prelude.Maybe PrivateDnsNameOptionsOnLaunchProperty),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-tags>+            tags :: (Prelude.Maybe [Tag]),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnet.html#cfn-ec2-subnet-vpcid>+            vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubnet :: Value Prelude.Text -> Subnet+mkSubnet vpcId+  = Subnet+      {haddock_workaround_ = (), vpcId = vpcId,+       assignIpv6AddressOnCreation = Prelude.Nothing,+       availabilityZone = Prelude.Nothing,+       availabilityZoneId = Prelude.Nothing, cidrBlock = Prelude.Nothing,+       enableDns64 = Prelude.Nothing,+       enableLniAtDeviceIndex = Prelude.Nothing,+       ipv4IpamPoolId = Prelude.Nothing,+       ipv4NetmaskLength = Prelude.Nothing,+       ipv6CidrBlock = Prelude.Nothing, ipv6IpamPoolId = Prelude.Nothing,+       ipv6Native = Prelude.Nothing, ipv6NetmaskLength = Prelude.Nothing,+       mapPublicIpOnLaunch = Prelude.Nothing,+       outpostArn = Prelude.Nothing,+       privateDnsNameOptionsOnLaunch = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties Subnet where+  toResourceProperties Subnet {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Subnet", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcId" JSON..= vpcId]+                           (Prelude.catMaybes+                              [(JSON..=) "AssignIpv6AddressOnCreation"+                                 Prelude.<$> assignIpv6AddressOnCreation,+                               (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                               (JSON..=) "AvailabilityZoneId" Prelude.<$> availabilityZoneId,+                               (JSON..=) "CidrBlock" Prelude.<$> cidrBlock,+                               (JSON..=) "EnableDns64" Prelude.<$> enableDns64,+                               (JSON..=) "EnableLniAtDeviceIndex"+                                 Prelude.<$> enableLniAtDeviceIndex,+                               (JSON..=) "Ipv4IpamPoolId" Prelude.<$> ipv4IpamPoolId,+                               (JSON..=) "Ipv4NetmaskLength" Prelude.<$> ipv4NetmaskLength,+                               (JSON..=) "Ipv6CidrBlock" Prelude.<$> ipv6CidrBlock,+                               (JSON..=) "Ipv6IpamPoolId" Prelude.<$> ipv6IpamPoolId,+                               (JSON..=) "Ipv6Native" Prelude.<$> ipv6Native,+                               (JSON..=) "Ipv6NetmaskLength" Prelude.<$> ipv6NetmaskLength,+                               (JSON..=) "MapPublicIpOnLaunch" Prelude.<$> mapPublicIpOnLaunch,+                               (JSON..=) "OutpostArn" Prelude.<$> outpostArn,+                               (JSON..=) "PrivateDnsNameOptionsOnLaunch"+                                 Prelude.<$> privateDnsNameOptionsOnLaunch,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON Subnet where+  toJSON Subnet {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcId" JSON..= vpcId]+              (Prelude.catMaybes+                 [(JSON..=) "AssignIpv6AddressOnCreation"+                    Prelude.<$> assignIpv6AddressOnCreation,+                  (JSON..=) "AvailabilityZone" Prelude.<$> availabilityZone,+                  (JSON..=) "AvailabilityZoneId" Prelude.<$> availabilityZoneId,+                  (JSON..=) "CidrBlock" Prelude.<$> cidrBlock,+                  (JSON..=) "EnableDns64" Prelude.<$> enableDns64,+                  (JSON..=) "EnableLniAtDeviceIndex"+                    Prelude.<$> enableLniAtDeviceIndex,+                  (JSON..=) "Ipv4IpamPoolId" Prelude.<$> ipv4IpamPoolId,+                  (JSON..=) "Ipv4NetmaskLength" Prelude.<$> ipv4NetmaskLength,+                  (JSON..=) "Ipv6CidrBlock" Prelude.<$> ipv6CidrBlock,+                  (JSON..=) "Ipv6IpamPoolId" Prelude.<$> ipv6IpamPoolId,+                  (JSON..=) "Ipv6Native" Prelude.<$> ipv6Native,+                  (JSON..=) "Ipv6NetmaskLength" Prelude.<$> ipv6NetmaskLength,+                  (JSON..=) "MapPublicIpOnLaunch" Prelude.<$> mapPublicIpOnLaunch,+                  (JSON..=) "OutpostArn" Prelude.<$> outpostArn,+                  (JSON..=) "PrivateDnsNameOptionsOnLaunch"+                    Prelude.<$> privateDnsNameOptionsOnLaunch,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AssignIpv6AddressOnCreation" Subnet where+  type PropertyType "AssignIpv6AddressOnCreation" Subnet = Value Prelude.Bool+  set newValue Subnet {..}+    = Subnet {assignIpv6AddressOnCreation = Prelude.pure newValue, ..}+instance Property "AvailabilityZone" Subnet where+  type PropertyType "AvailabilityZone" Subnet = Value Prelude.Text+  set newValue Subnet {..}+    = Subnet {availabilityZone = Prelude.pure newValue, ..}+instance Property "AvailabilityZoneId" Subnet where+  type PropertyType "AvailabilityZoneId" Subnet = Value Prelude.Text+  set newValue Subnet {..}+    = Subnet {availabilityZoneId = Prelude.pure newValue, ..}+instance Property "CidrBlock" Subnet where+  type PropertyType "CidrBlock" Subnet = Value Prelude.Text+  set newValue Subnet {..}+    = Subnet {cidrBlock = Prelude.pure newValue, ..}+instance Property "EnableDns64" Subnet where+  type PropertyType "EnableDns64" Subnet = Value Prelude.Bool+  set newValue Subnet {..}+    = Subnet {enableDns64 = Prelude.pure newValue, ..}+instance Property "EnableLniAtDeviceIndex" Subnet where+  type PropertyType "EnableLniAtDeviceIndex" Subnet = Value Prelude.Integer+  set newValue Subnet {..}+    = Subnet {enableLniAtDeviceIndex = Prelude.pure newValue, ..}+instance Property "Ipv4IpamPoolId" Subnet where+  type PropertyType "Ipv4IpamPoolId" Subnet = Value Prelude.Text+  set newValue Subnet {..}+    = Subnet {ipv4IpamPoolId = Prelude.pure newValue, ..}+instance Property "Ipv4NetmaskLength" Subnet where+  type PropertyType "Ipv4NetmaskLength" Subnet = Value Prelude.Integer+  set newValue Subnet {..}+    = Subnet {ipv4NetmaskLength = Prelude.pure newValue, ..}+instance Property "Ipv6CidrBlock" Subnet where+  type PropertyType "Ipv6CidrBlock" Subnet = Value Prelude.Text+  set newValue Subnet {..}+    = Subnet {ipv6CidrBlock = Prelude.pure newValue, ..}+instance Property "Ipv6IpamPoolId" Subnet where+  type PropertyType "Ipv6IpamPoolId" Subnet = Value Prelude.Text+  set newValue Subnet {..}+    = Subnet {ipv6IpamPoolId = Prelude.pure newValue, ..}+instance Property "Ipv6Native" Subnet where+  type PropertyType "Ipv6Native" Subnet = Value Prelude.Bool+  set newValue Subnet {..}+    = Subnet {ipv6Native = Prelude.pure newValue, ..}+instance Property "Ipv6NetmaskLength" Subnet where+  type PropertyType "Ipv6NetmaskLength" Subnet = Value Prelude.Integer+  set newValue Subnet {..}+    = Subnet {ipv6NetmaskLength = Prelude.pure newValue, ..}+instance Property "MapPublicIpOnLaunch" Subnet where+  type PropertyType "MapPublicIpOnLaunch" Subnet = Value Prelude.Bool+  set newValue Subnet {..}+    = Subnet {mapPublicIpOnLaunch = Prelude.pure newValue, ..}+instance Property "OutpostArn" Subnet where+  type PropertyType "OutpostArn" Subnet = Value Prelude.Text+  set newValue Subnet {..}+    = Subnet {outpostArn = Prelude.pure newValue, ..}+instance Property "PrivateDnsNameOptionsOnLaunch" Subnet where+  type PropertyType "PrivateDnsNameOptionsOnLaunch" Subnet = PrivateDnsNameOptionsOnLaunchProperty+  set newValue Subnet {..}+    = Subnet+        {privateDnsNameOptionsOnLaunch = Prelude.pure newValue, ..}+instance Property "Tags" Subnet where+  type PropertyType "Tags" Subnet = [Tag]+  set newValue Subnet {..}+    = Subnet {tags = Prelude.pure newValue, ..}+instance Property "VpcId" Subnet where+  type PropertyType "VpcId" Subnet = Value Prelude.Text+  set newValue Subnet {..} = Subnet {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/Subnet/BlockPublicAccessStatesProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.EC2.Subnet.BlockPublicAccessStatesProperty (+        BlockPublicAccessStatesProperty(..),+        mkBlockPublicAccessStatesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BlockPublicAccessStatesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-subnet-blockpublicaccessstates.html>+    BlockPublicAccessStatesProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-subnet-blockpublicaccessstates.html#cfn-ec2-subnet-blockpublicaccessstates-internetgatewayblockmode>+                                     internetGatewayBlockMode :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBlockPublicAccessStatesProperty ::+  BlockPublicAccessStatesProperty+mkBlockPublicAccessStatesProperty+  = BlockPublicAccessStatesProperty+      {haddock_workaround_ = (),+       internetGatewayBlockMode = Prelude.Nothing}+instance ToResourceProperties BlockPublicAccessStatesProperty where+  toResourceProperties BlockPublicAccessStatesProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Subnet.BlockPublicAccessStates",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "InternetGatewayBlockMode"+                              Prelude.<$> internetGatewayBlockMode])}+instance JSON.ToJSON BlockPublicAccessStatesProperty where+  toJSON BlockPublicAccessStatesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "InternetGatewayBlockMode"+                 Prelude.<$> internetGatewayBlockMode]))+instance Property "InternetGatewayBlockMode" BlockPublicAccessStatesProperty where+  type PropertyType "InternetGatewayBlockMode" BlockPublicAccessStatesProperty = Value Prelude.Text+  set newValue BlockPublicAccessStatesProperty {..}+    = BlockPublicAccessStatesProperty+        {internetGatewayBlockMode = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Subnet/BlockPublicAccessStatesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Subnet.BlockPublicAccessStatesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BlockPublicAccessStatesProperty :: Prelude.Type+instance ToResourceProperties BlockPublicAccessStatesProperty+instance Prelude.Eq BlockPublicAccessStatesProperty+instance Prelude.Show BlockPublicAccessStatesProperty+instance JSON.ToJSON BlockPublicAccessStatesProperty
+ gen/Stratosphere/EC2/Subnet/PrivateDnsNameOptionsOnLaunchProperty.hs view
@@ -0,0 +1,64 @@+module Stratosphere.EC2.Subnet.PrivateDnsNameOptionsOnLaunchProperty (+        PrivateDnsNameOptionsOnLaunchProperty(..),+        mkPrivateDnsNameOptionsOnLaunchProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PrivateDnsNameOptionsOnLaunchProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-subnet-privatednsnameoptionsonlaunch.html>+    PrivateDnsNameOptionsOnLaunchProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-subnet-privatednsnameoptionsonlaunch.html#cfn-ec2-subnet-privatednsnameoptionsonlaunch-enableresourcenamednsaaaarecord>+                                           enableResourceNameDnsAAAARecord :: (Prelude.Maybe (Value Prelude.Bool)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-subnet-privatednsnameoptionsonlaunch.html#cfn-ec2-subnet-privatednsnameoptionsonlaunch-enableresourcenamednsarecord>+                                           enableResourceNameDnsARecord :: (Prelude.Maybe (Value Prelude.Bool)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-subnet-privatednsnameoptionsonlaunch.html#cfn-ec2-subnet-privatednsnameoptionsonlaunch-hostnametype>+                                           hostnameType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPrivateDnsNameOptionsOnLaunchProperty ::+  PrivateDnsNameOptionsOnLaunchProperty+mkPrivateDnsNameOptionsOnLaunchProperty+  = PrivateDnsNameOptionsOnLaunchProperty+      {haddock_workaround_ = (),+       enableResourceNameDnsAAAARecord = Prelude.Nothing,+       enableResourceNameDnsARecord = Prelude.Nothing,+       hostnameType = Prelude.Nothing}+instance ToResourceProperties PrivateDnsNameOptionsOnLaunchProperty where+  toResourceProperties PrivateDnsNameOptionsOnLaunchProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Subnet.PrivateDnsNameOptionsOnLaunch",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "EnableResourceNameDnsAAAARecord"+                              Prelude.<$> enableResourceNameDnsAAAARecord,+                            (JSON..=) "EnableResourceNameDnsARecord"+                              Prelude.<$> enableResourceNameDnsARecord,+                            (JSON..=) "HostnameType" Prelude.<$> hostnameType])}+instance JSON.ToJSON PrivateDnsNameOptionsOnLaunchProperty where+  toJSON PrivateDnsNameOptionsOnLaunchProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "EnableResourceNameDnsAAAARecord"+                 Prelude.<$> enableResourceNameDnsAAAARecord,+               (JSON..=) "EnableResourceNameDnsARecord"+                 Prelude.<$> enableResourceNameDnsARecord,+               (JSON..=) "HostnameType" Prelude.<$> hostnameType]))+instance Property "EnableResourceNameDnsAAAARecord" PrivateDnsNameOptionsOnLaunchProperty where+  type PropertyType "EnableResourceNameDnsAAAARecord" PrivateDnsNameOptionsOnLaunchProperty = Value Prelude.Bool+  set newValue PrivateDnsNameOptionsOnLaunchProperty {..}+    = PrivateDnsNameOptionsOnLaunchProperty+        {enableResourceNameDnsAAAARecord = Prelude.pure newValue, ..}+instance Property "EnableResourceNameDnsARecord" PrivateDnsNameOptionsOnLaunchProperty where+  type PropertyType "EnableResourceNameDnsARecord" PrivateDnsNameOptionsOnLaunchProperty = Value Prelude.Bool+  set newValue PrivateDnsNameOptionsOnLaunchProperty {..}+    = PrivateDnsNameOptionsOnLaunchProperty+        {enableResourceNameDnsARecord = Prelude.pure newValue, ..}+instance Property "HostnameType" PrivateDnsNameOptionsOnLaunchProperty where+  type PropertyType "HostnameType" PrivateDnsNameOptionsOnLaunchProperty = Value Prelude.Text+  set newValue PrivateDnsNameOptionsOnLaunchProperty {..}+    = PrivateDnsNameOptionsOnLaunchProperty+        {hostnameType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/Subnet/PrivateDnsNameOptionsOnLaunchProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.Subnet.PrivateDnsNameOptionsOnLaunchProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PrivateDnsNameOptionsOnLaunchProperty :: Prelude.Type+instance ToResourceProperties PrivateDnsNameOptionsOnLaunchProperty+instance Prelude.Eq PrivateDnsNameOptionsOnLaunchProperty+instance Prelude.Show PrivateDnsNameOptionsOnLaunchProperty+instance JSON.ToJSON PrivateDnsNameOptionsOnLaunchProperty
+ gen/Stratosphere/EC2/SubnetCidrBlock.hs view
@@ -0,0 +1,64 @@+module Stratosphere.EC2.SubnetCidrBlock (+        SubnetCidrBlock(..), mkSubnetCidrBlock+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SubnetCidrBlock+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html>+    SubnetCidrBlock {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-ipv6cidrblock>+                     ipv6CidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-ipv6ipampoolid>+                     ipv6IpamPoolId :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-ipv6netmasklength>+                     ipv6NetmaskLength :: (Prelude.Maybe (Value Prelude.Integer)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetcidrblock.html#cfn-ec2-subnetcidrblock-subnetid>+                     subnetId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubnetCidrBlock :: Value Prelude.Text -> SubnetCidrBlock+mkSubnetCidrBlock subnetId+  = SubnetCidrBlock+      {haddock_workaround_ = (), subnetId = subnetId,+       ipv6CidrBlock = Prelude.Nothing, ipv6IpamPoolId = Prelude.Nothing,+       ipv6NetmaskLength = Prelude.Nothing}+instance ToResourceProperties SubnetCidrBlock where+  toResourceProperties SubnetCidrBlock {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SubnetCidrBlock",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["SubnetId" JSON..= subnetId]+                           (Prelude.catMaybes+                              [(JSON..=) "Ipv6CidrBlock" Prelude.<$> ipv6CidrBlock,+                               (JSON..=) "Ipv6IpamPoolId" Prelude.<$> ipv6IpamPoolId,+                               (JSON..=) "Ipv6NetmaskLength" Prelude.<$> ipv6NetmaskLength]))}+instance JSON.ToJSON SubnetCidrBlock where+  toJSON SubnetCidrBlock {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["SubnetId" JSON..= subnetId]+              (Prelude.catMaybes+                 [(JSON..=) "Ipv6CidrBlock" Prelude.<$> ipv6CidrBlock,+                  (JSON..=) "Ipv6IpamPoolId" Prelude.<$> ipv6IpamPoolId,+                  (JSON..=) "Ipv6NetmaskLength" Prelude.<$> ipv6NetmaskLength])))+instance Property "Ipv6CidrBlock" SubnetCidrBlock where+  type PropertyType "Ipv6CidrBlock" SubnetCidrBlock = Value Prelude.Text+  set newValue SubnetCidrBlock {..}+    = SubnetCidrBlock {ipv6CidrBlock = Prelude.pure newValue, ..}+instance Property "Ipv6IpamPoolId" SubnetCidrBlock where+  type PropertyType "Ipv6IpamPoolId" SubnetCidrBlock = Value Prelude.Text+  set newValue SubnetCidrBlock {..}+    = SubnetCidrBlock {ipv6IpamPoolId = Prelude.pure newValue, ..}+instance Property "Ipv6NetmaskLength" SubnetCidrBlock where+  type PropertyType "Ipv6NetmaskLength" SubnetCidrBlock = Value Prelude.Integer+  set newValue SubnetCidrBlock {..}+    = SubnetCidrBlock {ipv6NetmaskLength = Prelude.pure newValue, ..}+instance Property "SubnetId" SubnetCidrBlock where+  type PropertyType "SubnetId" SubnetCidrBlock = Value Prelude.Text+  set newValue SubnetCidrBlock {..}+    = SubnetCidrBlock {subnetId = newValue, ..}
+ gen/Stratosphere/EC2/SubnetNetworkAclAssociation.hs view
@@ -0,0 +1,42 @@+module Stratosphere.EC2.SubnetNetworkAclAssociation (+        SubnetNetworkAclAssociation(..), mkSubnetNetworkAclAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SubnetNetworkAclAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html>+    SubnetNetworkAclAssociation {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html#cfn-ec2-subnetnetworkaclassociation-networkaclid>+                                 networkAclId :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetnetworkaclassociation.html#cfn-ec2-subnetnetworkaclassociation-subnetid>+                                 subnetId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubnetNetworkAclAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> SubnetNetworkAclAssociation+mkSubnetNetworkAclAssociation networkAclId subnetId+  = SubnetNetworkAclAssociation+      {haddock_workaround_ = (), networkAclId = networkAclId,+       subnetId = subnetId}+instance ToResourceProperties SubnetNetworkAclAssociation where+  toResourceProperties SubnetNetworkAclAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SubnetNetworkAclAssociation",+         supportsTags = Prelude.False,+         properties = ["NetworkAclId" JSON..= networkAclId,+                       "SubnetId" JSON..= subnetId]}+instance JSON.ToJSON SubnetNetworkAclAssociation where+  toJSON SubnetNetworkAclAssociation {..}+    = JSON.object+        ["NetworkAclId" JSON..= networkAclId, "SubnetId" JSON..= subnetId]+instance Property "NetworkAclId" SubnetNetworkAclAssociation where+  type PropertyType "NetworkAclId" SubnetNetworkAclAssociation = Value Prelude.Text+  set newValue SubnetNetworkAclAssociation {..}+    = SubnetNetworkAclAssociation {networkAclId = newValue, ..}+instance Property "SubnetId" SubnetNetworkAclAssociation where+  type PropertyType "SubnetId" SubnetNetworkAclAssociation = Value Prelude.Text+  set newValue SubnetNetworkAclAssociation {..}+    = SubnetNetworkAclAssociation {subnetId = newValue, ..}
+ gen/Stratosphere/EC2/SubnetRouteTableAssociation.hs view
@@ -0,0 +1,42 @@+module Stratosphere.EC2.SubnetRouteTableAssociation (+        SubnetRouteTableAssociation(..), mkSubnetRouteTableAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SubnetRouteTableAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html>+    SubnetRouteTableAssociation {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html#cfn-ec2-subnetroutetableassociation-routetableid>+                                 routeTableId :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-subnetroutetableassociation.html#cfn-ec2-subnetroutetableassociation-subnetid>+                                 subnetId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSubnetRouteTableAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> SubnetRouteTableAssociation+mkSubnetRouteTableAssociation routeTableId subnetId+  = SubnetRouteTableAssociation+      {haddock_workaround_ = (), routeTableId = routeTableId,+       subnetId = subnetId}+instance ToResourceProperties SubnetRouteTableAssociation where+  toResourceProperties SubnetRouteTableAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::SubnetRouteTableAssociation",+         supportsTags = Prelude.False,+         properties = ["RouteTableId" JSON..= routeTableId,+                       "SubnetId" JSON..= subnetId]}+instance JSON.ToJSON SubnetRouteTableAssociation where+  toJSON SubnetRouteTableAssociation {..}+    = JSON.object+        ["RouteTableId" JSON..= routeTableId, "SubnetId" JSON..= subnetId]+instance Property "RouteTableId" SubnetRouteTableAssociation where+  type PropertyType "RouteTableId" SubnetRouteTableAssociation = Value Prelude.Text+  set newValue SubnetRouteTableAssociation {..}+    = SubnetRouteTableAssociation {routeTableId = newValue, ..}+instance Property "SubnetId" SubnetRouteTableAssociation where+  type PropertyType "SubnetId" SubnetRouteTableAssociation = Value Prelude.Text+  set newValue SubnetRouteTableAssociation {..}+    = SubnetRouteTableAssociation {subnetId = newValue, ..}
+ gen/Stratosphere/EC2/TrafficMirrorFilter.hs view
@@ -0,0 +1,54 @@+module Stratosphere.EC2.TrafficMirrorFilter (+        TrafficMirrorFilter(..), mkTrafficMirrorFilter+    ) 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 TrafficMirrorFilter+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html>+    TrafficMirrorFilter {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-description>+                         description :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-networkservices>+                         networkServices :: (Prelude.Maybe (ValueList Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilter.html#cfn-ec2-trafficmirrorfilter-tags>+                         tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTrafficMirrorFilter :: TrafficMirrorFilter+mkTrafficMirrorFilter+  = TrafficMirrorFilter+      {haddock_workaround_ = (), description = Prelude.Nothing,+       networkServices = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties TrafficMirrorFilter where+  toResourceProperties TrafficMirrorFilter {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TrafficMirrorFilter",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "NetworkServices" Prelude.<$> networkServices,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON TrafficMirrorFilter where+  toJSON TrafficMirrorFilter {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "NetworkServices" Prelude.<$> networkServices,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "Description" TrafficMirrorFilter where+  type PropertyType "Description" TrafficMirrorFilter = Value Prelude.Text+  set newValue TrafficMirrorFilter {..}+    = TrafficMirrorFilter {description = Prelude.pure newValue, ..}+instance Property "NetworkServices" TrafficMirrorFilter where+  type PropertyType "NetworkServices" TrafficMirrorFilter = ValueList Prelude.Text+  set newValue TrafficMirrorFilter {..}+    = TrafficMirrorFilter {networkServices = Prelude.pure newValue, ..}+instance Property "Tags" TrafficMirrorFilter where+  type PropertyType "Tags" TrafficMirrorFilter = [Tag]+  set newValue TrafficMirrorFilter {..}+    = TrafficMirrorFilter {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TrafficMirrorFilterRule.hs view
@@ -0,0 +1,141 @@+module Stratosphere.EC2.TrafficMirrorFilterRule (+        module Exports, TrafficMirrorFilterRule(..),+        mkTrafficMirrorFilterRule+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.TrafficMirrorFilterRule.TrafficMirrorPortRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data TrafficMirrorFilterRule+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html>+    TrafficMirrorFilterRule {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-description>+                             description :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-destinationcidrblock>+                             destinationCidrBlock :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-destinationportrange>+                             destinationPortRange :: (Prelude.Maybe TrafficMirrorPortRangeProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-protocol>+                             protocol :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-ruleaction>+                             ruleAction :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-rulenumber>+                             ruleNumber :: (Value Prelude.Integer),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-sourcecidrblock>+                             sourceCidrBlock :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-sourceportrange>+                             sourcePortRange :: (Prelude.Maybe TrafficMirrorPortRangeProperty),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-tags>+                             tags :: (Prelude.Maybe [Tag]),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-trafficdirection>+                             trafficDirection :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorfilterrule.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorfilterid>+                             trafficMirrorFilterId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTrafficMirrorFilterRule ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Integer+        -> Value Prelude.Text+           -> Value Prelude.Text+              -> Value Prelude.Text -> TrafficMirrorFilterRule+mkTrafficMirrorFilterRule+  destinationCidrBlock+  ruleAction+  ruleNumber+  sourceCidrBlock+  trafficDirection+  trafficMirrorFilterId+  = TrafficMirrorFilterRule+      {haddock_workaround_ = (),+       destinationCidrBlock = destinationCidrBlock,+       ruleAction = ruleAction, ruleNumber = ruleNumber,+       sourceCidrBlock = sourceCidrBlock,+       trafficDirection = trafficDirection,+       trafficMirrorFilterId = trafficMirrorFilterId,+       description = Prelude.Nothing,+       destinationPortRange = Prelude.Nothing, protocol = Prelude.Nothing,+       sourcePortRange = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties TrafficMirrorFilterRule where+  toResourceProperties TrafficMirrorFilterRule {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TrafficMirrorFilterRule",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DestinationCidrBlock" JSON..= destinationCidrBlock,+                            "RuleAction" JSON..= ruleAction, "RuleNumber" JSON..= ruleNumber,+                            "SourceCidrBlock" JSON..= sourceCidrBlock,+                            "TrafficDirection" JSON..= trafficDirection,+                            "TrafficMirrorFilterId" JSON..= trafficMirrorFilterId]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DestinationPortRange" Prelude.<$> destinationPortRange,+                               (JSON..=) "Protocol" Prelude.<$> protocol,+                               (JSON..=) "SourcePortRange" Prelude.<$> sourcePortRange,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON TrafficMirrorFilterRule where+  toJSON TrafficMirrorFilterRule {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DestinationCidrBlock" JSON..= destinationCidrBlock,+               "RuleAction" JSON..= ruleAction, "RuleNumber" JSON..= ruleNumber,+               "SourceCidrBlock" JSON..= sourceCidrBlock,+               "TrafficDirection" JSON..= trafficDirection,+               "TrafficMirrorFilterId" JSON..= trafficMirrorFilterId]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DestinationPortRange" Prelude.<$> destinationPortRange,+                  (JSON..=) "Protocol" Prelude.<$> protocol,+                  (JSON..=) "SourcePortRange" Prelude.<$> sourcePortRange,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Description" TrafficMirrorFilterRule where+  type PropertyType "Description" TrafficMirrorFilterRule = Value Prelude.Text+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule {description = Prelude.pure newValue, ..}+instance Property "DestinationCidrBlock" TrafficMirrorFilterRule where+  type PropertyType "DestinationCidrBlock" TrafficMirrorFilterRule = Value Prelude.Text+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule {destinationCidrBlock = newValue, ..}+instance Property "DestinationPortRange" TrafficMirrorFilterRule where+  type PropertyType "DestinationPortRange" TrafficMirrorFilterRule = TrafficMirrorPortRangeProperty+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule+        {destinationPortRange = Prelude.pure newValue, ..}+instance Property "Protocol" TrafficMirrorFilterRule where+  type PropertyType "Protocol" TrafficMirrorFilterRule = Value Prelude.Integer+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule {protocol = Prelude.pure newValue, ..}+instance Property "RuleAction" TrafficMirrorFilterRule where+  type PropertyType "RuleAction" TrafficMirrorFilterRule = Value Prelude.Text+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule {ruleAction = newValue, ..}+instance Property "RuleNumber" TrafficMirrorFilterRule where+  type PropertyType "RuleNumber" TrafficMirrorFilterRule = Value Prelude.Integer+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule {ruleNumber = newValue, ..}+instance Property "SourceCidrBlock" TrafficMirrorFilterRule where+  type PropertyType "SourceCidrBlock" TrafficMirrorFilterRule = Value Prelude.Text+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule {sourceCidrBlock = newValue, ..}+instance Property "SourcePortRange" TrafficMirrorFilterRule where+  type PropertyType "SourcePortRange" TrafficMirrorFilterRule = TrafficMirrorPortRangeProperty+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule+        {sourcePortRange = Prelude.pure newValue, ..}+instance Property "Tags" TrafficMirrorFilterRule where+  type PropertyType "Tags" TrafficMirrorFilterRule = [Tag]+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule {tags = Prelude.pure newValue, ..}+instance Property "TrafficDirection" TrafficMirrorFilterRule where+  type PropertyType "TrafficDirection" TrafficMirrorFilterRule = Value Prelude.Text+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule {trafficDirection = newValue, ..}+instance Property "TrafficMirrorFilterId" TrafficMirrorFilterRule where+  type PropertyType "TrafficMirrorFilterId" TrafficMirrorFilterRule = Value Prelude.Text+  set newValue TrafficMirrorFilterRule {..}+    = TrafficMirrorFilterRule {trafficMirrorFilterId = newValue, ..}
+ gen/Stratosphere/EC2/TrafficMirrorFilterRule/TrafficMirrorPortRangeProperty.hs view
@@ -0,0 +1,42 @@+module Stratosphere.EC2.TrafficMirrorFilterRule.TrafficMirrorPortRangeProperty (+        TrafficMirrorPortRangeProperty(..),+        mkTrafficMirrorPortRangeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TrafficMirrorPortRangeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html>+    TrafficMirrorPortRangeProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrange-fromport>+                                    fromPort :: (Value Prelude.Integer),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-trafficmirrorfilterrule-trafficmirrorportrange.html#cfn-ec2-trafficmirrorfilterrule-trafficmirrorportrange-toport>+                                    toPort :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTrafficMirrorPortRangeProperty ::+  Value Prelude.Integer+  -> Value Prelude.Integer -> TrafficMirrorPortRangeProperty+mkTrafficMirrorPortRangeProperty fromPort toPort+  = TrafficMirrorPortRangeProperty+      {haddock_workaround_ = (), fromPort = fromPort, toPort = toPort}+instance ToResourceProperties TrafficMirrorPortRangeProperty where+  toResourceProperties TrafficMirrorPortRangeProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TrafficMirrorFilterRule.TrafficMirrorPortRange",+         supportsTags = Prelude.False,+         properties = ["FromPort" JSON..= fromPort,+                       "ToPort" JSON..= toPort]}+instance JSON.ToJSON TrafficMirrorPortRangeProperty where+  toJSON TrafficMirrorPortRangeProperty {..}+    = JSON.object+        ["FromPort" JSON..= fromPort, "ToPort" JSON..= toPort]+instance Property "FromPort" TrafficMirrorPortRangeProperty where+  type PropertyType "FromPort" TrafficMirrorPortRangeProperty = Value Prelude.Integer+  set newValue TrafficMirrorPortRangeProperty {..}+    = TrafficMirrorPortRangeProperty {fromPort = newValue, ..}+instance Property "ToPort" TrafficMirrorPortRangeProperty where+  type PropertyType "ToPort" TrafficMirrorPortRangeProperty = Value Prelude.Integer+  set newValue TrafficMirrorPortRangeProperty {..}+    = TrafficMirrorPortRangeProperty {toPort = newValue, ..}
+ gen/Stratosphere/EC2/TrafficMirrorFilterRule/TrafficMirrorPortRangeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.TrafficMirrorFilterRule.TrafficMirrorPortRangeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TrafficMirrorPortRangeProperty :: Prelude.Type+instance ToResourceProperties TrafficMirrorPortRangeProperty+instance Prelude.Eq TrafficMirrorPortRangeProperty+instance Prelude.Show TrafficMirrorPortRangeProperty+instance JSON.ToJSON TrafficMirrorPortRangeProperty
+ gen/Stratosphere/EC2/TrafficMirrorSession.hs view
@@ -0,0 +1,117 @@+module Stratosphere.EC2.TrafficMirrorSession (+        TrafficMirrorSession(..), mkTrafficMirrorSession+    ) 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 TrafficMirrorSession+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html>+    TrafficMirrorSession {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-description>+                          description :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-networkinterfaceid>+                          networkInterfaceId :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-ownerid>+                          ownerId :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-packetlength>+                          packetLength :: (Prelude.Maybe (Value Prelude.Integer)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-sessionnumber>+                          sessionNumber :: (Value Prelude.Integer),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-tags>+                          tags :: (Prelude.Maybe [Tag]),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrorfilterid>+                          trafficMirrorFilterId :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-trafficmirrortargetid>+                          trafficMirrorTargetId :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrorsession.html#cfn-ec2-trafficmirrorsession-virtualnetworkid>+                          virtualNetworkId :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTrafficMirrorSession ::+  Value Prelude.Text+  -> Value Prelude.Integer+     -> Value Prelude.Text -> Value Prelude.Text -> TrafficMirrorSession+mkTrafficMirrorSession+  networkInterfaceId+  sessionNumber+  trafficMirrorFilterId+  trafficMirrorTargetId+  = TrafficMirrorSession+      {haddock_workaround_ = (), networkInterfaceId = networkInterfaceId,+       sessionNumber = sessionNumber,+       trafficMirrorFilterId = trafficMirrorFilterId,+       trafficMirrorTargetId = trafficMirrorTargetId,+       description = Prelude.Nothing, ownerId = Prelude.Nothing,+       packetLength = Prelude.Nothing, tags = Prelude.Nothing,+       virtualNetworkId = Prelude.Nothing}+instance ToResourceProperties TrafficMirrorSession where+  toResourceProperties TrafficMirrorSession {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TrafficMirrorSession",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["NetworkInterfaceId" JSON..= networkInterfaceId,+                            "SessionNumber" JSON..= sessionNumber,+                            "TrafficMirrorFilterId" JSON..= trafficMirrorFilterId,+                            "TrafficMirrorTargetId" JSON..= trafficMirrorTargetId]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "OwnerId" Prelude.<$> ownerId,+                               (JSON..=) "PacketLength" Prelude.<$> packetLength,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "VirtualNetworkId" Prelude.<$> virtualNetworkId]))}+instance JSON.ToJSON TrafficMirrorSession where+  toJSON TrafficMirrorSession {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["NetworkInterfaceId" JSON..= networkInterfaceId,+               "SessionNumber" JSON..= sessionNumber,+               "TrafficMirrorFilterId" JSON..= trafficMirrorFilterId,+               "TrafficMirrorTargetId" JSON..= trafficMirrorTargetId]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "OwnerId" Prelude.<$> ownerId,+                  (JSON..=) "PacketLength" Prelude.<$> packetLength,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "VirtualNetworkId" Prelude.<$> virtualNetworkId])))+instance Property "Description" TrafficMirrorSession where+  type PropertyType "Description" TrafficMirrorSession = Value Prelude.Text+  set newValue TrafficMirrorSession {..}+    = TrafficMirrorSession {description = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceId" TrafficMirrorSession where+  type PropertyType "NetworkInterfaceId" TrafficMirrorSession = Value Prelude.Text+  set newValue TrafficMirrorSession {..}+    = TrafficMirrorSession {networkInterfaceId = newValue, ..}+instance Property "OwnerId" TrafficMirrorSession where+  type PropertyType "OwnerId" TrafficMirrorSession = Value Prelude.Text+  set newValue TrafficMirrorSession {..}+    = TrafficMirrorSession {ownerId = Prelude.pure newValue, ..}+instance Property "PacketLength" TrafficMirrorSession where+  type PropertyType "PacketLength" TrafficMirrorSession = Value Prelude.Integer+  set newValue TrafficMirrorSession {..}+    = TrafficMirrorSession {packetLength = Prelude.pure newValue, ..}+instance Property "SessionNumber" TrafficMirrorSession where+  type PropertyType "SessionNumber" TrafficMirrorSession = Value Prelude.Integer+  set newValue TrafficMirrorSession {..}+    = TrafficMirrorSession {sessionNumber = newValue, ..}+instance Property "Tags" TrafficMirrorSession where+  type PropertyType "Tags" TrafficMirrorSession = [Tag]+  set newValue TrafficMirrorSession {..}+    = TrafficMirrorSession {tags = Prelude.pure newValue, ..}+instance Property "TrafficMirrorFilterId" TrafficMirrorSession where+  type PropertyType "TrafficMirrorFilterId" TrafficMirrorSession = Value Prelude.Text+  set newValue TrafficMirrorSession {..}+    = TrafficMirrorSession {trafficMirrorFilterId = newValue, ..}+instance Property "TrafficMirrorTargetId" TrafficMirrorSession where+  type PropertyType "TrafficMirrorTargetId" TrafficMirrorSession = Value Prelude.Text+  set newValue TrafficMirrorSession {..}+    = TrafficMirrorSession {trafficMirrorTargetId = newValue, ..}+instance Property "VirtualNetworkId" TrafficMirrorSession where+  type PropertyType "VirtualNetworkId" TrafficMirrorSession = Value Prelude.Integer+  set newValue TrafficMirrorSession {..}+    = TrafficMirrorSession+        {virtualNetworkId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TrafficMirrorTarget.hs view
@@ -0,0 +1,79 @@+module Stratosphere.EC2.TrafficMirrorTarget (+        TrafficMirrorTarget(..), mkTrafficMirrorTarget+    ) 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 TrafficMirrorTarget+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html>+    TrafficMirrorTarget {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-description>+                         description :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-gatewayloadbalancerendpointid>+                         gatewayLoadBalancerEndpointId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkinterfaceid>+                         networkInterfaceId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-networkloadbalancerarn>+                         networkLoadBalancerArn :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-trafficmirrortarget.html#cfn-ec2-trafficmirrortarget-tags>+                         tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTrafficMirrorTarget :: TrafficMirrorTarget+mkTrafficMirrorTarget+  = TrafficMirrorTarget+      {haddock_workaround_ = (), description = Prelude.Nothing,+       gatewayLoadBalancerEndpointId = Prelude.Nothing,+       networkInterfaceId = Prelude.Nothing,+       networkLoadBalancerArn = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties TrafficMirrorTarget where+  toResourceProperties TrafficMirrorTarget {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TrafficMirrorTarget",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "GatewayLoadBalancerEndpointId"+                              Prelude.<$> gatewayLoadBalancerEndpointId,+                            (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                            (JSON..=) "NetworkLoadBalancerArn"+                              Prelude.<$> networkLoadBalancerArn,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON TrafficMirrorTarget where+  toJSON TrafficMirrorTarget {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "GatewayLoadBalancerEndpointId"+                 Prelude.<$> gatewayLoadBalancerEndpointId,+               (JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+               (JSON..=) "NetworkLoadBalancerArn"+                 Prelude.<$> networkLoadBalancerArn,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "Description" TrafficMirrorTarget where+  type PropertyType "Description" TrafficMirrorTarget = Value Prelude.Text+  set newValue TrafficMirrorTarget {..}+    = TrafficMirrorTarget {description = Prelude.pure newValue, ..}+instance Property "GatewayLoadBalancerEndpointId" TrafficMirrorTarget where+  type PropertyType "GatewayLoadBalancerEndpointId" TrafficMirrorTarget = Value Prelude.Text+  set newValue TrafficMirrorTarget {..}+    = TrafficMirrorTarget+        {gatewayLoadBalancerEndpointId = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceId" TrafficMirrorTarget where+  type PropertyType "NetworkInterfaceId" TrafficMirrorTarget = Value Prelude.Text+  set newValue TrafficMirrorTarget {..}+    = TrafficMirrorTarget+        {networkInterfaceId = Prelude.pure newValue, ..}+instance Property "NetworkLoadBalancerArn" TrafficMirrorTarget where+  type PropertyType "NetworkLoadBalancerArn" TrafficMirrorTarget = Value Prelude.Text+  set newValue TrafficMirrorTarget {..}+    = TrafficMirrorTarget+        {networkLoadBalancerArn = Prelude.pure newValue, ..}+instance Property "Tags" TrafficMirrorTarget where+  type PropertyType "Tags" TrafficMirrorTarget = [Tag]+  set newValue TrafficMirrorTarget {..}+    = TrafficMirrorTarget {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TransitGateway.hs view
@@ -0,0 +1,163 @@+module Stratosphere.EC2.TransitGateway (+        TransitGateway(..), mkTransitGateway+    ) 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 TransitGateway+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html>+    TransitGateway {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-amazonsideasn>+                    amazonSideAsn :: (Prelude.Maybe (Value Prelude.Integer)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-associationdefaultroutetableid>+                    associationDefaultRouteTableId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-autoacceptsharedattachments>+                    autoAcceptSharedAttachments :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-defaultroutetableassociation>+                    defaultRouteTableAssociation :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-defaultroutetablepropagation>+                    defaultRouteTablePropagation :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-description>+                    description :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-dnssupport>+                    dnsSupport :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-multicastsupport>+                    multicastSupport :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-propagationdefaultroutetableid>+                    propagationDefaultRouteTableId :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-securitygroupreferencingsupport>+                    securityGroupReferencingSupport :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-tags>+                    tags :: (Prelude.Maybe [Tag]),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-transitgatewaycidrblocks>+                    transitGatewayCidrBlocks :: (Prelude.Maybe (ValueList Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgateway.html#cfn-ec2-transitgateway-vpnecmpsupport>+                    vpnEcmpSupport :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGateway :: TransitGateway+mkTransitGateway+  = TransitGateway+      {haddock_workaround_ = (), amazonSideAsn = Prelude.Nothing,+       associationDefaultRouteTableId = Prelude.Nothing,+       autoAcceptSharedAttachments = Prelude.Nothing,+       defaultRouteTableAssociation = Prelude.Nothing,+       defaultRouteTablePropagation = Prelude.Nothing,+       description = Prelude.Nothing, dnsSupport = Prelude.Nothing,+       multicastSupport = Prelude.Nothing,+       propagationDefaultRouteTableId = Prelude.Nothing,+       securityGroupReferencingSupport = Prelude.Nothing,+       tags = Prelude.Nothing, transitGatewayCidrBlocks = Prelude.Nothing,+       vpnEcmpSupport = Prelude.Nothing}+instance ToResourceProperties TransitGateway where+  toResourceProperties TransitGateway {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGateway", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AmazonSideAsn" Prelude.<$> amazonSideAsn,+                            (JSON..=) "AssociationDefaultRouteTableId"+                              Prelude.<$> associationDefaultRouteTableId,+                            (JSON..=) "AutoAcceptSharedAttachments"+                              Prelude.<$> autoAcceptSharedAttachments,+                            (JSON..=) "DefaultRouteTableAssociation"+                              Prelude.<$> defaultRouteTableAssociation,+                            (JSON..=) "DefaultRouteTablePropagation"+                              Prelude.<$> defaultRouteTablePropagation,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "DnsSupport" Prelude.<$> dnsSupport,+                            (JSON..=) "MulticastSupport" Prelude.<$> multicastSupport,+                            (JSON..=) "PropagationDefaultRouteTableId"+                              Prelude.<$> propagationDefaultRouteTableId,+                            (JSON..=) "SecurityGroupReferencingSupport"+                              Prelude.<$> securityGroupReferencingSupport,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "TransitGatewayCidrBlocks"+                              Prelude.<$> transitGatewayCidrBlocks,+                            (JSON..=) "VpnEcmpSupport" Prelude.<$> vpnEcmpSupport])}+instance JSON.ToJSON TransitGateway where+  toJSON TransitGateway {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AmazonSideAsn" Prelude.<$> amazonSideAsn,+               (JSON..=) "AssociationDefaultRouteTableId"+                 Prelude.<$> associationDefaultRouteTableId,+               (JSON..=) "AutoAcceptSharedAttachments"+                 Prelude.<$> autoAcceptSharedAttachments,+               (JSON..=) "DefaultRouteTableAssociation"+                 Prelude.<$> defaultRouteTableAssociation,+               (JSON..=) "DefaultRouteTablePropagation"+                 Prelude.<$> defaultRouteTablePropagation,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "DnsSupport" Prelude.<$> dnsSupport,+               (JSON..=) "MulticastSupport" Prelude.<$> multicastSupport,+               (JSON..=) "PropagationDefaultRouteTableId"+                 Prelude.<$> propagationDefaultRouteTableId,+               (JSON..=) "SecurityGroupReferencingSupport"+                 Prelude.<$> securityGroupReferencingSupport,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "TransitGatewayCidrBlocks"+                 Prelude.<$> transitGatewayCidrBlocks,+               (JSON..=) "VpnEcmpSupport" Prelude.<$> vpnEcmpSupport]))+instance Property "AmazonSideAsn" TransitGateway where+  type PropertyType "AmazonSideAsn" TransitGateway = Value Prelude.Integer+  set newValue TransitGateway {..}+    = TransitGateway {amazonSideAsn = Prelude.pure newValue, ..}+instance Property "AssociationDefaultRouteTableId" TransitGateway where+  type PropertyType "AssociationDefaultRouteTableId" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway+        {associationDefaultRouteTableId = Prelude.pure newValue, ..}+instance Property "AutoAcceptSharedAttachments" TransitGateway where+  type PropertyType "AutoAcceptSharedAttachments" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway+        {autoAcceptSharedAttachments = Prelude.pure newValue, ..}+instance Property "DefaultRouteTableAssociation" TransitGateway where+  type PropertyType "DefaultRouteTableAssociation" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway+        {defaultRouteTableAssociation = Prelude.pure newValue, ..}+instance Property "DefaultRouteTablePropagation" TransitGateway where+  type PropertyType "DefaultRouteTablePropagation" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway+        {defaultRouteTablePropagation = Prelude.pure newValue, ..}+instance Property "Description" TransitGateway where+  type PropertyType "Description" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway {description = Prelude.pure newValue, ..}+instance Property "DnsSupport" TransitGateway where+  type PropertyType "DnsSupport" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway {dnsSupport = Prelude.pure newValue, ..}+instance Property "MulticastSupport" TransitGateway where+  type PropertyType "MulticastSupport" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway {multicastSupport = Prelude.pure newValue, ..}+instance Property "PropagationDefaultRouteTableId" TransitGateway where+  type PropertyType "PropagationDefaultRouteTableId" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway+        {propagationDefaultRouteTableId = Prelude.pure newValue, ..}+instance Property "SecurityGroupReferencingSupport" TransitGateway where+  type PropertyType "SecurityGroupReferencingSupport" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway+        {securityGroupReferencingSupport = Prelude.pure newValue, ..}+instance Property "Tags" TransitGateway where+  type PropertyType "Tags" TransitGateway = [Tag]+  set newValue TransitGateway {..}+    = TransitGateway {tags = Prelude.pure newValue, ..}+instance Property "TransitGatewayCidrBlocks" TransitGateway where+  type PropertyType "TransitGatewayCidrBlocks" TransitGateway = ValueList Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway+        {transitGatewayCidrBlocks = Prelude.pure newValue, ..}+instance Property "VpnEcmpSupport" TransitGateway where+  type PropertyType "VpnEcmpSupport" TransitGateway = Value Prelude.Text+  set newValue TransitGateway {..}+    = TransitGateway {vpnEcmpSupport = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayAttachment.hs view
@@ -0,0 +1,76 @@+module Stratosphere.EC2.TransitGatewayAttachment (+        module Exports, TransitGatewayAttachment(..),+        mkTransitGatewayAttachment+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.TransitGatewayAttachment.OptionsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data TransitGatewayAttachment+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html>+    TransitGatewayAttachment {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-options>+                              options :: (Prelude.Maybe OptionsProperty),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-subnetids>+                              subnetIds :: (ValueList Prelude.Text),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-tags>+                              tags :: (Prelude.Maybe [Tag]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-transitgatewayid>+                              transitGatewayId :: (Value Prelude.Text),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayattachment.html#cfn-ec2-transitgatewayattachment-vpcid>+                              vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayAttachment ::+  ValueList Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> TransitGatewayAttachment+mkTransitGatewayAttachment subnetIds transitGatewayId vpcId+  = TransitGatewayAttachment+      {haddock_workaround_ = (), subnetIds = subnetIds,+       transitGatewayId = transitGatewayId, vpcId = vpcId,+       options = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties TransitGatewayAttachment where+  toResourceProperties TransitGatewayAttachment {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayAttachment",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["SubnetIds" JSON..= subnetIds,+                            "TransitGatewayId" JSON..= transitGatewayId, "VpcId" JSON..= vpcId]+                           (Prelude.catMaybes+                              [(JSON..=) "Options" Prelude.<$> options,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON TransitGatewayAttachment where+  toJSON TransitGatewayAttachment {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["SubnetIds" JSON..= subnetIds,+               "TransitGatewayId" JSON..= transitGatewayId, "VpcId" JSON..= vpcId]+              (Prelude.catMaybes+                 [(JSON..=) "Options" Prelude.<$> options,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Options" TransitGatewayAttachment where+  type PropertyType "Options" TransitGatewayAttachment = OptionsProperty+  set newValue TransitGatewayAttachment {..}+    = TransitGatewayAttachment {options = Prelude.pure newValue, ..}+instance Property "SubnetIds" TransitGatewayAttachment where+  type PropertyType "SubnetIds" TransitGatewayAttachment = ValueList Prelude.Text+  set newValue TransitGatewayAttachment {..}+    = TransitGatewayAttachment {subnetIds = newValue, ..}+instance Property "Tags" TransitGatewayAttachment where+  type PropertyType "Tags" TransitGatewayAttachment = [Tag]+  set newValue TransitGatewayAttachment {..}+    = TransitGatewayAttachment {tags = Prelude.pure newValue, ..}+instance Property "TransitGatewayId" TransitGatewayAttachment where+  type PropertyType "TransitGatewayId" TransitGatewayAttachment = Value Prelude.Text+  set newValue TransitGatewayAttachment {..}+    = TransitGatewayAttachment {transitGatewayId = newValue, ..}+instance Property "VpcId" TransitGatewayAttachment where+  type PropertyType "VpcId" TransitGatewayAttachment = Value Prelude.Text+  set newValue TransitGatewayAttachment {..}+    = TransitGatewayAttachment {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayAttachment/OptionsProperty.hs view
@@ -0,0 +1,66 @@+module Stratosphere.EC2.TransitGatewayAttachment.OptionsProperty (+        OptionsProperty(..), mkOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayattachment-options.html>+    OptionsProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayattachment-options.html#cfn-ec2-transitgatewayattachment-options-appliancemodesupport>+                     applianceModeSupport :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayattachment-options.html#cfn-ec2-transitgatewayattachment-options-dnssupport>+                     dnsSupport :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayattachment-options.html#cfn-ec2-transitgatewayattachment-options-ipv6support>+                     ipv6Support :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayattachment-options.html#cfn-ec2-transitgatewayattachment-options-securitygroupreferencingsupport>+                     securityGroupReferencingSupport :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOptionsProperty :: OptionsProperty+mkOptionsProperty+  = OptionsProperty+      {haddock_workaround_ = (), applianceModeSupport = Prelude.Nothing,+       dnsSupport = Prelude.Nothing, ipv6Support = Prelude.Nothing,+       securityGroupReferencingSupport = Prelude.Nothing}+instance ToResourceProperties OptionsProperty where+  toResourceProperties OptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayAttachment.Options",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ApplianceModeSupport" Prelude.<$> applianceModeSupport,+                            (JSON..=) "DnsSupport" Prelude.<$> dnsSupport,+                            (JSON..=) "Ipv6Support" Prelude.<$> ipv6Support,+                            (JSON..=) "SecurityGroupReferencingSupport"+                              Prelude.<$> securityGroupReferencingSupport])}+instance JSON.ToJSON OptionsProperty where+  toJSON OptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ApplianceModeSupport" Prelude.<$> applianceModeSupport,+               (JSON..=) "DnsSupport" Prelude.<$> dnsSupport,+               (JSON..=) "Ipv6Support" Prelude.<$> ipv6Support,+               (JSON..=) "SecurityGroupReferencingSupport"+                 Prelude.<$> securityGroupReferencingSupport]))+instance Property "ApplianceModeSupport" OptionsProperty where+  type PropertyType "ApplianceModeSupport" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty+        {applianceModeSupport = Prelude.pure newValue, ..}+instance Property "DnsSupport" OptionsProperty where+  type PropertyType "DnsSupport" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty {dnsSupport = Prelude.pure newValue, ..}+instance Property "Ipv6Support" OptionsProperty where+  type PropertyType "Ipv6Support" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty {ipv6Support = Prelude.pure newValue, ..}+instance Property "SecurityGroupReferencingSupport" OptionsProperty where+  type PropertyType "SecurityGroupReferencingSupport" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty+        {securityGroupReferencingSupport = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayAttachment/OptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.TransitGatewayAttachment.OptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OptionsProperty :: Prelude.Type+instance ToResourceProperties OptionsProperty+instance Prelude.Eq OptionsProperty+instance Prelude.Show OptionsProperty+instance JSON.ToJSON OptionsProperty
+ gen/Stratosphere/EC2/TransitGatewayConnect.hs view
@@ -0,0 +1,61 @@+module Stratosphere.EC2.TransitGatewayConnect (+        module Exports, TransitGatewayConnect(..), mkTransitGatewayConnect+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.TransitGatewayConnect.TransitGatewayConnectOptionsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data TransitGatewayConnect+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html>+    TransitGatewayConnect {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html#cfn-ec2-transitgatewayconnect-options>+                           options :: TransitGatewayConnectOptionsProperty,+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html#cfn-ec2-transitgatewayconnect-tags>+                           tags :: (Prelude.Maybe [Tag]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnect.html#cfn-ec2-transitgatewayconnect-transporttransitgatewayattachmentid>+                           transportTransitGatewayAttachmentId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayConnect ::+  TransitGatewayConnectOptionsProperty+  -> Value Prelude.Text -> TransitGatewayConnect+mkTransitGatewayConnect options transportTransitGatewayAttachmentId+  = TransitGatewayConnect+      {haddock_workaround_ = (), options = options,+       transportTransitGatewayAttachmentId = transportTransitGatewayAttachmentId,+       tags = Prelude.Nothing}+instance ToResourceProperties TransitGatewayConnect where+  toResourceProperties TransitGatewayConnect {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayConnect",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Options" JSON..= options,+                            "TransportTransitGatewayAttachmentId"+                              JSON..= transportTransitGatewayAttachmentId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON TransitGatewayConnect where+  toJSON TransitGatewayConnect {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Options" JSON..= options,+               "TransportTransitGatewayAttachmentId"+                 JSON..= transportTransitGatewayAttachmentId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Options" TransitGatewayConnect where+  type PropertyType "Options" TransitGatewayConnect = TransitGatewayConnectOptionsProperty+  set newValue TransitGatewayConnect {..}+    = TransitGatewayConnect {options = newValue, ..}+instance Property "Tags" TransitGatewayConnect where+  type PropertyType "Tags" TransitGatewayConnect = [Tag]+  set newValue TransitGatewayConnect {..}+    = TransitGatewayConnect {tags = Prelude.pure newValue, ..}+instance Property "TransportTransitGatewayAttachmentId" TransitGatewayConnect where+  type PropertyType "TransportTransitGatewayAttachmentId" TransitGatewayConnect = Value Prelude.Text+  set newValue TransitGatewayConnect {..}+    = TransitGatewayConnect+        {transportTransitGatewayAttachmentId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayConnect/TransitGatewayConnectOptionsProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.TransitGatewayConnect.TransitGatewayConnectOptionsProperty (+        TransitGatewayConnectOptionsProperty(..),+        mkTransitGatewayConnectOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayConnectOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnect-transitgatewayconnectoptions.html>+    TransitGatewayConnectOptionsProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnect-transitgatewayconnectoptions.html#cfn-ec2-transitgatewayconnect-transitgatewayconnectoptions-protocol>+                                          protocol :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayConnectOptionsProperty ::+  TransitGatewayConnectOptionsProperty+mkTransitGatewayConnectOptionsProperty+  = TransitGatewayConnectOptionsProperty+      {haddock_workaround_ = (), protocol = Prelude.Nothing}+instance ToResourceProperties TransitGatewayConnectOptionsProperty where+  toResourceProperties TransitGatewayConnectOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayConnect.TransitGatewayConnectOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Protocol" Prelude.<$> protocol])}+instance JSON.ToJSON TransitGatewayConnectOptionsProperty where+  toJSON TransitGatewayConnectOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Protocol" Prelude.<$> protocol]))+instance Property "Protocol" TransitGatewayConnectOptionsProperty where+  type PropertyType "Protocol" TransitGatewayConnectOptionsProperty = Value Prelude.Text+  set newValue TransitGatewayConnectOptionsProperty {..}+    = TransitGatewayConnectOptionsProperty+        {protocol = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayConnect/TransitGatewayConnectOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.TransitGatewayConnect.TransitGatewayConnectOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TransitGatewayConnectOptionsProperty :: Prelude.Type+instance ToResourceProperties TransitGatewayConnectOptionsProperty+instance Prelude.Eq TransitGatewayConnectOptionsProperty+instance Prelude.Show TransitGatewayConnectOptionsProperty+instance JSON.ToJSON TransitGatewayConnectOptionsProperty
+ gen/Stratosphere/EC2/TransitGatewayConnectPeer.hs view
@@ -0,0 +1,64 @@+module Stratosphere.EC2.TransitGatewayConnectPeer (+        module Exports, TransitGatewayConnectPeer(..),+        mkTransitGatewayConnectPeer+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.TransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data TransitGatewayConnectPeer+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html>+    TransitGatewayConnectPeer {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html#cfn-ec2-transitgatewayconnectpeer-connectpeerconfiguration>+                               connectPeerConfiguration :: TransitGatewayConnectPeerConfigurationProperty,+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html#cfn-ec2-transitgatewayconnectpeer-tags>+                               tags :: (Prelude.Maybe [Tag]),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayconnectpeer.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentid>+                               transitGatewayAttachmentId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayConnectPeer ::+  TransitGatewayConnectPeerConfigurationProperty+  -> Value Prelude.Text -> TransitGatewayConnectPeer+mkTransitGatewayConnectPeer+  connectPeerConfiguration+  transitGatewayAttachmentId+  = TransitGatewayConnectPeer+      {haddock_workaround_ = (),+       connectPeerConfiguration = connectPeerConfiguration,+       transitGatewayAttachmentId = transitGatewayAttachmentId,+       tags = Prelude.Nothing}+instance ToResourceProperties TransitGatewayConnectPeer where+  toResourceProperties TransitGatewayConnectPeer {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayConnectPeer",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ConnectPeerConfiguration" JSON..= connectPeerConfiguration,+                            "TransitGatewayAttachmentId" JSON..= transitGatewayAttachmentId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON TransitGatewayConnectPeer where+  toJSON TransitGatewayConnectPeer {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ConnectPeerConfiguration" JSON..= connectPeerConfiguration,+               "TransitGatewayAttachmentId" JSON..= transitGatewayAttachmentId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ConnectPeerConfiguration" TransitGatewayConnectPeer where+  type PropertyType "ConnectPeerConfiguration" TransitGatewayConnectPeer = TransitGatewayConnectPeerConfigurationProperty+  set newValue TransitGatewayConnectPeer {..}+    = TransitGatewayConnectPeer+        {connectPeerConfiguration = newValue, ..}+instance Property "Tags" TransitGatewayConnectPeer where+  type PropertyType "Tags" TransitGatewayConnectPeer = [Tag]+  set newValue TransitGatewayConnectPeer {..}+    = TransitGatewayConnectPeer {tags = Prelude.pure newValue, ..}+instance Property "TransitGatewayAttachmentId" TransitGatewayConnectPeer where+  type PropertyType "TransitGatewayAttachmentId" TransitGatewayConnectPeer = Value Prelude.Text+  set newValue TransitGatewayConnectPeer {..}+    = TransitGatewayConnectPeer+        {transitGatewayAttachmentId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayConnectPeer/TransitGatewayAttachmentBgpConfigurationProperty.hs view
@@ -0,0 +1,81 @@+module Stratosphere.EC2.TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty (+        TransitGatewayAttachmentBgpConfigurationProperty(..),+        mkTransitGatewayAttachmentBgpConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayAttachmentBgpConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html>+    TransitGatewayAttachmentBgpConfigurationProperty {haddock_workaround_ :: (),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-bgpstatus>+                                                      bgpStatus :: (Prelude.Maybe (Value Prelude.Text)),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-peeraddress>+                                                      peerAddress :: (Prelude.Maybe (Value Prelude.Text)),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-peerasn>+                                                      peerAsn :: (Prelude.Maybe (Value Prelude.Double)),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-transitgatewayaddress>+                                                      transitGatewayAddress :: (Prelude.Maybe (Value Prelude.Text)),+                                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayattachmentbgpconfiguration-transitgatewayasn>+                                                      transitGatewayAsn :: (Prelude.Maybe (Value Prelude.Double))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayAttachmentBgpConfigurationProperty ::+  TransitGatewayAttachmentBgpConfigurationProperty+mkTransitGatewayAttachmentBgpConfigurationProperty+  = TransitGatewayAttachmentBgpConfigurationProperty+      {haddock_workaround_ = (), bgpStatus = Prelude.Nothing,+       peerAddress = Prelude.Nothing, peerAsn = Prelude.Nothing,+       transitGatewayAddress = Prelude.Nothing,+       transitGatewayAsn = Prelude.Nothing}+instance ToResourceProperties TransitGatewayAttachmentBgpConfigurationProperty where+  toResourceProperties+    TransitGatewayAttachmentBgpConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "BgpStatus" Prelude.<$> bgpStatus,+                            (JSON..=) "PeerAddress" Prelude.<$> peerAddress,+                            (JSON..=) "PeerAsn" Prelude.<$> peerAsn,+                            (JSON..=) "TransitGatewayAddress"+                              Prelude.<$> transitGatewayAddress,+                            (JSON..=) "TransitGatewayAsn" Prelude.<$> transitGatewayAsn])}+instance JSON.ToJSON TransitGatewayAttachmentBgpConfigurationProperty where+  toJSON TransitGatewayAttachmentBgpConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "BgpStatus" Prelude.<$> bgpStatus,+               (JSON..=) "PeerAddress" Prelude.<$> peerAddress,+               (JSON..=) "PeerAsn" Prelude.<$> peerAsn,+               (JSON..=) "TransitGatewayAddress"+                 Prelude.<$> transitGatewayAddress,+               (JSON..=) "TransitGatewayAsn" Prelude.<$> transitGatewayAsn]))+instance Property "BgpStatus" TransitGatewayAttachmentBgpConfigurationProperty where+  type PropertyType "BgpStatus" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Text+  set newValue TransitGatewayAttachmentBgpConfigurationProperty {..}+    = TransitGatewayAttachmentBgpConfigurationProperty+        {bgpStatus = Prelude.pure newValue, ..}+instance Property "PeerAddress" TransitGatewayAttachmentBgpConfigurationProperty where+  type PropertyType "PeerAddress" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Text+  set newValue TransitGatewayAttachmentBgpConfigurationProperty {..}+    = TransitGatewayAttachmentBgpConfigurationProperty+        {peerAddress = Prelude.pure newValue, ..}+instance Property "PeerAsn" TransitGatewayAttachmentBgpConfigurationProperty where+  type PropertyType "PeerAsn" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Double+  set newValue TransitGatewayAttachmentBgpConfigurationProperty {..}+    = TransitGatewayAttachmentBgpConfigurationProperty+        {peerAsn = Prelude.pure newValue, ..}+instance Property "TransitGatewayAddress" TransitGatewayAttachmentBgpConfigurationProperty where+  type PropertyType "TransitGatewayAddress" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Text+  set newValue TransitGatewayAttachmentBgpConfigurationProperty {..}+    = TransitGatewayAttachmentBgpConfigurationProperty+        {transitGatewayAddress = Prelude.pure newValue, ..}+instance Property "TransitGatewayAsn" TransitGatewayAttachmentBgpConfigurationProperty where+  type PropertyType "TransitGatewayAsn" TransitGatewayAttachmentBgpConfigurationProperty = Value Prelude.Double+  set newValue TransitGatewayAttachmentBgpConfigurationProperty {..}+    = TransitGatewayAttachmentBgpConfigurationProperty+        {transitGatewayAsn = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayConnectPeer/TransitGatewayAttachmentBgpConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TransitGatewayAttachmentBgpConfigurationProperty :: Prelude.Type+instance ToResourceProperties TransitGatewayAttachmentBgpConfigurationProperty+instance Prelude.Eq TransitGatewayAttachmentBgpConfigurationProperty+instance Prelude.Show TransitGatewayAttachmentBgpConfigurationProperty+instance JSON.ToJSON TransitGatewayAttachmentBgpConfigurationProperty
+ gen/Stratosphere/EC2/TransitGatewayConnectPeer/TransitGatewayConnectPeerConfigurationProperty.hs view
@@ -0,0 +1,88 @@+module Stratosphere.EC2.TransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty (+        module Exports, TransitGatewayConnectPeerConfigurationProperty(..),+        mkTransitGatewayConnectPeerConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayConnectPeerConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html>+    TransitGatewayConnectPeerConfigurationProperty {haddock_workaround_ :: (),+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-bgpconfigurations>+                                                    bgpConfigurations :: (Prelude.Maybe [TransitGatewayAttachmentBgpConfigurationProperty]),+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-insidecidrblocks>+                                                    insideCidrBlocks :: (ValueList Prelude.Text),+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-peeraddress>+                                                    peerAddress :: (Value Prelude.Text),+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-protocol>+                                                    protocol :: (Prelude.Maybe (Value Prelude.Text)),+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration.html#cfn-ec2-transitgatewayconnectpeer-transitgatewayconnectpeerconfiguration-transitgatewayaddress>+                                                    transitGatewayAddress :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayConnectPeerConfigurationProperty ::+  ValueList Prelude.Text+  -> Value Prelude.Text+     -> TransitGatewayConnectPeerConfigurationProperty+mkTransitGatewayConnectPeerConfigurationProperty+  insideCidrBlocks+  peerAddress+  = TransitGatewayConnectPeerConfigurationProperty+      {haddock_workaround_ = (), insideCidrBlocks = insideCidrBlocks,+       peerAddress = peerAddress, bgpConfigurations = Prelude.Nothing,+       protocol = Prelude.Nothing,+       transitGatewayAddress = Prelude.Nothing}+instance ToResourceProperties TransitGatewayConnectPeerConfigurationProperty where+  toResourceProperties+    TransitGatewayConnectPeerConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayConnectPeer.TransitGatewayConnectPeerConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["InsideCidrBlocks" JSON..= insideCidrBlocks,+                            "PeerAddress" JSON..= peerAddress]+                           (Prelude.catMaybes+                              [(JSON..=) "BgpConfigurations" Prelude.<$> bgpConfigurations,+                               (JSON..=) "Protocol" Prelude.<$> protocol,+                               (JSON..=) "TransitGatewayAddress"+                                 Prelude.<$> transitGatewayAddress]))}+instance JSON.ToJSON TransitGatewayConnectPeerConfigurationProperty where+  toJSON TransitGatewayConnectPeerConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["InsideCidrBlocks" JSON..= insideCidrBlocks,+               "PeerAddress" JSON..= peerAddress]+              (Prelude.catMaybes+                 [(JSON..=) "BgpConfigurations" Prelude.<$> bgpConfigurations,+                  (JSON..=) "Protocol" Prelude.<$> protocol,+                  (JSON..=) "TransitGatewayAddress"+                    Prelude.<$> transitGatewayAddress])))+instance Property "BgpConfigurations" TransitGatewayConnectPeerConfigurationProperty where+  type PropertyType "BgpConfigurations" TransitGatewayConnectPeerConfigurationProperty = [TransitGatewayAttachmentBgpConfigurationProperty]+  set newValue TransitGatewayConnectPeerConfigurationProperty {..}+    = TransitGatewayConnectPeerConfigurationProperty+        {bgpConfigurations = Prelude.pure newValue, ..}+instance Property "InsideCidrBlocks" TransitGatewayConnectPeerConfigurationProperty where+  type PropertyType "InsideCidrBlocks" TransitGatewayConnectPeerConfigurationProperty = ValueList Prelude.Text+  set newValue TransitGatewayConnectPeerConfigurationProperty {..}+    = TransitGatewayConnectPeerConfigurationProperty+        {insideCidrBlocks = newValue, ..}+instance Property "PeerAddress" TransitGatewayConnectPeerConfigurationProperty where+  type PropertyType "PeerAddress" TransitGatewayConnectPeerConfigurationProperty = Value Prelude.Text+  set newValue TransitGatewayConnectPeerConfigurationProperty {..}+    = TransitGatewayConnectPeerConfigurationProperty+        {peerAddress = newValue, ..}+instance Property "Protocol" TransitGatewayConnectPeerConfigurationProperty where+  type PropertyType "Protocol" TransitGatewayConnectPeerConfigurationProperty = Value Prelude.Text+  set newValue TransitGatewayConnectPeerConfigurationProperty {..}+    = TransitGatewayConnectPeerConfigurationProperty+        {protocol = Prelude.pure newValue, ..}+instance Property "TransitGatewayAddress" TransitGatewayConnectPeerConfigurationProperty where+  type PropertyType "TransitGatewayAddress" TransitGatewayConnectPeerConfigurationProperty = Value Prelude.Text+  set newValue TransitGatewayConnectPeerConfigurationProperty {..}+    = TransitGatewayConnectPeerConfigurationProperty+        {transitGatewayAddress = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayConnectPeer/TransitGatewayConnectPeerConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.TransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data TransitGatewayConnectPeerConfigurationProperty :: Prelude.Type+instance ToResourceProperties TransitGatewayConnectPeerConfigurationProperty+instance Prelude.Eq TransitGatewayConnectPeerConfigurationProperty+instance Prelude.Show TransitGatewayConnectPeerConfigurationProperty+instance JSON.ToJSON TransitGatewayConnectPeerConfigurationProperty
+ gen/Stratosphere/EC2/TransitGatewayMulticastDomain.hs view
@@ -0,0 +1,60 @@+module Stratosphere.EC2.TransitGatewayMulticastDomain (+        module Exports, TransitGatewayMulticastDomain(..),+        mkTransitGatewayMulticastDomain+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.TransitGatewayMulticastDomain.OptionsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data TransitGatewayMulticastDomain+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html>+    TransitGatewayMulticastDomain {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html#cfn-ec2-transitgatewaymulticastdomain-options>+                                   options :: (Prelude.Maybe OptionsProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html#cfn-ec2-transitgatewaymulticastdomain-tags>+                                   tags :: (Prelude.Maybe [Tag]),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomain.html#cfn-ec2-transitgatewaymulticastdomain-transitgatewayid>+                                   transitGatewayId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayMulticastDomain ::+  Value Prelude.Text -> TransitGatewayMulticastDomain+mkTransitGatewayMulticastDomain transitGatewayId+  = TransitGatewayMulticastDomain+      {haddock_workaround_ = (), transitGatewayId = transitGatewayId,+       options = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties TransitGatewayMulticastDomain where+  toResourceProperties TransitGatewayMulticastDomain {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayMulticastDomain",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TransitGatewayId" JSON..= transitGatewayId]+                           (Prelude.catMaybes+                              [(JSON..=) "Options" Prelude.<$> options,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON TransitGatewayMulticastDomain where+  toJSON TransitGatewayMulticastDomain {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TransitGatewayId" JSON..= transitGatewayId]+              (Prelude.catMaybes+                 [(JSON..=) "Options" Prelude.<$> options,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Options" TransitGatewayMulticastDomain where+  type PropertyType "Options" TransitGatewayMulticastDomain = OptionsProperty+  set newValue TransitGatewayMulticastDomain {..}+    = TransitGatewayMulticastDomain+        {options = Prelude.pure newValue, ..}+instance Property "Tags" TransitGatewayMulticastDomain where+  type PropertyType "Tags" TransitGatewayMulticastDomain = [Tag]+  set newValue TransitGatewayMulticastDomain {..}+    = TransitGatewayMulticastDomain {tags = Prelude.pure newValue, ..}+instance Property "TransitGatewayId" TransitGatewayMulticastDomain where+  type PropertyType "TransitGatewayId" TransitGatewayMulticastDomain = Value Prelude.Text+  set newValue TransitGatewayMulticastDomain {..}+    = TransitGatewayMulticastDomain {transitGatewayId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayMulticastDomain/OptionsProperty.hs view
@@ -0,0 +1,61 @@+module Stratosphere.EC2.TransitGatewayMulticastDomain.OptionsProperty (+        OptionsProperty(..), mkOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewaymulticastdomain-options.html>+    OptionsProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewaymulticastdomain-options.html#cfn-ec2-transitgatewaymulticastdomain-options-autoacceptsharedassociations>+                     autoAcceptSharedAssociations :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewaymulticastdomain-options.html#cfn-ec2-transitgatewaymulticastdomain-options-igmpv2support>+                     igmpv2Support :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewaymulticastdomain-options.html#cfn-ec2-transitgatewaymulticastdomain-options-staticsourcessupport>+                     staticSourcesSupport :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOptionsProperty :: OptionsProperty+mkOptionsProperty+  = OptionsProperty+      {haddock_workaround_ = (),+       autoAcceptSharedAssociations = Prelude.Nothing,+       igmpv2Support = Prelude.Nothing,+       staticSourcesSupport = Prelude.Nothing}+instance ToResourceProperties OptionsProperty where+  toResourceProperties OptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayMulticastDomain.Options",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AutoAcceptSharedAssociations"+                              Prelude.<$> autoAcceptSharedAssociations,+                            (JSON..=) "Igmpv2Support" Prelude.<$> igmpv2Support,+                            (JSON..=) "StaticSourcesSupport"+                              Prelude.<$> staticSourcesSupport])}+instance JSON.ToJSON OptionsProperty where+  toJSON OptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AutoAcceptSharedAssociations"+                 Prelude.<$> autoAcceptSharedAssociations,+               (JSON..=) "Igmpv2Support" Prelude.<$> igmpv2Support,+               (JSON..=) "StaticSourcesSupport"+                 Prelude.<$> staticSourcesSupport]))+instance Property "AutoAcceptSharedAssociations" OptionsProperty where+  type PropertyType "AutoAcceptSharedAssociations" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty+        {autoAcceptSharedAssociations = Prelude.pure newValue, ..}+instance Property "Igmpv2Support" OptionsProperty where+  type PropertyType "Igmpv2Support" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty {igmpv2Support = Prelude.pure newValue, ..}+instance Property "StaticSourcesSupport" OptionsProperty where+  type PropertyType "StaticSourcesSupport" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty+        {staticSourcesSupport = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayMulticastDomain/OptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.TransitGatewayMulticastDomain.OptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OptionsProperty :: Prelude.Type+instance ToResourceProperties OptionsProperty+instance Prelude.Eq OptionsProperty+instance Prelude.Show OptionsProperty+instance JSON.ToJSON OptionsProperty
+ gen/Stratosphere/EC2/TransitGatewayMulticastDomainAssociation.hs view
@@ -0,0 +1,62 @@+module Stratosphere.EC2.TransitGatewayMulticastDomainAssociation (+        TransitGatewayMulticastDomainAssociation(..),+        mkTransitGatewayMulticastDomainAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayMulticastDomainAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html>+    TransitGatewayMulticastDomainAssociation {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-subnetid>+                                              subnetId :: (Value Prelude.Text),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-transitgatewayattachmentid>+                                              transitGatewayAttachmentId :: (Value Prelude.Text),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastdomainassociation.html#cfn-ec2-transitgatewaymulticastdomainassociation-transitgatewaymulticastdomainid>+                                              transitGatewayMulticastDomainId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayMulticastDomainAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> TransitGatewayMulticastDomainAssociation+mkTransitGatewayMulticastDomainAssociation+  subnetId+  transitGatewayAttachmentId+  transitGatewayMulticastDomainId+  = TransitGatewayMulticastDomainAssociation+      {haddock_workaround_ = (), subnetId = subnetId,+       transitGatewayAttachmentId = transitGatewayAttachmentId,+       transitGatewayMulticastDomainId = transitGatewayMulticastDomainId}+instance ToResourceProperties TransitGatewayMulticastDomainAssociation where+  toResourceProperties TransitGatewayMulticastDomainAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayMulticastDomainAssociation",+         supportsTags = Prelude.False,+         properties = ["SubnetId" JSON..= subnetId,+                       "TransitGatewayAttachmentId" JSON..= transitGatewayAttachmentId,+                       "TransitGatewayMulticastDomainId"+                         JSON..= transitGatewayMulticastDomainId]}+instance JSON.ToJSON TransitGatewayMulticastDomainAssociation where+  toJSON TransitGatewayMulticastDomainAssociation {..}+    = JSON.object+        ["SubnetId" JSON..= subnetId,+         "TransitGatewayAttachmentId" JSON..= transitGatewayAttachmentId,+         "TransitGatewayMulticastDomainId"+           JSON..= transitGatewayMulticastDomainId]+instance Property "SubnetId" TransitGatewayMulticastDomainAssociation where+  type PropertyType "SubnetId" TransitGatewayMulticastDomainAssociation = Value Prelude.Text+  set newValue TransitGatewayMulticastDomainAssociation {..}+    = TransitGatewayMulticastDomainAssociation+        {subnetId = newValue, ..}+instance Property "TransitGatewayAttachmentId" TransitGatewayMulticastDomainAssociation where+  type PropertyType "TransitGatewayAttachmentId" TransitGatewayMulticastDomainAssociation = Value Prelude.Text+  set newValue TransitGatewayMulticastDomainAssociation {..}+    = TransitGatewayMulticastDomainAssociation+        {transitGatewayAttachmentId = newValue, ..}+instance Property "TransitGatewayMulticastDomainId" TransitGatewayMulticastDomainAssociation where+  type PropertyType "TransitGatewayMulticastDomainId" TransitGatewayMulticastDomainAssociation = Value Prelude.Text+  set newValue TransitGatewayMulticastDomainAssociation {..}+    = TransitGatewayMulticastDomainAssociation+        {transitGatewayMulticastDomainId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayMulticastGroupMember.hs view
@@ -0,0 +1,62 @@+module Stratosphere.EC2.TransitGatewayMulticastGroupMember (+        TransitGatewayMulticastGroupMember(..),+        mkTransitGatewayMulticastGroupMember+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayMulticastGroupMember+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html>+    TransitGatewayMulticastGroupMember {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-groupipaddress>+                                        groupIpAddress :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-networkinterfaceid>+                                        networkInterfaceId :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupmember.html#cfn-ec2-transitgatewaymulticastgroupmember-transitgatewaymulticastdomainid>+                                        transitGatewayMulticastDomainId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayMulticastGroupMember ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> TransitGatewayMulticastGroupMember+mkTransitGatewayMulticastGroupMember+  groupIpAddress+  networkInterfaceId+  transitGatewayMulticastDomainId+  = TransitGatewayMulticastGroupMember+      {haddock_workaround_ = (), groupIpAddress = groupIpAddress,+       networkInterfaceId = networkInterfaceId,+       transitGatewayMulticastDomainId = transitGatewayMulticastDomainId}+instance ToResourceProperties TransitGatewayMulticastGroupMember where+  toResourceProperties TransitGatewayMulticastGroupMember {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayMulticastGroupMember",+         supportsTags = Prelude.False,+         properties = ["GroupIpAddress" JSON..= groupIpAddress,+                       "NetworkInterfaceId" JSON..= networkInterfaceId,+                       "TransitGatewayMulticastDomainId"+                         JSON..= transitGatewayMulticastDomainId]}+instance JSON.ToJSON TransitGatewayMulticastGroupMember where+  toJSON TransitGatewayMulticastGroupMember {..}+    = JSON.object+        ["GroupIpAddress" JSON..= groupIpAddress,+         "NetworkInterfaceId" JSON..= networkInterfaceId,+         "TransitGatewayMulticastDomainId"+           JSON..= transitGatewayMulticastDomainId]+instance Property "GroupIpAddress" TransitGatewayMulticastGroupMember where+  type PropertyType "GroupIpAddress" TransitGatewayMulticastGroupMember = Value Prelude.Text+  set newValue TransitGatewayMulticastGroupMember {..}+    = TransitGatewayMulticastGroupMember+        {groupIpAddress = newValue, ..}+instance Property "NetworkInterfaceId" TransitGatewayMulticastGroupMember where+  type PropertyType "NetworkInterfaceId" TransitGatewayMulticastGroupMember = Value Prelude.Text+  set newValue TransitGatewayMulticastGroupMember {..}+    = TransitGatewayMulticastGroupMember+        {networkInterfaceId = newValue, ..}+instance Property "TransitGatewayMulticastDomainId" TransitGatewayMulticastGroupMember where+  type PropertyType "TransitGatewayMulticastDomainId" TransitGatewayMulticastGroupMember = Value Prelude.Text+  set newValue TransitGatewayMulticastGroupMember {..}+    = TransitGatewayMulticastGroupMember+        {transitGatewayMulticastDomainId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayMulticastGroupSource.hs view
@@ -0,0 +1,62 @@+module Stratosphere.EC2.TransitGatewayMulticastGroupSource (+        TransitGatewayMulticastGroupSource(..),+        mkTransitGatewayMulticastGroupSource+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayMulticastGroupSource+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html>+    TransitGatewayMulticastGroupSource {haddock_workaround_ :: (),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-groupipaddress>+                                        groupIpAddress :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-networkinterfaceid>+                                        networkInterfaceId :: (Value Prelude.Text),+                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaymulticastgroupsource.html#cfn-ec2-transitgatewaymulticastgroupsource-transitgatewaymulticastdomainid>+                                        transitGatewayMulticastDomainId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayMulticastGroupSource ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> TransitGatewayMulticastGroupSource+mkTransitGatewayMulticastGroupSource+  groupIpAddress+  networkInterfaceId+  transitGatewayMulticastDomainId+  = TransitGatewayMulticastGroupSource+      {haddock_workaround_ = (), groupIpAddress = groupIpAddress,+       networkInterfaceId = networkInterfaceId,+       transitGatewayMulticastDomainId = transitGatewayMulticastDomainId}+instance ToResourceProperties TransitGatewayMulticastGroupSource where+  toResourceProperties TransitGatewayMulticastGroupSource {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayMulticastGroupSource",+         supportsTags = Prelude.False,+         properties = ["GroupIpAddress" JSON..= groupIpAddress,+                       "NetworkInterfaceId" JSON..= networkInterfaceId,+                       "TransitGatewayMulticastDomainId"+                         JSON..= transitGatewayMulticastDomainId]}+instance JSON.ToJSON TransitGatewayMulticastGroupSource where+  toJSON TransitGatewayMulticastGroupSource {..}+    = JSON.object+        ["GroupIpAddress" JSON..= groupIpAddress,+         "NetworkInterfaceId" JSON..= networkInterfaceId,+         "TransitGatewayMulticastDomainId"+           JSON..= transitGatewayMulticastDomainId]+instance Property "GroupIpAddress" TransitGatewayMulticastGroupSource where+  type PropertyType "GroupIpAddress" TransitGatewayMulticastGroupSource = Value Prelude.Text+  set newValue TransitGatewayMulticastGroupSource {..}+    = TransitGatewayMulticastGroupSource+        {groupIpAddress = newValue, ..}+instance Property "NetworkInterfaceId" TransitGatewayMulticastGroupSource where+  type PropertyType "NetworkInterfaceId" TransitGatewayMulticastGroupSource = Value Prelude.Text+  set newValue TransitGatewayMulticastGroupSource {..}+    = TransitGatewayMulticastGroupSource+        {networkInterfaceId = newValue, ..}+instance Property "TransitGatewayMulticastDomainId" TransitGatewayMulticastGroupSource where+  type PropertyType "TransitGatewayMulticastDomainId" TransitGatewayMulticastGroupSource = Value Prelude.Text+  set newValue TransitGatewayMulticastGroupSource {..}+    = TransitGatewayMulticastGroupSource+        {transitGatewayMulticastDomainId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayPeeringAttachment.hs view
@@ -0,0 +1,83 @@+module Stratosphere.EC2.TransitGatewayPeeringAttachment (+        TransitGatewayPeeringAttachment(..),+        mkTransitGatewayPeeringAttachment+    ) 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 TransitGatewayPeeringAttachment+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html>+    TransitGatewayPeeringAttachment {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-peeraccountid>+                                     peerAccountId :: (Value Prelude.Text),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-peerregion>+                                     peerRegion :: (Value Prelude.Text),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-peertransitgatewayid>+                                     peerTransitGatewayId :: (Value Prelude.Text),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-tags>+                                     tags :: (Prelude.Maybe [Tag]),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewaypeeringattachment.html#cfn-ec2-transitgatewaypeeringattachment-transitgatewayid>+                                     transitGatewayId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayPeeringAttachment ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text+        -> Value Prelude.Text -> TransitGatewayPeeringAttachment+mkTransitGatewayPeeringAttachment+  peerAccountId+  peerRegion+  peerTransitGatewayId+  transitGatewayId+  = TransitGatewayPeeringAttachment+      {haddock_workaround_ = (), peerAccountId = peerAccountId,+       peerRegion = peerRegion,+       peerTransitGatewayId = peerTransitGatewayId,+       transitGatewayId = transitGatewayId, tags = Prelude.Nothing}+instance ToResourceProperties TransitGatewayPeeringAttachment where+  toResourceProperties TransitGatewayPeeringAttachment {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayPeeringAttachment",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PeerAccountId" JSON..= peerAccountId,+                            "PeerRegion" JSON..= peerRegion,+                            "PeerTransitGatewayId" JSON..= peerTransitGatewayId,+                            "TransitGatewayId" JSON..= transitGatewayId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON TransitGatewayPeeringAttachment where+  toJSON TransitGatewayPeeringAttachment {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PeerAccountId" JSON..= peerAccountId,+               "PeerRegion" JSON..= peerRegion,+               "PeerTransitGatewayId" JSON..= peerTransitGatewayId,+               "TransitGatewayId" JSON..= transitGatewayId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "PeerAccountId" TransitGatewayPeeringAttachment where+  type PropertyType "PeerAccountId" TransitGatewayPeeringAttachment = Value Prelude.Text+  set newValue TransitGatewayPeeringAttachment {..}+    = TransitGatewayPeeringAttachment {peerAccountId = newValue, ..}+instance Property "PeerRegion" TransitGatewayPeeringAttachment where+  type PropertyType "PeerRegion" TransitGatewayPeeringAttachment = Value Prelude.Text+  set newValue TransitGatewayPeeringAttachment {..}+    = TransitGatewayPeeringAttachment {peerRegion = newValue, ..}+instance Property "PeerTransitGatewayId" TransitGatewayPeeringAttachment where+  type PropertyType "PeerTransitGatewayId" TransitGatewayPeeringAttachment = Value Prelude.Text+  set newValue TransitGatewayPeeringAttachment {..}+    = TransitGatewayPeeringAttachment+        {peerTransitGatewayId = newValue, ..}+instance Property "Tags" TransitGatewayPeeringAttachment where+  type PropertyType "Tags" TransitGatewayPeeringAttachment = [Tag]+  set newValue TransitGatewayPeeringAttachment {..}+    = TransitGatewayPeeringAttachment+        {tags = Prelude.pure newValue, ..}+instance Property "TransitGatewayId" TransitGatewayPeeringAttachment where+  type PropertyType "TransitGatewayId" TransitGatewayPeeringAttachment = Value Prelude.Text+  set newValue TransitGatewayPeeringAttachment {..}+    = TransitGatewayPeeringAttachment {transitGatewayId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayPeeringAttachment/PeeringAttachmentStatusProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.TransitGatewayPeeringAttachment.PeeringAttachmentStatusProperty (+        PeeringAttachmentStatusProperty(..),+        mkPeeringAttachmentStatusProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PeeringAttachmentStatusProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewaypeeringattachment-peeringattachmentstatus.html>+    PeeringAttachmentStatusProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewaypeeringattachment-peeringattachmentstatus.html#cfn-ec2-transitgatewaypeeringattachment-peeringattachmentstatus-code>+                                     code :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewaypeeringattachment-peeringattachmentstatus.html#cfn-ec2-transitgatewaypeeringattachment-peeringattachmentstatus-message>+                                     message :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPeeringAttachmentStatusProperty ::+  PeeringAttachmentStatusProperty+mkPeeringAttachmentStatusProperty+  = PeeringAttachmentStatusProperty+      {haddock_workaround_ = (), code = Prelude.Nothing,+       message = Prelude.Nothing}+instance ToResourceProperties PeeringAttachmentStatusProperty where+  toResourceProperties PeeringAttachmentStatusProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayPeeringAttachment.PeeringAttachmentStatus",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Code" Prelude.<$> code,+                            (JSON..=) "Message" Prelude.<$> message])}+instance JSON.ToJSON PeeringAttachmentStatusProperty where+  toJSON PeeringAttachmentStatusProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Code" Prelude.<$> code,+               (JSON..=) "Message" Prelude.<$> message]))+instance Property "Code" PeeringAttachmentStatusProperty where+  type PropertyType "Code" PeeringAttachmentStatusProperty = Value Prelude.Text+  set newValue PeeringAttachmentStatusProperty {..}+    = PeeringAttachmentStatusProperty+        {code = Prelude.pure newValue, ..}+instance Property "Message" PeeringAttachmentStatusProperty where+  type PropertyType "Message" PeeringAttachmentStatusProperty = Value Prelude.Text+  set newValue PeeringAttachmentStatusProperty {..}+    = PeeringAttachmentStatusProperty+        {message = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayPeeringAttachment/PeeringAttachmentStatusProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.TransitGatewayPeeringAttachment.PeeringAttachmentStatusProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PeeringAttachmentStatusProperty :: Prelude.Type+instance ToResourceProperties PeeringAttachmentStatusProperty+instance Prelude.Eq PeeringAttachmentStatusProperty+instance Prelude.Show PeeringAttachmentStatusProperty+instance JSON.ToJSON PeeringAttachmentStatusProperty
+ gen/Stratosphere/EC2/TransitGatewayRoute.hs view
@@ -0,0 +1,72 @@+module Stratosphere.EC2.TransitGatewayRoute (+        TransitGatewayRoute(..), mkTransitGatewayRoute+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayRoute+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html>+    TransitGatewayRoute {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-blackhole>+                         blackhole :: (Prelude.Maybe (Value Prelude.Bool)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-destinationcidrblock>+                         destinationCidrBlock :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-transitgatewayattachmentid>+                         transitGatewayAttachmentId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroute.html#cfn-ec2-transitgatewayroute-transitgatewayroutetableid>+                         transitGatewayRouteTableId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayRoute ::+  Value Prelude.Text -> Value Prelude.Text -> TransitGatewayRoute+mkTransitGatewayRoute+  destinationCidrBlock+  transitGatewayRouteTableId+  = TransitGatewayRoute+      {haddock_workaround_ = (),+       destinationCidrBlock = destinationCidrBlock,+       transitGatewayRouteTableId = transitGatewayRouteTableId,+       blackhole = Prelude.Nothing,+       transitGatewayAttachmentId = Prelude.Nothing}+instance ToResourceProperties TransitGatewayRoute where+  toResourceProperties TransitGatewayRoute {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayRoute",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DestinationCidrBlock" JSON..= destinationCidrBlock,+                            "TransitGatewayRouteTableId" JSON..= transitGatewayRouteTableId]+                           (Prelude.catMaybes+                              [(JSON..=) "Blackhole" Prelude.<$> blackhole,+                               (JSON..=) "TransitGatewayAttachmentId"+                                 Prelude.<$> transitGatewayAttachmentId]))}+instance JSON.ToJSON TransitGatewayRoute where+  toJSON TransitGatewayRoute {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DestinationCidrBlock" JSON..= destinationCidrBlock,+               "TransitGatewayRouteTableId" JSON..= transitGatewayRouteTableId]+              (Prelude.catMaybes+                 [(JSON..=) "Blackhole" Prelude.<$> blackhole,+                  (JSON..=) "TransitGatewayAttachmentId"+                    Prelude.<$> transitGatewayAttachmentId])))+instance Property "Blackhole" TransitGatewayRoute where+  type PropertyType "Blackhole" TransitGatewayRoute = Value Prelude.Bool+  set newValue TransitGatewayRoute {..}+    = TransitGatewayRoute {blackhole = Prelude.pure newValue, ..}+instance Property "DestinationCidrBlock" TransitGatewayRoute where+  type PropertyType "DestinationCidrBlock" TransitGatewayRoute = Value Prelude.Text+  set newValue TransitGatewayRoute {..}+    = TransitGatewayRoute {destinationCidrBlock = newValue, ..}+instance Property "TransitGatewayAttachmentId" TransitGatewayRoute where+  type PropertyType "TransitGatewayAttachmentId" TransitGatewayRoute = Value Prelude.Text+  set newValue TransitGatewayRoute {..}+    = TransitGatewayRoute+        {transitGatewayAttachmentId = Prelude.pure newValue, ..}+instance Property "TransitGatewayRouteTableId" TransitGatewayRoute where+  type PropertyType "TransitGatewayRouteTableId" TransitGatewayRoute = Value Prelude.Text+  set newValue TransitGatewayRoute {..}+    = TransitGatewayRoute {transitGatewayRouteTableId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayRouteTable.hs view
@@ -0,0 +1,47 @@+module Stratosphere.EC2.TransitGatewayRouteTable (+        TransitGatewayRouteTable(..), mkTransitGatewayRouteTable+    ) 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 TransitGatewayRouteTable+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html>+    TransitGatewayRouteTable {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html#cfn-ec2-transitgatewayroutetable-tags>+                              tags :: (Prelude.Maybe [Tag]),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetable.html#cfn-ec2-transitgatewayroutetable-transitgatewayid>+                              transitGatewayId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayRouteTable ::+  Value Prelude.Text -> TransitGatewayRouteTable+mkTransitGatewayRouteTable transitGatewayId+  = TransitGatewayRouteTable+      {haddock_workaround_ = (), transitGatewayId = transitGatewayId,+       tags = Prelude.Nothing}+instance ToResourceProperties TransitGatewayRouteTable where+  toResourceProperties TransitGatewayRouteTable {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayRouteTable",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["TransitGatewayId" JSON..= transitGatewayId]+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON TransitGatewayRouteTable where+  toJSON TransitGatewayRouteTable {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["TransitGatewayId" JSON..= transitGatewayId]+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Tags" TransitGatewayRouteTable where+  type PropertyType "Tags" TransitGatewayRouteTable = [Tag]+  set newValue TransitGatewayRouteTable {..}+    = TransitGatewayRouteTable {tags = Prelude.pure newValue, ..}+instance Property "TransitGatewayId" TransitGatewayRouteTable where+  type PropertyType "TransitGatewayId" TransitGatewayRouteTable = Value Prelude.Text+  set newValue TransitGatewayRouteTable {..}+    = TransitGatewayRouteTable {transitGatewayId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayRouteTableAssociation.hs view
@@ -0,0 +1,50 @@+module Stratosphere.EC2.TransitGatewayRouteTableAssociation (+        TransitGatewayRouteTableAssociation(..),+        mkTransitGatewayRouteTableAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayRouteTableAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html>+    TransitGatewayRouteTableAssociation {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html#cfn-ec2-transitgatewayroutetableassociation-transitgatewayattachmentid>+                                         transitGatewayAttachmentId :: (Value Prelude.Text),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetableassociation.html#cfn-ec2-transitgatewayroutetableassociation-transitgatewayroutetableid>+                                         transitGatewayRouteTableId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayRouteTableAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> TransitGatewayRouteTableAssociation+mkTransitGatewayRouteTableAssociation+  transitGatewayAttachmentId+  transitGatewayRouteTableId+  = TransitGatewayRouteTableAssociation+      {haddock_workaround_ = (),+       transitGatewayAttachmentId = transitGatewayAttachmentId,+       transitGatewayRouteTableId = transitGatewayRouteTableId}+instance ToResourceProperties TransitGatewayRouteTableAssociation where+  toResourceProperties TransitGatewayRouteTableAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayRouteTableAssociation",+         supportsTags = Prelude.False,+         properties = ["TransitGatewayAttachmentId"+                         JSON..= transitGatewayAttachmentId,+                       "TransitGatewayRouteTableId" JSON..= transitGatewayRouteTableId]}+instance JSON.ToJSON TransitGatewayRouteTableAssociation where+  toJSON TransitGatewayRouteTableAssociation {..}+    = JSON.object+        ["TransitGatewayAttachmentId" JSON..= transitGatewayAttachmentId,+         "TransitGatewayRouteTableId" JSON..= transitGatewayRouteTableId]+instance Property "TransitGatewayAttachmentId" TransitGatewayRouteTableAssociation where+  type PropertyType "TransitGatewayAttachmentId" TransitGatewayRouteTableAssociation = Value Prelude.Text+  set newValue TransitGatewayRouteTableAssociation {..}+    = TransitGatewayRouteTableAssociation+        {transitGatewayAttachmentId = newValue, ..}+instance Property "TransitGatewayRouteTableId" TransitGatewayRouteTableAssociation where+  type PropertyType "TransitGatewayRouteTableId" TransitGatewayRouteTableAssociation = Value Prelude.Text+  set newValue TransitGatewayRouteTableAssociation {..}+    = TransitGatewayRouteTableAssociation+        {transitGatewayRouteTableId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayRouteTablePropagation.hs view
@@ -0,0 +1,50 @@+module Stratosphere.EC2.TransitGatewayRouteTablePropagation (+        TransitGatewayRouteTablePropagation(..),+        mkTransitGatewayRouteTablePropagation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data TransitGatewayRouteTablePropagation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html>+    TransitGatewayRouteTablePropagation {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html#cfn-ec2-transitgatewayroutetablepropagation-transitgatewayattachmentid>+                                         transitGatewayAttachmentId :: (Value Prelude.Text),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayroutetablepropagation.html#cfn-ec2-transitgatewayroutetablepropagation-transitgatewayroutetableid>+                                         transitGatewayRouteTableId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayRouteTablePropagation ::+  Value Prelude.Text+  -> Value Prelude.Text -> TransitGatewayRouteTablePropagation+mkTransitGatewayRouteTablePropagation+  transitGatewayAttachmentId+  transitGatewayRouteTableId+  = TransitGatewayRouteTablePropagation+      {haddock_workaround_ = (),+       transitGatewayAttachmentId = transitGatewayAttachmentId,+       transitGatewayRouteTableId = transitGatewayRouteTableId}+instance ToResourceProperties TransitGatewayRouteTablePropagation where+  toResourceProperties TransitGatewayRouteTablePropagation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayRouteTablePropagation",+         supportsTags = Prelude.False,+         properties = ["TransitGatewayAttachmentId"+                         JSON..= transitGatewayAttachmentId,+                       "TransitGatewayRouteTableId" JSON..= transitGatewayRouteTableId]}+instance JSON.ToJSON TransitGatewayRouteTablePropagation where+  toJSON TransitGatewayRouteTablePropagation {..}+    = JSON.object+        ["TransitGatewayAttachmentId" JSON..= transitGatewayAttachmentId,+         "TransitGatewayRouteTableId" JSON..= transitGatewayRouteTableId]+instance Property "TransitGatewayAttachmentId" TransitGatewayRouteTablePropagation where+  type PropertyType "TransitGatewayAttachmentId" TransitGatewayRouteTablePropagation = Value Prelude.Text+  set newValue TransitGatewayRouteTablePropagation {..}+    = TransitGatewayRouteTablePropagation+        {transitGatewayAttachmentId = newValue, ..}+instance Property "TransitGatewayRouteTableId" TransitGatewayRouteTablePropagation where+  type PropertyType "TransitGatewayRouteTableId" TransitGatewayRouteTablePropagation = Value Prelude.Text+  set newValue TransitGatewayRouteTablePropagation {..}+    = TransitGatewayRouteTablePropagation+        {transitGatewayRouteTableId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayVpcAttachment.hs view
@@ -0,0 +1,95 @@+module Stratosphere.EC2.TransitGatewayVpcAttachment (+        module Exports, TransitGatewayVpcAttachment(..),+        mkTransitGatewayVpcAttachment+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.TransitGatewayVpcAttachment.OptionsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data TransitGatewayVpcAttachment+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html>+    TransitGatewayVpcAttachment {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html#cfn-ec2-transitgatewayvpcattachment-addsubnetids>+                                 addSubnetIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html#cfn-ec2-transitgatewayvpcattachment-options>+                                 options :: (Prelude.Maybe OptionsProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html#cfn-ec2-transitgatewayvpcattachment-removesubnetids>+                                 removeSubnetIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html#cfn-ec2-transitgatewayvpcattachment-subnetids>+                                 subnetIds :: (ValueList Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html#cfn-ec2-transitgatewayvpcattachment-tags>+                                 tags :: (Prelude.Maybe [Tag]),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html#cfn-ec2-transitgatewayvpcattachment-transitgatewayid>+                                 transitGatewayId :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-transitgatewayvpcattachment.html#cfn-ec2-transitgatewayvpcattachment-vpcid>+                                 vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkTransitGatewayVpcAttachment ::+  ValueList Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> TransitGatewayVpcAttachment+mkTransitGatewayVpcAttachment subnetIds transitGatewayId vpcId+  = TransitGatewayVpcAttachment+      {haddock_workaround_ = (), subnetIds = subnetIds,+       transitGatewayId = transitGatewayId, vpcId = vpcId,+       addSubnetIds = Prelude.Nothing, options = Prelude.Nothing,+       removeSubnetIds = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties TransitGatewayVpcAttachment where+  toResourceProperties TransitGatewayVpcAttachment {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayVpcAttachment",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["SubnetIds" JSON..= subnetIds,+                            "TransitGatewayId" JSON..= transitGatewayId, "VpcId" JSON..= vpcId]+                           (Prelude.catMaybes+                              [(JSON..=) "AddSubnetIds" Prelude.<$> addSubnetIds,+                               (JSON..=) "Options" Prelude.<$> options,+                               (JSON..=) "RemoveSubnetIds" Prelude.<$> removeSubnetIds,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON TransitGatewayVpcAttachment where+  toJSON TransitGatewayVpcAttachment {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["SubnetIds" JSON..= subnetIds,+               "TransitGatewayId" JSON..= transitGatewayId, "VpcId" JSON..= vpcId]+              (Prelude.catMaybes+                 [(JSON..=) "AddSubnetIds" Prelude.<$> addSubnetIds,+                  (JSON..=) "Options" Prelude.<$> options,+                  (JSON..=) "RemoveSubnetIds" Prelude.<$> removeSubnetIds,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AddSubnetIds" TransitGatewayVpcAttachment where+  type PropertyType "AddSubnetIds" TransitGatewayVpcAttachment = ValueList Prelude.Text+  set newValue TransitGatewayVpcAttachment {..}+    = TransitGatewayVpcAttachment+        {addSubnetIds = Prelude.pure newValue, ..}+instance Property "Options" TransitGatewayVpcAttachment where+  type PropertyType "Options" TransitGatewayVpcAttachment = OptionsProperty+  set newValue TransitGatewayVpcAttachment {..}+    = TransitGatewayVpcAttachment {options = Prelude.pure newValue, ..}+instance Property "RemoveSubnetIds" TransitGatewayVpcAttachment where+  type PropertyType "RemoveSubnetIds" TransitGatewayVpcAttachment = ValueList Prelude.Text+  set newValue TransitGatewayVpcAttachment {..}+    = TransitGatewayVpcAttachment+        {removeSubnetIds = Prelude.pure newValue, ..}+instance Property "SubnetIds" TransitGatewayVpcAttachment where+  type PropertyType "SubnetIds" TransitGatewayVpcAttachment = ValueList Prelude.Text+  set newValue TransitGatewayVpcAttachment {..}+    = TransitGatewayVpcAttachment {subnetIds = newValue, ..}+instance Property "Tags" TransitGatewayVpcAttachment where+  type PropertyType "Tags" TransitGatewayVpcAttachment = [Tag]+  set newValue TransitGatewayVpcAttachment {..}+    = TransitGatewayVpcAttachment {tags = Prelude.pure newValue, ..}+instance Property "TransitGatewayId" TransitGatewayVpcAttachment where+  type PropertyType "TransitGatewayId" TransitGatewayVpcAttachment = Value Prelude.Text+  set newValue TransitGatewayVpcAttachment {..}+    = TransitGatewayVpcAttachment {transitGatewayId = newValue, ..}+instance Property "VpcId" TransitGatewayVpcAttachment where+  type PropertyType "VpcId" TransitGatewayVpcAttachment = Value Prelude.Text+  set newValue TransitGatewayVpcAttachment {..}+    = TransitGatewayVpcAttachment {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayVpcAttachment/OptionsProperty.hs view
@@ -0,0 +1,66 @@+module Stratosphere.EC2.TransitGatewayVpcAttachment.OptionsProperty (+        OptionsProperty(..), mkOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayvpcattachment-options.html>+    OptionsProperty {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayvpcattachment-options.html#cfn-ec2-transitgatewayvpcattachment-options-appliancemodesupport>+                     applianceModeSupport :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayvpcattachment-options.html#cfn-ec2-transitgatewayvpcattachment-options-dnssupport>+                     dnsSupport :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayvpcattachment-options.html#cfn-ec2-transitgatewayvpcattachment-options-ipv6support>+                     ipv6Support :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-transitgatewayvpcattachment-options.html#cfn-ec2-transitgatewayvpcattachment-options-securitygroupreferencingsupport>+                     securityGroupReferencingSupport :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOptionsProperty :: OptionsProperty+mkOptionsProperty+  = OptionsProperty+      {haddock_workaround_ = (), applianceModeSupport = Prelude.Nothing,+       dnsSupport = Prelude.Nothing, ipv6Support = Prelude.Nothing,+       securityGroupReferencingSupport = Prelude.Nothing}+instance ToResourceProperties OptionsProperty where+  toResourceProperties OptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::TransitGatewayVpcAttachment.Options",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ApplianceModeSupport" Prelude.<$> applianceModeSupport,+                            (JSON..=) "DnsSupport" Prelude.<$> dnsSupport,+                            (JSON..=) "Ipv6Support" Prelude.<$> ipv6Support,+                            (JSON..=) "SecurityGroupReferencingSupport"+                              Prelude.<$> securityGroupReferencingSupport])}+instance JSON.ToJSON OptionsProperty where+  toJSON OptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ApplianceModeSupport" Prelude.<$> applianceModeSupport,+               (JSON..=) "DnsSupport" Prelude.<$> dnsSupport,+               (JSON..=) "Ipv6Support" Prelude.<$> ipv6Support,+               (JSON..=) "SecurityGroupReferencingSupport"+                 Prelude.<$> securityGroupReferencingSupport]))+instance Property "ApplianceModeSupport" OptionsProperty where+  type PropertyType "ApplianceModeSupport" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty+        {applianceModeSupport = Prelude.pure newValue, ..}+instance Property "DnsSupport" OptionsProperty where+  type PropertyType "DnsSupport" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty {dnsSupport = Prelude.pure newValue, ..}+instance Property "Ipv6Support" OptionsProperty where+  type PropertyType "Ipv6Support" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty {ipv6Support = Prelude.pure newValue, ..}+instance Property "SecurityGroupReferencingSupport" OptionsProperty where+  type PropertyType "SecurityGroupReferencingSupport" OptionsProperty = Value Prelude.Text+  set newValue OptionsProperty {..}+    = OptionsProperty+        {securityGroupReferencingSupport = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/TransitGatewayVpcAttachment/OptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.TransitGatewayVpcAttachment.OptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OptionsProperty :: Prelude.Type+instance ToResourceProperties OptionsProperty+instance Prelude.Eq OptionsProperty+instance Prelude.Show OptionsProperty+instance JSON.ToJSON OptionsProperty
+ gen/Stratosphere/EC2/VPC.hs view
@@ -0,0 +1,87 @@+module Stratosphere.EC2.VPC (+        VPC(..), mkVPC+    ) 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 VPC+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html>+    VPC {haddock_workaround_ :: (),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-ec2-vpc-cidrblock>+         cidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-ec2-vpc-enablednshostnames>+         enableDnsHostnames :: (Prelude.Maybe (Value Prelude.Bool)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-ec2-vpc-enablednssupport>+         enableDnsSupport :: (Prelude.Maybe (Value Prelude.Bool)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-ec2-vpc-instancetenancy>+         instanceTenancy :: (Prelude.Maybe (Value Prelude.Text)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-ec2-vpc-ipv4ipampoolid>+         ipv4IpamPoolId :: (Prelude.Maybe (Value Prelude.Text)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-ec2-vpc-ipv4netmasklength>+         ipv4NetmaskLength :: (Prelude.Maybe (Value Prelude.Integer)),+         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpc.html#cfn-ec2-vpc-tags>+         tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPC :: VPC+mkVPC+  = VPC+      {haddock_workaround_ = (), cidrBlock = Prelude.Nothing,+       enableDnsHostnames = Prelude.Nothing,+       enableDnsSupport = Prelude.Nothing,+       instanceTenancy = Prelude.Nothing,+       ipv4IpamPoolId = Prelude.Nothing,+       ipv4NetmaskLength = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties VPC where+  toResourceProperties VPC {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPC", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CidrBlock" Prelude.<$> cidrBlock,+                            (JSON..=) "EnableDnsHostnames" Prelude.<$> enableDnsHostnames,+                            (JSON..=) "EnableDnsSupport" Prelude.<$> enableDnsSupport,+                            (JSON..=) "InstanceTenancy" Prelude.<$> instanceTenancy,+                            (JSON..=) "Ipv4IpamPoolId" Prelude.<$> ipv4IpamPoolId,+                            (JSON..=) "Ipv4NetmaskLength" Prelude.<$> ipv4NetmaskLength,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON VPC where+  toJSON VPC {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CidrBlock" Prelude.<$> cidrBlock,+               (JSON..=) "EnableDnsHostnames" Prelude.<$> enableDnsHostnames,+               (JSON..=) "EnableDnsSupport" Prelude.<$> enableDnsSupport,+               (JSON..=) "InstanceTenancy" Prelude.<$> instanceTenancy,+               (JSON..=) "Ipv4IpamPoolId" Prelude.<$> ipv4IpamPoolId,+               (JSON..=) "Ipv4NetmaskLength" Prelude.<$> ipv4NetmaskLength,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "CidrBlock" VPC where+  type PropertyType "CidrBlock" VPC = Value Prelude.Text+  set newValue VPC {..} = VPC {cidrBlock = Prelude.pure newValue, ..}+instance Property "EnableDnsHostnames" VPC where+  type PropertyType "EnableDnsHostnames" VPC = Value Prelude.Bool+  set newValue VPC {..}+    = VPC {enableDnsHostnames = Prelude.pure newValue, ..}+instance Property "EnableDnsSupport" VPC where+  type PropertyType "EnableDnsSupport" VPC = Value Prelude.Bool+  set newValue VPC {..}+    = VPC {enableDnsSupport = Prelude.pure newValue, ..}+instance Property "InstanceTenancy" VPC where+  type PropertyType "InstanceTenancy" VPC = Value Prelude.Text+  set newValue VPC {..}+    = VPC {instanceTenancy = Prelude.pure newValue, ..}+instance Property "Ipv4IpamPoolId" VPC where+  type PropertyType "Ipv4IpamPoolId" VPC = Value Prelude.Text+  set newValue VPC {..}+    = VPC {ipv4IpamPoolId = Prelude.pure newValue, ..}+instance Property "Ipv4NetmaskLength" VPC where+  type PropertyType "Ipv4NetmaskLength" VPC = Value Prelude.Integer+  set newValue VPC {..}+    = VPC {ipv4NetmaskLength = Prelude.pure newValue, ..}+instance Property "Tags" VPC where+  type PropertyType "Tags" VPC = [Tag]+  set newValue VPC {..} = VPC {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPCBlockPublicAccessExclusion.hs view
@@ -0,0 +1,71 @@+module Stratosphere.EC2.VPCBlockPublicAccessExclusion (+        VPCBlockPublicAccessExclusion(..), mkVPCBlockPublicAccessExclusion+    ) 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 VPCBlockPublicAccessExclusion+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html>+    VPCBlockPublicAccessExclusion {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-internetgatewayexclusionmode>+                                   internetGatewayExclusionMode :: (Value Prelude.Text),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-subnetid>+                                   subnetId :: (Prelude.Maybe (Value Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-tags>+                                   tags :: (Prelude.Maybe [Tag]),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessexclusion.html#cfn-ec2-vpcblockpublicaccessexclusion-vpcid>+                                   vpcId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCBlockPublicAccessExclusion ::+  Value Prelude.Text -> VPCBlockPublicAccessExclusion+mkVPCBlockPublicAccessExclusion internetGatewayExclusionMode+  = VPCBlockPublicAccessExclusion+      {haddock_workaround_ = (),+       internetGatewayExclusionMode = internetGatewayExclusionMode,+       subnetId = Prelude.Nothing, tags = Prelude.Nothing,+       vpcId = Prelude.Nothing}+instance ToResourceProperties VPCBlockPublicAccessExclusion where+  toResourceProperties VPCBlockPublicAccessExclusion {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCBlockPublicAccessExclusion",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["InternetGatewayExclusionMode"+                              JSON..= internetGatewayExclusionMode]+                           (Prelude.catMaybes+                              [(JSON..=) "SubnetId" Prelude.<$> subnetId,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "VpcId" Prelude.<$> vpcId]))}+instance JSON.ToJSON VPCBlockPublicAccessExclusion where+  toJSON VPCBlockPublicAccessExclusion {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["InternetGatewayExclusionMode"+                 JSON..= internetGatewayExclusionMode]+              (Prelude.catMaybes+                 [(JSON..=) "SubnetId" Prelude.<$> subnetId,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "VpcId" Prelude.<$> vpcId])))+instance Property "InternetGatewayExclusionMode" VPCBlockPublicAccessExclusion where+  type PropertyType "InternetGatewayExclusionMode" VPCBlockPublicAccessExclusion = Value Prelude.Text+  set newValue VPCBlockPublicAccessExclusion {..}+    = VPCBlockPublicAccessExclusion+        {internetGatewayExclusionMode = newValue, ..}+instance Property "SubnetId" VPCBlockPublicAccessExclusion where+  type PropertyType "SubnetId" VPCBlockPublicAccessExclusion = Value Prelude.Text+  set newValue VPCBlockPublicAccessExclusion {..}+    = VPCBlockPublicAccessExclusion+        {subnetId = Prelude.pure newValue, ..}+instance Property "Tags" VPCBlockPublicAccessExclusion where+  type PropertyType "Tags" VPCBlockPublicAccessExclusion = [Tag]+  set newValue VPCBlockPublicAccessExclusion {..}+    = VPCBlockPublicAccessExclusion {tags = Prelude.pure newValue, ..}+instance Property "VpcId" VPCBlockPublicAccessExclusion where+  type PropertyType "VpcId" VPCBlockPublicAccessExclusion = Value Prelude.Text+  set newValue VPCBlockPublicAccessExclusion {..}+    = VPCBlockPublicAccessExclusion {vpcId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPCBlockPublicAccessOptions.hs view
@@ -0,0 +1,36 @@+module Stratosphere.EC2.VPCBlockPublicAccessOptions (+        VPCBlockPublicAccessOptions(..), mkVPCBlockPublicAccessOptions+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VPCBlockPublicAccessOptions+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html>+    VPCBlockPublicAccessOptions {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcblockpublicaccessoptions.html#cfn-ec2-vpcblockpublicaccessoptions-internetgatewayblockmode>+                                 internetGatewayBlockMode :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCBlockPublicAccessOptions ::+  Value Prelude.Text -> VPCBlockPublicAccessOptions+mkVPCBlockPublicAccessOptions internetGatewayBlockMode+  = VPCBlockPublicAccessOptions+      {haddock_workaround_ = (),+       internetGatewayBlockMode = internetGatewayBlockMode}+instance ToResourceProperties VPCBlockPublicAccessOptions where+  toResourceProperties VPCBlockPublicAccessOptions {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCBlockPublicAccessOptions",+         supportsTags = Prelude.False,+         properties = ["InternetGatewayBlockMode"+                         JSON..= internetGatewayBlockMode]}+instance JSON.ToJSON VPCBlockPublicAccessOptions where+  toJSON VPCBlockPublicAccessOptions {..}+    = JSON.object+        ["InternetGatewayBlockMode" JSON..= internetGatewayBlockMode]+instance Property "InternetGatewayBlockMode" VPCBlockPublicAccessOptions where+  type PropertyType "InternetGatewayBlockMode" VPCBlockPublicAccessOptions = Value Prelude.Text+  set newValue VPCBlockPublicAccessOptions {..}+    = VPCBlockPublicAccessOptions+        {internetGatewayBlockMode = newValue, ..}
+ gen/Stratosphere/EC2/VPCCidrBlock.hs view
@@ -0,0 +1,122 @@+module Stratosphere.EC2.VPCCidrBlock (+        VPCCidrBlock(..), mkVPCCidrBlock+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VPCCidrBlock+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html>+    VPCCidrBlock {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-amazonprovidedipv6cidrblock>+                  amazonProvidedIpv6CidrBlock :: (Prelude.Maybe (Value Prelude.Bool)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-cidrblock>+                  cidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv4ipampoolid>+                  ipv4IpamPoolId :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv4netmasklength>+                  ipv4NetmaskLength :: (Prelude.Maybe (Value Prelude.Integer)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv6cidrblock>+                  ipv6CidrBlock :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv6cidrblocknetworkbordergroup>+                  ipv6CidrBlockNetworkBorderGroup :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv6ipampoolid>+                  ipv6IpamPoolId :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv6netmasklength>+                  ipv6NetmaskLength :: (Prelude.Maybe (Value Prelude.Integer)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-ipv6pool>+                  ipv6Pool :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpccidrblock.html#cfn-ec2-vpccidrblock-vpcid>+                  vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCCidrBlock :: Value Prelude.Text -> VPCCidrBlock+mkVPCCidrBlock vpcId+  = VPCCidrBlock+      {haddock_workaround_ = (), vpcId = vpcId,+       amazonProvidedIpv6CidrBlock = Prelude.Nothing,+       cidrBlock = Prelude.Nothing, ipv4IpamPoolId = Prelude.Nothing,+       ipv4NetmaskLength = Prelude.Nothing,+       ipv6CidrBlock = Prelude.Nothing,+       ipv6CidrBlockNetworkBorderGroup = Prelude.Nothing,+       ipv6IpamPoolId = Prelude.Nothing,+       ipv6NetmaskLength = Prelude.Nothing, ipv6Pool = Prelude.Nothing}+instance ToResourceProperties VPCCidrBlock where+  toResourceProperties VPCCidrBlock {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCCidrBlock", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcId" JSON..= vpcId]+                           (Prelude.catMaybes+                              [(JSON..=) "AmazonProvidedIpv6CidrBlock"+                                 Prelude.<$> amazonProvidedIpv6CidrBlock,+                               (JSON..=) "CidrBlock" Prelude.<$> cidrBlock,+                               (JSON..=) "Ipv4IpamPoolId" Prelude.<$> ipv4IpamPoolId,+                               (JSON..=) "Ipv4NetmaskLength" Prelude.<$> ipv4NetmaskLength,+                               (JSON..=) "Ipv6CidrBlock" Prelude.<$> ipv6CidrBlock,+                               (JSON..=) "Ipv6CidrBlockNetworkBorderGroup"+                                 Prelude.<$> ipv6CidrBlockNetworkBorderGroup,+                               (JSON..=) "Ipv6IpamPoolId" Prelude.<$> ipv6IpamPoolId,+                               (JSON..=) "Ipv6NetmaskLength" Prelude.<$> ipv6NetmaskLength,+                               (JSON..=) "Ipv6Pool" Prelude.<$> ipv6Pool]))}+instance JSON.ToJSON VPCCidrBlock where+  toJSON VPCCidrBlock {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcId" JSON..= vpcId]+              (Prelude.catMaybes+                 [(JSON..=) "AmazonProvidedIpv6CidrBlock"+                    Prelude.<$> amazonProvidedIpv6CidrBlock,+                  (JSON..=) "CidrBlock" Prelude.<$> cidrBlock,+                  (JSON..=) "Ipv4IpamPoolId" Prelude.<$> ipv4IpamPoolId,+                  (JSON..=) "Ipv4NetmaskLength" Prelude.<$> ipv4NetmaskLength,+                  (JSON..=) "Ipv6CidrBlock" Prelude.<$> ipv6CidrBlock,+                  (JSON..=) "Ipv6CidrBlockNetworkBorderGroup"+                    Prelude.<$> ipv6CidrBlockNetworkBorderGroup,+                  (JSON..=) "Ipv6IpamPoolId" Prelude.<$> ipv6IpamPoolId,+                  (JSON..=) "Ipv6NetmaskLength" Prelude.<$> ipv6NetmaskLength,+                  (JSON..=) "Ipv6Pool" Prelude.<$> ipv6Pool])))+instance Property "AmazonProvidedIpv6CidrBlock" VPCCidrBlock where+  type PropertyType "AmazonProvidedIpv6CidrBlock" VPCCidrBlock = Value Prelude.Bool+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock+        {amazonProvidedIpv6CidrBlock = Prelude.pure newValue, ..}+instance Property "CidrBlock" VPCCidrBlock where+  type PropertyType "CidrBlock" VPCCidrBlock = Value Prelude.Text+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock {cidrBlock = Prelude.pure newValue, ..}+instance Property "Ipv4IpamPoolId" VPCCidrBlock where+  type PropertyType "Ipv4IpamPoolId" VPCCidrBlock = Value Prelude.Text+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock {ipv4IpamPoolId = Prelude.pure newValue, ..}+instance Property "Ipv4NetmaskLength" VPCCidrBlock where+  type PropertyType "Ipv4NetmaskLength" VPCCidrBlock = Value Prelude.Integer+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock {ipv4NetmaskLength = Prelude.pure newValue, ..}+instance Property "Ipv6CidrBlock" VPCCidrBlock where+  type PropertyType "Ipv6CidrBlock" VPCCidrBlock = Value Prelude.Text+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock {ipv6CidrBlock = Prelude.pure newValue, ..}+instance Property "Ipv6CidrBlockNetworkBorderGroup" VPCCidrBlock where+  type PropertyType "Ipv6CidrBlockNetworkBorderGroup" VPCCidrBlock = Value Prelude.Text+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock+        {ipv6CidrBlockNetworkBorderGroup = Prelude.pure newValue, ..}+instance Property "Ipv6IpamPoolId" VPCCidrBlock where+  type PropertyType "Ipv6IpamPoolId" VPCCidrBlock = Value Prelude.Text+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock {ipv6IpamPoolId = Prelude.pure newValue, ..}+instance Property "Ipv6NetmaskLength" VPCCidrBlock where+  type PropertyType "Ipv6NetmaskLength" VPCCidrBlock = Value Prelude.Integer+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock {ipv6NetmaskLength = Prelude.pure newValue, ..}+instance Property "Ipv6Pool" VPCCidrBlock where+  type PropertyType "Ipv6Pool" VPCCidrBlock = Value Prelude.Text+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock {ipv6Pool = Prelude.pure newValue, ..}+instance Property "VpcId" VPCCidrBlock where+  type PropertyType "VpcId" VPCCidrBlock = Value Prelude.Text+  set newValue VPCCidrBlock {..}+    = VPCCidrBlock {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/VPCDHCPOptionsAssociation.hs view
@@ -0,0 +1,42 @@+module Stratosphere.EC2.VPCDHCPOptionsAssociation (+        VPCDHCPOptionsAssociation(..), mkVPCDHCPOptionsAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VPCDHCPOptionsAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html>+    VPCDHCPOptionsAssociation {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html#cfn-ec2-vpcdhcpoptionsassociation-dhcpoptionsid>+                               dhcpOptionsId :: (Value Prelude.Text),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcdhcpoptionsassociation.html#cfn-ec2-vpcdhcpoptionsassociation-vpcid>+                               vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCDHCPOptionsAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> VPCDHCPOptionsAssociation+mkVPCDHCPOptionsAssociation dhcpOptionsId vpcId+  = VPCDHCPOptionsAssociation+      {haddock_workaround_ = (), dhcpOptionsId = dhcpOptionsId,+       vpcId = vpcId}+instance ToResourceProperties VPCDHCPOptionsAssociation where+  toResourceProperties VPCDHCPOptionsAssociation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCDHCPOptionsAssociation",+         supportsTags = Prelude.False,+         properties = ["DhcpOptionsId" JSON..= dhcpOptionsId,+                       "VpcId" JSON..= vpcId]}+instance JSON.ToJSON VPCDHCPOptionsAssociation where+  toJSON VPCDHCPOptionsAssociation {..}+    = JSON.object+        ["DhcpOptionsId" JSON..= dhcpOptionsId, "VpcId" JSON..= vpcId]+instance Property "DhcpOptionsId" VPCDHCPOptionsAssociation where+  type PropertyType "DhcpOptionsId" VPCDHCPOptionsAssociation = Value Prelude.Text+  set newValue VPCDHCPOptionsAssociation {..}+    = VPCDHCPOptionsAssociation {dhcpOptionsId = newValue, ..}+instance Property "VpcId" VPCDHCPOptionsAssociation where+  type PropertyType "VpcId" VPCDHCPOptionsAssociation = Value Prelude.Text+  set newValue VPCDHCPOptionsAssociation {..}+    = VPCDHCPOptionsAssociation {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/VPCEndpoint.hs view
@@ -0,0 +1,154 @@+module Stratosphere.EC2.VPCEndpoint (+        module Exports, VPCEndpoint(..), mkVPCEndpoint+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VPCEndpoint.DnsOptionsSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VPCEndpoint+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html>+    VPCEndpoint {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-dnsoptions>+                 dnsOptions :: (Prelude.Maybe DnsOptionsSpecificationProperty),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-ipaddresstype>+                 ipAddressType :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-policydocument>+                 policyDocument :: (Prelude.Maybe JSON.Object),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-privatednsenabled>+                 privateDnsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-resourceconfigurationarn>+                 resourceConfigurationArn :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-routetableids>+                 routeTableIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-securitygroupids>+                 securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-servicename>+                 serviceName :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-servicenetworkarn>+                 serviceNetworkArn :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-serviceregion>+                 serviceRegion :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-subnetids>+                 subnetIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-tags>+                 tags :: (Prelude.Maybe [Tag]),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-vpcendpointtype>+                 vpcEndpointType :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html#cfn-ec2-vpcendpoint-vpcid>+                 vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCEndpoint :: Value Prelude.Text -> VPCEndpoint+mkVPCEndpoint vpcId+  = VPCEndpoint+      {haddock_workaround_ = (), vpcId = vpcId,+       dnsOptions = Prelude.Nothing, ipAddressType = Prelude.Nothing,+       policyDocument = Prelude.Nothing,+       privateDnsEnabled = Prelude.Nothing,+       resourceConfigurationArn = Prelude.Nothing,+       routeTableIds = Prelude.Nothing,+       securityGroupIds = Prelude.Nothing, serviceName = Prelude.Nothing,+       serviceNetworkArn = Prelude.Nothing,+       serviceRegion = Prelude.Nothing, subnetIds = Prelude.Nothing,+       tags = Prelude.Nothing, vpcEndpointType = Prelude.Nothing}+instance ToResourceProperties VPCEndpoint where+  toResourceProperties VPCEndpoint {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCEndpoint", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcId" JSON..= vpcId]+                           (Prelude.catMaybes+                              [(JSON..=) "DnsOptions" Prelude.<$> dnsOptions,+                               (JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                               (JSON..=) "PolicyDocument" Prelude.<$> policyDocument,+                               (JSON..=) "PrivateDnsEnabled" Prelude.<$> privateDnsEnabled,+                               (JSON..=) "ResourceConfigurationArn"+                                 Prelude.<$> resourceConfigurationArn,+                               (JSON..=) "RouteTableIds" Prelude.<$> routeTableIds,+                               (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                               (JSON..=) "ServiceName" Prelude.<$> serviceName,+                               (JSON..=) "ServiceNetworkArn" Prelude.<$> serviceNetworkArn,+                               (JSON..=) "ServiceRegion" Prelude.<$> serviceRegion,+                               (JSON..=) "SubnetIds" Prelude.<$> subnetIds,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "VpcEndpointType" Prelude.<$> vpcEndpointType]))}+instance JSON.ToJSON VPCEndpoint where+  toJSON VPCEndpoint {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcId" JSON..= vpcId]+              (Prelude.catMaybes+                 [(JSON..=) "DnsOptions" Prelude.<$> dnsOptions,+                  (JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                  (JSON..=) "PolicyDocument" Prelude.<$> policyDocument,+                  (JSON..=) "PrivateDnsEnabled" Prelude.<$> privateDnsEnabled,+                  (JSON..=) "ResourceConfigurationArn"+                    Prelude.<$> resourceConfigurationArn,+                  (JSON..=) "RouteTableIds" Prelude.<$> routeTableIds,+                  (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                  (JSON..=) "ServiceName" Prelude.<$> serviceName,+                  (JSON..=) "ServiceNetworkArn" Prelude.<$> serviceNetworkArn,+                  (JSON..=) "ServiceRegion" Prelude.<$> serviceRegion,+                  (JSON..=) "SubnetIds" Prelude.<$> subnetIds,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "VpcEndpointType" Prelude.<$> vpcEndpointType])))+instance Property "DnsOptions" VPCEndpoint where+  type PropertyType "DnsOptions" VPCEndpoint = DnsOptionsSpecificationProperty+  set newValue VPCEndpoint {..}+    = VPCEndpoint {dnsOptions = Prelude.pure newValue, ..}+instance Property "IpAddressType" VPCEndpoint where+  type PropertyType "IpAddressType" VPCEndpoint = Value Prelude.Text+  set newValue VPCEndpoint {..}+    = VPCEndpoint {ipAddressType = Prelude.pure newValue, ..}+instance Property "PolicyDocument" VPCEndpoint where+  type PropertyType "PolicyDocument" VPCEndpoint = JSON.Object+  set newValue VPCEndpoint {..}+    = VPCEndpoint {policyDocument = Prelude.pure newValue, ..}+instance Property "PrivateDnsEnabled" VPCEndpoint where+  type PropertyType "PrivateDnsEnabled" VPCEndpoint = Value Prelude.Bool+  set newValue VPCEndpoint {..}+    = VPCEndpoint {privateDnsEnabled = Prelude.pure newValue, ..}+instance Property "ResourceConfigurationArn" VPCEndpoint where+  type PropertyType "ResourceConfigurationArn" VPCEndpoint = Value Prelude.Text+  set newValue VPCEndpoint {..}+    = VPCEndpoint+        {resourceConfigurationArn = Prelude.pure newValue, ..}+instance Property "RouteTableIds" VPCEndpoint where+  type PropertyType "RouteTableIds" VPCEndpoint = ValueList Prelude.Text+  set newValue VPCEndpoint {..}+    = VPCEndpoint {routeTableIds = Prelude.pure newValue, ..}+instance Property "SecurityGroupIds" VPCEndpoint where+  type PropertyType "SecurityGroupIds" VPCEndpoint = ValueList Prelude.Text+  set newValue VPCEndpoint {..}+    = VPCEndpoint {securityGroupIds = Prelude.pure newValue, ..}+instance Property "ServiceName" VPCEndpoint where+  type PropertyType "ServiceName" VPCEndpoint = Value Prelude.Text+  set newValue VPCEndpoint {..}+    = VPCEndpoint {serviceName = Prelude.pure newValue, ..}+instance Property "ServiceNetworkArn" VPCEndpoint where+  type PropertyType "ServiceNetworkArn" VPCEndpoint = Value Prelude.Text+  set newValue VPCEndpoint {..}+    = VPCEndpoint {serviceNetworkArn = Prelude.pure newValue, ..}+instance Property "ServiceRegion" VPCEndpoint where+  type PropertyType "ServiceRegion" VPCEndpoint = Value Prelude.Text+  set newValue VPCEndpoint {..}+    = VPCEndpoint {serviceRegion = Prelude.pure newValue, ..}+instance Property "SubnetIds" VPCEndpoint where+  type PropertyType "SubnetIds" VPCEndpoint = ValueList Prelude.Text+  set newValue VPCEndpoint {..}+    = VPCEndpoint {subnetIds = Prelude.pure newValue, ..}+instance Property "Tags" VPCEndpoint where+  type PropertyType "Tags" VPCEndpoint = [Tag]+  set newValue VPCEndpoint {..}+    = VPCEndpoint {tags = Prelude.pure newValue, ..}+instance Property "VpcEndpointType" VPCEndpoint where+  type PropertyType "VpcEndpointType" VPCEndpoint = Value Prelude.Text+  set newValue VPCEndpoint {..}+    = VPCEndpoint {vpcEndpointType = Prelude.pure newValue, ..}+instance Property "VpcId" VPCEndpoint where+  type PropertyType "VpcId" VPCEndpoint = Value Prelude.Text+  set newValue VPCEndpoint {..} = VPCEndpoint {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/VPCEndpoint/DnsOptionsSpecificationProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.EC2.VPCEndpoint.DnsOptionsSpecificationProperty (+        DnsOptionsSpecificationProperty(..),+        mkDnsOptionsSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DnsOptionsSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html>+    DnsOptionsSpecificationProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html#cfn-ec2-vpcendpoint-dnsoptionsspecification-dnsrecordiptype>+                                     dnsRecordIpType :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpcendpoint-dnsoptionsspecification.html#cfn-ec2-vpcendpoint-dnsoptionsspecification-privatednsonlyforinboundresolverendpoint>+                                     privateDnsOnlyForInboundResolverEndpoint :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDnsOptionsSpecificationProperty ::+  DnsOptionsSpecificationProperty+mkDnsOptionsSpecificationProperty+  = DnsOptionsSpecificationProperty+      {haddock_workaround_ = (), dnsRecordIpType = Prelude.Nothing,+       privateDnsOnlyForInboundResolverEndpoint = Prelude.Nothing}+instance ToResourceProperties DnsOptionsSpecificationProperty where+  toResourceProperties DnsOptionsSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCEndpoint.DnsOptionsSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DnsRecordIpType" Prelude.<$> dnsRecordIpType,+                            (JSON..=) "PrivateDnsOnlyForInboundResolverEndpoint"+                              Prelude.<$> privateDnsOnlyForInboundResolverEndpoint])}+instance JSON.ToJSON DnsOptionsSpecificationProperty where+  toJSON DnsOptionsSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DnsRecordIpType" Prelude.<$> dnsRecordIpType,+               (JSON..=) "PrivateDnsOnlyForInboundResolverEndpoint"+                 Prelude.<$> privateDnsOnlyForInboundResolverEndpoint]))+instance Property "DnsRecordIpType" DnsOptionsSpecificationProperty where+  type PropertyType "DnsRecordIpType" DnsOptionsSpecificationProperty = Value Prelude.Text+  set newValue DnsOptionsSpecificationProperty {..}+    = DnsOptionsSpecificationProperty+        {dnsRecordIpType = Prelude.pure newValue, ..}+instance Property "PrivateDnsOnlyForInboundResolverEndpoint" DnsOptionsSpecificationProperty where+  type PropertyType "PrivateDnsOnlyForInboundResolverEndpoint" DnsOptionsSpecificationProperty = Value Prelude.Text+  set newValue DnsOptionsSpecificationProperty {..}+    = DnsOptionsSpecificationProperty+        {privateDnsOnlyForInboundResolverEndpoint = Prelude.pure newValue,+         ..}
+ gen/Stratosphere/EC2/VPCEndpoint/DnsOptionsSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPCEndpoint.DnsOptionsSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DnsOptionsSpecificationProperty :: Prelude.Type+instance ToResourceProperties DnsOptionsSpecificationProperty+instance Prelude.Eq DnsOptionsSpecificationProperty+instance Prelude.Show DnsOptionsSpecificationProperty+instance JSON.ToJSON DnsOptionsSpecificationProperty
+ gen/Stratosphere/EC2/VPCEndpointConnectionNotification.hs view
@@ -0,0 +1,73 @@+module Stratosphere.EC2.VPCEndpointConnectionNotification (+        VPCEndpointConnectionNotification(..),+        mkVPCEndpointConnectionNotification+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VPCEndpointConnectionNotification+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html>+    VPCEndpointConnectionNotification {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-connectionevents>+                                       connectionEvents :: (ValueList Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-connectionnotificationarn>+                                       connectionNotificationArn :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-serviceid>+                                       serviceId :: (Prelude.Maybe (Value Prelude.Text)),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointconnectionnotification.html#cfn-ec2-vpcendpointconnectionnotification-vpcendpointid>+                                       vPCEndpointId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCEndpointConnectionNotification ::+  ValueList Prelude.Text+  -> Value Prelude.Text -> VPCEndpointConnectionNotification+mkVPCEndpointConnectionNotification+  connectionEvents+  connectionNotificationArn+  = VPCEndpointConnectionNotification+      {haddock_workaround_ = (), connectionEvents = connectionEvents,+       connectionNotificationArn = connectionNotificationArn,+       serviceId = Prelude.Nothing, vPCEndpointId = Prelude.Nothing}+instance ToResourceProperties VPCEndpointConnectionNotification where+  toResourceProperties VPCEndpointConnectionNotification {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCEndpointConnectionNotification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ConnectionEvents" JSON..= connectionEvents,+                            "ConnectionNotificationArn" JSON..= connectionNotificationArn]+                           (Prelude.catMaybes+                              [(JSON..=) "ServiceId" Prelude.<$> serviceId,+                               (JSON..=) "VPCEndpointId" Prelude.<$> vPCEndpointId]))}+instance JSON.ToJSON VPCEndpointConnectionNotification where+  toJSON VPCEndpointConnectionNotification {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ConnectionEvents" JSON..= connectionEvents,+               "ConnectionNotificationArn" JSON..= connectionNotificationArn]+              (Prelude.catMaybes+                 [(JSON..=) "ServiceId" Prelude.<$> serviceId,+                  (JSON..=) "VPCEndpointId" Prelude.<$> vPCEndpointId])))+instance Property "ConnectionEvents" VPCEndpointConnectionNotification where+  type PropertyType "ConnectionEvents" VPCEndpointConnectionNotification = ValueList Prelude.Text+  set newValue VPCEndpointConnectionNotification {..}+    = VPCEndpointConnectionNotification+        {connectionEvents = newValue, ..}+instance Property "ConnectionNotificationArn" VPCEndpointConnectionNotification where+  type PropertyType "ConnectionNotificationArn" VPCEndpointConnectionNotification = Value Prelude.Text+  set newValue VPCEndpointConnectionNotification {..}+    = VPCEndpointConnectionNotification+        {connectionNotificationArn = newValue, ..}+instance Property "ServiceId" VPCEndpointConnectionNotification where+  type PropertyType "ServiceId" VPCEndpointConnectionNotification = Value Prelude.Text+  set newValue VPCEndpointConnectionNotification {..}+    = VPCEndpointConnectionNotification+        {serviceId = Prelude.pure newValue, ..}+instance Property "VPCEndpointId" VPCEndpointConnectionNotification where+  type PropertyType "VPCEndpointId" VPCEndpointConnectionNotification = Value Prelude.Text+  set newValue VPCEndpointConnectionNotification {..}+    = VPCEndpointConnectionNotification+        {vPCEndpointId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPCEndpointService.hs view
@@ -0,0 +1,113 @@+module Stratosphere.EC2.VPCEndpointService (+        VPCEndpointService(..), mkVPCEndpointService+    ) 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 VPCEndpointService+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html>+    VPCEndpointService {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-acceptancerequired>+                        acceptanceRequired :: (Prelude.Maybe (Value Prelude.Bool)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-contributorinsightsenabled>+                        contributorInsightsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-gatewayloadbalancerarns>+                        gatewayLoadBalancerArns :: (Prelude.Maybe (ValueList Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-networkloadbalancerarns>+                        networkLoadBalancerArns :: (Prelude.Maybe (ValueList Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-payerresponsibility>+                        payerResponsibility :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-supportedipaddresstypes>+                        supportedIpAddressTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-supportedregions>+                        supportedRegions :: (Prelude.Maybe (ValueList Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-tags>+                        tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCEndpointService :: VPCEndpointService+mkVPCEndpointService+  = VPCEndpointService+      {haddock_workaround_ = (), acceptanceRequired = Prelude.Nothing,+       contributorInsightsEnabled = Prelude.Nothing,+       gatewayLoadBalancerArns = Prelude.Nothing,+       networkLoadBalancerArns = Prelude.Nothing,+       payerResponsibility = Prelude.Nothing,+       supportedIpAddressTypes = Prelude.Nothing,+       supportedRegions = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties VPCEndpointService where+  toResourceProperties VPCEndpointService {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCEndpointService",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AcceptanceRequired" Prelude.<$> acceptanceRequired,+                            (JSON..=) "ContributorInsightsEnabled"+                              Prelude.<$> contributorInsightsEnabled,+                            (JSON..=) "GatewayLoadBalancerArns"+                              Prelude.<$> gatewayLoadBalancerArns,+                            (JSON..=) "NetworkLoadBalancerArns"+                              Prelude.<$> networkLoadBalancerArns,+                            (JSON..=) "PayerResponsibility" Prelude.<$> payerResponsibility,+                            (JSON..=) "SupportedIpAddressTypes"+                              Prelude.<$> supportedIpAddressTypes,+                            (JSON..=) "SupportedRegions" Prelude.<$> supportedRegions,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON VPCEndpointService where+  toJSON VPCEndpointService {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AcceptanceRequired" Prelude.<$> acceptanceRequired,+               (JSON..=) "ContributorInsightsEnabled"+                 Prelude.<$> contributorInsightsEnabled,+               (JSON..=) "GatewayLoadBalancerArns"+                 Prelude.<$> gatewayLoadBalancerArns,+               (JSON..=) "NetworkLoadBalancerArns"+                 Prelude.<$> networkLoadBalancerArns,+               (JSON..=) "PayerResponsibility" Prelude.<$> payerResponsibility,+               (JSON..=) "SupportedIpAddressTypes"+                 Prelude.<$> supportedIpAddressTypes,+               (JSON..=) "SupportedRegions" Prelude.<$> supportedRegions,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "AcceptanceRequired" VPCEndpointService where+  type PropertyType "AcceptanceRequired" VPCEndpointService = Value Prelude.Bool+  set newValue VPCEndpointService {..}+    = VPCEndpointService+        {acceptanceRequired = Prelude.pure newValue, ..}+instance Property "ContributorInsightsEnabled" VPCEndpointService where+  type PropertyType "ContributorInsightsEnabled" VPCEndpointService = Value Prelude.Bool+  set newValue VPCEndpointService {..}+    = VPCEndpointService+        {contributorInsightsEnabled = Prelude.pure newValue, ..}+instance Property "GatewayLoadBalancerArns" VPCEndpointService where+  type PropertyType "GatewayLoadBalancerArns" VPCEndpointService = ValueList Prelude.Text+  set newValue VPCEndpointService {..}+    = VPCEndpointService+        {gatewayLoadBalancerArns = Prelude.pure newValue, ..}+instance Property "NetworkLoadBalancerArns" VPCEndpointService where+  type PropertyType "NetworkLoadBalancerArns" VPCEndpointService = ValueList Prelude.Text+  set newValue VPCEndpointService {..}+    = VPCEndpointService+        {networkLoadBalancerArns = Prelude.pure newValue, ..}+instance Property "PayerResponsibility" VPCEndpointService where+  type PropertyType "PayerResponsibility" VPCEndpointService = Value Prelude.Text+  set newValue VPCEndpointService {..}+    = VPCEndpointService+        {payerResponsibility = Prelude.pure newValue, ..}+instance Property "SupportedIpAddressTypes" VPCEndpointService where+  type PropertyType "SupportedIpAddressTypes" VPCEndpointService = ValueList Prelude.Text+  set newValue VPCEndpointService {..}+    = VPCEndpointService+        {supportedIpAddressTypes = Prelude.pure newValue, ..}+instance Property "SupportedRegions" VPCEndpointService where+  type PropertyType "SupportedRegions" VPCEndpointService = ValueList Prelude.Text+  set newValue VPCEndpointService {..}+    = VPCEndpointService {supportedRegions = Prelude.pure newValue, ..}+instance Property "Tags" VPCEndpointService where+  type PropertyType "Tags" VPCEndpointService = [Tag]+  set newValue VPCEndpointService {..}+    = VPCEndpointService {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPCEndpointServicePermissions.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.VPCEndpointServicePermissions (+        VPCEndpointServicePermissions(..), mkVPCEndpointServicePermissions+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VPCEndpointServicePermissions+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html>+    VPCEndpointServicePermissions {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html#cfn-ec2-vpcendpointservicepermissions-allowedprincipals>+                                   allowedPrincipals :: (Prelude.Maybe (ValueList Prelude.Text)),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservicepermissions.html#cfn-ec2-vpcendpointservicepermissions-serviceid>+                                   serviceId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCEndpointServicePermissions ::+  Value Prelude.Text -> VPCEndpointServicePermissions+mkVPCEndpointServicePermissions serviceId+  = VPCEndpointServicePermissions+      {haddock_workaround_ = (), serviceId = serviceId,+       allowedPrincipals = Prelude.Nothing}+instance ToResourceProperties VPCEndpointServicePermissions where+  toResourceProperties VPCEndpointServicePermissions {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCEndpointServicePermissions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ServiceId" JSON..= serviceId]+                           (Prelude.catMaybes+                              [(JSON..=) "AllowedPrincipals" Prelude.<$> allowedPrincipals]))}+instance JSON.ToJSON VPCEndpointServicePermissions where+  toJSON VPCEndpointServicePermissions {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ServiceId" JSON..= serviceId]+              (Prelude.catMaybes+                 [(JSON..=) "AllowedPrincipals" Prelude.<$> allowedPrincipals])))+instance Property "AllowedPrincipals" VPCEndpointServicePermissions where+  type PropertyType "AllowedPrincipals" VPCEndpointServicePermissions = ValueList Prelude.Text+  set newValue VPCEndpointServicePermissions {..}+    = VPCEndpointServicePermissions+        {allowedPrincipals = Prelude.pure newValue, ..}+instance Property "ServiceId" VPCEndpointServicePermissions where+  type PropertyType "ServiceId" VPCEndpointServicePermissions = Value Prelude.Text+  set newValue VPCEndpointServicePermissions {..}+    = VPCEndpointServicePermissions {serviceId = newValue, ..}
+ gen/Stratosphere/EC2/VPCGatewayAttachment.hs view
@@ -0,0 +1,58 @@+module Stratosphere.EC2.VPCGatewayAttachment (+        VPCGatewayAttachment(..), mkVPCGatewayAttachment+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VPCGatewayAttachment+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html>+    VPCGatewayAttachment {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html#cfn-ec2-vpcgatewayattachment-internetgatewayid>+                          internetGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html#cfn-ec2-vpcgatewayattachment-vpcid>+                          vpcId :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcgatewayattachment.html#cfn-ec2-vpcgatewayattachment-vpngatewayid>+                          vpnGatewayId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCGatewayAttachment ::+  Value Prelude.Text -> VPCGatewayAttachment+mkVPCGatewayAttachment vpcId+  = VPCGatewayAttachment+      {haddock_workaround_ = (), vpcId = vpcId,+       internetGatewayId = Prelude.Nothing,+       vpnGatewayId = Prelude.Nothing}+instance ToResourceProperties VPCGatewayAttachment where+  toResourceProperties VPCGatewayAttachment {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCGatewayAttachment",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VpcId" JSON..= vpcId]+                           (Prelude.catMaybes+                              [(JSON..=) "InternetGatewayId" Prelude.<$> internetGatewayId,+                               (JSON..=) "VpnGatewayId" Prelude.<$> vpnGatewayId]))}+instance JSON.ToJSON VPCGatewayAttachment where+  toJSON VPCGatewayAttachment {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VpcId" JSON..= vpcId]+              (Prelude.catMaybes+                 [(JSON..=) "InternetGatewayId" Prelude.<$> internetGatewayId,+                  (JSON..=) "VpnGatewayId" Prelude.<$> vpnGatewayId])))+instance Property "InternetGatewayId" VPCGatewayAttachment where+  type PropertyType "InternetGatewayId" VPCGatewayAttachment = Value Prelude.Text+  set newValue VPCGatewayAttachment {..}+    = VPCGatewayAttachment+        {internetGatewayId = Prelude.pure newValue, ..}+instance Property "VpcId" VPCGatewayAttachment where+  type PropertyType "VpcId" VPCGatewayAttachment = Value Prelude.Text+  set newValue VPCGatewayAttachment {..}+    = VPCGatewayAttachment {vpcId = newValue, ..}+instance Property "VpnGatewayId" VPCGatewayAttachment where+  type PropertyType "VpnGatewayId" VPCGatewayAttachment = Value Prelude.Text+  set newValue VPCGatewayAttachment {..}+    = VPCGatewayAttachment {vpnGatewayId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPCPeeringConnection.hs view
@@ -0,0 +1,80 @@+module Stratosphere.EC2.VPCPeeringConnection (+        VPCPeeringConnection(..), mkVPCPeeringConnection+    ) 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 VPCPeeringConnection+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html>+    VPCPeeringConnection {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peerownerid>+                          peerOwnerId :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peerregion>+                          peerRegion :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peerrolearn>+                          peerRoleArn :: (Prelude.Maybe (Value Prelude.Text)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-peervpcid>+                          peerVpcId :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-tags>+                          tags :: (Prelude.Maybe [Tag]),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcpeeringconnection.html#cfn-ec2-vpcpeeringconnection-vpcid>+                          vpcId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPCPeeringConnection ::+  Value Prelude.Text -> Value Prelude.Text -> VPCPeeringConnection+mkVPCPeeringConnection peerVpcId vpcId+  = VPCPeeringConnection+      {haddock_workaround_ = (), peerVpcId = peerVpcId, vpcId = vpcId,+       peerOwnerId = Prelude.Nothing, peerRegion = Prelude.Nothing,+       peerRoleArn = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties VPCPeeringConnection where+  toResourceProperties VPCPeeringConnection {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPCPeeringConnection",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PeerVpcId" JSON..= peerVpcId, "VpcId" JSON..= vpcId]+                           (Prelude.catMaybes+                              [(JSON..=) "PeerOwnerId" Prelude.<$> peerOwnerId,+                               (JSON..=) "PeerRegion" Prelude.<$> peerRegion,+                               (JSON..=) "PeerRoleArn" Prelude.<$> peerRoleArn,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON VPCPeeringConnection where+  toJSON VPCPeeringConnection {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PeerVpcId" JSON..= peerVpcId, "VpcId" JSON..= vpcId]+              (Prelude.catMaybes+                 [(JSON..=) "PeerOwnerId" Prelude.<$> peerOwnerId,+                  (JSON..=) "PeerRegion" Prelude.<$> peerRegion,+                  (JSON..=) "PeerRoleArn" Prelude.<$> peerRoleArn,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "PeerOwnerId" VPCPeeringConnection where+  type PropertyType "PeerOwnerId" VPCPeeringConnection = Value Prelude.Text+  set newValue VPCPeeringConnection {..}+    = VPCPeeringConnection {peerOwnerId = Prelude.pure newValue, ..}+instance Property "PeerRegion" VPCPeeringConnection where+  type PropertyType "PeerRegion" VPCPeeringConnection = Value Prelude.Text+  set newValue VPCPeeringConnection {..}+    = VPCPeeringConnection {peerRegion = Prelude.pure newValue, ..}+instance Property "PeerRoleArn" VPCPeeringConnection where+  type PropertyType "PeerRoleArn" VPCPeeringConnection = Value Prelude.Text+  set newValue VPCPeeringConnection {..}+    = VPCPeeringConnection {peerRoleArn = Prelude.pure newValue, ..}+instance Property "PeerVpcId" VPCPeeringConnection where+  type PropertyType "PeerVpcId" VPCPeeringConnection = Value Prelude.Text+  set newValue VPCPeeringConnection {..}+    = VPCPeeringConnection {peerVpcId = newValue, ..}+instance Property "Tags" VPCPeeringConnection where+  type PropertyType "Tags" VPCPeeringConnection = [Tag]+  set newValue VPCPeeringConnection {..}+    = VPCPeeringConnection {tags = Prelude.pure newValue, ..}+instance Property "VpcId" VPCPeeringConnection where+  type PropertyType "VpcId" VPCPeeringConnection = Value Prelude.Text+  set newValue VPCPeeringConnection {..}+    = VPCPeeringConnection {vpcId = newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection.hs view
@@ -0,0 +1,185 @@+module Stratosphere.EC2.VPNConnection (+        module Exports, VPNConnection(..), mkVPNConnection+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.VpnTunnelOptionsSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VPNConnection+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html>+    VPNConnection {haddock_workaround_ :: (),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-customergatewayid>+                   customerGatewayId :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-enableacceleration>+                   enableAcceleration :: (Prelude.Maybe (Value Prelude.Bool)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-localipv4networkcidr>+                   localIpv4NetworkCidr :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-localipv6networkcidr>+                   localIpv6NetworkCidr :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-outsideipaddresstype>+                   outsideIpAddressType :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-presharedkeystorage>+                   preSharedKeyStorage :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-remoteipv4networkcidr>+                   remoteIpv4NetworkCidr :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-remoteipv6networkcidr>+                   remoteIpv6NetworkCidr :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-staticroutesonly>+                   staticRoutesOnly :: (Prelude.Maybe (Value Prelude.Bool)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-tags>+                   tags :: (Prelude.Maybe [Tag]),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-transitgatewayid>+                   transitGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-transporttransitgatewayattachmentid>+                   transportTransitGatewayAttachmentId :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-tunnelinsideipversion>+                   tunnelInsideIpVersion :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-type>+                   type' :: (Value Prelude.Text),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-vpngatewayid>+                   vpnGatewayId :: (Prelude.Maybe (Value Prelude.Text)),+                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnection.html#cfn-ec2-vpnconnection-vpntunneloptionsspecifications>+                   vpnTunnelOptionsSpecifications :: (Prelude.Maybe [VpnTunnelOptionsSpecificationProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPNConnection ::+  Value Prelude.Text -> Value Prelude.Text -> VPNConnection+mkVPNConnection customerGatewayId type'+  = VPNConnection+      {haddock_workaround_ = (), customerGatewayId = customerGatewayId,+       type' = type', enableAcceleration = Prelude.Nothing,+       localIpv4NetworkCidr = Prelude.Nothing,+       localIpv6NetworkCidr = Prelude.Nothing,+       outsideIpAddressType = Prelude.Nothing,+       preSharedKeyStorage = Prelude.Nothing,+       remoteIpv4NetworkCidr = Prelude.Nothing,+       remoteIpv6NetworkCidr = Prelude.Nothing,+       staticRoutesOnly = Prelude.Nothing, tags = Prelude.Nothing,+       transitGatewayId = Prelude.Nothing,+       transportTransitGatewayAttachmentId = Prelude.Nothing,+       tunnelInsideIpVersion = Prelude.Nothing,+       vpnGatewayId = Prelude.Nothing,+       vpnTunnelOptionsSpecifications = Prelude.Nothing}+instance ToResourceProperties VPNConnection where+  toResourceProperties VPNConnection {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["CustomerGatewayId" JSON..= customerGatewayId,+                            "Type" JSON..= type']+                           (Prelude.catMaybes+                              [(JSON..=) "EnableAcceleration" Prelude.<$> enableAcceleration,+                               (JSON..=) "LocalIpv4NetworkCidr" Prelude.<$> localIpv4NetworkCidr,+                               (JSON..=) "LocalIpv6NetworkCidr" Prelude.<$> localIpv6NetworkCidr,+                               (JSON..=) "OutsideIpAddressType" Prelude.<$> outsideIpAddressType,+                               (JSON..=) "PreSharedKeyStorage" Prelude.<$> preSharedKeyStorage,+                               (JSON..=) "RemoteIpv4NetworkCidr"+                                 Prelude.<$> remoteIpv4NetworkCidr,+                               (JSON..=) "RemoteIpv6NetworkCidr"+                                 Prelude.<$> remoteIpv6NetworkCidr,+                               (JSON..=) "StaticRoutesOnly" Prelude.<$> staticRoutesOnly,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "TransitGatewayId" Prelude.<$> transitGatewayId,+                               (JSON..=) "TransportTransitGatewayAttachmentId"+                                 Prelude.<$> transportTransitGatewayAttachmentId,+                               (JSON..=) "TunnelInsideIpVersion"+                                 Prelude.<$> tunnelInsideIpVersion,+                               (JSON..=) "VpnGatewayId" Prelude.<$> vpnGatewayId,+                               (JSON..=) "VpnTunnelOptionsSpecifications"+                                 Prelude.<$> vpnTunnelOptionsSpecifications]))}+instance JSON.ToJSON VPNConnection where+  toJSON VPNConnection {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["CustomerGatewayId" JSON..= customerGatewayId,+               "Type" JSON..= type']+              (Prelude.catMaybes+                 [(JSON..=) "EnableAcceleration" Prelude.<$> enableAcceleration,+                  (JSON..=) "LocalIpv4NetworkCidr" Prelude.<$> localIpv4NetworkCidr,+                  (JSON..=) "LocalIpv6NetworkCidr" Prelude.<$> localIpv6NetworkCidr,+                  (JSON..=) "OutsideIpAddressType" Prelude.<$> outsideIpAddressType,+                  (JSON..=) "PreSharedKeyStorage" Prelude.<$> preSharedKeyStorage,+                  (JSON..=) "RemoteIpv4NetworkCidr"+                    Prelude.<$> remoteIpv4NetworkCidr,+                  (JSON..=) "RemoteIpv6NetworkCidr"+                    Prelude.<$> remoteIpv6NetworkCidr,+                  (JSON..=) "StaticRoutesOnly" Prelude.<$> staticRoutesOnly,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "TransitGatewayId" Prelude.<$> transitGatewayId,+                  (JSON..=) "TransportTransitGatewayAttachmentId"+                    Prelude.<$> transportTransitGatewayAttachmentId,+                  (JSON..=) "TunnelInsideIpVersion"+                    Prelude.<$> tunnelInsideIpVersion,+                  (JSON..=) "VpnGatewayId" Prelude.<$> vpnGatewayId,+                  (JSON..=) "VpnTunnelOptionsSpecifications"+                    Prelude.<$> vpnTunnelOptionsSpecifications])))+instance Property "CustomerGatewayId" VPNConnection where+  type PropertyType "CustomerGatewayId" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {customerGatewayId = newValue, ..}+instance Property "EnableAcceleration" VPNConnection where+  type PropertyType "EnableAcceleration" VPNConnection = Value Prelude.Bool+  set newValue VPNConnection {..}+    = VPNConnection {enableAcceleration = Prelude.pure newValue, ..}+instance Property "LocalIpv4NetworkCidr" VPNConnection where+  type PropertyType "LocalIpv4NetworkCidr" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {localIpv4NetworkCidr = Prelude.pure newValue, ..}+instance Property "LocalIpv6NetworkCidr" VPNConnection where+  type PropertyType "LocalIpv6NetworkCidr" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {localIpv6NetworkCidr = Prelude.pure newValue, ..}+instance Property "OutsideIpAddressType" VPNConnection where+  type PropertyType "OutsideIpAddressType" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {outsideIpAddressType = Prelude.pure newValue, ..}+instance Property "PreSharedKeyStorage" VPNConnection where+  type PropertyType "PreSharedKeyStorage" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {preSharedKeyStorage = Prelude.pure newValue, ..}+instance Property "RemoteIpv4NetworkCidr" VPNConnection where+  type PropertyType "RemoteIpv4NetworkCidr" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {remoteIpv4NetworkCidr = Prelude.pure newValue, ..}+instance Property "RemoteIpv6NetworkCidr" VPNConnection where+  type PropertyType "RemoteIpv6NetworkCidr" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {remoteIpv6NetworkCidr = Prelude.pure newValue, ..}+instance Property "StaticRoutesOnly" VPNConnection where+  type PropertyType "StaticRoutesOnly" VPNConnection = Value Prelude.Bool+  set newValue VPNConnection {..}+    = VPNConnection {staticRoutesOnly = Prelude.pure newValue, ..}+instance Property "Tags" VPNConnection where+  type PropertyType "Tags" VPNConnection = [Tag]+  set newValue VPNConnection {..}+    = VPNConnection {tags = Prelude.pure newValue, ..}+instance Property "TransitGatewayId" VPNConnection where+  type PropertyType "TransitGatewayId" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {transitGatewayId = Prelude.pure newValue, ..}+instance Property "TransportTransitGatewayAttachmentId" VPNConnection where+  type PropertyType "TransportTransitGatewayAttachmentId" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection+        {transportTransitGatewayAttachmentId = Prelude.pure newValue, ..}+instance Property "TunnelInsideIpVersion" VPNConnection where+  type PropertyType "TunnelInsideIpVersion" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {tunnelInsideIpVersion = Prelude.pure newValue, ..}+instance Property "Type" VPNConnection where+  type PropertyType "Type" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {type' = newValue, ..}+instance Property "VpnGatewayId" VPNConnection where+  type PropertyType "VpnGatewayId" VPNConnection = Value Prelude.Text+  set newValue VPNConnection {..}+    = VPNConnection {vpnGatewayId = Prelude.pure newValue, ..}+instance Property "VpnTunnelOptionsSpecifications" VPNConnection where+  type PropertyType "VpnTunnelOptionsSpecifications" VPNConnection = [VpnTunnelOptionsSpecificationProperty]+  set newValue VPNConnection {..}+    = VPNConnection+        {vpnTunnelOptionsSpecifications = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/CloudwatchLogOptionsSpecificationProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.EC2.VPNConnection.CloudwatchLogOptionsSpecificationProperty (+        CloudwatchLogOptionsSpecificationProperty(..),+        mkCloudwatchLogOptionsSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CloudwatchLogOptionsSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-cloudwatchlogoptionsspecification.html>+    CloudwatchLogOptionsSpecificationProperty {haddock_workaround_ :: (),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-cloudwatchlogoptionsspecification.html#cfn-ec2-vpnconnection-cloudwatchlogoptionsspecification-logenabled>+                                               logEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-cloudwatchlogoptionsspecification.html#cfn-ec2-vpnconnection-cloudwatchlogoptionsspecification-loggrouparn>+                                               logGroupArn :: (Prelude.Maybe (Value Prelude.Text)),+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-cloudwatchlogoptionsspecification.html#cfn-ec2-vpnconnection-cloudwatchlogoptionsspecification-logoutputformat>+                                               logOutputFormat :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCloudwatchLogOptionsSpecificationProperty ::+  CloudwatchLogOptionsSpecificationProperty+mkCloudwatchLogOptionsSpecificationProperty+  = CloudwatchLogOptionsSpecificationProperty+      {haddock_workaround_ = (), logEnabled = Prelude.Nothing,+       logGroupArn = Prelude.Nothing, logOutputFormat = Prelude.Nothing}+instance ToResourceProperties CloudwatchLogOptionsSpecificationProperty where+  toResourceProperties CloudwatchLogOptionsSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.CloudwatchLogOptionsSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "LogEnabled" Prelude.<$> logEnabled,+                            (JSON..=) "LogGroupArn" Prelude.<$> logGroupArn,+                            (JSON..=) "LogOutputFormat" Prelude.<$> logOutputFormat])}+instance JSON.ToJSON CloudwatchLogOptionsSpecificationProperty where+  toJSON CloudwatchLogOptionsSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "LogEnabled" Prelude.<$> logEnabled,+               (JSON..=) "LogGroupArn" Prelude.<$> logGroupArn,+               (JSON..=) "LogOutputFormat" Prelude.<$> logOutputFormat]))+instance Property "LogEnabled" CloudwatchLogOptionsSpecificationProperty where+  type PropertyType "LogEnabled" CloudwatchLogOptionsSpecificationProperty = Value Prelude.Bool+  set newValue CloudwatchLogOptionsSpecificationProperty {..}+    = CloudwatchLogOptionsSpecificationProperty+        {logEnabled = Prelude.pure newValue, ..}+instance Property "LogGroupArn" CloudwatchLogOptionsSpecificationProperty where+  type PropertyType "LogGroupArn" CloudwatchLogOptionsSpecificationProperty = Value Prelude.Text+  set newValue CloudwatchLogOptionsSpecificationProperty {..}+    = CloudwatchLogOptionsSpecificationProperty+        {logGroupArn = Prelude.pure newValue, ..}+instance Property "LogOutputFormat" CloudwatchLogOptionsSpecificationProperty where+  type PropertyType "LogOutputFormat" CloudwatchLogOptionsSpecificationProperty = Value Prelude.Text+  set newValue CloudwatchLogOptionsSpecificationProperty {..}+    = CloudwatchLogOptionsSpecificationProperty+        {logOutputFormat = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/CloudwatchLogOptionsSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.CloudwatchLogOptionsSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CloudwatchLogOptionsSpecificationProperty :: Prelude.Type+instance ToResourceProperties CloudwatchLogOptionsSpecificationProperty+instance Prelude.Eq CloudwatchLogOptionsSpecificationProperty+instance Prelude.Show CloudwatchLogOptionsSpecificationProperty+instance JSON.ToJSON CloudwatchLogOptionsSpecificationProperty
+ gen/Stratosphere/EC2/VPNConnection/IKEVersionsRequestListValueProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.EC2.VPNConnection.IKEVersionsRequestListValueProperty (+        IKEVersionsRequestListValueProperty(..),+        mkIKEVersionsRequestListValueProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data IKEVersionsRequestListValueProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-ikeversionsrequestlistvalue.html>+    IKEVersionsRequestListValueProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-ikeversionsrequestlistvalue.html#cfn-ec2-vpnconnection-ikeversionsrequestlistvalue-value>+                                         value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkIKEVersionsRequestListValueProperty ::+  IKEVersionsRequestListValueProperty+mkIKEVersionsRequestListValueProperty+  = IKEVersionsRequestListValueProperty+      {haddock_workaround_ = (), value = Prelude.Nothing}+instance ToResourceProperties IKEVersionsRequestListValueProperty where+  toResourceProperties IKEVersionsRequestListValueProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.IKEVersionsRequestListValue",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON IKEVersionsRequestListValueProperty where+  toJSON IKEVersionsRequestListValueProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value]))+instance Property "Value" IKEVersionsRequestListValueProperty where+  type PropertyType "Value" IKEVersionsRequestListValueProperty = Value Prelude.Text+  set newValue IKEVersionsRequestListValueProperty {..}+    = IKEVersionsRequestListValueProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/IKEVersionsRequestListValueProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.IKEVersionsRequestListValueProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data IKEVersionsRequestListValueProperty :: Prelude.Type+instance ToResourceProperties IKEVersionsRequestListValueProperty+instance Prelude.Eq IKEVersionsRequestListValueProperty+instance Prelude.Show IKEVersionsRequestListValueProperty+instance JSON.ToJSON IKEVersionsRequestListValueProperty
+ gen/Stratosphere/EC2/VPNConnection/Phase1DHGroupNumbersRequestListValueProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.EC2.VPNConnection.Phase1DHGroupNumbersRequestListValueProperty (+        Phase1DHGroupNumbersRequestListValueProperty(..),+        mkPhase1DHGroupNumbersRequestListValueProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Phase1DHGroupNumbersRequestListValueProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase1dhgroupnumbersrequestlistvalue.html>+    Phase1DHGroupNumbersRequestListValueProperty {haddock_workaround_ :: (),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase1dhgroupnumbersrequestlistvalue.html#cfn-ec2-vpnconnection-phase1dhgroupnumbersrequestlistvalue-value>+                                                  value :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPhase1DHGroupNumbersRequestListValueProperty ::+  Phase1DHGroupNumbersRequestListValueProperty+mkPhase1DHGroupNumbersRequestListValueProperty+  = Phase1DHGroupNumbersRequestListValueProperty+      {haddock_workaround_ = (), value = Prelude.Nothing}+instance ToResourceProperties Phase1DHGroupNumbersRequestListValueProperty where+  toResourceProperties+    Phase1DHGroupNumbersRequestListValueProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.Phase1DHGroupNumbersRequestListValue",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON Phase1DHGroupNumbersRequestListValueProperty where+  toJSON Phase1DHGroupNumbersRequestListValueProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value]))+instance Property "Value" Phase1DHGroupNumbersRequestListValueProperty where+  type PropertyType "Value" Phase1DHGroupNumbersRequestListValueProperty = Value Prelude.Integer+  set newValue Phase1DHGroupNumbersRequestListValueProperty {..}+    = Phase1DHGroupNumbersRequestListValueProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/Phase1DHGroupNumbersRequestListValueProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.Phase1DHGroupNumbersRequestListValueProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Phase1DHGroupNumbersRequestListValueProperty :: Prelude.Type+instance ToResourceProperties Phase1DHGroupNumbersRequestListValueProperty+instance Prelude.Eq Phase1DHGroupNumbersRequestListValueProperty+instance Prelude.Show Phase1DHGroupNumbersRequestListValueProperty+instance JSON.ToJSON Phase1DHGroupNumbersRequestListValueProperty
+ gen/Stratosphere/EC2/VPNConnection/Phase1EncryptionAlgorithmsRequestListValueProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.EC2.VPNConnection.Phase1EncryptionAlgorithmsRequestListValueProperty (+        Phase1EncryptionAlgorithmsRequestListValueProperty(..),+        mkPhase1EncryptionAlgorithmsRequestListValueProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Phase1EncryptionAlgorithmsRequestListValueProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase1encryptionalgorithmsrequestlistvalue.html>+    Phase1EncryptionAlgorithmsRequestListValueProperty {haddock_workaround_ :: (),+                                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase1encryptionalgorithmsrequestlistvalue.html#cfn-ec2-vpnconnection-phase1encryptionalgorithmsrequestlistvalue-value>+                                                        value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPhase1EncryptionAlgorithmsRequestListValueProperty ::+  Phase1EncryptionAlgorithmsRequestListValueProperty+mkPhase1EncryptionAlgorithmsRequestListValueProperty+  = Phase1EncryptionAlgorithmsRequestListValueProperty+      {haddock_workaround_ = (), value = Prelude.Nothing}+instance ToResourceProperties Phase1EncryptionAlgorithmsRequestListValueProperty where+  toResourceProperties+    Phase1EncryptionAlgorithmsRequestListValueProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.Phase1EncryptionAlgorithmsRequestListValue",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON Phase1EncryptionAlgorithmsRequestListValueProperty where+  toJSON Phase1EncryptionAlgorithmsRequestListValueProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value]))+instance Property "Value" Phase1EncryptionAlgorithmsRequestListValueProperty where+  type PropertyType "Value" Phase1EncryptionAlgorithmsRequestListValueProperty = Value Prelude.Text+  set+    newValue+    Phase1EncryptionAlgorithmsRequestListValueProperty {..}+    = Phase1EncryptionAlgorithmsRequestListValueProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/Phase1EncryptionAlgorithmsRequestListValueProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.Phase1EncryptionAlgorithmsRequestListValueProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Phase1EncryptionAlgorithmsRequestListValueProperty :: Prelude.Type+instance ToResourceProperties Phase1EncryptionAlgorithmsRequestListValueProperty+instance Prelude.Eq Phase1EncryptionAlgorithmsRequestListValueProperty+instance Prelude.Show Phase1EncryptionAlgorithmsRequestListValueProperty+instance JSON.ToJSON Phase1EncryptionAlgorithmsRequestListValueProperty
+ gen/Stratosphere/EC2/VPNConnection/Phase1IntegrityAlgorithmsRequestListValueProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.EC2.VPNConnection.Phase1IntegrityAlgorithmsRequestListValueProperty (+        Phase1IntegrityAlgorithmsRequestListValueProperty(..),+        mkPhase1IntegrityAlgorithmsRequestListValueProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Phase1IntegrityAlgorithmsRequestListValueProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase1integrityalgorithmsrequestlistvalue.html>+    Phase1IntegrityAlgorithmsRequestListValueProperty {haddock_workaround_ :: (),+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase1integrityalgorithmsrequestlistvalue.html#cfn-ec2-vpnconnection-phase1integrityalgorithmsrequestlistvalue-value>+                                                       value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPhase1IntegrityAlgorithmsRequestListValueProperty ::+  Phase1IntegrityAlgorithmsRequestListValueProperty+mkPhase1IntegrityAlgorithmsRequestListValueProperty+  = Phase1IntegrityAlgorithmsRequestListValueProperty+      {haddock_workaround_ = (), value = Prelude.Nothing}+instance ToResourceProperties Phase1IntegrityAlgorithmsRequestListValueProperty where+  toResourceProperties+    Phase1IntegrityAlgorithmsRequestListValueProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.Phase1IntegrityAlgorithmsRequestListValue",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON Phase1IntegrityAlgorithmsRequestListValueProperty where+  toJSON Phase1IntegrityAlgorithmsRequestListValueProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value]))+instance Property "Value" Phase1IntegrityAlgorithmsRequestListValueProperty where+  type PropertyType "Value" Phase1IntegrityAlgorithmsRequestListValueProperty = Value Prelude.Text+  set newValue Phase1IntegrityAlgorithmsRequestListValueProperty {..}+    = Phase1IntegrityAlgorithmsRequestListValueProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/Phase1IntegrityAlgorithmsRequestListValueProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.Phase1IntegrityAlgorithmsRequestListValueProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Phase1IntegrityAlgorithmsRequestListValueProperty :: Prelude.Type+instance ToResourceProperties Phase1IntegrityAlgorithmsRequestListValueProperty+instance Prelude.Eq Phase1IntegrityAlgorithmsRequestListValueProperty+instance Prelude.Show Phase1IntegrityAlgorithmsRequestListValueProperty+instance JSON.ToJSON Phase1IntegrityAlgorithmsRequestListValueProperty
+ gen/Stratosphere/EC2/VPNConnection/Phase2DHGroupNumbersRequestListValueProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.EC2.VPNConnection.Phase2DHGroupNumbersRequestListValueProperty (+        Phase2DHGroupNumbersRequestListValueProperty(..),+        mkPhase2DHGroupNumbersRequestListValueProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Phase2DHGroupNumbersRequestListValueProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase2dhgroupnumbersrequestlistvalue.html>+    Phase2DHGroupNumbersRequestListValueProperty {haddock_workaround_ :: (),+                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase2dhgroupnumbersrequestlistvalue.html#cfn-ec2-vpnconnection-phase2dhgroupnumbersrequestlistvalue-value>+                                                  value :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPhase2DHGroupNumbersRequestListValueProperty ::+  Phase2DHGroupNumbersRequestListValueProperty+mkPhase2DHGroupNumbersRequestListValueProperty+  = Phase2DHGroupNumbersRequestListValueProperty+      {haddock_workaround_ = (), value = Prelude.Nothing}+instance ToResourceProperties Phase2DHGroupNumbersRequestListValueProperty where+  toResourceProperties+    Phase2DHGroupNumbersRequestListValueProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.Phase2DHGroupNumbersRequestListValue",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON Phase2DHGroupNumbersRequestListValueProperty where+  toJSON Phase2DHGroupNumbersRequestListValueProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value]))+instance Property "Value" Phase2DHGroupNumbersRequestListValueProperty where+  type PropertyType "Value" Phase2DHGroupNumbersRequestListValueProperty = Value Prelude.Integer+  set newValue Phase2DHGroupNumbersRequestListValueProperty {..}+    = Phase2DHGroupNumbersRequestListValueProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/Phase2DHGroupNumbersRequestListValueProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.Phase2DHGroupNumbersRequestListValueProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Phase2DHGroupNumbersRequestListValueProperty :: Prelude.Type+instance ToResourceProperties Phase2DHGroupNumbersRequestListValueProperty+instance Prelude.Eq Phase2DHGroupNumbersRequestListValueProperty+instance Prelude.Show Phase2DHGroupNumbersRequestListValueProperty+instance JSON.ToJSON Phase2DHGroupNumbersRequestListValueProperty
+ gen/Stratosphere/EC2/VPNConnection/Phase2EncryptionAlgorithmsRequestListValueProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.EC2.VPNConnection.Phase2EncryptionAlgorithmsRequestListValueProperty (+        Phase2EncryptionAlgorithmsRequestListValueProperty(..),+        mkPhase2EncryptionAlgorithmsRequestListValueProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Phase2EncryptionAlgorithmsRequestListValueProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase2encryptionalgorithmsrequestlistvalue.html>+    Phase2EncryptionAlgorithmsRequestListValueProperty {haddock_workaround_ :: (),+                                                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase2encryptionalgorithmsrequestlistvalue.html#cfn-ec2-vpnconnection-phase2encryptionalgorithmsrequestlistvalue-value>+                                                        value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPhase2EncryptionAlgorithmsRequestListValueProperty ::+  Phase2EncryptionAlgorithmsRequestListValueProperty+mkPhase2EncryptionAlgorithmsRequestListValueProperty+  = Phase2EncryptionAlgorithmsRequestListValueProperty+      {haddock_workaround_ = (), value = Prelude.Nothing}+instance ToResourceProperties Phase2EncryptionAlgorithmsRequestListValueProperty where+  toResourceProperties+    Phase2EncryptionAlgorithmsRequestListValueProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.Phase2EncryptionAlgorithmsRequestListValue",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON Phase2EncryptionAlgorithmsRequestListValueProperty where+  toJSON Phase2EncryptionAlgorithmsRequestListValueProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value]))+instance Property "Value" Phase2EncryptionAlgorithmsRequestListValueProperty where+  type PropertyType "Value" Phase2EncryptionAlgorithmsRequestListValueProperty = Value Prelude.Text+  set+    newValue+    Phase2EncryptionAlgorithmsRequestListValueProperty {..}+    = Phase2EncryptionAlgorithmsRequestListValueProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/Phase2EncryptionAlgorithmsRequestListValueProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.Phase2EncryptionAlgorithmsRequestListValueProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Phase2EncryptionAlgorithmsRequestListValueProperty :: Prelude.Type+instance ToResourceProperties Phase2EncryptionAlgorithmsRequestListValueProperty+instance Prelude.Eq Phase2EncryptionAlgorithmsRequestListValueProperty+instance Prelude.Show Phase2EncryptionAlgorithmsRequestListValueProperty+instance JSON.ToJSON Phase2EncryptionAlgorithmsRequestListValueProperty
+ gen/Stratosphere/EC2/VPNConnection/Phase2IntegrityAlgorithmsRequestListValueProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.EC2.VPNConnection.Phase2IntegrityAlgorithmsRequestListValueProperty (+        Phase2IntegrityAlgorithmsRequestListValueProperty(..),+        mkPhase2IntegrityAlgorithmsRequestListValueProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Phase2IntegrityAlgorithmsRequestListValueProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase2integrityalgorithmsrequestlistvalue.html>+    Phase2IntegrityAlgorithmsRequestListValueProperty {haddock_workaround_ :: (),+                                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-phase2integrityalgorithmsrequestlistvalue.html#cfn-ec2-vpnconnection-phase2integrityalgorithmsrequestlistvalue-value>+                                                       value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPhase2IntegrityAlgorithmsRequestListValueProperty ::+  Phase2IntegrityAlgorithmsRequestListValueProperty+mkPhase2IntegrityAlgorithmsRequestListValueProperty+  = Phase2IntegrityAlgorithmsRequestListValueProperty+      {haddock_workaround_ = (), value = Prelude.Nothing}+instance ToResourceProperties Phase2IntegrityAlgorithmsRequestListValueProperty where+  toResourceProperties+    Phase2IntegrityAlgorithmsRequestListValueProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.Phase2IntegrityAlgorithmsRequestListValue",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON Phase2IntegrityAlgorithmsRequestListValueProperty where+  toJSON Phase2IntegrityAlgorithmsRequestListValueProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes [(JSON..=) "Value" Prelude.<$> value]))+instance Property "Value" Phase2IntegrityAlgorithmsRequestListValueProperty where+  type PropertyType "Value" Phase2IntegrityAlgorithmsRequestListValueProperty = Value Prelude.Text+  set newValue Phase2IntegrityAlgorithmsRequestListValueProperty {..}+    = Phase2IntegrityAlgorithmsRequestListValueProperty+        {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/Phase2IntegrityAlgorithmsRequestListValueProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.Phase2IntegrityAlgorithmsRequestListValueProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data Phase2IntegrityAlgorithmsRequestListValueProperty :: Prelude.Type+instance ToResourceProperties Phase2IntegrityAlgorithmsRequestListValueProperty+instance Prelude.Eq Phase2IntegrityAlgorithmsRequestListValueProperty+instance Prelude.Show Phase2IntegrityAlgorithmsRequestListValueProperty+instance JSON.ToJSON Phase2IntegrityAlgorithmsRequestListValueProperty
+ gen/Stratosphere/EC2/VPNConnection/VpnTunnelLogOptionsSpecificationProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.EC2.VPNConnection.VpnTunnelLogOptionsSpecificationProperty (+        module Exports, VpnTunnelLogOptionsSpecificationProperty(..),+        mkVpnTunnelLogOptionsSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.CloudwatchLogOptionsSpecificationProperty as Exports+import Stratosphere.ResourceProperties+data VpnTunnelLogOptionsSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunnellogoptionsspecification.html>+    VpnTunnelLogOptionsSpecificationProperty {haddock_workaround_ :: (),+                                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunnellogoptionsspecification.html#cfn-ec2-vpnconnection-vpntunnellogoptionsspecification-cloudwatchlogoptions>+                                              cloudwatchLogOptions :: (Prelude.Maybe CloudwatchLogOptionsSpecificationProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVpnTunnelLogOptionsSpecificationProperty ::+  VpnTunnelLogOptionsSpecificationProperty+mkVpnTunnelLogOptionsSpecificationProperty+  = VpnTunnelLogOptionsSpecificationProperty+      {haddock_workaround_ = (), cloudwatchLogOptions = Prelude.Nothing}+instance ToResourceProperties VpnTunnelLogOptionsSpecificationProperty where+  toResourceProperties VpnTunnelLogOptionsSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.VpnTunnelLogOptionsSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CloudwatchLogOptions"+                              Prelude.<$> cloudwatchLogOptions])}+instance JSON.ToJSON VpnTunnelLogOptionsSpecificationProperty where+  toJSON VpnTunnelLogOptionsSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CloudwatchLogOptions"+                 Prelude.<$> cloudwatchLogOptions]))+instance Property "CloudwatchLogOptions" VpnTunnelLogOptionsSpecificationProperty where+  type PropertyType "CloudwatchLogOptions" VpnTunnelLogOptionsSpecificationProperty = CloudwatchLogOptionsSpecificationProperty+  set newValue VpnTunnelLogOptionsSpecificationProperty {..}+    = VpnTunnelLogOptionsSpecificationProperty+        {cloudwatchLogOptions = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/VpnTunnelLogOptionsSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.VpnTunnelLogOptionsSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VpnTunnelLogOptionsSpecificationProperty :: Prelude.Type+instance ToResourceProperties VpnTunnelLogOptionsSpecificationProperty+instance Prelude.Eq VpnTunnelLogOptionsSpecificationProperty+instance Prelude.Show VpnTunnelLogOptionsSpecificationProperty+instance JSON.ToJSON VpnTunnelLogOptionsSpecificationProperty
+ gen/Stratosphere/EC2/VPNConnection/VpnTunnelOptionsSpecificationProperty.hs view
@@ -0,0 +1,254 @@+module Stratosphere.EC2.VPNConnection.VpnTunnelOptionsSpecificationProperty (+        module Exports, VpnTunnelOptionsSpecificationProperty(..),+        mkVpnTunnelOptionsSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.IKEVersionsRequestListValueProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.Phase1DHGroupNumbersRequestListValueProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.Phase1EncryptionAlgorithmsRequestListValueProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.Phase1IntegrityAlgorithmsRequestListValueProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.Phase2DHGroupNumbersRequestListValueProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.Phase2EncryptionAlgorithmsRequestListValueProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.Phase2IntegrityAlgorithmsRequestListValueProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VPNConnection.VpnTunnelLogOptionsSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VpnTunnelOptionsSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html>+    VpnTunnelOptionsSpecificationProperty {haddock_workaround_ :: (),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-dpdtimeoutaction>+                                           dPDTimeoutAction :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-dpdtimeoutseconds>+                                           dPDTimeoutSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-enabletunnellifecyclecontrol>+                                           enableTunnelLifecycleControl :: (Prelude.Maybe (Value Prelude.Bool)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-ikeversions>+                                           iKEVersions :: (Prelude.Maybe [IKEVersionsRequestListValueProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-logoptions>+                                           logOptions :: (Prelude.Maybe VpnTunnelLogOptionsSpecificationProperty),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-phase1dhgroupnumbers>+                                           phase1DHGroupNumbers :: (Prelude.Maybe [Phase1DHGroupNumbersRequestListValueProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-phase1encryptionalgorithms>+                                           phase1EncryptionAlgorithms :: (Prelude.Maybe [Phase1EncryptionAlgorithmsRequestListValueProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-phase1integrityalgorithms>+                                           phase1IntegrityAlgorithms :: (Prelude.Maybe [Phase1IntegrityAlgorithmsRequestListValueProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-phase1lifetimeseconds>+                                           phase1LifetimeSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-phase2dhgroupnumbers>+                                           phase2DHGroupNumbers :: (Prelude.Maybe [Phase2DHGroupNumbersRequestListValueProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-phase2encryptionalgorithms>+                                           phase2EncryptionAlgorithms :: (Prelude.Maybe [Phase2EncryptionAlgorithmsRequestListValueProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-phase2integrityalgorithms>+                                           phase2IntegrityAlgorithms :: (Prelude.Maybe [Phase2IntegrityAlgorithmsRequestListValueProperty]),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-phase2lifetimeseconds>+                                           phase2LifetimeSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-presharedkey>+                                           preSharedKey :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-rekeyfuzzpercentage>+                                           rekeyFuzzPercentage :: (Prelude.Maybe (Value Prelude.Integer)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-rekeymargintimeseconds>+                                           rekeyMarginTimeSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-replaywindowsize>+                                           replayWindowSize :: (Prelude.Maybe (Value Prelude.Integer)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-startupaction>+                                           startupAction :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-tunnelinsidecidr>+                                           tunnelInsideCidr :: (Prelude.Maybe (Value Prelude.Text)),+                                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-vpnconnection-vpntunneloptionsspecification.html#cfn-ec2-vpnconnection-vpntunneloptionsspecification-tunnelinsideipv6cidr>+                                           tunnelInsideIpv6Cidr :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVpnTunnelOptionsSpecificationProperty ::+  VpnTunnelOptionsSpecificationProperty+mkVpnTunnelOptionsSpecificationProperty+  = VpnTunnelOptionsSpecificationProperty+      {haddock_workaround_ = (), dPDTimeoutAction = Prelude.Nothing,+       dPDTimeoutSeconds = Prelude.Nothing,+       enableTunnelLifecycleControl = Prelude.Nothing,+       iKEVersions = Prelude.Nothing, logOptions = Prelude.Nothing,+       phase1DHGroupNumbers = Prelude.Nothing,+       phase1EncryptionAlgorithms = Prelude.Nothing,+       phase1IntegrityAlgorithms = Prelude.Nothing,+       phase1LifetimeSeconds = Prelude.Nothing,+       phase2DHGroupNumbers = Prelude.Nothing,+       phase2EncryptionAlgorithms = Prelude.Nothing,+       phase2IntegrityAlgorithms = Prelude.Nothing,+       phase2LifetimeSeconds = Prelude.Nothing,+       preSharedKey = Prelude.Nothing,+       rekeyFuzzPercentage = Prelude.Nothing,+       rekeyMarginTimeSeconds = Prelude.Nothing,+       replayWindowSize = Prelude.Nothing,+       startupAction = Prelude.Nothing,+       tunnelInsideCidr = Prelude.Nothing,+       tunnelInsideIpv6Cidr = Prelude.Nothing}+instance ToResourceProperties VpnTunnelOptionsSpecificationProperty where+  toResourceProperties VpnTunnelOptionsSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnection.VpnTunnelOptionsSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DPDTimeoutAction" Prelude.<$> dPDTimeoutAction,+                            (JSON..=) "DPDTimeoutSeconds" Prelude.<$> dPDTimeoutSeconds,+                            (JSON..=) "EnableTunnelLifecycleControl"+                              Prelude.<$> enableTunnelLifecycleControl,+                            (JSON..=) "IKEVersions" Prelude.<$> iKEVersions,+                            (JSON..=) "LogOptions" Prelude.<$> logOptions,+                            (JSON..=) "Phase1DHGroupNumbers" Prelude.<$> phase1DHGroupNumbers,+                            (JSON..=) "Phase1EncryptionAlgorithms"+                              Prelude.<$> phase1EncryptionAlgorithms,+                            (JSON..=) "Phase1IntegrityAlgorithms"+                              Prelude.<$> phase1IntegrityAlgorithms,+                            (JSON..=) "Phase1LifetimeSeconds"+                              Prelude.<$> phase1LifetimeSeconds,+                            (JSON..=) "Phase2DHGroupNumbers" Prelude.<$> phase2DHGroupNumbers,+                            (JSON..=) "Phase2EncryptionAlgorithms"+                              Prelude.<$> phase2EncryptionAlgorithms,+                            (JSON..=) "Phase2IntegrityAlgorithms"+                              Prelude.<$> phase2IntegrityAlgorithms,+                            (JSON..=) "Phase2LifetimeSeconds"+                              Prelude.<$> phase2LifetimeSeconds,+                            (JSON..=) "PreSharedKey" Prelude.<$> preSharedKey,+                            (JSON..=) "RekeyFuzzPercentage" Prelude.<$> rekeyFuzzPercentage,+                            (JSON..=) "RekeyMarginTimeSeconds"+                              Prelude.<$> rekeyMarginTimeSeconds,+                            (JSON..=) "ReplayWindowSize" Prelude.<$> replayWindowSize,+                            (JSON..=) "StartupAction" Prelude.<$> startupAction,+                            (JSON..=) "TunnelInsideCidr" Prelude.<$> tunnelInsideCidr,+                            (JSON..=) "TunnelInsideIpv6Cidr"+                              Prelude.<$> tunnelInsideIpv6Cidr])}+instance JSON.ToJSON VpnTunnelOptionsSpecificationProperty where+  toJSON VpnTunnelOptionsSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DPDTimeoutAction" Prelude.<$> dPDTimeoutAction,+               (JSON..=) "DPDTimeoutSeconds" Prelude.<$> dPDTimeoutSeconds,+               (JSON..=) "EnableTunnelLifecycleControl"+                 Prelude.<$> enableTunnelLifecycleControl,+               (JSON..=) "IKEVersions" Prelude.<$> iKEVersions,+               (JSON..=) "LogOptions" Prelude.<$> logOptions,+               (JSON..=) "Phase1DHGroupNumbers" Prelude.<$> phase1DHGroupNumbers,+               (JSON..=) "Phase1EncryptionAlgorithms"+                 Prelude.<$> phase1EncryptionAlgorithms,+               (JSON..=) "Phase1IntegrityAlgorithms"+                 Prelude.<$> phase1IntegrityAlgorithms,+               (JSON..=) "Phase1LifetimeSeconds"+                 Prelude.<$> phase1LifetimeSeconds,+               (JSON..=) "Phase2DHGroupNumbers" Prelude.<$> phase2DHGroupNumbers,+               (JSON..=) "Phase2EncryptionAlgorithms"+                 Prelude.<$> phase2EncryptionAlgorithms,+               (JSON..=) "Phase2IntegrityAlgorithms"+                 Prelude.<$> phase2IntegrityAlgorithms,+               (JSON..=) "Phase2LifetimeSeconds"+                 Prelude.<$> phase2LifetimeSeconds,+               (JSON..=) "PreSharedKey" Prelude.<$> preSharedKey,+               (JSON..=) "RekeyFuzzPercentage" Prelude.<$> rekeyFuzzPercentage,+               (JSON..=) "RekeyMarginTimeSeconds"+                 Prelude.<$> rekeyMarginTimeSeconds,+               (JSON..=) "ReplayWindowSize" Prelude.<$> replayWindowSize,+               (JSON..=) "StartupAction" Prelude.<$> startupAction,+               (JSON..=) "TunnelInsideCidr" Prelude.<$> tunnelInsideCidr,+               (JSON..=) "TunnelInsideIpv6Cidr"+                 Prelude.<$> tunnelInsideIpv6Cidr]))+instance Property "DPDTimeoutAction" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "DPDTimeoutAction" VpnTunnelOptionsSpecificationProperty = Value Prelude.Text+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {dPDTimeoutAction = Prelude.pure newValue, ..}+instance Property "DPDTimeoutSeconds" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "DPDTimeoutSeconds" VpnTunnelOptionsSpecificationProperty = Value Prelude.Integer+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {dPDTimeoutSeconds = Prelude.pure newValue, ..}+instance Property "EnableTunnelLifecycleControl" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "EnableTunnelLifecycleControl" VpnTunnelOptionsSpecificationProperty = Value Prelude.Bool+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {enableTunnelLifecycleControl = Prelude.pure newValue, ..}+instance Property "IKEVersions" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "IKEVersions" VpnTunnelOptionsSpecificationProperty = [IKEVersionsRequestListValueProperty]+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {iKEVersions = Prelude.pure newValue, ..}+instance Property "LogOptions" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "LogOptions" VpnTunnelOptionsSpecificationProperty = VpnTunnelLogOptionsSpecificationProperty+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {logOptions = Prelude.pure newValue, ..}+instance Property "Phase1DHGroupNumbers" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "Phase1DHGroupNumbers" VpnTunnelOptionsSpecificationProperty = [Phase1DHGroupNumbersRequestListValueProperty]+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {phase1DHGroupNumbers = Prelude.pure newValue, ..}+instance Property "Phase1EncryptionAlgorithms" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "Phase1EncryptionAlgorithms" VpnTunnelOptionsSpecificationProperty = [Phase1EncryptionAlgorithmsRequestListValueProperty]+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {phase1EncryptionAlgorithms = Prelude.pure newValue, ..}+instance Property "Phase1IntegrityAlgorithms" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "Phase1IntegrityAlgorithms" VpnTunnelOptionsSpecificationProperty = [Phase1IntegrityAlgorithmsRequestListValueProperty]+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {phase1IntegrityAlgorithms = Prelude.pure newValue, ..}+instance Property "Phase1LifetimeSeconds" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "Phase1LifetimeSeconds" VpnTunnelOptionsSpecificationProperty = Value Prelude.Integer+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {phase1LifetimeSeconds = Prelude.pure newValue, ..}+instance Property "Phase2DHGroupNumbers" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "Phase2DHGroupNumbers" VpnTunnelOptionsSpecificationProperty = [Phase2DHGroupNumbersRequestListValueProperty]+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {phase2DHGroupNumbers = Prelude.pure newValue, ..}+instance Property "Phase2EncryptionAlgorithms" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "Phase2EncryptionAlgorithms" VpnTunnelOptionsSpecificationProperty = [Phase2EncryptionAlgorithmsRequestListValueProperty]+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {phase2EncryptionAlgorithms = Prelude.pure newValue, ..}+instance Property "Phase2IntegrityAlgorithms" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "Phase2IntegrityAlgorithms" VpnTunnelOptionsSpecificationProperty = [Phase2IntegrityAlgorithmsRequestListValueProperty]+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {phase2IntegrityAlgorithms = Prelude.pure newValue, ..}+instance Property "Phase2LifetimeSeconds" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "Phase2LifetimeSeconds" VpnTunnelOptionsSpecificationProperty = Value Prelude.Integer+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {phase2LifetimeSeconds = Prelude.pure newValue, ..}+instance Property "PreSharedKey" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "PreSharedKey" VpnTunnelOptionsSpecificationProperty = Value Prelude.Text+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {preSharedKey = Prelude.pure newValue, ..}+instance Property "RekeyFuzzPercentage" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "RekeyFuzzPercentage" VpnTunnelOptionsSpecificationProperty = Value Prelude.Integer+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {rekeyFuzzPercentage = Prelude.pure newValue, ..}+instance Property "RekeyMarginTimeSeconds" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "RekeyMarginTimeSeconds" VpnTunnelOptionsSpecificationProperty = Value Prelude.Integer+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {rekeyMarginTimeSeconds = Prelude.pure newValue, ..}+instance Property "ReplayWindowSize" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "ReplayWindowSize" VpnTunnelOptionsSpecificationProperty = Value Prelude.Integer+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {replayWindowSize = Prelude.pure newValue, ..}+instance Property "StartupAction" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "StartupAction" VpnTunnelOptionsSpecificationProperty = Value Prelude.Text+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {startupAction = Prelude.pure newValue, ..}+instance Property "TunnelInsideCidr" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "TunnelInsideCidr" VpnTunnelOptionsSpecificationProperty = Value Prelude.Text+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {tunnelInsideCidr = Prelude.pure newValue, ..}+instance Property "TunnelInsideIpv6Cidr" VpnTunnelOptionsSpecificationProperty where+  type PropertyType "TunnelInsideIpv6Cidr" VpnTunnelOptionsSpecificationProperty = Value Prelude.Text+  set newValue VpnTunnelOptionsSpecificationProperty {..}+    = VpnTunnelOptionsSpecificationProperty+        {tunnelInsideIpv6Cidr = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VPNConnection/VpnTunnelOptionsSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VPNConnection.VpnTunnelOptionsSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VpnTunnelOptionsSpecificationProperty :: Prelude.Type+instance ToResourceProperties VpnTunnelOptionsSpecificationProperty+instance Prelude.Eq VpnTunnelOptionsSpecificationProperty+instance Prelude.Show VpnTunnelOptionsSpecificationProperty+instance JSON.ToJSON VpnTunnelOptionsSpecificationProperty
+ gen/Stratosphere/EC2/VPNConnectionRoute.hs view
@@ -0,0 +1,43 @@+module Stratosphere.EC2.VPNConnectionRoute (+        VPNConnectionRoute(..), mkVPNConnectionRoute+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VPNConnectionRoute+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html>+    VPNConnectionRoute {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html#cfn-ec2-vpnconnectionroute-destinationcidrblock>+                        destinationCidrBlock :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpnconnectionroute.html#cfn-ec2-vpnconnectionroute-vpnconnectionid>+                        vpnConnectionId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPNConnectionRoute ::+  Value Prelude.Text -> Value Prelude.Text -> VPNConnectionRoute+mkVPNConnectionRoute destinationCidrBlock vpnConnectionId+  = VPNConnectionRoute+      {haddock_workaround_ = (),+       destinationCidrBlock = destinationCidrBlock,+       vpnConnectionId = vpnConnectionId}+instance ToResourceProperties VPNConnectionRoute where+  toResourceProperties VPNConnectionRoute {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNConnectionRoute",+         supportsTags = Prelude.False,+         properties = ["DestinationCidrBlock" JSON..= destinationCidrBlock,+                       "VpnConnectionId" JSON..= vpnConnectionId]}+instance JSON.ToJSON VPNConnectionRoute where+  toJSON VPNConnectionRoute {..}+    = JSON.object+        ["DestinationCidrBlock" JSON..= destinationCidrBlock,+         "VpnConnectionId" JSON..= vpnConnectionId]+instance Property "DestinationCidrBlock" VPNConnectionRoute where+  type PropertyType "DestinationCidrBlock" VPNConnectionRoute = Value Prelude.Text+  set newValue VPNConnectionRoute {..}+    = VPNConnectionRoute {destinationCidrBlock = newValue, ..}+instance Property "VpnConnectionId" VPNConnectionRoute where+  type PropertyType "VpnConnectionId" VPNConnectionRoute = Value Prelude.Text+  set newValue VPNConnectionRoute {..}+    = VPNConnectionRoute {vpnConnectionId = newValue, ..}
+ gen/Stratosphere/EC2/VPNGateway.hs view
@@ -0,0 +1,54 @@+module Stratosphere.EC2.VPNGateway (+        VPNGateway(..), mkVPNGateway+    ) 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 VPNGateway+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html>+    VPNGateway {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html#cfn-ec2-vpngateway-amazonsideasn>+                amazonSideAsn :: (Prelude.Maybe (Value Prelude.Integer)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html#cfn-ec2-vpngateway-tags>+                tags :: (Prelude.Maybe [Tag]),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngateway.html#cfn-ec2-vpngateway-type>+                type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPNGateway :: Value Prelude.Text -> VPNGateway+mkVPNGateway type'+  = VPNGateway+      {haddock_workaround_ = (), type' = type',+       amazonSideAsn = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties VPNGateway where+  toResourceProperties VPNGateway {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNGateway", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Type" JSON..= type']+                           (Prelude.catMaybes+                              [(JSON..=) "AmazonSideAsn" Prelude.<$> amazonSideAsn,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON VPNGateway where+  toJSON VPNGateway {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Type" JSON..= type']+              (Prelude.catMaybes+                 [(JSON..=) "AmazonSideAsn" Prelude.<$> amazonSideAsn,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AmazonSideAsn" VPNGateway where+  type PropertyType "AmazonSideAsn" VPNGateway = Value Prelude.Integer+  set newValue VPNGateway {..}+    = VPNGateway {amazonSideAsn = Prelude.pure newValue, ..}+instance Property "Tags" VPNGateway where+  type PropertyType "Tags" VPNGateway = [Tag]+  set newValue VPNGateway {..}+    = VPNGateway {tags = Prelude.pure newValue, ..}+instance Property "Type" VPNGateway where+  type PropertyType "Type" VPNGateway = Value Prelude.Text+  set newValue VPNGateway {..} = VPNGateway {type' = newValue, ..}
+ gen/Stratosphere/EC2/VPNGatewayRoutePropagation.hs view
@@ -0,0 +1,43 @@+module Stratosphere.EC2.VPNGatewayRoutePropagation (+        VPNGatewayRoutePropagation(..), mkVPNGatewayRoutePropagation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VPNGatewayRoutePropagation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html>+    VPNGatewayRoutePropagation {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html#cfn-ec2-vpngatewayroutepropagation-routetableids>+                                routeTableIds :: (ValueList Prelude.Text),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpngatewayroutepropagation.html#cfn-ec2-vpngatewayroutepropagation-vpngatewayid>+                                vpnGatewayId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVPNGatewayRoutePropagation ::+  ValueList Prelude.Text+  -> Value Prelude.Text -> VPNGatewayRoutePropagation+mkVPNGatewayRoutePropagation routeTableIds vpnGatewayId+  = VPNGatewayRoutePropagation+      {haddock_workaround_ = (), routeTableIds = routeTableIds,+       vpnGatewayId = vpnGatewayId}+instance ToResourceProperties VPNGatewayRoutePropagation where+  toResourceProperties VPNGatewayRoutePropagation {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VPNGatewayRoutePropagation",+         supportsTags = Prelude.False,+         properties = ["RouteTableIds" JSON..= routeTableIds,+                       "VpnGatewayId" JSON..= vpnGatewayId]}+instance JSON.ToJSON VPNGatewayRoutePropagation where+  toJSON VPNGatewayRoutePropagation {..}+    = JSON.object+        ["RouteTableIds" JSON..= routeTableIds,+         "VpnGatewayId" JSON..= vpnGatewayId]+instance Property "RouteTableIds" VPNGatewayRoutePropagation where+  type PropertyType "RouteTableIds" VPNGatewayRoutePropagation = ValueList Prelude.Text+  set newValue VPNGatewayRoutePropagation {..}+    = VPNGatewayRoutePropagation {routeTableIds = newValue, ..}+instance Property "VpnGatewayId" VPNGatewayRoutePropagation where+  type PropertyType "VpnGatewayId" VPNGatewayRoutePropagation = Value Prelude.Text+  set newValue VPNGatewayRoutePropagation {..}+    = VPNGatewayRoutePropagation {vpnGatewayId = newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint.hs view
@@ -0,0 +1,193 @@+module Stratosphere.EC2.VerifiedAccessEndpoint (+        module Exports, VerifiedAccessEndpoint(..),+        mkVerifiedAccessEndpoint+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessEndpoint.CidrOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessEndpoint.LoadBalancerOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessEndpoint.NetworkInterfaceOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessEndpoint.RdsOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessEndpoint.SseSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VerifiedAccessEndpoint+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html>+    VerifiedAccessEndpoint {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-applicationdomain>+                            applicationDomain :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-attachmenttype>+                            attachmentType :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-cidroptions>+                            cidrOptions :: (Prelude.Maybe CidrOptionsProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-description>+                            description :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-domaincertificatearn>+                            domainCertificateArn :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-endpointdomainprefix>+                            endpointDomainPrefix :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-endpointtype>+                            endpointType :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-loadbalanceroptions>+                            loadBalancerOptions :: (Prelude.Maybe LoadBalancerOptionsProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-networkinterfaceoptions>+                            networkInterfaceOptions :: (Prelude.Maybe NetworkInterfaceOptionsProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-policydocument>+                            policyDocument :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-policyenabled>+                            policyEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-rdsoptions>+                            rdsOptions :: (Prelude.Maybe RdsOptionsProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-securitygroupids>+                            securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-ssespecification>+                            sseSpecification :: (Prelude.Maybe SseSpecificationProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-tags>+                            tags :: (Prelude.Maybe [Tag]),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessendpoint.html#cfn-ec2-verifiedaccessendpoint-verifiedaccessgroupid>+                            verifiedAccessGroupId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVerifiedAccessEndpoint ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> VerifiedAccessEndpoint+mkVerifiedAccessEndpoint+  attachmentType+  endpointType+  verifiedAccessGroupId+  = VerifiedAccessEndpoint+      {haddock_workaround_ = (), attachmentType = attachmentType,+       endpointType = endpointType,+       verifiedAccessGroupId = verifiedAccessGroupId,+       applicationDomain = Prelude.Nothing, cidrOptions = Prelude.Nothing,+       description = Prelude.Nothing,+       domainCertificateArn = Prelude.Nothing,+       endpointDomainPrefix = Prelude.Nothing,+       loadBalancerOptions = Prelude.Nothing,+       networkInterfaceOptions = Prelude.Nothing,+       policyDocument = Prelude.Nothing, policyEnabled = Prelude.Nothing,+       rdsOptions = Prelude.Nothing, securityGroupIds = Prelude.Nothing,+       sseSpecification = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties VerifiedAccessEndpoint where+  toResourceProperties VerifiedAccessEndpoint {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessEndpoint",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AttachmentType" JSON..= attachmentType,+                            "EndpointType" JSON..= endpointType,+                            "VerifiedAccessGroupId" JSON..= verifiedAccessGroupId]+                           (Prelude.catMaybes+                              [(JSON..=) "ApplicationDomain" Prelude.<$> applicationDomain,+                               (JSON..=) "CidrOptions" Prelude.<$> cidrOptions,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DomainCertificateArn" Prelude.<$> domainCertificateArn,+                               (JSON..=) "EndpointDomainPrefix" Prelude.<$> endpointDomainPrefix,+                               (JSON..=) "LoadBalancerOptions" Prelude.<$> loadBalancerOptions,+                               (JSON..=) "NetworkInterfaceOptions"+                                 Prelude.<$> networkInterfaceOptions,+                               (JSON..=) "PolicyDocument" Prelude.<$> policyDocument,+                               (JSON..=) "PolicyEnabled" Prelude.<$> policyEnabled,+                               (JSON..=) "RdsOptions" Prelude.<$> rdsOptions,+                               (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                               (JSON..=) "SseSpecification" Prelude.<$> sseSpecification,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON VerifiedAccessEndpoint where+  toJSON VerifiedAccessEndpoint {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AttachmentType" JSON..= attachmentType,+               "EndpointType" JSON..= endpointType,+               "VerifiedAccessGroupId" JSON..= verifiedAccessGroupId]+              (Prelude.catMaybes+                 [(JSON..=) "ApplicationDomain" Prelude.<$> applicationDomain,+                  (JSON..=) "CidrOptions" Prelude.<$> cidrOptions,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DomainCertificateArn" Prelude.<$> domainCertificateArn,+                  (JSON..=) "EndpointDomainPrefix" Prelude.<$> endpointDomainPrefix,+                  (JSON..=) "LoadBalancerOptions" Prelude.<$> loadBalancerOptions,+                  (JSON..=) "NetworkInterfaceOptions"+                    Prelude.<$> networkInterfaceOptions,+                  (JSON..=) "PolicyDocument" Prelude.<$> policyDocument,+                  (JSON..=) "PolicyEnabled" Prelude.<$> policyEnabled,+                  (JSON..=) "RdsOptions" Prelude.<$> rdsOptions,+                  (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                  (JSON..=) "SseSpecification" Prelude.<$> sseSpecification,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "ApplicationDomain" VerifiedAccessEndpoint where+  type PropertyType "ApplicationDomain" VerifiedAccessEndpoint = Value Prelude.Text+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint+        {applicationDomain = Prelude.pure newValue, ..}+instance Property "AttachmentType" VerifiedAccessEndpoint where+  type PropertyType "AttachmentType" VerifiedAccessEndpoint = Value Prelude.Text+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint {attachmentType = newValue, ..}+instance Property "CidrOptions" VerifiedAccessEndpoint where+  type PropertyType "CidrOptions" VerifiedAccessEndpoint = CidrOptionsProperty+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint {cidrOptions = Prelude.pure newValue, ..}+instance Property "Description" VerifiedAccessEndpoint where+  type PropertyType "Description" VerifiedAccessEndpoint = Value Prelude.Text+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint {description = Prelude.pure newValue, ..}+instance Property "DomainCertificateArn" VerifiedAccessEndpoint where+  type PropertyType "DomainCertificateArn" VerifiedAccessEndpoint = Value Prelude.Text+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint+        {domainCertificateArn = Prelude.pure newValue, ..}+instance Property "EndpointDomainPrefix" VerifiedAccessEndpoint where+  type PropertyType "EndpointDomainPrefix" VerifiedAccessEndpoint = Value Prelude.Text+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint+        {endpointDomainPrefix = Prelude.pure newValue, ..}+instance Property "EndpointType" VerifiedAccessEndpoint where+  type PropertyType "EndpointType" VerifiedAccessEndpoint = Value Prelude.Text+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint {endpointType = newValue, ..}+instance Property "LoadBalancerOptions" VerifiedAccessEndpoint where+  type PropertyType "LoadBalancerOptions" VerifiedAccessEndpoint = LoadBalancerOptionsProperty+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint+        {loadBalancerOptions = Prelude.pure newValue, ..}+instance Property "NetworkInterfaceOptions" VerifiedAccessEndpoint where+  type PropertyType "NetworkInterfaceOptions" VerifiedAccessEndpoint = NetworkInterfaceOptionsProperty+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint+        {networkInterfaceOptions = Prelude.pure newValue, ..}+instance Property "PolicyDocument" VerifiedAccessEndpoint where+  type PropertyType "PolicyDocument" VerifiedAccessEndpoint = Value Prelude.Text+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint+        {policyDocument = Prelude.pure newValue, ..}+instance Property "PolicyEnabled" VerifiedAccessEndpoint where+  type PropertyType "PolicyEnabled" VerifiedAccessEndpoint = Value Prelude.Bool+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint+        {policyEnabled = Prelude.pure newValue, ..}+instance Property "RdsOptions" VerifiedAccessEndpoint where+  type PropertyType "RdsOptions" VerifiedAccessEndpoint = RdsOptionsProperty+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint {rdsOptions = Prelude.pure newValue, ..}+instance Property "SecurityGroupIds" VerifiedAccessEndpoint where+  type PropertyType "SecurityGroupIds" VerifiedAccessEndpoint = ValueList Prelude.Text+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint+        {securityGroupIds = Prelude.pure newValue, ..}+instance Property "SseSpecification" VerifiedAccessEndpoint where+  type PropertyType "SseSpecification" VerifiedAccessEndpoint = SseSpecificationProperty+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint+        {sseSpecification = Prelude.pure newValue, ..}+instance Property "Tags" VerifiedAccessEndpoint where+  type PropertyType "Tags" VerifiedAccessEndpoint = [Tag]+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint {tags = Prelude.pure newValue, ..}+instance Property "VerifiedAccessGroupId" VerifiedAccessEndpoint where+  type PropertyType "VerifiedAccessGroupId" VerifiedAccessEndpoint = Value Prelude.Text+  set newValue VerifiedAccessEndpoint {..}+    = VerifiedAccessEndpoint {verifiedAccessGroupId = newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/CidrOptionsProperty.hs view
@@ -0,0 +1,63 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.CidrOptionsProperty (+        module Exports, CidrOptionsProperty(..), mkCidrOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessEndpoint.PortRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CidrOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-cidroptions.html>+    CidrOptionsProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-cidroptions.html#cfn-ec2-verifiedaccessendpoint-cidroptions-cidr>+                         cidr :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-cidroptions.html#cfn-ec2-verifiedaccessendpoint-cidroptions-portranges>+                         portRanges :: (Prelude.Maybe [PortRangeProperty]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-cidroptions.html#cfn-ec2-verifiedaccessendpoint-cidroptions-protocol>+                         protocol :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-cidroptions.html#cfn-ec2-verifiedaccessendpoint-cidroptions-subnetids>+                         subnetIds :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCidrOptionsProperty :: CidrOptionsProperty+mkCidrOptionsProperty+  = CidrOptionsProperty+      {haddock_workaround_ = (), cidr = Prelude.Nothing,+       portRanges = Prelude.Nothing, protocol = Prelude.Nothing,+       subnetIds = Prelude.Nothing}+instance ToResourceProperties CidrOptionsProperty where+  toResourceProperties CidrOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessEndpoint.CidrOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Cidr" Prelude.<$> cidr,+                            (JSON..=) "PortRanges" Prelude.<$> portRanges,+                            (JSON..=) "Protocol" Prelude.<$> protocol,+                            (JSON..=) "SubnetIds" Prelude.<$> subnetIds])}+instance JSON.ToJSON CidrOptionsProperty where+  toJSON CidrOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Cidr" Prelude.<$> cidr,+               (JSON..=) "PortRanges" Prelude.<$> portRanges,+               (JSON..=) "Protocol" Prelude.<$> protocol,+               (JSON..=) "SubnetIds" Prelude.<$> subnetIds]))+instance Property "Cidr" CidrOptionsProperty where+  type PropertyType "Cidr" CidrOptionsProperty = Value Prelude.Text+  set newValue CidrOptionsProperty {..}+    = CidrOptionsProperty {cidr = Prelude.pure newValue, ..}+instance Property "PortRanges" CidrOptionsProperty where+  type PropertyType "PortRanges" CidrOptionsProperty = [PortRangeProperty]+  set newValue CidrOptionsProperty {..}+    = CidrOptionsProperty {portRanges = Prelude.pure newValue, ..}+instance Property "Protocol" CidrOptionsProperty where+  type PropertyType "Protocol" CidrOptionsProperty = Value Prelude.Text+  set newValue CidrOptionsProperty {..}+    = CidrOptionsProperty {protocol = Prelude.pure newValue, ..}+instance Property "SubnetIds" CidrOptionsProperty where+  type PropertyType "SubnetIds" CidrOptionsProperty = ValueList Prelude.Text+  set newValue CidrOptionsProperty {..}+    = CidrOptionsProperty {subnetIds = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/CidrOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.CidrOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CidrOptionsProperty :: Prelude.Type+instance ToResourceProperties CidrOptionsProperty+instance Prelude.Eq CidrOptionsProperty+instance Prelude.Show CidrOptionsProperty+instance JSON.ToJSON CidrOptionsProperty
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/LoadBalancerOptionsProperty.hs view
@@ -0,0 +1,76 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.LoadBalancerOptionsProperty (+        module Exports, LoadBalancerOptionsProperty(..),+        mkLoadBalancerOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessEndpoint.PortRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LoadBalancerOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-loadbalanceroptions.html>+    LoadBalancerOptionsProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-loadbalanceroptions.html#cfn-ec2-verifiedaccessendpoint-loadbalanceroptions-loadbalancerarn>+                                 loadBalancerArn :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-loadbalanceroptions.html#cfn-ec2-verifiedaccessendpoint-loadbalanceroptions-port>+                                 port :: (Prelude.Maybe (Value Prelude.Integer)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-loadbalanceroptions.html#cfn-ec2-verifiedaccessendpoint-loadbalanceroptions-portranges>+                                 portRanges :: (Prelude.Maybe [PortRangeProperty]),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-loadbalanceroptions.html#cfn-ec2-verifiedaccessendpoint-loadbalanceroptions-protocol>+                                 protocol :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-loadbalanceroptions.html#cfn-ec2-verifiedaccessendpoint-loadbalanceroptions-subnetids>+                                 subnetIds :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLoadBalancerOptionsProperty :: LoadBalancerOptionsProperty+mkLoadBalancerOptionsProperty+  = LoadBalancerOptionsProperty+      {haddock_workaround_ = (), loadBalancerArn = Prelude.Nothing,+       port = Prelude.Nothing, portRanges = Prelude.Nothing,+       protocol = Prelude.Nothing, subnetIds = Prelude.Nothing}+instance ToResourceProperties LoadBalancerOptionsProperty where+  toResourceProperties LoadBalancerOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessEndpoint.LoadBalancerOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "LoadBalancerArn" Prelude.<$> loadBalancerArn,+                            (JSON..=) "Port" Prelude.<$> port,+                            (JSON..=) "PortRanges" Prelude.<$> portRanges,+                            (JSON..=) "Protocol" Prelude.<$> protocol,+                            (JSON..=) "SubnetIds" Prelude.<$> subnetIds])}+instance JSON.ToJSON LoadBalancerOptionsProperty where+  toJSON LoadBalancerOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "LoadBalancerArn" Prelude.<$> loadBalancerArn,+               (JSON..=) "Port" Prelude.<$> port,+               (JSON..=) "PortRanges" Prelude.<$> portRanges,+               (JSON..=) "Protocol" Prelude.<$> protocol,+               (JSON..=) "SubnetIds" Prelude.<$> subnetIds]))+instance Property "LoadBalancerArn" LoadBalancerOptionsProperty where+  type PropertyType "LoadBalancerArn" LoadBalancerOptionsProperty = Value Prelude.Text+  set newValue LoadBalancerOptionsProperty {..}+    = LoadBalancerOptionsProperty+        {loadBalancerArn = Prelude.pure newValue, ..}+instance Property "Port" LoadBalancerOptionsProperty where+  type PropertyType "Port" LoadBalancerOptionsProperty = Value Prelude.Integer+  set newValue LoadBalancerOptionsProperty {..}+    = LoadBalancerOptionsProperty {port = Prelude.pure newValue, ..}+instance Property "PortRanges" LoadBalancerOptionsProperty where+  type PropertyType "PortRanges" LoadBalancerOptionsProperty = [PortRangeProperty]+  set newValue LoadBalancerOptionsProperty {..}+    = LoadBalancerOptionsProperty+        {portRanges = Prelude.pure newValue, ..}+instance Property "Protocol" LoadBalancerOptionsProperty where+  type PropertyType "Protocol" LoadBalancerOptionsProperty = Value Prelude.Text+  set newValue LoadBalancerOptionsProperty {..}+    = LoadBalancerOptionsProperty+        {protocol = Prelude.pure newValue, ..}+instance Property "SubnetIds" LoadBalancerOptionsProperty where+  type PropertyType "SubnetIds" LoadBalancerOptionsProperty = ValueList Prelude.Text+  set newValue LoadBalancerOptionsProperty {..}+    = LoadBalancerOptionsProperty+        {subnetIds = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/LoadBalancerOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.LoadBalancerOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LoadBalancerOptionsProperty :: Prelude.Type+instance ToResourceProperties LoadBalancerOptionsProperty+instance Prelude.Eq LoadBalancerOptionsProperty+instance Prelude.Show LoadBalancerOptionsProperty+instance JSON.ToJSON LoadBalancerOptionsProperty
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/NetworkInterfaceOptionsProperty.hs view
@@ -0,0 +1,69 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.NetworkInterfaceOptionsProperty (+        module Exports, NetworkInterfaceOptionsProperty(..),+        mkNetworkInterfaceOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessEndpoint.PortRangeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NetworkInterfaceOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-networkinterfaceoptions.html>+    NetworkInterfaceOptionsProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-networkinterfaceoptions.html#cfn-ec2-verifiedaccessendpoint-networkinterfaceoptions-networkinterfaceid>+                                     networkInterfaceId :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-networkinterfaceoptions.html#cfn-ec2-verifiedaccessendpoint-networkinterfaceoptions-port>+                                     port :: (Prelude.Maybe (Value Prelude.Integer)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-networkinterfaceoptions.html#cfn-ec2-verifiedaccessendpoint-networkinterfaceoptions-portranges>+                                     portRanges :: (Prelude.Maybe [PortRangeProperty]),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-networkinterfaceoptions.html#cfn-ec2-verifiedaccessendpoint-networkinterfaceoptions-protocol>+                                     protocol :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNetworkInterfaceOptionsProperty ::+  NetworkInterfaceOptionsProperty+mkNetworkInterfaceOptionsProperty+  = NetworkInterfaceOptionsProperty+      {haddock_workaround_ = (), networkInterfaceId = Prelude.Nothing,+       port = Prelude.Nothing, portRanges = Prelude.Nothing,+       protocol = Prelude.Nothing}+instance ToResourceProperties NetworkInterfaceOptionsProperty where+  toResourceProperties NetworkInterfaceOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessEndpoint.NetworkInterfaceOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+                            (JSON..=) "Port" Prelude.<$> port,+                            (JSON..=) "PortRanges" Prelude.<$> portRanges,+                            (JSON..=) "Protocol" Prelude.<$> protocol])}+instance JSON.ToJSON NetworkInterfaceOptionsProperty where+  toJSON NetworkInterfaceOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "NetworkInterfaceId" Prelude.<$> networkInterfaceId,+               (JSON..=) "Port" Prelude.<$> port,+               (JSON..=) "PortRanges" Prelude.<$> portRanges,+               (JSON..=) "Protocol" Prelude.<$> protocol]))+instance Property "NetworkInterfaceId" NetworkInterfaceOptionsProperty where+  type PropertyType "NetworkInterfaceId" NetworkInterfaceOptionsProperty = Value Prelude.Text+  set newValue NetworkInterfaceOptionsProperty {..}+    = NetworkInterfaceOptionsProperty+        {networkInterfaceId = Prelude.pure newValue, ..}+instance Property "Port" NetworkInterfaceOptionsProperty where+  type PropertyType "Port" NetworkInterfaceOptionsProperty = Value Prelude.Integer+  set newValue NetworkInterfaceOptionsProperty {..}+    = NetworkInterfaceOptionsProperty+        {port = Prelude.pure newValue, ..}+instance Property "PortRanges" NetworkInterfaceOptionsProperty where+  type PropertyType "PortRanges" NetworkInterfaceOptionsProperty = [PortRangeProperty]+  set newValue NetworkInterfaceOptionsProperty {..}+    = NetworkInterfaceOptionsProperty+        {portRanges = Prelude.pure newValue, ..}+instance Property "Protocol" NetworkInterfaceOptionsProperty where+  type PropertyType "Protocol" NetworkInterfaceOptionsProperty = Value Prelude.Text+  set newValue NetworkInterfaceOptionsProperty {..}+    = NetworkInterfaceOptionsProperty+        {protocol = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/NetworkInterfaceOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.NetworkInterfaceOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NetworkInterfaceOptionsProperty :: Prelude.Type+instance ToResourceProperties NetworkInterfaceOptionsProperty+instance Prelude.Eq NetworkInterfaceOptionsProperty+instance Prelude.Show NetworkInterfaceOptionsProperty+instance JSON.ToJSON NetworkInterfaceOptionsProperty
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/PortRangeProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.PortRangeProperty (+        PortRangeProperty(..), mkPortRangeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PortRangeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-portrange.html>+    PortRangeProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-portrange.html#cfn-ec2-verifiedaccessendpoint-portrange-fromport>+                       fromPort :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-portrange.html#cfn-ec2-verifiedaccessendpoint-portrange-toport>+                       toPort :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPortRangeProperty :: PortRangeProperty+mkPortRangeProperty+  = PortRangeProperty+      {haddock_workaround_ = (), fromPort = Prelude.Nothing,+       toPort = Prelude.Nothing}+instance ToResourceProperties PortRangeProperty where+  toResourceProperties PortRangeProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessEndpoint.PortRange",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "FromPort" Prelude.<$> fromPort,+                            (JSON..=) "ToPort" Prelude.<$> toPort])}+instance JSON.ToJSON PortRangeProperty where+  toJSON PortRangeProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "FromPort" Prelude.<$> fromPort,+               (JSON..=) "ToPort" Prelude.<$> toPort]))+instance Property "FromPort" PortRangeProperty where+  type PropertyType "FromPort" PortRangeProperty = Value Prelude.Integer+  set newValue PortRangeProperty {..}+    = PortRangeProperty {fromPort = Prelude.pure newValue, ..}+instance Property "ToPort" PortRangeProperty where+  type PropertyType "ToPort" PortRangeProperty = Value Prelude.Integer+  set newValue PortRangeProperty {..}+    = PortRangeProperty {toPort = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/PortRangeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.PortRangeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PortRangeProperty :: Prelude.Type+instance ToResourceProperties PortRangeProperty+instance Prelude.Eq PortRangeProperty+instance Prelude.Show PortRangeProperty+instance JSON.ToJSON PortRangeProperty
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/RdsOptionsProperty.hs view
@@ -0,0 +1,88 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.RdsOptionsProperty (+        RdsOptionsProperty(..), mkRdsOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RdsOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-rdsoptions.html>+    RdsOptionsProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-rdsoptions.html#cfn-ec2-verifiedaccessendpoint-rdsoptions-port>+                        port :: (Prelude.Maybe (Value Prelude.Integer)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-rdsoptions.html#cfn-ec2-verifiedaccessendpoint-rdsoptions-protocol>+                        protocol :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-rdsoptions.html#cfn-ec2-verifiedaccessendpoint-rdsoptions-rdsdbclusterarn>+                        rdsDbClusterArn :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-rdsoptions.html#cfn-ec2-verifiedaccessendpoint-rdsoptions-rdsdbinstancearn>+                        rdsDbInstanceArn :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-rdsoptions.html#cfn-ec2-verifiedaccessendpoint-rdsoptions-rdsdbproxyarn>+                        rdsDbProxyArn :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-rdsoptions.html#cfn-ec2-verifiedaccessendpoint-rdsoptions-rdsendpoint>+                        rdsEndpoint :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-rdsoptions.html#cfn-ec2-verifiedaccessendpoint-rdsoptions-subnetids>+                        subnetIds :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRdsOptionsProperty :: RdsOptionsProperty+mkRdsOptionsProperty+  = RdsOptionsProperty+      {haddock_workaround_ = (), port = Prelude.Nothing,+       protocol = Prelude.Nothing, rdsDbClusterArn = Prelude.Nothing,+       rdsDbInstanceArn = Prelude.Nothing,+       rdsDbProxyArn = Prelude.Nothing, rdsEndpoint = Prelude.Nothing,+       subnetIds = Prelude.Nothing}+instance ToResourceProperties RdsOptionsProperty where+  toResourceProperties RdsOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessEndpoint.RdsOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Port" Prelude.<$> port,+                            (JSON..=) "Protocol" Prelude.<$> protocol,+                            (JSON..=) "RdsDbClusterArn" Prelude.<$> rdsDbClusterArn,+                            (JSON..=) "RdsDbInstanceArn" Prelude.<$> rdsDbInstanceArn,+                            (JSON..=) "RdsDbProxyArn" Prelude.<$> rdsDbProxyArn,+                            (JSON..=) "RdsEndpoint" Prelude.<$> rdsEndpoint,+                            (JSON..=) "SubnetIds" Prelude.<$> subnetIds])}+instance JSON.ToJSON RdsOptionsProperty where+  toJSON RdsOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Port" Prelude.<$> port,+               (JSON..=) "Protocol" Prelude.<$> protocol,+               (JSON..=) "RdsDbClusterArn" Prelude.<$> rdsDbClusterArn,+               (JSON..=) "RdsDbInstanceArn" Prelude.<$> rdsDbInstanceArn,+               (JSON..=) "RdsDbProxyArn" Prelude.<$> rdsDbProxyArn,+               (JSON..=) "RdsEndpoint" Prelude.<$> rdsEndpoint,+               (JSON..=) "SubnetIds" Prelude.<$> subnetIds]))+instance Property "Port" RdsOptionsProperty where+  type PropertyType "Port" RdsOptionsProperty = Value Prelude.Integer+  set newValue RdsOptionsProperty {..}+    = RdsOptionsProperty {port = Prelude.pure newValue, ..}+instance Property "Protocol" RdsOptionsProperty where+  type PropertyType "Protocol" RdsOptionsProperty = Value Prelude.Text+  set newValue RdsOptionsProperty {..}+    = RdsOptionsProperty {protocol = Prelude.pure newValue, ..}+instance Property "RdsDbClusterArn" RdsOptionsProperty where+  type PropertyType "RdsDbClusterArn" RdsOptionsProperty = Value Prelude.Text+  set newValue RdsOptionsProperty {..}+    = RdsOptionsProperty {rdsDbClusterArn = Prelude.pure newValue, ..}+instance Property "RdsDbInstanceArn" RdsOptionsProperty where+  type PropertyType "RdsDbInstanceArn" RdsOptionsProperty = Value Prelude.Text+  set newValue RdsOptionsProperty {..}+    = RdsOptionsProperty {rdsDbInstanceArn = Prelude.pure newValue, ..}+instance Property "RdsDbProxyArn" RdsOptionsProperty where+  type PropertyType "RdsDbProxyArn" RdsOptionsProperty = Value Prelude.Text+  set newValue RdsOptionsProperty {..}+    = RdsOptionsProperty {rdsDbProxyArn = Prelude.pure newValue, ..}+instance Property "RdsEndpoint" RdsOptionsProperty where+  type PropertyType "RdsEndpoint" RdsOptionsProperty = Value Prelude.Text+  set newValue RdsOptionsProperty {..}+    = RdsOptionsProperty {rdsEndpoint = Prelude.pure newValue, ..}+instance Property "SubnetIds" RdsOptionsProperty where+  type PropertyType "SubnetIds" RdsOptionsProperty = ValueList Prelude.Text+  set newValue RdsOptionsProperty {..}+    = RdsOptionsProperty {subnetIds = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/RdsOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.RdsOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RdsOptionsProperty :: Prelude.Type+instance ToResourceProperties RdsOptionsProperty+instance Prelude.Eq RdsOptionsProperty+instance Prelude.Show RdsOptionsProperty+instance JSON.ToJSON RdsOptionsProperty
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/SseSpecificationProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.SseSpecificationProperty (+        SseSpecificationProperty(..), mkSseSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SseSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-ssespecification.html>+    SseSpecificationProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-ssespecification.html#cfn-ec2-verifiedaccessendpoint-ssespecification-customermanagedkeyenabled>+                              customerManagedKeyEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessendpoint-ssespecification.html#cfn-ec2-verifiedaccessendpoint-ssespecification-kmskeyarn>+                              kmsKeyArn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSseSpecificationProperty :: SseSpecificationProperty+mkSseSpecificationProperty+  = SseSpecificationProperty+      {haddock_workaround_ = (),+       customerManagedKeyEnabled = Prelude.Nothing,+       kmsKeyArn = Prelude.Nothing}+instance ToResourceProperties SseSpecificationProperty where+  toResourceProperties SseSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessEndpoint.SseSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CustomerManagedKeyEnabled"+                              Prelude.<$> customerManagedKeyEnabled,+                            (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn])}+instance JSON.ToJSON SseSpecificationProperty where+  toJSON SseSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CustomerManagedKeyEnabled"+                 Prelude.<$> customerManagedKeyEnabled,+               (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn]))+instance Property "CustomerManagedKeyEnabled" SseSpecificationProperty where+  type PropertyType "CustomerManagedKeyEnabled" SseSpecificationProperty = Value Prelude.Bool+  set newValue SseSpecificationProperty {..}+    = SseSpecificationProperty+        {customerManagedKeyEnabled = Prelude.pure newValue, ..}+instance Property "KmsKeyArn" SseSpecificationProperty where+  type PropertyType "KmsKeyArn" SseSpecificationProperty = Value Prelude.Text+  set newValue SseSpecificationProperty {..}+    = SseSpecificationProperty {kmsKeyArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessEndpoint/SseSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessEndpoint.SseSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SseSpecificationProperty :: Prelude.Type+instance ToResourceProperties SseSpecificationProperty+instance Prelude.Eq SseSpecificationProperty+instance Prelude.Show SseSpecificationProperty+instance JSON.ToJSON SseSpecificationProperty
+ gen/Stratosphere/EC2/VerifiedAccessGroup.hs view
@@ -0,0 +1,85 @@+module Stratosphere.EC2.VerifiedAccessGroup (+        module Exports, VerifiedAccessGroup(..), mkVerifiedAccessGroup+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessGroup.SseSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VerifiedAccessGroup+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html>+    VerifiedAccessGroup {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html#cfn-ec2-verifiedaccessgroup-description>+                         description :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html#cfn-ec2-verifiedaccessgroup-policydocument>+                         policyDocument :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html#cfn-ec2-verifiedaccessgroup-policyenabled>+                         policyEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html#cfn-ec2-verifiedaccessgroup-ssespecification>+                         sseSpecification :: (Prelude.Maybe SseSpecificationProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html#cfn-ec2-verifiedaccessgroup-tags>+                         tags :: (Prelude.Maybe [Tag]),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessgroup.html#cfn-ec2-verifiedaccessgroup-verifiedaccessinstanceid>+                         verifiedAccessInstanceId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVerifiedAccessGroup :: Value Prelude.Text -> VerifiedAccessGroup+mkVerifiedAccessGroup verifiedAccessInstanceId+  = VerifiedAccessGroup+      {haddock_workaround_ = (),+       verifiedAccessInstanceId = verifiedAccessInstanceId,+       description = Prelude.Nothing, policyDocument = Prelude.Nothing,+       policyEnabled = Prelude.Nothing,+       sseSpecification = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties VerifiedAccessGroup where+  toResourceProperties VerifiedAccessGroup {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessGroup",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["VerifiedAccessInstanceId" JSON..= verifiedAccessInstanceId]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "PolicyDocument" Prelude.<$> policyDocument,+                               (JSON..=) "PolicyEnabled" Prelude.<$> policyEnabled,+                               (JSON..=) "SseSpecification" Prelude.<$> sseSpecification,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON VerifiedAccessGroup where+  toJSON VerifiedAccessGroup {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["VerifiedAccessInstanceId" JSON..= verifiedAccessInstanceId]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "PolicyDocument" Prelude.<$> policyDocument,+                  (JSON..=) "PolicyEnabled" Prelude.<$> policyEnabled,+                  (JSON..=) "SseSpecification" Prelude.<$> sseSpecification,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Description" VerifiedAccessGroup where+  type PropertyType "Description" VerifiedAccessGroup = Value Prelude.Text+  set newValue VerifiedAccessGroup {..}+    = VerifiedAccessGroup {description = Prelude.pure newValue, ..}+instance Property "PolicyDocument" VerifiedAccessGroup where+  type PropertyType "PolicyDocument" VerifiedAccessGroup = Value Prelude.Text+  set newValue VerifiedAccessGroup {..}+    = VerifiedAccessGroup {policyDocument = Prelude.pure newValue, ..}+instance Property "PolicyEnabled" VerifiedAccessGroup where+  type PropertyType "PolicyEnabled" VerifiedAccessGroup = Value Prelude.Bool+  set newValue VerifiedAccessGroup {..}+    = VerifiedAccessGroup {policyEnabled = Prelude.pure newValue, ..}+instance Property "SseSpecification" VerifiedAccessGroup where+  type PropertyType "SseSpecification" VerifiedAccessGroup = SseSpecificationProperty+  set newValue VerifiedAccessGroup {..}+    = VerifiedAccessGroup+        {sseSpecification = Prelude.pure newValue, ..}+instance Property "Tags" VerifiedAccessGroup where+  type PropertyType "Tags" VerifiedAccessGroup = [Tag]+  set newValue VerifiedAccessGroup {..}+    = VerifiedAccessGroup {tags = Prelude.pure newValue, ..}+instance Property "VerifiedAccessInstanceId" VerifiedAccessGroup where+  type PropertyType "VerifiedAccessInstanceId" VerifiedAccessGroup = Value Prelude.Text+  set newValue VerifiedAccessGroup {..}+    = VerifiedAccessGroup {verifiedAccessInstanceId = newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessGroup/SseSpecificationProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.VerifiedAccessGroup.SseSpecificationProperty (+        SseSpecificationProperty(..), mkSseSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SseSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessgroup-ssespecification.html>+    SseSpecificationProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessgroup-ssespecification.html#cfn-ec2-verifiedaccessgroup-ssespecification-customermanagedkeyenabled>+                              customerManagedKeyEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessgroup-ssespecification.html#cfn-ec2-verifiedaccessgroup-ssespecification-kmskeyarn>+                              kmsKeyArn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSseSpecificationProperty :: SseSpecificationProperty+mkSseSpecificationProperty+  = SseSpecificationProperty+      {haddock_workaround_ = (),+       customerManagedKeyEnabled = Prelude.Nothing,+       kmsKeyArn = Prelude.Nothing}+instance ToResourceProperties SseSpecificationProperty where+  toResourceProperties SseSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessGroup.SseSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CustomerManagedKeyEnabled"+                              Prelude.<$> customerManagedKeyEnabled,+                            (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn])}+instance JSON.ToJSON SseSpecificationProperty where+  toJSON SseSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CustomerManagedKeyEnabled"+                 Prelude.<$> customerManagedKeyEnabled,+               (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn]))+instance Property "CustomerManagedKeyEnabled" SseSpecificationProperty where+  type PropertyType "CustomerManagedKeyEnabled" SseSpecificationProperty = Value Prelude.Bool+  set newValue SseSpecificationProperty {..}+    = SseSpecificationProperty+        {customerManagedKeyEnabled = Prelude.pure newValue, ..}+instance Property "KmsKeyArn" SseSpecificationProperty where+  type PropertyType "KmsKeyArn" SseSpecificationProperty = Value Prelude.Text+  set newValue SseSpecificationProperty {..}+    = SseSpecificationProperty {kmsKeyArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessGroup/SseSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessGroup.SseSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SseSpecificationProperty :: Prelude.Type+instance ToResourceProperties SseSpecificationProperty+instance Prelude.Eq SseSpecificationProperty+instance Prelude.Show SseSpecificationProperty+instance JSON.ToJSON SseSpecificationProperty
+ gen/Stratosphere/EC2/VerifiedAccessInstance.hs view
@@ -0,0 +1,105 @@+module Stratosphere.EC2.VerifiedAccessInstance (+        module Exports, VerifiedAccessInstance(..),+        mkVerifiedAccessInstance+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessLogsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessTrustProviderProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VerifiedAccessInstance+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html>+    VerifiedAccessInstance {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-cidrendpointscustomsubdomain>+                            cidrEndpointsCustomSubDomain :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-description>+                            description :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-fipsenabled>+                            fipsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-loggingconfigurations>+                            loggingConfigurations :: (Prelude.Maybe VerifiedAccessLogsProperty),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-tags>+                            tags :: (Prelude.Maybe [Tag]),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-verifiedaccesstrustproviderids>+                            verifiedAccessTrustProviderIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccessinstance.html#cfn-ec2-verifiedaccessinstance-verifiedaccesstrustproviders>+                            verifiedAccessTrustProviders :: (Prelude.Maybe [VerifiedAccessTrustProviderProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVerifiedAccessInstance :: VerifiedAccessInstance+mkVerifiedAccessInstance+  = VerifiedAccessInstance+      {haddock_workaround_ = (),+       cidrEndpointsCustomSubDomain = Prelude.Nothing,+       description = Prelude.Nothing, fipsEnabled = Prelude.Nothing,+       loggingConfigurations = Prelude.Nothing, tags = Prelude.Nothing,+       verifiedAccessTrustProviderIds = Prelude.Nothing,+       verifiedAccessTrustProviders = Prelude.Nothing}+instance ToResourceProperties VerifiedAccessInstance where+  toResourceProperties VerifiedAccessInstance {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessInstance",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CidrEndpointsCustomSubDomain"+                              Prelude.<$> cidrEndpointsCustomSubDomain,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "FipsEnabled" Prelude.<$> fipsEnabled,+                            (JSON..=) "LoggingConfigurations"+                              Prelude.<$> loggingConfigurations,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "VerifiedAccessTrustProviderIds"+                              Prelude.<$> verifiedAccessTrustProviderIds,+                            (JSON..=) "VerifiedAccessTrustProviders"+                              Prelude.<$> verifiedAccessTrustProviders])}+instance JSON.ToJSON VerifiedAccessInstance where+  toJSON VerifiedAccessInstance {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CidrEndpointsCustomSubDomain"+                 Prelude.<$> cidrEndpointsCustomSubDomain,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "FipsEnabled" Prelude.<$> fipsEnabled,+               (JSON..=) "LoggingConfigurations"+                 Prelude.<$> loggingConfigurations,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "VerifiedAccessTrustProviderIds"+                 Prelude.<$> verifiedAccessTrustProviderIds,+               (JSON..=) "VerifiedAccessTrustProviders"+                 Prelude.<$> verifiedAccessTrustProviders]))+instance Property "CidrEndpointsCustomSubDomain" VerifiedAccessInstance where+  type PropertyType "CidrEndpointsCustomSubDomain" VerifiedAccessInstance = Value Prelude.Text+  set newValue VerifiedAccessInstance {..}+    = VerifiedAccessInstance+        {cidrEndpointsCustomSubDomain = Prelude.pure newValue, ..}+instance Property "Description" VerifiedAccessInstance where+  type PropertyType "Description" VerifiedAccessInstance = Value Prelude.Text+  set newValue VerifiedAccessInstance {..}+    = VerifiedAccessInstance {description = Prelude.pure newValue, ..}+instance Property "FipsEnabled" VerifiedAccessInstance where+  type PropertyType "FipsEnabled" VerifiedAccessInstance = Value Prelude.Bool+  set newValue VerifiedAccessInstance {..}+    = VerifiedAccessInstance {fipsEnabled = Prelude.pure newValue, ..}+instance Property "LoggingConfigurations" VerifiedAccessInstance where+  type PropertyType "LoggingConfigurations" VerifiedAccessInstance = VerifiedAccessLogsProperty+  set newValue VerifiedAccessInstance {..}+    = VerifiedAccessInstance+        {loggingConfigurations = Prelude.pure newValue, ..}+instance Property "Tags" VerifiedAccessInstance where+  type PropertyType "Tags" VerifiedAccessInstance = [Tag]+  set newValue VerifiedAccessInstance {..}+    = VerifiedAccessInstance {tags = Prelude.pure newValue, ..}+instance Property "VerifiedAccessTrustProviderIds" VerifiedAccessInstance where+  type PropertyType "VerifiedAccessTrustProviderIds" VerifiedAccessInstance = ValueList Prelude.Text+  set newValue VerifiedAccessInstance {..}+    = VerifiedAccessInstance+        {verifiedAccessTrustProviderIds = Prelude.pure newValue, ..}+instance Property "VerifiedAccessTrustProviders" VerifiedAccessInstance where+  type PropertyType "VerifiedAccessTrustProviders" VerifiedAccessInstance = [VerifiedAccessTrustProviderProperty]+  set newValue VerifiedAccessInstance {..}+    = VerifiedAccessInstance+        {verifiedAccessTrustProviders = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessInstance/CloudWatchLogsProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EC2.VerifiedAccessInstance.CloudWatchLogsProperty (+        CloudWatchLogsProperty(..), mkCloudWatchLogsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CloudWatchLogsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-cloudwatchlogs.html>+    CloudWatchLogsProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-cloudwatchlogs.html#cfn-ec2-verifiedaccessinstance-cloudwatchlogs-enabled>+                            enabled :: (Prelude.Maybe (Value Prelude.Bool)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-cloudwatchlogs.html#cfn-ec2-verifiedaccessinstance-cloudwatchlogs-loggroup>+                            logGroup :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCloudWatchLogsProperty :: CloudWatchLogsProperty+mkCloudWatchLogsProperty+  = CloudWatchLogsProperty+      {haddock_workaround_ = (), enabled = Prelude.Nothing,+       logGroup = Prelude.Nothing}+instance ToResourceProperties CloudWatchLogsProperty where+  toResourceProperties CloudWatchLogsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessInstance.CloudWatchLogs",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Enabled" Prelude.<$> enabled,+                            (JSON..=) "LogGroup" Prelude.<$> logGroup])}+instance JSON.ToJSON CloudWatchLogsProperty where+  toJSON CloudWatchLogsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Enabled" Prelude.<$> enabled,+               (JSON..=) "LogGroup" Prelude.<$> logGroup]))+instance Property "Enabled" CloudWatchLogsProperty where+  type PropertyType "Enabled" CloudWatchLogsProperty = Value Prelude.Bool+  set newValue CloudWatchLogsProperty {..}+    = CloudWatchLogsProperty {enabled = Prelude.pure newValue, ..}+instance Property "LogGroup" CloudWatchLogsProperty where+  type PropertyType "LogGroup" CloudWatchLogsProperty = Value Prelude.Text+  set newValue CloudWatchLogsProperty {..}+    = CloudWatchLogsProperty {logGroup = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessInstance/CloudWatchLogsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessInstance.CloudWatchLogsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CloudWatchLogsProperty :: Prelude.Type+instance ToResourceProperties CloudWatchLogsProperty+instance Prelude.Eq CloudWatchLogsProperty+instance Prelude.Show CloudWatchLogsProperty+instance JSON.ToJSON CloudWatchLogsProperty
+ gen/Stratosphere/EC2/VerifiedAccessInstance/KinesisDataFirehoseProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.EC2.VerifiedAccessInstance.KinesisDataFirehoseProperty (+        KinesisDataFirehoseProperty(..), mkKinesisDataFirehoseProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data KinesisDataFirehoseProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-kinesisdatafirehose.html>+    KinesisDataFirehoseProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-kinesisdatafirehose.html#cfn-ec2-verifiedaccessinstance-kinesisdatafirehose-deliverystream>+                                 deliveryStream :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-kinesisdatafirehose.html#cfn-ec2-verifiedaccessinstance-kinesisdatafirehose-enabled>+                                 enabled :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkKinesisDataFirehoseProperty :: KinesisDataFirehoseProperty+mkKinesisDataFirehoseProperty+  = KinesisDataFirehoseProperty+      {haddock_workaround_ = (), deliveryStream = Prelude.Nothing,+       enabled = Prelude.Nothing}+instance ToResourceProperties KinesisDataFirehoseProperty where+  toResourceProperties KinesisDataFirehoseProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessInstance.KinesisDataFirehose",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DeliveryStream" Prelude.<$> deliveryStream,+                            (JSON..=) "Enabled" Prelude.<$> enabled])}+instance JSON.ToJSON KinesisDataFirehoseProperty where+  toJSON KinesisDataFirehoseProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DeliveryStream" Prelude.<$> deliveryStream,+               (JSON..=) "Enabled" Prelude.<$> enabled]))+instance Property "DeliveryStream" KinesisDataFirehoseProperty where+  type PropertyType "DeliveryStream" KinesisDataFirehoseProperty = Value Prelude.Text+  set newValue KinesisDataFirehoseProperty {..}+    = KinesisDataFirehoseProperty+        {deliveryStream = Prelude.pure newValue, ..}+instance Property "Enabled" KinesisDataFirehoseProperty where+  type PropertyType "Enabled" KinesisDataFirehoseProperty = Value Prelude.Bool+  set newValue KinesisDataFirehoseProperty {..}+    = KinesisDataFirehoseProperty {enabled = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessInstance/KinesisDataFirehoseProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessInstance.KinesisDataFirehoseProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data KinesisDataFirehoseProperty :: Prelude.Type+instance ToResourceProperties KinesisDataFirehoseProperty+instance Prelude.Eq KinesisDataFirehoseProperty+instance Prelude.Show KinesisDataFirehoseProperty+instance JSON.ToJSON KinesisDataFirehoseProperty
+ gen/Stratosphere/EC2/VerifiedAccessInstance/S3Property.hs view
@@ -0,0 +1,62 @@+module Stratosphere.EC2.VerifiedAccessInstance.S3Property (+        S3Property(..), mkS3Property+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data S3Property+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-s3.html>+    S3Property {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-s3.html#cfn-ec2-verifiedaccessinstance-s3-bucketname>+                bucketName :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-s3.html#cfn-ec2-verifiedaccessinstance-s3-bucketowner>+                bucketOwner :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-s3.html#cfn-ec2-verifiedaccessinstance-s3-enabled>+                enabled :: (Prelude.Maybe (Value Prelude.Bool)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-s3.html#cfn-ec2-verifiedaccessinstance-s3-prefix>+                prefix :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkS3Property :: S3Property+mkS3Property+  = S3Property+      {haddock_workaround_ = (), bucketName = Prelude.Nothing,+       bucketOwner = Prelude.Nothing, enabled = Prelude.Nothing,+       prefix = Prelude.Nothing}+instance ToResourceProperties S3Property where+  toResourceProperties S3Property {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessInstance.S3",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "BucketName" Prelude.<$> bucketName,+                            (JSON..=) "BucketOwner" Prelude.<$> bucketOwner,+                            (JSON..=) "Enabled" Prelude.<$> enabled,+                            (JSON..=) "Prefix" Prelude.<$> prefix])}+instance JSON.ToJSON S3Property where+  toJSON S3Property {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "BucketName" Prelude.<$> bucketName,+               (JSON..=) "BucketOwner" Prelude.<$> bucketOwner,+               (JSON..=) "Enabled" Prelude.<$> enabled,+               (JSON..=) "Prefix" Prelude.<$> prefix]))+instance Property "BucketName" S3Property where+  type PropertyType "BucketName" S3Property = Value Prelude.Text+  set newValue S3Property {..}+    = S3Property {bucketName = Prelude.pure newValue, ..}+instance Property "BucketOwner" S3Property where+  type PropertyType "BucketOwner" S3Property = Value Prelude.Text+  set newValue S3Property {..}+    = S3Property {bucketOwner = Prelude.pure newValue, ..}+instance Property "Enabled" S3Property where+  type PropertyType "Enabled" S3Property = Value Prelude.Bool+  set newValue S3Property {..}+    = S3Property {enabled = Prelude.pure newValue, ..}+instance Property "Prefix" S3Property where+  type PropertyType "Prefix" S3Property = Value Prelude.Text+  set newValue S3Property {..}+    = S3Property {prefix = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessInstance/S3Property.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessInstance.S3Property where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data S3Property :: Prelude.Type+instance ToResourceProperties S3Property+instance Prelude.Eq S3Property+instance Prelude.Show S3Property+instance JSON.ToJSON S3Property
+ gen/Stratosphere/EC2/VerifiedAccessInstance/VerifiedAccessLogsProperty.hs view
@@ -0,0 +1,79 @@+module Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessLogsProperty (+        module Exports, VerifiedAccessLogsProperty(..),+        mkVerifiedAccessLogsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessInstance.CloudWatchLogsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessInstance.KinesisDataFirehoseProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessInstance.S3Property as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VerifiedAccessLogsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesslogs.html>+    VerifiedAccessLogsProperty {haddock_workaround_ :: (),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesslogs.html#cfn-ec2-verifiedaccessinstance-verifiedaccesslogs-cloudwatchlogs>+                                cloudWatchLogs :: (Prelude.Maybe CloudWatchLogsProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesslogs.html#cfn-ec2-verifiedaccessinstance-verifiedaccesslogs-includetrustcontext>+                                includeTrustContext :: (Prelude.Maybe (Value Prelude.Bool)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesslogs.html#cfn-ec2-verifiedaccessinstance-verifiedaccesslogs-kinesisdatafirehose>+                                kinesisDataFirehose :: (Prelude.Maybe KinesisDataFirehoseProperty),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesslogs.html#cfn-ec2-verifiedaccessinstance-verifiedaccesslogs-logversion>+                                logVersion :: (Prelude.Maybe (Value Prelude.Text)),+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesslogs.html#cfn-ec2-verifiedaccessinstance-verifiedaccesslogs-s3>+                                s3 :: (Prelude.Maybe S3Property)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVerifiedAccessLogsProperty :: VerifiedAccessLogsProperty+mkVerifiedAccessLogsProperty+  = VerifiedAccessLogsProperty+      {haddock_workaround_ = (), cloudWatchLogs = Prelude.Nothing,+       includeTrustContext = Prelude.Nothing,+       kinesisDataFirehose = Prelude.Nothing,+       logVersion = Prelude.Nothing, s3 = Prelude.Nothing}+instance ToResourceProperties VerifiedAccessLogsProperty where+  toResourceProperties VerifiedAccessLogsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessInstance.VerifiedAccessLogs",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CloudWatchLogs" Prelude.<$> cloudWatchLogs,+                            (JSON..=) "IncludeTrustContext" Prelude.<$> includeTrustContext,+                            (JSON..=) "KinesisDataFirehose" Prelude.<$> kinesisDataFirehose,+                            (JSON..=) "LogVersion" Prelude.<$> logVersion,+                            (JSON..=) "S3" Prelude.<$> s3])}+instance JSON.ToJSON VerifiedAccessLogsProperty where+  toJSON VerifiedAccessLogsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CloudWatchLogs" Prelude.<$> cloudWatchLogs,+               (JSON..=) "IncludeTrustContext" Prelude.<$> includeTrustContext,+               (JSON..=) "KinesisDataFirehose" Prelude.<$> kinesisDataFirehose,+               (JSON..=) "LogVersion" Prelude.<$> logVersion,+               (JSON..=) "S3" Prelude.<$> s3]))+instance Property "CloudWatchLogs" VerifiedAccessLogsProperty where+  type PropertyType "CloudWatchLogs" VerifiedAccessLogsProperty = CloudWatchLogsProperty+  set newValue VerifiedAccessLogsProperty {..}+    = VerifiedAccessLogsProperty+        {cloudWatchLogs = Prelude.pure newValue, ..}+instance Property "IncludeTrustContext" VerifiedAccessLogsProperty where+  type PropertyType "IncludeTrustContext" VerifiedAccessLogsProperty = Value Prelude.Bool+  set newValue VerifiedAccessLogsProperty {..}+    = VerifiedAccessLogsProperty+        {includeTrustContext = Prelude.pure newValue, ..}+instance Property "KinesisDataFirehose" VerifiedAccessLogsProperty where+  type PropertyType "KinesisDataFirehose" VerifiedAccessLogsProperty = KinesisDataFirehoseProperty+  set newValue VerifiedAccessLogsProperty {..}+    = VerifiedAccessLogsProperty+        {kinesisDataFirehose = Prelude.pure newValue, ..}+instance Property "LogVersion" VerifiedAccessLogsProperty where+  type PropertyType "LogVersion" VerifiedAccessLogsProperty = Value Prelude.Text+  set newValue VerifiedAccessLogsProperty {..}+    = VerifiedAccessLogsProperty+        {logVersion = Prelude.pure newValue, ..}+instance Property "S3" VerifiedAccessLogsProperty where+  type PropertyType "S3" VerifiedAccessLogsProperty = S3Property+  set newValue VerifiedAccessLogsProperty {..}+    = VerifiedAccessLogsProperty {s3 = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessInstance/VerifiedAccessLogsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessLogsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VerifiedAccessLogsProperty :: Prelude.Type+instance ToResourceProperties VerifiedAccessLogsProperty+instance Prelude.Eq VerifiedAccessLogsProperty+instance Prelude.Show VerifiedAccessLogsProperty+instance JSON.ToJSON VerifiedAccessLogsProperty
+ gen/Stratosphere/EC2/VerifiedAccessInstance/VerifiedAccessTrustProviderProperty.hs view
@@ -0,0 +1,85 @@+module Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessTrustProviderProperty (+        VerifiedAccessTrustProviderProperty(..),+        mkVerifiedAccessTrustProviderProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VerifiedAccessTrustProviderProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesstrustprovider.html>+    VerifiedAccessTrustProviderProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccessinstance-verifiedaccesstrustprovider-description>+                                         description :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccessinstance-verifiedaccesstrustprovider-devicetrustprovidertype>+                                         deviceTrustProviderType :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccessinstance-verifiedaccesstrustprovider-trustprovidertype>+                                         trustProviderType :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccessinstance-verifiedaccesstrustprovider-usertrustprovidertype>+                                         userTrustProviderType :: (Prelude.Maybe (Value Prelude.Text)),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccessinstance-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccessinstance-verifiedaccesstrustprovider-verifiedaccesstrustproviderid>+                                         verifiedAccessTrustProviderId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVerifiedAccessTrustProviderProperty ::+  VerifiedAccessTrustProviderProperty+mkVerifiedAccessTrustProviderProperty+  = VerifiedAccessTrustProviderProperty+      {haddock_workaround_ = (), description = Prelude.Nothing,+       deviceTrustProviderType = Prelude.Nothing,+       trustProviderType = Prelude.Nothing,+       userTrustProviderType = Prelude.Nothing,+       verifiedAccessTrustProviderId = Prelude.Nothing}+instance ToResourceProperties VerifiedAccessTrustProviderProperty where+  toResourceProperties VerifiedAccessTrustProviderProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessInstance.VerifiedAccessTrustProvider",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "DeviceTrustProviderType"+                              Prelude.<$> deviceTrustProviderType,+                            (JSON..=) "TrustProviderType" Prelude.<$> trustProviderType,+                            (JSON..=) "UserTrustProviderType"+                              Prelude.<$> userTrustProviderType,+                            (JSON..=) "VerifiedAccessTrustProviderId"+                              Prelude.<$> verifiedAccessTrustProviderId])}+instance JSON.ToJSON VerifiedAccessTrustProviderProperty where+  toJSON VerifiedAccessTrustProviderProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "DeviceTrustProviderType"+                 Prelude.<$> deviceTrustProviderType,+               (JSON..=) "TrustProviderType" Prelude.<$> trustProviderType,+               (JSON..=) "UserTrustProviderType"+                 Prelude.<$> userTrustProviderType,+               (JSON..=) "VerifiedAccessTrustProviderId"+                 Prelude.<$> verifiedAccessTrustProviderId]))+instance Property "Description" VerifiedAccessTrustProviderProperty where+  type PropertyType "Description" VerifiedAccessTrustProviderProperty = Value Prelude.Text+  set newValue VerifiedAccessTrustProviderProperty {..}+    = VerifiedAccessTrustProviderProperty+        {description = Prelude.pure newValue, ..}+instance Property "DeviceTrustProviderType" VerifiedAccessTrustProviderProperty where+  type PropertyType "DeviceTrustProviderType" VerifiedAccessTrustProviderProperty = Value Prelude.Text+  set newValue VerifiedAccessTrustProviderProperty {..}+    = VerifiedAccessTrustProviderProperty+        {deviceTrustProviderType = Prelude.pure newValue, ..}+instance Property "TrustProviderType" VerifiedAccessTrustProviderProperty where+  type PropertyType "TrustProviderType" VerifiedAccessTrustProviderProperty = Value Prelude.Text+  set newValue VerifiedAccessTrustProviderProperty {..}+    = VerifiedAccessTrustProviderProperty+        {trustProviderType = Prelude.pure newValue, ..}+instance Property "UserTrustProviderType" VerifiedAccessTrustProviderProperty where+  type PropertyType "UserTrustProviderType" VerifiedAccessTrustProviderProperty = Value Prelude.Text+  set newValue VerifiedAccessTrustProviderProperty {..}+    = VerifiedAccessTrustProviderProperty+        {userTrustProviderType = Prelude.pure newValue, ..}+instance Property "VerifiedAccessTrustProviderId" VerifiedAccessTrustProviderProperty where+  type PropertyType "VerifiedAccessTrustProviderId" VerifiedAccessTrustProviderProperty = Value Prelude.Text+  set newValue VerifiedAccessTrustProviderProperty {..}+    = VerifiedAccessTrustProviderProperty+        {verifiedAccessTrustProviderId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessInstance/VerifiedAccessTrustProviderProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessTrustProviderProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VerifiedAccessTrustProviderProperty :: Prelude.Type+instance ToResourceProperties VerifiedAccessTrustProviderProperty+instance Prelude.Eq VerifiedAccessTrustProviderProperty+instance Prelude.Show VerifiedAccessTrustProviderProperty+instance JSON.ToJSON VerifiedAccessTrustProviderProperty
+ gen/Stratosphere/EC2/VerifiedAccessTrustProvider.hs view
@@ -0,0 +1,138 @@+module Stratosphere.EC2.VerifiedAccessTrustProvider (+        module Exports, VerifiedAccessTrustProvider(..),+        mkVerifiedAccessTrustProvider+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessTrustProvider.DeviceOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessTrustProvider.NativeApplicationOidcOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessTrustProvider.OidcOptionsProperty as Exports+import {-# SOURCE #-} Stratosphere.EC2.VerifiedAccessTrustProvider.SseSpecificationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data VerifiedAccessTrustProvider+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html>+    VerifiedAccessTrustProvider {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-description>+                                 description :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-deviceoptions>+                                 deviceOptions :: (Prelude.Maybe DeviceOptionsProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-devicetrustprovidertype>+                                 deviceTrustProviderType :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions>+                                 nativeApplicationOidcOptions :: (Prelude.Maybe NativeApplicationOidcOptionsProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-oidcoptions>+                                 oidcOptions :: (Prelude.Maybe OidcOptionsProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-policyreferencename>+                                 policyReferenceName :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-ssespecification>+                                 sseSpecification :: (Prelude.Maybe SseSpecificationProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-tags>+                                 tags :: (Prelude.Maybe [Tag]),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-trustprovidertype>+                                 trustProviderType :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-verifiedaccesstrustprovider.html#cfn-ec2-verifiedaccesstrustprovider-usertrustprovidertype>+                                 userTrustProviderType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVerifiedAccessTrustProvider ::+  Value Prelude.Text+  -> Value Prelude.Text -> VerifiedAccessTrustProvider+mkVerifiedAccessTrustProvider policyReferenceName trustProviderType+  = VerifiedAccessTrustProvider+      {haddock_workaround_ = (),+       policyReferenceName = policyReferenceName,+       trustProviderType = trustProviderType,+       description = Prelude.Nothing, deviceOptions = Prelude.Nothing,+       deviceTrustProviderType = Prelude.Nothing,+       nativeApplicationOidcOptions = Prelude.Nothing,+       oidcOptions = Prelude.Nothing, sseSpecification = Prelude.Nothing,+       tags = Prelude.Nothing, userTrustProviderType = Prelude.Nothing}+instance ToResourceProperties VerifiedAccessTrustProvider where+  toResourceProperties VerifiedAccessTrustProvider {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessTrustProvider",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["PolicyReferenceName" JSON..= policyReferenceName,+                            "TrustProviderType" JSON..= trustProviderType]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DeviceOptions" Prelude.<$> deviceOptions,+                               (JSON..=) "DeviceTrustProviderType"+                                 Prelude.<$> deviceTrustProviderType,+                               (JSON..=) "NativeApplicationOidcOptions"+                                 Prelude.<$> nativeApplicationOidcOptions,+                               (JSON..=) "OidcOptions" Prelude.<$> oidcOptions,+                               (JSON..=) "SseSpecification" Prelude.<$> sseSpecification,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "UserTrustProviderType"+                                 Prelude.<$> userTrustProviderType]))}+instance JSON.ToJSON VerifiedAccessTrustProvider where+  toJSON VerifiedAccessTrustProvider {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["PolicyReferenceName" JSON..= policyReferenceName,+               "TrustProviderType" JSON..= trustProviderType]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DeviceOptions" Prelude.<$> deviceOptions,+                  (JSON..=) "DeviceTrustProviderType"+                    Prelude.<$> deviceTrustProviderType,+                  (JSON..=) "NativeApplicationOidcOptions"+                    Prelude.<$> nativeApplicationOidcOptions,+                  (JSON..=) "OidcOptions" Prelude.<$> oidcOptions,+                  (JSON..=) "SseSpecification" Prelude.<$> sseSpecification,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "UserTrustProviderType"+                    Prelude.<$> userTrustProviderType])))+instance Property "Description" VerifiedAccessTrustProvider where+  type PropertyType "Description" VerifiedAccessTrustProvider = Value Prelude.Text+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider+        {description = Prelude.pure newValue, ..}+instance Property "DeviceOptions" VerifiedAccessTrustProvider where+  type PropertyType "DeviceOptions" VerifiedAccessTrustProvider = DeviceOptionsProperty+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider+        {deviceOptions = Prelude.pure newValue, ..}+instance Property "DeviceTrustProviderType" VerifiedAccessTrustProvider where+  type PropertyType "DeviceTrustProviderType" VerifiedAccessTrustProvider = Value Prelude.Text+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider+        {deviceTrustProviderType = Prelude.pure newValue, ..}+instance Property "NativeApplicationOidcOptions" VerifiedAccessTrustProvider where+  type PropertyType "NativeApplicationOidcOptions" VerifiedAccessTrustProvider = NativeApplicationOidcOptionsProperty+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider+        {nativeApplicationOidcOptions = Prelude.pure newValue, ..}+instance Property "OidcOptions" VerifiedAccessTrustProvider where+  type PropertyType "OidcOptions" VerifiedAccessTrustProvider = OidcOptionsProperty+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider+        {oidcOptions = Prelude.pure newValue, ..}+instance Property "PolicyReferenceName" VerifiedAccessTrustProvider where+  type PropertyType "PolicyReferenceName" VerifiedAccessTrustProvider = Value Prelude.Text+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider {policyReferenceName = newValue, ..}+instance Property "SseSpecification" VerifiedAccessTrustProvider where+  type PropertyType "SseSpecification" VerifiedAccessTrustProvider = SseSpecificationProperty+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider+        {sseSpecification = Prelude.pure newValue, ..}+instance Property "Tags" VerifiedAccessTrustProvider where+  type PropertyType "Tags" VerifiedAccessTrustProvider = [Tag]+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider {tags = Prelude.pure newValue, ..}+instance Property "TrustProviderType" VerifiedAccessTrustProvider where+  type PropertyType "TrustProviderType" VerifiedAccessTrustProvider = Value Prelude.Text+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider {trustProviderType = newValue, ..}+instance Property "UserTrustProviderType" VerifiedAccessTrustProvider where+  type PropertyType "UserTrustProviderType" VerifiedAccessTrustProvider = Value Prelude.Text+  set newValue VerifiedAccessTrustProvider {..}+    = VerifiedAccessTrustProvider+        {userTrustProviderType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessTrustProvider/DeviceOptionsProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.EC2.VerifiedAccessTrustProvider.DeviceOptionsProperty (+        DeviceOptionsProperty(..), mkDeviceOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DeviceOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-deviceoptions.html>+    DeviceOptionsProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-deviceoptions.html#cfn-ec2-verifiedaccesstrustprovider-deviceoptions-publicsigningkeyurl>+                           publicSigningKeyUrl :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-deviceoptions.html#cfn-ec2-verifiedaccesstrustprovider-deviceoptions-tenantid>+                           tenantId :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDeviceOptionsProperty :: DeviceOptionsProperty+mkDeviceOptionsProperty+  = DeviceOptionsProperty+      {haddock_workaround_ = (), publicSigningKeyUrl = Prelude.Nothing,+       tenantId = Prelude.Nothing}+instance ToResourceProperties DeviceOptionsProperty where+  toResourceProperties DeviceOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessTrustProvider.DeviceOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "PublicSigningKeyUrl" Prelude.<$> publicSigningKeyUrl,+                            (JSON..=) "TenantId" Prelude.<$> tenantId])}+instance JSON.ToJSON DeviceOptionsProperty where+  toJSON DeviceOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "PublicSigningKeyUrl" Prelude.<$> publicSigningKeyUrl,+               (JSON..=) "TenantId" Prelude.<$> tenantId]))+instance Property "PublicSigningKeyUrl" DeviceOptionsProperty where+  type PropertyType "PublicSigningKeyUrl" DeviceOptionsProperty = Value Prelude.Text+  set newValue DeviceOptionsProperty {..}+    = DeviceOptionsProperty+        {publicSigningKeyUrl = Prelude.pure newValue, ..}+instance Property "TenantId" DeviceOptionsProperty where+  type PropertyType "TenantId" DeviceOptionsProperty = Value Prelude.Text+  set newValue DeviceOptionsProperty {..}+    = DeviceOptionsProperty {tenantId = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessTrustProvider/DeviceOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessTrustProvider.DeviceOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DeviceOptionsProperty :: Prelude.Type+instance ToResourceProperties DeviceOptionsProperty+instance Prelude.Eq DeviceOptionsProperty+instance Prelude.Show DeviceOptionsProperty+instance JSON.ToJSON DeviceOptionsProperty
+ gen/Stratosphere/EC2/VerifiedAccessTrustProvider/NativeApplicationOidcOptionsProperty.hs view
@@ -0,0 +1,111 @@+module Stratosphere.EC2.VerifiedAccessTrustProvider.NativeApplicationOidcOptionsProperty (+        NativeApplicationOidcOptionsProperty(..),+        mkNativeApplicationOidcOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NativeApplicationOidcOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html>+    NativeApplicationOidcOptionsProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-authorizationendpoint>+                                          authorizationEndpoint :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-clientid>+                                          clientId :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-clientsecret>+                                          clientSecret :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-issuer>+                                          issuer :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-publicsigningkeyendpoint>+                                          publicSigningKeyEndpoint :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-scope>+                                          scope :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-tokenendpoint>+                                          tokenEndpoint :: (Prelude.Maybe (Value Prelude.Text)),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-nativeapplicationoidcoptions-userinfoendpoint>+                                          userInfoEndpoint :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkNativeApplicationOidcOptionsProperty ::+  NativeApplicationOidcOptionsProperty+mkNativeApplicationOidcOptionsProperty+  = NativeApplicationOidcOptionsProperty+      {haddock_workaround_ = (), authorizationEndpoint = Prelude.Nothing,+       clientId = Prelude.Nothing, clientSecret = Prelude.Nothing,+       issuer = Prelude.Nothing,+       publicSigningKeyEndpoint = Prelude.Nothing,+       scope = Prelude.Nothing, tokenEndpoint = Prelude.Nothing,+       userInfoEndpoint = Prelude.Nothing}+instance ToResourceProperties NativeApplicationOidcOptionsProperty where+  toResourceProperties NativeApplicationOidcOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessTrustProvider.NativeApplicationOidcOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AuthorizationEndpoint"+                              Prelude.<$> authorizationEndpoint,+                            (JSON..=) "ClientId" Prelude.<$> clientId,+                            (JSON..=) "ClientSecret" Prelude.<$> clientSecret,+                            (JSON..=) "Issuer" Prelude.<$> issuer,+                            (JSON..=) "PublicSigningKeyEndpoint"+                              Prelude.<$> publicSigningKeyEndpoint,+                            (JSON..=) "Scope" Prelude.<$> scope,+                            (JSON..=) "TokenEndpoint" Prelude.<$> tokenEndpoint,+                            (JSON..=) "UserInfoEndpoint" Prelude.<$> userInfoEndpoint])}+instance JSON.ToJSON NativeApplicationOidcOptionsProperty where+  toJSON NativeApplicationOidcOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AuthorizationEndpoint"+                 Prelude.<$> authorizationEndpoint,+               (JSON..=) "ClientId" Prelude.<$> clientId,+               (JSON..=) "ClientSecret" Prelude.<$> clientSecret,+               (JSON..=) "Issuer" Prelude.<$> issuer,+               (JSON..=) "PublicSigningKeyEndpoint"+                 Prelude.<$> publicSigningKeyEndpoint,+               (JSON..=) "Scope" Prelude.<$> scope,+               (JSON..=) "TokenEndpoint" Prelude.<$> tokenEndpoint,+               (JSON..=) "UserInfoEndpoint" Prelude.<$> userInfoEndpoint]))+instance Property "AuthorizationEndpoint" NativeApplicationOidcOptionsProperty where+  type PropertyType "AuthorizationEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text+  set newValue NativeApplicationOidcOptionsProperty {..}+    = NativeApplicationOidcOptionsProperty+        {authorizationEndpoint = Prelude.pure newValue, ..}+instance Property "ClientId" NativeApplicationOidcOptionsProperty where+  type PropertyType "ClientId" NativeApplicationOidcOptionsProperty = Value Prelude.Text+  set newValue NativeApplicationOidcOptionsProperty {..}+    = NativeApplicationOidcOptionsProperty+        {clientId = Prelude.pure newValue, ..}+instance Property "ClientSecret" NativeApplicationOidcOptionsProperty where+  type PropertyType "ClientSecret" NativeApplicationOidcOptionsProperty = Value Prelude.Text+  set newValue NativeApplicationOidcOptionsProperty {..}+    = NativeApplicationOidcOptionsProperty+        {clientSecret = Prelude.pure newValue, ..}+instance Property "Issuer" NativeApplicationOidcOptionsProperty where+  type PropertyType "Issuer" NativeApplicationOidcOptionsProperty = Value Prelude.Text+  set newValue NativeApplicationOidcOptionsProperty {..}+    = NativeApplicationOidcOptionsProperty+        {issuer = Prelude.pure newValue, ..}+instance Property "PublicSigningKeyEndpoint" NativeApplicationOidcOptionsProperty where+  type PropertyType "PublicSigningKeyEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text+  set newValue NativeApplicationOidcOptionsProperty {..}+    = NativeApplicationOidcOptionsProperty+        {publicSigningKeyEndpoint = Prelude.pure newValue, ..}+instance Property "Scope" NativeApplicationOidcOptionsProperty where+  type PropertyType "Scope" NativeApplicationOidcOptionsProperty = Value Prelude.Text+  set newValue NativeApplicationOidcOptionsProperty {..}+    = NativeApplicationOidcOptionsProperty+        {scope = Prelude.pure newValue, ..}+instance Property "TokenEndpoint" NativeApplicationOidcOptionsProperty where+  type PropertyType "TokenEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text+  set newValue NativeApplicationOidcOptionsProperty {..}+    = NativeApplicationOidcOptionsProperty+        {tokenEndpoint = Prelude.pure newValue, ..}+instance Property "UserInfoEndpoint" NativeApplicationOidcOptionsProperty where+  type PropertyType "UserInfoEndpoint" NativeApplicationOidcOptionsProperty = Value Prelude.Text+  set newValue NativeApplicationOidcOptionsProperty {..}+    = NativeApplicationOidcOptionsProperty+        {userInfoEndpoint = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessTrustProvider/NativeApplicationOidcOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessTrustProvider.NativeApplicationOidcOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NativeApplicationOidcOptionsProperty :: Prelude.Type+instance ToResourceProperties NativeApplicationOidcOptionsProperty+instance Prelude.Eq NativeApplicationOidcOptionsProperty+instance Prelude.Show NativeApplicationOidcOptionsProperty+instance JSON.ToJSON NativeApplicationOidcOptionsProperty
+ gen/Stratosphere/EC2/VerifiedAccessTrustProvider/OidcOptionsProperty.hs view
@@ -0,0 +1,92 @@+module Stratosphere.EC2.VerifiedAccessTrustProvider.OidcOptionsProperty (+        OidcOptionsProperty(..), mkOidcOptionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data OidcOptionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-oidcoptions.html>+    OidcOptionsProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-oidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-oidcoptions-authorizationendpoint>+                         authorizationEndpoint :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-oidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-oidcoptions-clientid>+                         clientId :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-oidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-oidcoptions-clientsecret>+                         clientSecret :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-oidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-oidcoptions-issuer>+                         issuer :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-oidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-oidcoptions-scope>+                         scope :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-oidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-oidcoptions-tokenendpoint>+                         tokenEndpoint :: (Prelude.Maybe (Value Prelude.Text)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-oidcoptions.html#cfn-ec2-verifiedaccesstrustprovider-oidcoptions-userinfoendpoint>+                         userInfoEndpoint :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkOidcOptionsProperty :: OidcOptionsProperty+mkOidcOptionsProperty+  = OidcOptionsProperty+      {haddock_workaround_ = (), authorizationEndpoint = Prelude.Nothing,+       clientId = Prelude.Nothing, clientSecret = Prelude.Nothing,+       issuer = Prelude.Nothing, scope = Prelude.Nothing,+       tokenEndpoint = Prelude.Nothing,+       userInfoEndpoint = Prelude.Nothing}+instance ToResourceProperties OidcOptionsProperty where+  toResourceProperties OidcOptionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessTrustProvider.OidcOptions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AuthorizationEndpoint"+                              Prelude.<$> authorizationEndpoint,+                            (JSON..=) "ClientId" Prelude.<$> clientId,+                            (JSON..=) "ClientSecret" Prelude.<$> clientSecret,+                            (JSON..=) "Issuer" Prelude.<$> issuer,+                            (JSON..=) "Scope" Prelude.<$> scope,+                            (JSON..=) "TokenEndpoint" Prelude.<$> tokenEndpoint,+                            (JSON..=) "UserInfoEndpoint" Prelude.<$> userInfoEndpoint])}+instance JSON.ToJSON OidcOptionsProperty where+  toJSON OidcOptionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AuthorizationEndpoint"+                 Prelude.<$> authorizationEndpoint,+               (JSON..=) "ClientId" Prelude.<$> clientId,+               (JSON..=) "ClientSecret" Prelude.<$> clientSecret,+               (JSON..=) "Issuer" Prelude.<$> issuer,+               (JSON..=) "Scope" Prelude.<$> scope,+               (JSON..=) "TokenEndpoint" Prelude.<$> tokenEndpoint,+               (JSON..=) "UserInfoEndpoint" Prelude.<$> userInfoEndpoint]))+instance Property "AuthorizationEndpoint" OidcOptionsProperty where+  type PropertyType "AuthorizationEndpoint" OidcOptionsProperty = Value Prelude.Text+  set newValue OidcOptionsProperty {..}+    = OidcOptionsProperty+        {authorizationEndpoint = Prelude.pure newValue, ..}+instance Property "ClientId" OidcOptionsProperty where+  type PropertyType "ClientId" OidcOptionsProperty = Value Prelude.Text+  set newValue OidcOptionsProperty {..}+    = OidcOptionsProperty {clientId = Prelude.pure newValue, ..}+instance Property "ClientSecret" OidcOptionsProperty where+  type PropertyType "ClientSecret" OidcOptionsProperty = Value Prelude.Text+  set newValue OidcOptionsProperty {..}+    = OidcOptionsProperty {clientSecret = Prelude.pure newValue, ..}+instance Property "Issuer" OidcOptionsProperty where+  type PropertyType "Issuer" OidcOptionsProperty = Value Prelude.Text+  set newValue OidcOptionsProperty {..}+    = OidcOptionsProperty {issuer = Prelude.pure newValue, ..}+instance Property "Scope" OidcOptionsProperty where+  type PropertyType "Scope" OidcOptionsProperty = Value Prelude.Text+  set newValue OidcOptionsProperty {..}+    = OidcOptionsProperty {scope = Prelude.pure newValue, ..}+instance Property "TokenEndpoint" OidcOptionsProperty where+  type PropertyType "TokenEndpoint" OidcOptionsProperty = Value Prelude.Text+  set newValue OidcOptionsProperty {..}+    = OidcOptionsProperty {tokenEndpoint = Prelude.pure newValue, ..}+instance Property "UserInfoEndpoint" OidcOptionsProperty where+  type PropertyType "UserInfoEndpoint" OidcOptionsProperty = Value Prelude.Text+  set newValue OidcOptionsProperty {..}+    = OidcOptionsProperty+        {userInfoEndpoint = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessTrustProvider/OidcOptionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessTrustProvider.OidcOptionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data OidcOptionsProperty :: Prelude.Type+instance ToResourceProperties OidcOptionsProperty+instance Prelude.Eq OidcOptionsProperty+instance Prelude.Show OidcOptionsProperty+instance JSON.ToJSON OidcOptionsProperty
+ gen/Stratosphere/EC2/VerifiedAccessTrustProvider/SseSpecificationProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EC2.VerifiedAccessTrustProvider.SseSpecificationProperty (+        SseSpecificationProperty(..), mkSseSpecificationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SseSpecificationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-ssespecification.html>+    SseSpecificationProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-ssespecification.html#cfn-ec2-verifiedaccesstrustprovider-ssespecification-customermanagedkeyenabled>+                              customerManagedKeyEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-verifiedaccesstrustprovider-ssespecification.html#cfn-ec2-verifiedaccesstrustprovider-ssespecification-kmskeyarn>+                              kmsKeyArn :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkSseSpecificationProperty :: SseSpecificationProperty+mkSseSpecificationProperty+  = SseSpecificationProperty+      {haddock_workaround_ = (),+       customerManagedKeyEnabled = Prelude.Nothing,+       kmsKeyArn = Prelude.Nothing}+instance ToResourceProperties SseSpecificationProperty where+  toResourceProperties SseSpecificationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VerifiedAccessTrustProvider.SseSpecification",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CustomerManagedKeyEnabled"+                              Prelude.<$> customerManagedKeyEnabled,+                            (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn])}+instance JSON.ToJSON SseSpecificationProperty where+  toJSON SseSpecificationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CustomerManagedKeyEnabled"+                 Prelude.<$> customerManagedKeyEnabled,+               (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn]))+instance Property "CustomerManagedKeyEnabled" SseSpecificationProperty where+  type PropertyType "CustomerManagedKeyEnabled" SseSpecificationProperty = Value Prelude.Bool+  set newValue SseSpecificationProperty {..}+    = SseSpecificationProperty+        {customerManagedKeyEnabled = Prelude.pure newValue, ..}+instance Property "KmsKeyArn" SseSpecificationProperty where+  type PropertyType "KmsKeyArn" SseSpecificationProperty = Value Prelude.Text+  set newValue SseSpecificationProperty {..}+    = SseSpecificationProperty {kmsKeyArn = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VerifiedAccessTrustProvider/SseSpecificationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EC2.VerifiedAccessTrustProvider.SseSpecificationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data SseSpecificationProperty :: Prelude.Type+instance ToResourceProperties SseSpecificationProperty+instance Prelude.Eq SseSpecificationProperty+instance Prelude.Show SseSpecificationProperty+instance JSON.ToJSON SseSpecificationProperty
+ gen/Stratosphere/EC2/Volume.hs view
@@ -0,0 +1,142 @@+module Stratosphere.EC2.Volume (+        Volume(..), mkVolume+    ) 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 Volume+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html>+    Volume {haddock_workaround_ :: (),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-autoenableio>+            autoEnableIO :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-availabilityzone>+            availabilityZone :: (Value Prelude.Text),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-encrypted>+            encrypted :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-iops>+            iops :: (Prelude.Maybe (Value Prelude.Integer)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-kmskeyid>+            kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-multiattachenabled>+            multiAttachEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-outpostarn>+            outpostArn :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-size>+            size :: (Prelude.Maybe (Value Prelude.Integer)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-snapshotid>+            snapshotId :: (Prelude.Maybe (Value Prelude.Text)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-tags>+            tags :: (Prelude.Maybe [Tag]),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-throughput>+            throughput :: (Prelude.Maybe (Value Prelude.Integer)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-volumeinitializationrate>+            volumeInitializationRate :: (Prelude.Maybe (Value Prelude.Integer)),+            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-volumetype>+            volumeType :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVolume :: Value Prelude.Text -> Volume+mkVolume availabilityZone+  = Volume+      {haddock_workaround_ = (), availabilityZone = availabilityZone,+       autoEnableIO = Prelude.Nothing, encrypted = Prelude.Nothing,+       iops = Prelude.Nothing, kmsKeyId = Prelude.Nothing,+       multiAttachEnabled = Prelude.Nothing, outpostArn = Prelude.Nothing,+       size = Prelude.Nothing, snapshotId = Prelude.Nothing,+       tags = Prelude.Nothing, throughput = Prelude.Nothing,+       volumeInitializationRate = Prelude.Nothing,+       volumeType = Prelude.Nothing}+instance ToResourceProperties Volume where+  toResourceProperties Volume {..}+    = ResourceProperties+        {awsType = "AWS::EC2::Volume", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AvailabilityZone" JSON..= availabilityZone]+                           (Prelude.catMaybes+                              [(JSON..=) "AutoEnableIO" Prelude.<$> autoEnableIO,+                               (JSON..=) "Encrypted" Prelude.<$> encrypted,+                               (JSON..=) "Iops" Prelude.<$> iops,+                               (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+                               (JSON..=) "MultiAttachEnabled" Prelude.<$> multiAttachEnabled,+                               (JSON..=) "OutpostArn" Prelude.<$> outpostArn,+                               (JSON..=) "Size" Prelude.<$> size,+                               (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "Throughput" Prelude.<$> throughput,+                               (JSON..=) "VolumeInitializationRate"+                                 Prelude.<$> volumeInitializationRate,+                               (JSON..=) "VolumeType" Prelude.<$> volumeType]))}+instance JSON.ToJSON Volume where+  toJSON Volume {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AvailabilityZone" JSON..= availabilityZone]+              (Prelude.catMaybes+                 [(JSON..=) "AutoEnableIO" Prelude.<$> autoEnableIO,+                  (JSON..=) "Encrypted" Prelude.<$> encrypted,+                  (JSON..=) "Iops" Prelude.<$> iops,+                  (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+                  (JSON..=) "MultiAttachEnabled" Prelude.<$> multiAttachEnabled,+                  (JSON..=) "OutpostArn" Prelude.<$> outpostArn,+                  (JSON..=) "Size" Prelude.<$> size,+                  (JSON..=) "SnapshotId" Prelude.<$> snapshotId,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "Throughput" Prelude.<$> throughput,+                  (JSON..=) "VolumeInitializationRate"+                    Prelude.<$> volumeInitializationRate,+                  (JSON..=) "VolumeType" Prelude.<$> volumeType])))+instance Property "AutoEnableIO" Volume where+  type PropertyType "AutoEnableIO" Volume = Value Prelude.Bool+  set newValue Volume {..}+    = Volume {autoEnableIO = Prelude.pure newValue, ..}+instance Property "AvailabilityZone" Volume where+  type PropertyType "AvailabilityZone" Volume = Value Prelude.Text+  set newValue Volume {..} = Volume {availabilityZone = newValue, ..}+instance Property "Encrypted" Volume where+  type PropertyType "Encrypted" Volume = Value Prelude.Bool+  set newValue Volume {..}+    = Volume {encrypted = Prelude.pure newValue, ..}+instance Property "Iops" Volume where+  type PropertyType "Iops" Volume = Value Prelude.Integer+  set newValue Volume {..}+    = Volume {iops = Prelude.pure newValue, ..}+instance Property "KmsKeyId" Volume where+  type PropertyType "KmsKeyId" Volume = Value Prelude.Text+  set newValue Volume {..}+    = Volume {kmsKeyId = Prelude.pure newValue, ..}+instance Property "MultiAttachEnabled" Volume where+  type PropertyType "MultiAttachEnabled" Volume = Value Prelude.Bool+  set newValue Volume {..}+    = Volume {multiAttachEnabled = Prelude.pure newValue, ..}+instance Property "OutpostArn" Volume where+  type PropertyType "OutpostArn" Volume = Value Prelude.Text+  set newValue Volume {..}+    = Volume {outpostArn = Prelude.pure newValue, ..}+instance Property "Size" Volume where+  type PropertyType "Size" Volume = Value Prelude.Integer+  set newValue Volume {..}+    = Volume {size = Prelude.pure newValue, ..}+instance Property "SnapshotId" Volume where+  type PropertyType "SnapshotId" Volume = Value Prelude.Text+  set newValue Volume {..}+    = Volume {snapshotId = Prelude.pure newValue, ..}+instance Property "Tags" Volume where+  type PropertyType "Tags" Volume = [Tag]+  set newValue Volume {..}+    = Volume {tags = Prelude.pure newValue, ..}+instance Property "Throughput" Volume where+  type PropertyType "Throughput" Volume = Value Prelude.Integer+  set newValue Volume {..}+    = Volume {throughput = Prelude.pure newValue, ..}+instance Property "VolumeInitializationRate" Volume where+  type PropertyType "VolumeInitializationRate" Volume = Value Prelude.Integer+  set newValue Volume {..}+    = Volume {volumeInitializationRate = Prelude.pure newValue, ..}+instance Property "VolumeType" Volume where+  type PropertyType "VolumeType" Volume = Value Prelude.Text+  set newValue Volume {..}+    = Volume {volumeType = Prelude.pure newValue, ..}
+ gen/Stratosphere/EC2/VolumeAttachment.hs view
@@ -0,0 +1,52 @@+module Stratosphere.EC2.VolumeAttachment (+        VolumeAttachment(..), mkVolumeAttachment+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VolumeAttachment+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html>+    VolumeAttachment {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html#cfn-ec2-volumeattachment-device>+                      device :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html#cfn-ec2-volumeattachment-instanceid>+                      instanceId :: (Value Prelude.Text),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volumeattachment.html#cfn-ec2-volumeattachment-volumeid>+                      volumeId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVolumeAttachment ::+  Value Prelude.Text -> Value Prelude.Text -> VolumeAttachment+mkVolumeAttachment instanceId volumeId+  = VolumeAttachment+      {haddock_workaround_ = (), instanceId = instanceId,+       volumeId = volumeId, device = Prelude.Nothing}+instance ToResourceProperties VolumeAttachment where+  toResourceProperties VolumeAttachment {..}+    = ResourceProperties+        {awsType = "AWS::EC2::VolumeAttachment",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["InstanceId" JSON..= instanceId, "VolumeId" JSON..= volumeId]+                           (Prelude.catMaybes [(JSON..=) "Device" Prelude.<$> device]))}+instance JSON.ToJSON VolumeAttachment where+  toJSON VolumeAttachment {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["InstanceId" JSON..= instanceId, "VolumeId" JSON..= volumeId]+              (Prelude.catMaybes [(JSON..=) "Device" Prelude.<$> device])))+instance Property "Device" VolumeAttachment where+  type PropertyType "Device" VolumeAttachment = Value Prelude.Text+  set newValue VolumeAttachment {..}+    = VolumeAttachment {device = Prelude.pure newValue, ..}+instance Property "InstanceId" VolumeAttachment where+  type PropertyType "InstanceId" VolumeAttachment = Value Prelude.Text+  set newValue VolumeAttachment {..}+    = VolumeAttachment {instanceId = newValue, ..}+instance Property "VolumeId" VolumeAttachment where+  type PropertyType "VolumeId" VolumeAttachment = Value Prelude.Text+  set newValue VolumeAttachment {..}+    = VolumeAttachment {volumeId = newValue, ..}
+ stratosphere-ec2.cabal view
@@ -0,0 +1,393 @@+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-ec2+version:        1.0.0+synopsis:       Stratosphere integration for AWS EC2.+description:    Integration into stratosphere to generate resources and properties for AWS EC2+category:       AWS, Cloud, EC2+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.EC2.CapacityManagerDataExport+      Stratosphere.EC2.CapacityReservation+      Stratosphere.EC2.CapacityReservation.CapacityAllocationProperty+      Stratosphere.EC2.CapacityReservation.CommitmentInfoProperty+      Stratosphere.EC2.CapacityReservation.TagSpecificationProperty+      Stratosphere.EC2.CapacityReservationFleet+      Stratosphere.EC2.CapacityReservationFleet.InstanceTypeSpecificationProperty+      Stratosphere.EC2.CapacityReservationFleet.TagSpecificationProperty+      Stratosphere.EC2.CarrierGateway+      Stratosphere.EC2.ClientVpnAuthorizationRule+      Stratosphere.EC2.ClientVpnEndpoint+      Stratosphere.EC2.ClientVpnEndpoint.CertificateAuthenticationRequestProperty+      Stratosphere.EC2.ClientVpnEndpoint.ClientAuthenticationRequestProperty+      Stratosphere.EC2.ClientVpnEndpoint.ClientConnectOptionsProperty+      Stratosphere.EC2.ClientVpnEndpoint.ClientLoginBannerOptionsProperty+      Stratosphere.EC2.ClientVpnEndpoint.ClientRouteEnforcementOptionsProperty+      Stratosphere.EC2.ClientVpnEndpoint.ConnectionLogOptionsProperty+      Stratosphere.EC2.ClientVpnEndpoint.DirectoryServiceAuthenticationRequestProperty+      Stratosphere.EC2.ClientVpnEndpoint.FederatedAuthenticationRequestProperty+      Stratosphere.EC2.ClientVpnEndpoint.TagSpecificationProperty+      Stratosphere.EC2.ClientVpnRoute+      Stratosphere.EC2.ClientVpnTargetNetworkAssociation+      Stratosphere.EC2.CustomerGateway+      Stratosphere.EC2.DHCPOptions+      Stratosphere.EC2.EC2Fleet+      Stratosphere.EC2.EC2Fleet.AcceleratorCountRequestProperty+      Stratosphere.EC2.EC2Fleet.AcceleratorTotalMemoryMiBRequestProperty+      Stratosphere.EC2.EC2Fleet.BaselineEbsBandwidthMbpsRequestProperty+      Stratosphere.EC2.EC2Fleet.BaselinePerformanceFactorsRequestProperty+      Stratosphere.EC2.EC2Fleet.BlockDeviceMappingProperty+      Stratosphere.EC2.EC2Fleet.CapacityRebalanceProperty+      Stratosphere.EC2.EC2Fleet.CapacityReservationOptionsRequestProperty+      Stratosphere.EC2.EC2Fleet.CpuPerformanceFactorRequestProperty+      Stratosphere.EC2.EC2Fleet.EbsBlockDeviceProperty+      Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateConfigRequestProperty+      Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateOverridesRequestProperty+      Stratosphere.EC2.EC2Fleet.FleetLaunchTemplateSpecificationRequestProperty+      Stratosphere.EC2.EC2Fleet.InstanceRequirementsRequestProperty+      Stratosphere.EC2.EC2Fleet.MaintenanceStrategiesProperty+      Stratosphere.EC2.EC2Fleet.MemoryGiBPerVCpuRequestProperty+      Stratosphere.EC2.EC2Fleet.MemoryMiBRequestProperty+      Stratosphere.EC2.EC2Fleet.NetworkBandwidthGbpsRequestProperty+      Stratosphere.EC2.EC2Fleet.NetworkInterfaceCountRequestProperty+      Stratosphere.EC2.EC2Fleet.OnDemandOptionsRequestProperty+      Stratosphere.EC2.EC2Fleet.PerformanceFactorReferenceRequestProperty+      Stratosphere.EC2.EC2Fleet.PlacementProperty+      Stratosphere.EC2.EC2Fleet.SpotOptionsRequestProperty+      Stratosphere.EC2.EC2Fleet.TagSpecificationProperty+      Stratosphere.EC2.EC2Fleet.TargetCapacitySpecificationRequestProperty+      Stratosphere.EC2.EC2Fleet.TotalLocalStorageGBRequestProperty+      Stratosphere.EC2.EC2Fleet.VCpuCountRangeRequestProperty+      Stratosphere.EC2.EgressOnlyInternetGateway+      Stratosphere.EC2.EIP+      Stratosphere.EC2.EIPAssociation+      Stratosphere.EC2.EnclaveCertificateIamRoleAssociation+      Stratosphere.EC2.FlowLog+      Stratosphere.EC2.FlowLog.DestinationOptionsProperty+      Stratosphere.EC2.GatewayRouteTableAssociation+      Stratosphere.EC2.Host+      Stratosphere.EC2.Instance+      Stratosphere.EC2.Instance.AssociationParameterProperty+      Stratosphere.EC2.Instance.BlockDeviceMappingProperty+      Stratosphere.EC2.Instance.CpuOptionsProperty+      Stratosphere.EC2.Instance.CreditSpecificationProperty+      Stratosphere.EC2.Instance.EbsProperty+      Stratosphere.EC2.Instance.ElasticGpuSpecificationProperty+      Stratosphere.EC2.Instance.ElasticInferenceAcceleratorProperty+      Stratosphere.EC2.Instance.EnaSrdSpecificationProperty+      Stratosphere.EC2.Instance.EnaSrdUdpSpecificationProperty+      Stratosphere.EC2.Instance.EnclaveOptionsProperty+      Stratosphere.EC2.Instance.HibernationOptionsProperty+      Stratosphere.EC2.Instance.InstanceIpv6AddressProperty+      Stratosphere.EC2.Instance.LaunchTemplateSpecificationProperty+      Stratosphere.EC2.Instance.LicenseSpecificationProperty+      Stratosphere.EC2.Instance.MetadataOptionsProperty+      Stratosphere.EC2.Instance.NetworkInterfaceProperty+      Stratosphere.EC2.Instance.PrivateDnsNameOptionsProperty+      Stratosphere.EC2.Instance.PrivateIpAddressSpecificationProperty+      Stratosphere.EC2.Instance.SsmAssociationProperty+      Stratosphere.EC2.Instance.StateProperty+      Stratosphere.EC2.Instance.VolumeProperty+      Stratosphere.EC2.InstanceConnectEndpoint+      Stratosphere.EC2.InternetGateway+      Stratosphere.EC2.IPAM+      Stratosphere.EC2.IPAM.IpamOperatingRegionProperty+      Stratosphere.EC2.IPAM.IpamOrganizationalUnitExclusionProperty+      Stratosphere.EC2.IPAMAllocation+      Stratosphere.EC2.IPAMPool+      Stratosphere.EC2.IPAMPool.ProvisionedCidrProperty+      Stratosphere.EC2.IPAMPool.SourceResourceProperty+      Stratosphere.EC2.IPAMPoolCidr+      Stratosphere.EC2.IPAMResourceDiscovery+      Stratosphere.EC2.IPAMResourceDiscovery.IpamOperatingRegionProperty+      Stratosphere.EC2.IPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusionProperty+      Stratosphere.EC2.IPAMResourceDiscoveryAssociation+      Stratosphere.EC2.IPAMScope+      Stratosphere.EC2.IpPoolRouteTableAssociation+      Stratosphere.EC2.KeyPair+      Stratosphere.EC2.LaunchTemplate+      Stratosphere.EC2.LaunchTemplate.AcceleratorCountProperty+      Stratosphere.EC2.LaunchTemplate.AcceleratorTotalMemoryMiBProperty+      Stratosphere.EC2.LaunchTemplate.BaselineEbsBandwidthMbpsProperty+      Stratosphere.EC2.LaunchTemplate.BaselinePerformanceFactorsProperty+      Stratosphere.EC2.LaunchTemplate.BlockDeviceMappingProperty+      Stratosphere.EC2.LaunchTemplate.CapacityReservationSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.CapacityReservationTargetProperty+      Stratosphere.EC2.LaunchTemplate.ConnectionTrackingSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.CpuOptionsProperty+      Stratosphere.EC2.LaunchTemplate.CpuProperty+      Stratosphere.EC2.LaunchTemplate.CreditSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.EbsProperty+      Stratosphere.EC2.LaunchTemplate.EnaSrdSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.EnaSrdUdpSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.EnclaveOptionsProperty+      Stratosphere.EC2.LaunchTemplate.HibernationOptionsProperty+      Stratosphere.EC2.LaunchTemplate.IamInstanceProfileProperty+      Stratosphere.EC2.LaunchTemplate.InstanceMarketOptionsProperty+      Stratosphere.EC2.LaunchTemplate.InstanceRequirementsProperty+      Stratosphere.EC2.LaunchTemplate.Ipv4PrefixSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.Ipv6AddProperty+      Stratosphere.EC2.LaunchTemplate.Ipv6PrefixSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.LaunchTemplateDataProperty+      Stratosphere.EC2.LaunchTemplate.LaunchTemplateTagSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.LicenseSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.MaintenanceOptionsProperty+      Stratosphere.EC2.LaunchTemplate.MemoryGiBPerVCpuProperty+      Stratosphere.EC2.LaunchTemplate.MemoryMiBProperty+      Stratosphere.EC2.LaunchTemplate.MetadataOptionsProperty+      Stratosphere.EC2.LaunchTemplate.MonitoringProperty+      Stratosphere.EC2.LaunchTemplate.NetworkBandwidthGbpsProperty+      Stratosphere.EC2.LaunchTemplate.NetworkInterfaceCountProperty+      Stratosphere.EC2.LaunchTemplate.NetworkInterfaceProperty+      Stratosphere.EC2.LaunchTemplate.NetworkPerformanceOptionsProperty+      Stratosphere.EC2.LaunchTemplate.PlacementProperty+      Stratosphere.EC2.LaunchTemplate.PrivateDnsNameOptionsProperty+      Stratosphere.EC2.LaunchTemplate.PrivateIpAddProperty+      Stratosphere.EC2.LaunchTemplate.ReferenceProperty+      Stratosphere.EC2.LaunchTemplate.SpotOptionsProperty+      Stratosphere.EC2.LaunchTemplate.TagSpecificationProperty+      Stratosphere.EC2.LaunchTemplate.TotalLocalStorageGBProperty+      Stratosphere.EC2.LaunchTemplate.VCpuCountProperty+      Stratosphere.EC2.LocalGatewayRoute+      Stratosphere.EC2.LocalGatewayRouteTable+      Stratosphere.EC2.LocalGatewayRouteTableVirtualInterfaceGroupAssociation+      Stratosphere.EC2.LocalGatewayRouteTableVPCAssociation+      Stratosphere.EC2.LocalGatewayVirtualInterface+      Stratosphere.EC2.LocalGatewayVirtualInterfaceGroup+      Stratosphere.EC2.NatGateway+      Stratosphere.EC2.NetworkAcl+      Stratosphere.EC2.NetworkAclEntry+      Stratosphere.EC2.NetworkAclEntry.IcmpProperty+      Stratosphere.EC2.NetworkAclEntry.PortRangeProperty+      Stratosphere.EC2.NetworkInsightsAccessScope+      Stratosphere.EC2.NetworkInsightsAccessScope.AccessScopePathRequestProperty+      Stratosphere.EC2.NetworkInsightsAccessScope.PacketHeaderStatementRequestProperty+      Stratosphere.EC2.NetworkInsightsAccessScope.PathStatementRequestProperty+      Stratosphere.EC2.NetworkInsightsAccessScope.ResourceStatementRequestProperty+      Stratosphere.EC2.NetworkInsightsAccessScope.ThroughResourcesStatementRequestProperty+      Stratosphere.EC2.NetworkInsightsAccessScopeAnalysis+      Stratosphere.EC2.NetworkInsightsAnalysis+      Stratosphere.EC2.NetworkInsightsAnalysis.AdditionalDetailProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.AlternatePathHintProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisAclRuleProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisComponentProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisLoadBalancerListenerProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisLoadBalancerTargetProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisPacketHeaderProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisRouteTableRouteProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.AnalysisSecurityGroupRuleProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.ExplanationProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.PathComponentProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.PortRangeProperty+      Stratosphere.EC2.NetworkInsightsAnalysis.TransitGatewayRouteTableRouteProperty+      Stratosphere.EC2.NetworkInsightsPath+      Stratosphere.EC2.NetworkInsightsPath.FilterPortRangeProperty+      Stratosphere.EC2.NetworkInsightsPath.PathFilterProperty+      Stratosphere.EC2.NetworkInterface+      Stratosphere.EC2.NetworkInterface.ConnectionTrackingSpecificationProperty+      Stratosphere.EC2.NetworkInterface.InstanceIpv6AddressProperty+      Stratosphere.EC2.NetworkInterface.Ipv4PrefixSpecificationProperty+      Stratosphere.EC2.NetworkInterface.Ipv6PrefixSpecificationProperty+      Stratosphere.EC2.NetworkInterface.PrivateIpAddressSpecificationProperty+      Stratosphere.EC2.NetworkInterfaceAttachment+      Stratosphere.EC2.NetworkInterfaceAttachment.EnaSrdSpecificationProperty+      Stratosphere.EC2.NetworkInterfaceAttachment.EnaSrdUdpSpecificationProperty+      Stratosphere.EC2.NetworkInterfacePermission+      Stratosphere.EC2.NetworkPerformanceMetricSubscription+      Stratosphere.EC2.PlacementGroup+      Stratosphere.EC2.PrefixList+      Stratosphere.EC2.PrefixList.EntryProperty+      Stratosphere.EC2.Route+      Stratosphere.EC2.RouteServer+      Stratosphere.EC2.RouteServerAssociation+      Stratosphere.EC2.RouteServerEndpoint+      Stratosphere.EC2.RouteServerPeer+      Stratosphere.EC2.RouteServerPeer.BgpOptionsProperty+      Stratosphere.EC2.RouteServerPropagation+      Stratosphere.EC2.RouteTable+      Stratosphere.EC2.SecurityGroup+      Stratosphere.EC2.SecurityGroup.EgressProperty+      Stratosphere.EC2.SecurityGroup.IngressProperty+      Stratosphere.EC2.SecurityGroupEgress+      Stratosphere.EC2.SecurityGroupIngress+      Stratosphere.EC2.SecurityGroupVpcAssociation+      Stratosphere.EC2.SnapshotBlockPublicAccess+      Stratosphere.EC2.SpotFleet+      Stratosphere.EC2.SpotFleet.AcceleratorCountRequestProperty+      Stratosphere.EC2.SpotFleet.AcceleratorTotalMemoryMiBRequestProperty+      Stratosphere.EC2.SpotFleet.BaselineEbsBandwidthMbpsRequestProperty+      Stratosphere.EC2.SpotFleet.BaselinePerformanceFactorsRequestProperty+      Stratosphere.EC2.SpotFleet.BlockDeviceMappingProperty+      Stratosphere.EC2.SpotFleet.ClassicLoadBalancerProperty+      Stratosphere.EC2.SpotFleet.ClassicLoadBalancersConfigProperty+      Stratosphere.EC2.SpotFleet.CpuPerformanceFactorRequestProperty+      Stratosphere.EC2.SpotFleet.EbsBlockDeviceProperty+      Stratosphere.EC2.SpotFleet.FleetLaunchTemplateSpecificationProperty+      Stratosphere.EC2.SpotFleet.GroupIdentifierProperty+      Stratosphere.EC2.SpotFleet.IamInstanceProfileSpecificationProperty+      Stratosphere.EC2.SpotFleet.InstanceIpv6AddressProperty+      Stratosphere.EC2.SpotFleet.InstanceNetworkInterfaceSpecificationProperty+      Stratosphere.EC2.SpotFleet.InstanceRequirementsRequestProperty+      Stratosphere.EC2.SpotFleet.LaunchTemplateConfigProperty+      Stratosphere.EC2.SpotFleet.LaunchTemplateOverridesProperty+      Stratosphere.EC2.SpotFleet.LoadBalancersConfigProperty+      Stratosphere.EC2.SpotFleet.MemoryGiBPerVCpuRequestProperty+      Stratosphere.EC2.SpotFleet.MemoryMiBRequestProperty+      Stratosphere.EC2.SpotFleet.NetworkBandwidthGbpsRequestProperty+      Stratosphere.EC2.SpotFleet.NetworkInterfaceCountRequestProperty+      Stratosphere.EC2.SpotFleet.PerformanceFactorReferenceRequestProperty+      Stratosphere.EC2.SpotFleet.PrivateIpAddressSpecificationProperty+      Stratosphere.EC2.SpotFleet.SpotCapacityRebalanceProperty+      Stratosphere.EC2.SpotFleet.SpotFleetLaunchSpecificationProperty+      Stratosphere.EC2.SpotFleet.SpotFleetMonitoringProperty+      Stratosphere.EC2.SpotFleet.SpotFleetRequestConfigDataProperty+      Stratosphere.EC2.SpotFleet.SpotFleetTagSpecificationProperty+      Stratosphere.EC2.SpotFleet.SpotMaintenanceStrategiesProperty+      Stratosphere.EC2.SpotFleet.SpotPlacementProperty+      Stratosphere.EC2.SpotFleet.TargetGroupProperty+      Stratosphere.EC2.SpotFleet.TargetGroupsConfigProperty+      Stratosphere.EC2.SpotFleet.TotalLocalStorageGBRequestProperty+      Stratosphere.EC2.SpotFleet.VCpuCountRangeRequestProperty+      Stratosphere.EC2.Subnet+      Stratosphere.EC2.Subnet.BlockPublicAccessStatesProperty+      Stratosphere.EC2.Subnet.PrivateDnsNameOptionsOnLaunchProperty+      Stratosphere.EC2.SubnetCidrBlock+      Stratosphere.EC2.SubnetNetworkAclAssociation+      Stratosphere.EC2.SubnetRouteTableAssociation+      Stratosphere.EC2.TrafficMirrorFilter+      Stratosphere.EC2.TrafficMirrorFilterRule+      Stratosphere.EC2.TrafficMirrorFilterRule.TrafficMirrorPortRangeProperty+      Stratosphere.EC2.TrafficMirrorSession+      Stratosphere.EC2.TrafficMirrorTarget+      Stratosphere.EC2.TransitGateway+      Stratosphere.EC2.TransitGatewayAttachment+      Stratosphere.EC2.TransitGatewayAttachment.OptionsProperty+      Stratosphere.EC2.TransitGatewayConnect+      Stratosphere.EC2.TransitGatewayConnect.TransitGatewayConnectOptionsProperty+      Stratosphere.EC2.TransitGatewayConnectPeer+      Stratosphere.EC2.TransitGatewayConnectPeer.TransitGatewayAttachmentBgpConfigurationProperty+      Stratosphere.EC2.TransitGatewayConnectPeer.TransitGatewayConnectPeerConfigurationProperty+      Stratosphere.EC2.TransitGatewayMulticastDomain+      Stratosphere.EC2.TransitGatewayMulticastDomain.OptionsProperty+      Stratosphere.EC2.TransitGatewayMulticastDomainAssociation+      Stratosphere.EC2.TransitGatewayMulticastGroupMember+      Stratosphere.EC2.TransitGatewayMulticastGroupSource+      Stratosphere.EC2.TransitGatewayPeeringAttachment+      Stratosphere.EC2.TransitGatewayPeeringAttachment.PeeringAttachmentStatusProperty+      Stratosphere.EC2.TransitGatewayRoute+      Stratosphere.EC2.TransitGatewayRouteTable+      Stratosphere.EC2.TransitGatewayRouteTableAssociation+      Stratosphere.EC2.TransitGatewayRouteTablePropagation+      Stratosphere.EC2.TransitGatewayVpcAttachment+      Stratosphere.EC2.TransitGatewayVpcAttachment.OptionsProperty+      Stratosphere.EC2.VerifiedAccessEndpoint+      Stratosphere.EC2.VerifiedAccessEndpoint.CidrOptionsProperty+      Stratosphere.EC2.VerifiedAccessEndpoint.LoadBalancerOptionsProperty+      Stratosphere.EC2.VerifiedAccessEndpoint.NetworkInterfaceOptionsProperty+      Stratosphere.EC2.VerifiedAccessEndpoint.PortRangeProperty+      Stratosphere.EC2.VerifiedAccessEndpoint.RdsOptionsProperty+      Stratosphere.EC2.VerifiedAccessEndpoint.SseSpecificationProperty+      Stratosphere.EC2.VerifiedAccessGroup+      Stratosphere.EC2.VerifiedAccessGroup.SseSpecificationProperty+      Stratosphere.EC2.VerifiedAccessInstance+      Stratosphere.EC2.VerifiedAccessInstance.CloudWatchLogsProperty+      Stratosphere.EC2.VerifiedAccessInstance.KinesisDataFirehoseProperty+      Stratosphere.EC2.VerifiedAccessInstance.S3Property+      Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessLogsProperty+      Stratosphere.EC2.VerifiedAccessInstance.VerifiedAccessTrustProviderProperty+      Stratosphere.EC2.VerifiedAccessTrustProvider+      Stratosphere.EC2.VerifiedAccessTrustProvider.DeviceOptionsProperty+      Stratosphere.EC2.VerifiedAccessTrustProvider.NativeApplicationOidcOptionsProperty+      Stratosphere.EC2.VerifiedAccessTrustProvider.OidcOptionsProperty+      Stratosphere.EC2.VerifiedAccessTrustProvider.SseSpecificationProperty+      Stratosphere.EC2.Volume+      Stratosphere.EC2.VolumeAttachment+      Stratosphere.EC2.VPC+      Stratosphere.EC2.VPCBlockPublicAccessExclusion+      Stratosphere.EC2.VPCBlockPublicAccessOptions+      Stratosphere.EC2.VPCCidrBlock+      Stratosphere.EC2.VPCDHCPOptionsAssociation+      Stratosphere.EC2.VPCEndpoint+      Stratosphere.EC2.VPCEndpoint.DnsOptionsSpecificationProperty+      Stratosphere.EC2.VPCEndpointConnectionNotification+      Stratosphere.EC2.VPCEndpointService+      Stratosphere.EC2.VPCEndpointServicePermissions+      Stratosphere.EC2.VPCGatewayAttachment+      Stratosphere.EC2.VPCPeeringConnection+      Stratosphere.EC2.VPNConnection+      Stratosphere.EC2.VPNConnection.CloudwatchLogOptionsSpecificationProperty+      Stratosphere.EC2.VPNConnection.IKEVersionsRequestListValueProperty+      Stratosphere.EC2.VPNConnection.Phase1DHGroupNumbersRequestListValueProperty+      Stratosphere.EC2.VPNConnection.Phase1EncryptionAlgorithmsRequestListValueProperty+      Stratosphere.EC2.VPNConnection.Phase1IntegrityAlgorithmsRequestListValueProperty+      Stratosphere.EC2.VPNConnection.Phase2DHGroupNumbersRequestListValueProperty+      Stratosphere.EC2.VPNConnection.Phase2EncryptionAlgorithmsRequestListValueProperty+      Stratosphere.EC2.VPNConnection.Phase2IntegrityAlgorithmsRequestListValueProperty+      Stratosphere.EC2.VPNConnection.VpnTunnelLogOptionsSpecificationProperty+      Stratosphere.EC2.VPNConnection.VpnTunnelOptionsSpecificationProperty+      Stratosphere.EC2.VPNConnectionRoute+      Stratosphere.EC2.VPNGateway+      Stratosphere.EC2.VPNGatewayRoutePropagation+  other-modules:+      Paths_stratosphere_ec2+  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