diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
--- /dev/null
+++ b/LICENSE.md
@@ -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.
diff --git a/gen/Stratosphere/Deadline/Farm.hs b/gen/Stratosphere/Deadline/Farm.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Farm.hs
@@ -0,0 +1,62 @@
+module Stratosphere.Deadline.Farm (
+        Farm(..), mkFarm
+    ) 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 Farm
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html>
+    Farm {haddock_workaround_ :: (),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html#cfn-deadline-farm-description>
+          description :: (Prelude.Maybe (Value Prelude.Text)),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html#cfn-deadline-farm-displayname>
+          displayName :: (Value Prelude.Text),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html#cfn-deadline-farm-kmskeyarn>
+          kmsKeyArn :: (Prelude.Maybe (Value Prelude.Text)),
+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-farm.html#cfn-deadline-farm-tags>
+          tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFarm :: Value Prelude.Text -> Farm
+mkFarm displayName
+  = Farm
+      {haddock_workaround_ = (), displayName = displayName,
+       description = Prelude.Nothing, kmsKeyArn = Prelude.Nothing,
+       tags = Prelude.Nothing}
+instance ToResourceProperties Farm where
+  toResourceProperties Farm {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Farm", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["DisplayName" JSON..= displayName]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Farm where
+  toJSON Farm {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["DisplayName" JSON..= displayName]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "KmsKeyArn" Prelude.<$> kmsKeyArn,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Description" Farm where
+  type PropertyType "Description" Farm = Value Prelude.Text
+  set newValue Farm {..}
+    = Farm {description = Prelude.pure newValue, ..}
+instance Property "DisplayName" Farm where
+  type PropertyType "DisplayName" Farm = Value Prelude.Text
+  set newValue Farm {..} = Farm {displayName = newValue, ..}
+instance Property "KmsKeyArn" Farm where
+  type PropertyType "KmsKeyArn" Farm = Value Prelude.Text
+  set newValue Farm {..}
+    = Farm {kmsKeyArn = Prelude.pure newValue, ..}
+instance Property "Tags" Farm where
+  type PropertyType "Tags" Farm = [Tag]
+  set newValue Farm {..} = Farm {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet.hs b/gen/Stratosphere/Deadline/Fleet.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet.hs
@@ -0,0 +1,102 @@
+module Stratosphere.Deadline.Fleet (
+        module Exports, Fleet(..), mkFleet
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.FleetConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.HostConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data Fleet
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html>
+    Fleet {haddock_workaround_ :: (),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-configuration>
+           configuration :: FleetConfigurationProperty,
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-description>
+           description :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-displayname>
+           displayName :: (Value Prelude.Text),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-farmid>
+           farmId :: (Value Prelude.Text),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-hostconfiguration>
+           hostConfiguration :: (Prelude.Maybe HostConfigurationProperty),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-maxworkercount>
+           maxWorkerCount :: (Value Prelude.Integer),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-minworkercount>
+           minWorkerCount :: (Prelude.Maybe (Value Prelude.Integer)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-rolearn>
+           roleArn :: (Value Prelude.Text),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-fleet.html#cfn-deadline-fleet-tags>
+           tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFleet ::
+  FleetConfigurationProperty
+  -> Value Prelude.Text
+     -> Value Prelude.Text
+        -> Value Prelude.Integer -> Value Prelude.Text -> Fleet
+mkFleet configuration displayName farmId maxWorkerCount roleArn
+  = Fleet
+      {haddock_workaround_ = (), configuration = configuration,
+       displayName = displayName, farmId = farmId,
+       maxWorkerCount = maxWorkerCount, roleArn = roleArn,
+       description = Prelude.Nothing, hostConfiguration = Prelude.Nothing,
+       minWorkerCount = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties Fleet where
+  toResourceProperties Fleet {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Configuration" JSON..= configuration,
+                            "DisplayName" JSON..= displayName, "FarmId" JSON..= farmId,
+                            "MaxWorkerCount" JSON..= maxWorkerCount, "RoleArn" JSON..= roleArn]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "HostConfiguration" Prelude.<$> hostConfiguration,
+                               (JSON..=) "MinWorkerCount" Prelude.<$> minWorkerCount,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Fleet where
+  toJSON Fleet {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Configuration" JSON..= configuration,
+               "DisplayName" JSON..= displayName, "FarmId" JSON..= farmId,
+               "MaxWorkerCount" JSON..= maxWorkerCount, "RoleArn" JSON..= roleArn]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "HostConfiguration" Prelude.<$> hostConfiguration,
+                  (JSON..=) "MinWorkerCount" Prelude.<$> minWorkerCount,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "Configuration" Fleet where
+  type PropertyType "Configuration" Fleet = FleetConfigurationProperty
+  set newValue Fleet {..} = Fleet {configuration = newValue, ..}
+instance Property "Description" Fleet where
+  type PropertyType "Description" Fleet = Value Prelude.Text
+  set newValue Fleet {..}
+    = Fleet {description = Prelude.pure newValue, ..}
+instance Property "DisplayName" Fleet where
+  type PropertyType "DisplayName" Fleet = Value Prelude.Text
+  set newValue Fleet {..} = Fleet {displayName = newValue, ..}
+instance Property "FarmId" Fleet where
+  type PropertyType "FarmId" Fleet = Value Prelude.Text
+  set newValue Fleet {..} = Fleet {farmId = newValue, ..}
+instance Property "HostConfiguration" Fleet where
+  type PropertyType "HostConfiguration" Fleet = HostConfigurationProperty
+  set newValue Fleet {..}
+    = Fleet {hostConfiguration = Prelude.pure newValue, ..}
+instance Property "MaxWorkerCount" Fleet where
+  type PropertyType "MaxWorkerCount" Fleet = Value Prelude.Integer
+  set newValue Fleet {..} = Fleet {maxWorkerCount = newValue, ..}
+instance Property "MinWorkerCount" Fleet where
+  type PropertyType "MinWorkerCount" Fleet = Value Prelude.Integer
+  set newValue Fleet {..}
+    = Fleet {minWorkerCount = Prelude.pure newValue, ..}
+instance Property "RoleArn" Fleet where
+  type PropertyType "RoleArn" Fleet = Value Prelude.Text
+  set newValue Fleet {..} = Fleet {roleArn = newValue, ..}
+instance Property "Tags" Fleet where
+  type PropertyType "Tags" Fleet = [Tag]
+  set newValue Fleet {..} = Fleet {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/AcceleratorCapabilitiesProperty.hs b/gen/Stratosphere/Deadline/Fleet/AcceleratorCapabilitiesProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/AcceleratorCapabilitiesProperty.hs
@@ -0,0 +1,49 @@
+module Stratosphere.Deadline.Fleet.AcceleratorCapabilitiesProperty (
+        module Exports, AcceleratorCapabilitiesProperty(..),
+        mkAcceleratorCapabilitiesProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.AcceleratorCountRangeProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.AcceleratorSelectionProperty as Exports
+import Stratosphere.ResourceProperties
+data AcceleratorCapabilitiesProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratorcapabilities.html>
+    AcceleratorCapabilitiesProperty {haddock_workaround_ :: (),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratorcapabilities.html#cfn-deadline-fleet-acceleratorcapabilities-count>
+                                     count :: (Prelude.Maybe AcceleratorCountRangeProperty),
+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratorcapabilities.html#cfn-deadline-fleet-acceleratorcapabilities-selections>
+                                     selections :: [AcceleratorSelectionProperty]}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAcceleratorCapabilitiesProperty ::
+  [AcceleratorSelectionProperty] -> AcceleratorCapabilitiesProperty
+mkAcceleratorCapabilitiesProperty selections
+  = AcceleratorCapabilitiesProperty
+      {haddock_workaround_ = (), selections = selections,
+       count = Prelude.Nothing}
+instance ToResourceProperties AcceleratorCapabilitiesProperty where
+  toResourceProperties AcceleratorCapabilitiesProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.AcceleratorCapabilities",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Selections" JSON..= selections]
+                           (Prelude.catMaybes [(JSON..=) "Count" Prelude.<$> count]))}
+instance JSON.ToJSON AcceleratorCapabilitiesProperty where
+  toJSON AcceleratorCapabilitiesProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Selections" JSON..= selections]
+              (Prelude.catMaybes [(JSON..=) "Count" Prelude.<$> count])))
+instance Property "Count" AcceleratorCapabilitiesProperty where
+  type PropertyType "Count" AcceleratorCapabilitiesProperty = AcceleratorCountRangeProperty
+  set newValue AcceleratorCapabilitiesProperty {..}
+    = AcceleratorCapabilitiesProperty
+        {count = Prelude.pure newValue, ..}
+instance Property "Selections" AcceleratorCapabilitiesProperty where
+  type PropertyType "Selections" AcceleratorCapabilitiesProperty = [AcceleratorSelectionProperty]
+  set newValue AcceleratorCapabilitiesProperty {..}
+    = AcceleratorCapabilitiesProperty {selections = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/AcceleratorCapabilitiesProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/AcceleratorCapabilitiesProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/AcceleratorCapabilitiesProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.AcceleratorCapabilitiesProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AcceleratorCapabilitiesProperty :: Prelude.Type
+instance ToResourceProperties AcceleratorCapabilitiesProperty
+instance Prelude.Eq AcceleratorCapabilitiesProperty
+instance Prelude.Show AcceleratorCapabilitiesProperty
+instance JSON.ToJSON AcceleratorCapabilitiesProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/AcceleratorCountRangeProperty.hs b/gen/Stratosphere/Deadline/Fleet/AcceleratorCountRangeProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/AcceleratorCountRangeProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Deadline.Fleet.AcceleratorCountRangeProperty (
+        AcceleratorCountRangeProperty(..), mkAcceleratorCountRangeProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AcceleratorCountRangeProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratorcountrange.html>
+    AcceleratorCountRangeProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratorcountrange.html#cfn-deadline-fleet-acceleratorcountrange-max>
+                                   max :: (Prelude.Maybe (Value Prelude.Integer)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratorcountrange.html#cfn-deadline-fleet-acceleratorcountrange-min>
+                                   min :: (Value Prelude.Integer)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAcceleratorCountRangeProperty ::
+  Value Prelude.Integer -> AcceleratorCountRangeProperty
+mkAcceleratorCountRangeProperty min
+  = AcceleratorCountRangeProperty
+      {haddock_workaround_ = (), min = min, max = Prelude.Nothing}
+instance ToResourceProperties AcceleratorCountRangeProperty where
+  toResourceProperties AcceleratorCountRangeProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.AcceleratorCountRange",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Min" JSON..= min]
+                           (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max]))}
+instance JSON.ToJSON AcceleratorCountRangeProperty where
+  toJSON AcceleratorCountRangeProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Min" JSON..= min]
+              (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max])))
+instance Property "Max" AcceleratorCountRangeProperty where
+  type PropertyType "Max" AcceleratorCountRangeProperty = Value Prelude.Integer
+  set newValue AcceleratorCountRangeProperty {..}
+    = AcceleratorCountRangeProperty {max = Prelude.pure newValue, ..}
+instance Property "Min" AcceleratorCountRangeProperty where
+  type PropertyType "Min" AcceleratorCountRangeProperty = Value Prelude.Integer
+  set newValue AcceleratorCountRangeProperty {..}
+    = AcceleratorCountRangeProperty {min = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/AcceleratorCountRangeProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/AcceleratorCountRangeProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/AcceleratorCountRangeProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.AcceleratorCountRangeProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AcceleratorCountRangeProperty :: Prelude.Type
+instance ToResourceProperties AcceleratorCountRangeProperty
+instance Prelude.Eq AcceleratorCountRangeProperty
+instance Prelude.Show AcceleratorCountRangeProperty
+instance JSON.ToJSON AcceleratorCountRangeProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/AcceleratorSelectionProperty.hs b/gen/Stratosphere/Deadline/Fleet/AcceleratorSelectionProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/AcceleratorSelectionProperty.hs
@@ -0,0 +1,46 @@
+module Stratosphere.Deadline.Fleet.AcceleratorSelectionProperty (
+        AcceleratorSelectionProperty(..), mkAcceleratorSelectionProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AcceleratorSelectionProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratorselection.html>
+    AcceleratorSelectionProperty {haddock_workaround_ :: (),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratorselection.html#cfn-deadline-fleet-acceleratorselection-name>
+                                  name :: (Value Prelude.Text),
+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratorselection.html#cfn-deadline-fleet-acceleratorselection-runtime>
+                                  runtime :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAcceleratorSelectionProperty ::
+  Value Prelude.Text -> AcceleratorSelectionProperty
+mkAcceleratorSelectionProperty name
+  = AcceleratorSelectionProperty
+      {haddock_workaround_ = (), name = name, runtime = Prelude.Nothing}
+instance ToResourceProperties AcceleratorSelectionProperty where
+  toResourceProperties AcceleratorSelectionProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.AcceleratorSelection",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Name" JSON..= name]
+                           (Prelude.catMaybes [(JSON..=) "Runtime" Prelude.<$> runtime]))}
+instance JSON.ToJSON AcceleratorSelectionProperty where
+  toJSON AcceleratorSelectionProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Name" JSON..= name]
+              (Prelude.catMaybes [(JSON..=) "Runtime" Prelude.<$> runtime])))
+instance Property "Name" AcceleratorSelectionProperty where
+  type PropertyType "Name" AcceleratorSelectionProperty = Value Prelude.Text
+  set newValue AcceleratorSelectionProperty {..}
+    = AcceleratorSelectionProperty {name = newValue, ..}
+instance Property "Runtime" AcceleratorSelectionProperty where
+  type PropertyType "Runtime" AcceleratorSelectionProperty = Value Prelude.Text
+  set newValue AcceleratorSelectionProperty {..}
+    = AcceleratorSelectionProperty
+        {runtime = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/AcceleratorSelectionProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/AcceleratorSelectionProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/AcceleratorSelectionProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.AcceleratorSelectionProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AcceleratorSelectionProperty :: Prelude.Type
+instance ToResourceProperties AcceleratorSelectionProperty
+instance Prelude.Eq AcceleratorSelectionProperty
+instance Prelude.Show AcceleratorSelectionProperty
+instance JSON.ToJSON AcceleratorSelectionProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/AcceleratorTotalMemoryMiBRangeProperty.hs b/gen/Stratosphere/Deadline/Fleet/AcceleratorTotalMemoryMiBRangeProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/AcceleratorTotalMemoryMiBRangeProperty.hs
@@ -0,0 +1,47 @@
+module Stratosphere.Deadline.Fleet.AcceleratorTotalMemoryMiBRangeProperty (
+        AcceleratorTotalMemoryMiBRangeProperty(..),
+        mkAcceleratorTotalMemoryMiBRangeProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data AcceleratorTotalMemoryMiBRangeProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratortotalmemorymibrange.html>
+    AcceleratorTotalMemoryMiBRangeProperty {haddock_workaround_ :: (),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratortotalmemorymibrange.html#cfn-deadline-fleet-acceleratortotalmemorymibrange-max>
+                                            max :: (Prelude.Maybe (Value Prelude.Integer)),
+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-acceleratortotalmemorymibrange.html#cfn-deadline-fleet-acceleratortotalmemorymibrange-min>
+                                            min :: (Value Prelude.Integer)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkAcceleratorTotalMemoryMiBRangeProperty ::
+  Value Prelude.Integer -> AcceleratorTotalMemoryMiBRangeProperty
+mkAcceleratorTotalMemoryMiBRangeProperty min
+  = AcceleratorTotalMemoryMiBRangeProperty
+      {haddock_workaround_ = (), min = min, max = Prelude.Nothing}
+instance ToResourceProperties AcceleratorTotalMemoryMiBRangeProperty where
+  toResourceProperties AcceleratorTotalMemoryMiBRangeProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.AcceleratorTotalMemoryMiBRange",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Min" JSON..= min]
+                           (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max]))}
+instance JSON.ToJSON AcceleratorTotalMemoryMiBRangeProperty where
+  toJSON AcceleratorTotalMemoryMiBRangeProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Min" JSON..= min]
+              (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max])))
+instance Property "Max" AcceleratorTotalMemoryMiBRangeProperty where
+  type PropertyType "Max" AcceleratorTotalMemoryMiBRangeProperty = Value Prelude.Integer
+  set newValue AcceleratorTotalMemoryMiBRangeProperty {..}
+    = AcceleratorTotalMemoryMiBRangeProperty
+        {max = Prelude.pure newValue, ..}
+instance Property "Min" AcceleratorTotalMemoryMiBRangeProperty where
+  type PropertyType "Min" AcceleratorTotalMemoryMiBRangeProperty = Value Prelude.Integer
+  set newValue AcceleratorTotalMemoryMiBRangeProperty {..}
+    = AcceleratorTotalMemoryMiBRangeProperty {min = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/AcceleratorTotalMemoryMiBRangeProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/AcceleratorTotalMemoryMiBRangeProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/AcceleratorTotalMemoryMiBRangeProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.AcceleratorTotalMemoryMiBRangeProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data AcceleratorTotalMemoryMiBRangeProperty :: Prelude.Type
+instance ToResourceProperties AcceleratorTotalMemoryMiBRangeProperty
+instance Prelude.Eq AcceleratorTotalMemoryMiBRangeProperty
+instance Prelude.Show AcceleratorTotalMemoryMiBRangeProperty
+instance JSON.ToJSON AcceleratorTotalMemoryMiBRangeProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/CustomerManagedFleetConfigurationProperty.hs b/gen/Stratosphere/Deadline/Fleet/CustomerManagedFleetConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/CustomerManagedFleetConfigurationProperty.hs
@@ -0,0 +1,73 @@
+module Stratosphere.Deadline.Fleet.CustomerManagedFleetConfigurationProperty (
+        module Exports, CustomerManagedFleetConfigurationProperty(..),
+        mkCustomerManagedFleetConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.CustomerManagedWorkerCapabilitiesProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CustomerManagedFleetConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedfleetconfiguration.html>
+    CustomerManagedFleetConfigurationProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedfleetconfiguration.html#cfn-deadline-fleet-customermanagedfleetconfiguration-mode>
+                                               mode :: (Value Prelude.Text),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedfleetconfiguration.html#cfn-deadline-fleet-customermanagedfleetconfiguration-storageprofileid>
+                                               storageProfileId :: (Prelude.Maybe (Value Prelude.Text)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedfleetconfiguration.html#cfn-deadline-fleet-customermanagedfleetconfiguration-tagpropagationmode>
+                                               tagPropagationMode :: (Prelude.Maybe (Value Prelude.Text)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedfleetconfiguration.html#cfn-deadline-fleet-customermanagedfleetconfiguration-workercapabilities>
+                                               workerCapabilities :: CustomerManagedWorkerCapabilitiesProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCustomerManagedFleetConfigurationProperty ::
+  Value Prelude.Text
+  -> CustomerManagedWorkerCapabilitiesProperty
+     -> CustomerManagedFleetConfigurationProperty
+mkCustomerManagedFleetConfigurationProperty mode workerCapabilities
+  = CustomerManagedFleetConfigurationProperty
+      {haddock_workaround_ = (), mode = mode,
+       workerCapabilities = workerCapabilities,
+       storageProfileId = Prelude.Nothing,
+       tagPropagationMode = Prelude.Nothing}
+instance ToResourceProperties CustomerManagedFleetConfigurationProperty where
+  toResourceProperties CustomerManagedFleetConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.CustomerManagedFleetConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Mode" JSON..= mode,
+                            "WorkerCapabilities" JSON..= workerCapabilities]
+                           (Prelude.catMaybes
+                              [(JSON..=) "StorageProfileId" Prelude.<$> storageProfileId,
+                               (JSON..=) "TagPropagationMode" Prelude.<$> tagPropagationMode]))}
+instance JSON.ToJSON CustomerManagedFleetConfigurationProperty where
+  toJSON CustomerManagedFleetConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Mode" JSON..= mode,
+               "WorkerCapabilities" JSON..= workerCapabilities]
+              (Prelude.catMaybes
+                 [(JSON..=) "StorageProfileId" Prelude.<$> storageProfileId,
+                  (JSON..=) "TagPropagationMode" Prelude.<$> tagPropagationMode])))
+instance Property "Mode" CustomerManagedFleetConfigurationProperty where
+  type PropertyType "Mode" CustomerManagedFleetConfigurationProperty = Value Prelude.Text
+  set newValue CustomerManagedFleetConfigurationProperty {..}
+    = CustomerManagedFleetConfigurationProperty {mode = newValue, ..}
+instance Property "StorageProfileId" CustomerManagedFleetConfigurationProperty where
+  type PropertyType "StorageProfileId" CustomerManagedFleetConfigurationProperty = Value Prelude.Text
+  set newValue CustomerManagedFleetConfigurationProperty {..}
+    = CustomerManagedFleetConfigurationProperty
+        {storageProfileId = Prelude.pure newValue, ..}
+instance Property "TagPropagationMode" CustomerManagedFleetConfigurationProperty where
+  type PropertyType "TagPropagationMode" CustomerManagedFleetConfigurationProperty = Value Prelude.Text
+  set newValue CustomerManagedFleetConfigurationProperty {..}
+    = CustomerManagedFleetConfigurationProperty
+        {tagPropagationMode = Prelude.pure newValue, ..}
+instance Property "WorkerCapabilities" CustomerManagedFleetConfigurationProperty where
+  type PropertyType "WorkerCapabilities" CustomerManagedFleetConfigurationProperty = CustomerManagedWorkerCapabilitiesProperty
+  set newValue CustomerManagedFleetConfigurationProperty {..}
+    = CustomerManagedFleetConfigurationProperty
+        {workerCapabilities = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/CustomerManagedFleetConfigurationProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/CustomerManagedFleetConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/CustomerManagedFleetConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.CustomerManagedFleetConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CustomerManagedFleetConfigurationProperty :: Prelude.Type
+instance ToResourceProperties CustomerManagedFleetConfigurationProperty
+instance Prelude.Eq CustomerManagedFleetConfigurationProperty
+instance Prelude.Show CustomerManagedFleetConfigurationProperty
+instance JSON.ToJSON CustomerManagedFleetConfigurationProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/CustomerManagedWorkerCapabilitiesProperty.hs b/gen/Stratosphere/Deadline/Fleet/CustomerManagedWorkerCapabilitiesProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/CustomerManagedWorkerCapabilitiesProperty.hs
@@ -0,0 +1,134 @@
+module Stratosphere.Deadline.Fleet.CustomerManagedWorkerCapabilitiesProperty (
+        module Exports, CustomerManagedWorkerCapabilitiesProperty(..),
+        mkCustomerManagedWorkerCapabilitiesProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.AcceleratorCountRangeProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.AcceleratorTotalMemoryMiBRangeProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.FleetAmountCapabilityProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.FleetAttributeCapabilityProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.MemoryMiBRangeProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.VCpuCountRangeProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data CustomerManagedWorkerCapabilitiesProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html>
+    CustomerManagedWorkerCapabilitiesProperty {haddock_workaround_ :: (),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html#cfn-deadline-fleet-customermanagedworkercapabilities-acceleratorcount>
+                                               acceleratorCount :: (Prelude.Maybe AcceleratorCountRangeProperty),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html#cfn-deadline-fleet-customermanagedworkercapabilities-acceleratortotalmemorymib>
+                                               acceleratorTotalMemoryMiB :: (Prelude.Maybe AcceleratorTotalMemoryMiBRangeProperty),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html#cfn-deadline-fleet-customermanagedworkercapabilities-acceleratortypes>
+                                               acceleratorTypes :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html#cfn-deadline-fleet-customermanagedworkercapabilities-cpuarchitecturetype>
+                                               cpuArchitectureType :: (Value Prelude.Text),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html#cfn-deadline-fleet-customermanagedworkercapabilities-customamounts>
+                                               customAmounts :: (Prelude.Maybe [FleetAmountCapabilityProperty]),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html#cfn-deadline-fleet-customermanagedworkercapabilities-customattributes>
+                                               customAttributes :: (Prelude.Maybe [FleetAttributeCapabilityProperty]),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html#cfn-deadline-fleet-customermanagedworkercapabilities-memorymib>
+                                               memoryMiB :: MemoryMiBRangeProperty,
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html#cfn-deadline-fleet-customermanagedworkercapabilities-osfamily>
+                                               osFamily :: (Value Prelude.Text),
+                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-customermanagedworkercapabilities.html#cfn-deadline-fleet-customermanagedworkercapabilities-vcpucount>
+                                               vCpuCount :: VCpuCountRangeProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkCustomerManagedWorkerCapabilitiesProperty ::
+  Value Prelude.Text
+  -> MemoryMiBRangeProperty
+     -> Value Prelude.Text
+        -> VCpuCountRangeProperty
+           -> CustomerManagedWorkerCapabilitiesProperty
+mkCustomerManagedWorkerCapabilitiesProperty
+  cpuArchitectureType
+  memoryMiB
+  osFamily
+  vCpuCount
+  = CustomerManagedWorkerCapabilitiesProperty
+      {haddock_workaround_ = (),
+       cpuArchitectureType = cpuArchitectureType, memoryMiB = memoryMiB,
+       osFamily = osFamily, vCpuCount = vCpuCount,
+       acceleratorCount = Prelude.Nothing,
+       acceleratorTotalMemoryMiB = Prelude.Nothing,
+       acceleratorTypes = Prelude.Nothing,
+       customAmounts = Prelude.Nothing,
+       customAttributes = Prelude.Nothing}
+instance ToResourceProperties CustomerManagedWorkerCapabilitiesProperty where
+  toResourceProperties CustomerManagedWorkerCapabilitiesProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.CustomerManagedWorkerCapabilities",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["CpuArchitectureType" JSON..= cpuArchitectureType,
+                            "MemoryMiB" JSON..= memoryMiB, "OsFamily" JSON..= osFamily,
+                            "VCpuCount" JSON..= vCpuCount]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,
+                               (JSON..=) "AcceleratorTotalMemoryMiB"
+                                 Prelude.<$> acceleratorTotalMemoryMiB,
+                               (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,
+                               (JSON..=) "CustomAmounts" Prelude.<$> customAmounts,
+                               (JSON..=) "CustomAttributes" Prelude.<$> customAttributes]))}
+instance JSON.ToJSON CustomerManagedWorkerCapabilitiesProperty where
+  toJSON CustomerManagedWorkerCapabilitiesProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["CpuArchitectureType" JSON..= cpuArchitectureType,
+               "MemoryMiB" JSON..= memoryMiB, "OsFamily" JSON..= osFamily,
+               "VCpuCount" JSON..= vCpuCount]
+              (Prelude.catMaybes
+                 [(JSON..=) "AcceleratorCount" Prelude.<$> acceleratorCount,
+                  (JSON..=) "AcceleratorTotalMemoryMiB"
+                    Prelude.<$> acceleratorTotalMemoryMiB,
+                  (JSON..=) "AcceleratorTypes" Prelude.<$> acceleratorTypes,
+                  (JSON..=) "CustomAmounts" Prelude.<$> customAmounts,
+                  (JSON..=) "CustomAttributes" Prelude.<$> customAttributes])))
+instance Property "AcceleratorCount" CustomerManagedWorkerCapabilitiesProperty where
+  type PropertyType "AcceleratorCount" CustomerManagedWorkerCapabilitiesProperty = AcceleratorCountRangeProperty
+  set newValue CustomerManagedWorkerCapabilitiesProperty {..}
+    = CustomerManagedWorkerCapabilitiesProperty
+        {acceleratorCount = Prelude.pure newValue, ..}
+instance Property "AcceleratorTotalMemoryMiB" CustomerManagedWorkerCapabilitiesProperty where
+  type PropertyType "AcceleratorTotalMemoryMiB" CustomerManagedWorkerCapabilitiesProperty = AcceleratorTotalMemoryMiBRangeProperty
+  set newValue CustomerManagedWorkerCapabilitiesProperty {..}
+    = CustomerManagedWorkerCapabilitiesProperty
+        {acceleratorTotalMemoryMiB = Prelude.pure newValue, ..}
+instance Property "AcceleratorTypes" CustomerManagedWorkerCapabilitiesProperty where
+  type PropertyType "AcceleratorTypes" CustomerManagedWorkerCapabilitiesProperty = ValueList Prelude.Text
+  set newValue CustomerManagedWorkerCapabilitiesProperty {..}
+    = CustomerManagedWorkerCapabilitiesProperty
+        {acceleratorTypes = Prelude.pure newValue, ..}
+instance Property "CpuArchitectureType" CustomerManagedWorkerCapabilitiesProperty where
+  type PropertyType "CpuArchitectureType" CustomerManagedWorkerCapabilitiesProperty = Value Prelude.Text
+  set newValue CustomerManagedWorkerCapabilitiesProperty {..}
+    = CustomerManagedWorkerCapabilitiesProperty
+        {cpuArchitectureType = newValue, ..}
+instance Property "CustomAmounts" CustomerManagedWorkerCapabilitiesProperty where
+  type PropertyType "CustomAmounts" CustomerManagedWorkerCapabilitiesProperty = [FleetAmountCapabilityProperty]
+  set newValue CustomerManagedWorkerCapabilitiesProperty {..}
+    = CustomerManagedWorkerCapabilitiesProperty
+        {customAmounts = Prelude.pure newValue, ..}
+instance Property "CustomAttributes" CustomerManagedWorkerCapabilitiesProperty where
+  type PropertyType "CustomAttributes" CustomerManagedWorkerCapabilitiesProperty = [FleetAttributeCapabilityProperty]
+  set newValue CustomerManagedWorkerCapabilitiesProperty {..}
+    = CustomerManagedWorkerCapabilitiesProperty
+        {customAttributes = Prelude.pure newValue, ..}
+instance Property "MemoryMiB" CustomerManagedWorkerCapabilitiesProperty where
+  type PropertyType "MemoryMiB" CustomerManagedWorkerCapabilitiesProperty = MemoryMiBRangeProperty
+  set newValue CustomerManagedWorkerCapabilitiesProperty {..}
+    = CustomerManagedWorkerCapabilitiesProperty
+        {memoryMiB = newValue, ..}
+instance Property "OsFamily" CustomerManagedWorkerCapabilitiesProperty where
+  type PropertyType "OsFamily" CustomerManagedWorkerCapabilitiesProperty = Value Prelude.Text
+  set newValue CustomerManagedWorkerCapabilitiesProperty {..}
+    = CustomerManagedWorkerCapabilitiesProperty
+        {osFamily = newValue, ..}
+instance Property "VCpuCount" CustomerManagedWorkerCapabilitiesProperty where
+  type PropertyType "VCpuCount" CustomerManagedWorkerCapabilitiesProperty = VCpuCountRangeProperty
+  set newValue CustomerManagedWorkerCapabilitiesProperty {..}
+    = CustomerManagedWorkerCapabilitiesProperty
+        {vCpuCount = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/CustomerManagedWorkerCapabilitiesProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/CustomerManagedWorkerCapabilitiesProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/CustomerManagedWorkerCapabilitiesProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.CustomerManagedWorkerCapabilitiesProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data CustomerManagedWorkerCapabilitiesProperty :: Prelude.Type
+instance ToResourceProperties CustomerManagedWorkerCapabilitiesProperty
+instance Prelude.Eq CustomerManagedWorkerCapabilitiesProperty
+instance Prelude.Show CustomerManagedWorkerCapabilitiesProperty
+instance JSON.ToJSON CustomerManagedWorkerCapabilitiesProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/Ec2EbsVolumeProperty.hs b/gen/Stratosphere/Deadline/Fleet/Ec2EbsVolumeProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/Ec2EbsVolumeProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.Deadline.Fleet.Ec2EbsVolumeProperty (
+        Ec2EbsVolumeProperty(..), mkEc2EbsVolumeProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data Ec2EbsVolumeProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-ec2ebsvolume.html>
+    Ec2EbsVolumeProperty {haddock_workaround_ :: (),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-ec2ebsvolume.html#cfn-deadline-fleet-ec2ebsvolume-iops>
+                          iops :: (Prelude.Maybe (Value Prelude.Integer)),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-ec2ebsvolume.html#cfn-deadline-fleet-ec2ebsvolume-sizegib>
+                          sizeGiB :: (Prelude.Maybe (Value Prelude.Integer)),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-ec2ebsvolume.html#cfn-deadline-fleet-ec2ebsvolume-throughputmib>
+                          throughputMiB :: (Prelude.Maybe (Value Prelude.Integer))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkEc2EbsVolumeProperty :: Ec2EbsVolumeProperty
+mkEc2EbsVolumeProperty
+  = Ec2EbsVolumeProperty
+      {haddock_workaround_ = (), iops = Prelude.Nothing,
+       sizeGiB = Prelude.Nothing, throughputMiB = Prelude.Nothing}
+instance ToResourceProperties Ec2EbsVolumeProperty where
+  toResourceProperties Ec2EbsVolumeProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.Ec2EbsVolume",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Iops" Prelude.<$> iops,
+                            (JSON..=) "SizeGiB" Prelude.<$> sizeGiB,
+                            (JSON..=) "ThroughputMiB" Prelude.<$> throughputMiB])}
+instance JSON.ToJSON Ec2EbsVolumeProperty where
+  toJSON Ec2EbsVolumeProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Iops" Prelude.<$> iops,
+               (JSON..=) "SizeGiB" Prelude.<$> sizeGiB,
+               (JSON..=) "ThroughputMiB" Prelude.<$> throughputMiB]))
+instance Property "Iops" Ec2EbsVolumeProperty where
+  type PropertyType "Iops" Ec2EbsVolumeProperty = Value Prelude.Integer
+  set newValue Ec2EbsVolumeProperty {..}
+    = Ec2EbsVolumeProperty {iops = Prelude.pure newValue, ..}
+instance Property "SizeGiB" Ec2EbsVolumeProperty where
+  type PropertyType "SizeGiB" Ec2EbsVolumeProperty = Value Prelude.Integer
+  set newValue Ec2EbsVolumeProperty {..}
+    = Ec2EbsVolumeProperty {sizeGiB = Prelude.pure newValue, ..}
+instance Property "ThroughputMiB" Ec2EbsVolumeProperty where
+  type PropertyType "ThroughputMiB" Ec2EbsVolumeProperty = Value Prelude.Integer
+  set newValue Ec2EbsVolumeProperty {..}
+    = Ec2EbsVolumeProperty {throughputMiB = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/Ec2EbsVolumeProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/Ec2EbsVolumeProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/Ec2EbsVolumeProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.Ec2EbsVolumeProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data Ec2EbsVolumeProperty :: Prelude.Type
+instance ToResourceProperties Ec2EbsVolumeProperty
+instance Prelude.Eq Ec2EbsVolumeProperty
+instance Prelude.Show Ec2EbsVolumeProperty
+instance JSON.ToJSON Ec2EbsVolumeProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/FleetAmountCapabilityProperty.hs b/gen/Stratosphere/Deadline/Fleet/FleetAmountCapabilityProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/FleetAmountCapabilityProperty.hs
@@ -0,0 +1,53 @@
+module Stratosphere.Deadline.Fleet.FleetAmountCapabilityProperty (
+        FleetAmountCapabilityProperty(..), mkFleetAmountCapabilityProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FleetAmountCapabilityProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetamountcapability.html>
+    FleetAmountCapabilityProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetamountcapability.html#cfn-deadline-fleet-fleetamountcapability-max>
+                                   max :: (Prelude.Maybe (Value Prelude.Double)),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetamountcapability.html#cfn-deadline-fleet-fleetamountcapability-min>
+                                   min :: (Value Prelude.Double),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetamountcapability.html#cfn-deadline-fleet-fleetamountcapability-name>
+                                   name :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFleetAmountCapabilityProperty ::
+  Value Prelude.Double
+  -> Value Prelude.Text -> FleetAmountCapabilityProperty
+mkFleetAmountCapabilityProperty min name
+  = FleetAmountCapabilityProperty
+      {haddock_workaround_ = (), min = min, name = name,
+       max = Prelude.Nothing}
+instance ToResourceProperties FleetAmountCapabilityProperty where
+  toResourceProperties FleetAmountCapabilityProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.FleetAmountCapability",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Min" JSON..= min, "Name" JSON..= name]
+                           (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max]))}
+instance JSON.ToJSON FleetAmountCapabilityProperty where
+  toJSON FleetAmountCapabilityProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Min" JSON..= min, "Name" JSON..= name]
+              (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max])))
+instance Property "Max" FleetAmountCapabilityProperty where
+  type PropertyType "Max" FleetAmountCapabilityProperty = Value Prelude.Double
+  set newValue FleetAmountCapabilityProperty {..}
+    = FleetAmountCapabilityProperty {max = Prelude.pure newValue, ..}
+instance Property "Min" FleetAmountCapabilityProperty where
+  type PropertyType "Min" FleetAmountCapabilityProperty = Value Prelude.Double
+  set newValue FleetAmountCapabilityProperty {..}
+    = FleetAmountCapabilityProperty {min = newValue, ..}
+instance Property "Name" FleetAmountCapabilityProperty where
+  type PropertyType "Name" FleetAmountCapabilityProperty = Value Prelude.Text
+  set newValue FleetAmountCapabilityProperty {..}
+    = FleetAmountCapabilityProperty {name = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/FleetAmountCapabilityProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/FleetAmountCapabilityProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/FleetAmountCapabilityProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.FleetAmountCapabilityProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FleetAmountCapabilityProperty :: Prelude.Type
+instance ToResourceProperties FleetAmountCapabilityProperty
+instance Prelude.Eq FleetAmountCapabilityProperty
+instance Prelude.Show FleetAmountCapabilityProperty
+instance JSON.ToJSON FleetAmountCapabilityProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/FleetAttributeCapabilityProperty.hs b/gen/Stratosphere/Deadline/Fleet/FleetAttributeCapabilityProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/FleetAttributeCapabilityProperty.hs
@@ -0,0 +1,40 @@
+module Stratosphere.Deadline.Fleet.FleetAttributeCapabilityProperty (
+        FleetAttributeCapabilityProperty(..),
+        mkFleetAttributeCapabilityProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FleetAttributeCapabilityProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetattributecapability.html>
+    FleetAttributeCapabilityProperty {haddock_workaround_ :: (),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetattributecapability.html#cfn-deadline-fleet-fleetattributecapability-name>
+                                      name :: (Value Prelude.Text),
+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetattributecapability.html#cfn-deadline-fleet-fleetattributecapability-values>
+                                      values :: (ValueList Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFleetAttributeCapabilityProperty ::
+  Value Prelude.Text
+  -> ValueList Prelude.Text -> FleetAttributeCapabilityProperty
+mkFleetAttributeCapabilityProperty name values
+  = FleetAttributeCapabilityProperty
+      {haddock_workaround_ = (), name = name, values = values}
+instance ToResourceProperties FleetAttributeCapabilityProperty where
+  toResourceProperties FleetAttributeCapabilityProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.FleetAttributeCapability",
+         supportsTags = Prelude.False,
+         properties = ["Name" JSON..= name, "Values" JSON..= values]}
+instance JSON.ToJSON FleetAttributeCapabilityProperty where
+  toJSON FleetAttributeCapabilityProperty {..}
+    = JSON.object ["Name" JSON..= name, "Values" JSON..= values]
+instance Property "Name" FleetAttributeCapabilityProperty where
+  type PropertyType "Name" FleetAttributeCapabilityProperty = Value Prelude.Text
+  set newValue FleetAttributeCapabilityProperty {..}
+    = FleetAttributeCapabilityProperty {name = newValue, ..}
+instance Property "Values" FleetAttributeCapabilityProperty where
+  type PropertyType "Values" FleetAttributeCapabilityProperty = ValueList Prelude.Text
+  set newValue FleetAttributeCapabilityProperty {..}
+    = FleetAttributeCapabilityProperty {values = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/FleetAttributeCapabilityProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/FleetAttributeCapabilityProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/FleetAttributeCapabilityProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.FleetAttributeCapabilityProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FleetAttributeCapabilityProperty :: Prelude.Type
+instance ToResourceProperties FleetAttributeCapabilityProperty
+instance Prelude.Eq FleetAttributeCapabilityProperty
+instance Prelude.Show FleetAttributeCapabilityProperty
+instance JSON.ToJSON FleetAttributeCapabilityProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/FleetCapabilitiesProperty.hs b/gen/Stratosphere/Deadline/Fleet/FleetCapabilitiesProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/FleetCapabilitiesProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Deadline.Fleet.FleetCapabilitiesProperty (
+        module Exports, FleetCapabilitiesProperty(..),
+        mkFleetCapabilitiesProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.FleetAmountCapabilityProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.FleetAttributeCapabilityProperty as Exports
+import Stratosphere.ResourceProperties
+data FleetCapabilitiesProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetcapabilities.html>
+    FleetCapabilitiesProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetcapabilities.html#cfn-deadline-fleet-fleetcapabilities-amounts>
+                               amounts :: (Prelude.Maybe [FleetAmountCapabilityProperty]),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetcapabilities.html#cfn-deadline-fleet-fleetcapabilities-attributes>
+                               attributes :: (Prelude.Maybe [FleetAttributeCapabilityProperty])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFleetCapabilitiesProperty :: FleetCapabilitiesProperty
+mkFleetCapabilitiesProperty
+  = FleetCapabilitiesProperty
+      {haddock_workaround_ = (), amounts = Prelude.Nothing,
+       attributes = Prelude.Nothing}
+instance ToResourceProperties FleetCapabilitiesProperty where
+  toResourceProperties FleetCapabilitiesProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.FleetCapabilities",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "Amounts" Prelude.<$> amounts,
+                            (JSON..=) "Attributes" Prelude.<$> attributes])}
+instance JSON.ToJSON FleetCapabilitiesProperty where
+  toJSON FleetCapabilitiesProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "Amounts" Prelude.<$> amounts,
+               (JSON..=) "Attributes" Prelude.<$> attributes]))
+instance Property "Amounts" FleetCapabilitiesProperty where
+  type PropertyType "Amounts" FleetCapabilitiesProperty = [FleetAmountCapabilityProperty]
+  set newValue FleetCapabilitiesProperty {..}
+    = FleetCapabilitiesProperty {amounts = Prelude.pure newValue, ..}
+instance Property "Attributes" FleetCapabilitiesProperty where
+  type PropertyType "Attributes" FleetCapabilitiesProperty = [FleetAttributeCapabilityProperty]
+  set newValue FleetCapabilitiesProperty {..}
+    = FleetCapabilitiesProperty
+        {attributes = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/FleetCapabilitiesProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/FleetCapabilitiesProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/FleetCapabilitiesProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.FleetCapabilitiesProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FleetCapabilitiesProperty :: Prelude.Type
+instance ToResourceProperties FleetCapabilitiesProperty
+instance Prelude.Eq FleetCapabilitiesProperty
+instance Prelude.Show FleetCapabilitiesProperty
+instance JSON.ToJSON FleetCapabilitiesProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/FleetConfigurationProperty.hs b/gen/Stratosphere/Deadline/Fleet/FleetConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/FleetConfigurationProperty.hs
@@ -0,0 +1,49 @@
+module Stratosphere.Deadline.Fleet.FleetConfigurationProperty (
+        module Exports, FleetConfigurationProperty(..),
+        mkFleetConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.CustomerManagedFleetConfigurationProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.ServiceManagedEc2FleetConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+data FleetConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetconfiguration.html>
+    FleetConfigurationProperty {haddock_workaround_ :: (),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetconfiguration.html#cfn-deadline-fleet-fleetconfiguration-customermanaged>
+                                customerManaged :: (Prelude.Maybe CustomerManagedFleetConfigurationProperty),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-fleetconfiguration.html#cfn-deadline-fleet-fleetconfiguration-servicemanagedec2>
+                                serviceManagedEc2 :: (Prelude.Maybe ServiceManagedEc2FleetConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFleetConfigurationProperty :: FleetConfigurationProperty
+mkFleetConfigurationProperty
+  = FleetConfigurationProperty
+      {haddock_workaround_ = (), customerManaged = Prelude.Nothing,
+       serviceManagedEc2 = Prelude.Nothing}
+instance ToResourceProperties FleetConfigurationProperty where
+  toResourceProperties FleetConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.FleetConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "CustomerManaged" Prelude.<$> customerManaged,
+                            (JSON..=) "ServiceManagedEc2" Prelude.<$> serviceManagedEc2])}
+instance JSON.ToJSON FleetConfigurationProperty where
+  toJSON FleetConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "CustomerManaged" Prelude.<$> customerManaged,
+               (JSON..=) "ServiceManagedEc2" Prelude.<$> serviceManagedEc2]))
+instance Property "CustomerManaged" FleetConfigurationProperty where
+  type PropertyType "CustomerManaged" FleetConfigurationProperty = CustomerManagedFleetConfigurationProperty
+  set newValue FleetConfigurationProperty {..}
+    = FleetConfigurationProperty
+        {customerManaged = Prelude.pure newValue, ..}
+instance Property "ServiceManagedEc2" FleetConfigurationProperty where
+  type PropertyType "ServiceManagedEc2" FleetConfigurationProperty = ServiceManagedEc2FleetConfigurationProperty
+  set newValue FleetConfigurationProperty {..}
+    = FleetConfigurationProperty
+        {serviceManagedEc2 = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/FleetConfigurationProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/FleetConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/FleetConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.FleetConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FleetConfigurationProperty :: Prelude.Type
+instance ToResourceProperties FleetConfigurationProperty
+instance Prelude.Eq FleetConfigurationProperty
+instance Prelude.Show FleetConfigurationProperty
+instance JSON.ToJSON FleetConfigurationProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/HostConfigurationProperty.hs b/gen/Stratosphere/Deadline/Fleet/HostConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/HostConfigurationProperty.hs
@@ -0,0 +1,51 @@
+module Stratosphere.Deadline.Fleet.HostConfigurationProperty (
+        HostConfigurationProperty(..), mkHostConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data HostConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-hostconfiguration.html>
+    HostConfigurationProperty {haddock_workaround_ :: (),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-hostconfiguration.html#cfn-deadline-fleet-hostconfiguration-scriptbody>
+                               scriptBody :: (Value Prelude.Text),
+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-hostconfiguration.html#cfn-deadline-fleet-hostconfiguration-scripttimeoutseconds>
+                               scriptTimeoutSeconds :: (Prelude.Maybe (Value Prelude.Integer))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkHostConfigurationProperty ::
+  Value Prelude.Text -> HostConfigurationProperty
+mkHostConfigurationProperty scriptBody
+  = HostConfigurationProperty
+      {haddock_workaround_ = (), scriptBody = scriptBody,
+       scriptTimeoutSeconds = Prelude.Nothing}
+instance ToResourceProperties HostConfigurationProperty where
+  toResourceProperties HostConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.HostConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["ScriptBody" JSON..= scriptBody]
+                           (Prelude.catMaybes
+                              [(JSON..=) "ScriptTimeoutSeconds"
+                                 Prelude.<$> scriptTimeoutSeconds]))}
+instance JSON.ToJSON HostConfigurationProperty where
+  toJSON HostConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["ScriptBody" JSON..= scriptBody]
+              (Prelude.catMaybes
+                 [(JSON..=) "ScriptTimeoutSeconds"
+                    Prelude.<$> scriptTimeoutSeconds])))
+instance Property "ScriptBody" HostConfigurationProperty where
+  type PropertyType "ScriptBody" HostConfigurationProperty = Value Prelude.Text
+  set newValue HostConfigurationProperty {..}
+    = HostConfigurationProperty {scriptBody = newValue, ..}
+instance Property "ScriptTimeoutSeconds" HostConfigurationProperty where
+  type PropertyType "ScriptTimeoutSeconds" HostConfigurationProperty = Value Prelude.Integer
+  set newValue HostConfigurationProperty {..}
+    = HostConfigurationProperty
+        {scriptTimeoutSeconds = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/HostConfigurationProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/HostConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/HostConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.HostConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data HostConfigurationProperty :: Prelude.Type
+instance ToResourceProperties HostConfigurationProperty
+instance Prelude.Eq HostConfigurationProperty
+instance Prelude.Show HostConfigurationProperty
+instance JSON.ToJSON HostConfigurationProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/MemoryMiBRangeProperty.hs b/gen/Stratosphere/Deadline/Fleet/MemoryMiBRangeProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/MemoryMiBRangeProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Deadline.Fleet.MemoryMiBRangeProperty (
+        MemoryMiBRangeProperty(..), mkMemoryMiBRangeProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MemoryMiBRangeProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-memorymibrange.html>
+    MemoryMiBRangeProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-memorymibrange.html#cfn-deadline-fleet-memorymibrange-max>
+                            max :: (Prelude.Maybe (Value Prelude.Integer)),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-memorymibrange.html#cfn-deadline-fleet-memorymibrange-min>
+                            min :: (Value Prelude.Integer)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMemoryMiBRangeProperty ::
+  Value Prelude.Integer -> MemoryMiBRangeProperty
+mkMemoryMiBRangeProperty min
+  = MemoryMiBRangeProperty
+      {haddock_workaround_ = (), min = min, max = Prelude.Nothing}
+instance ToResourceProperties MemoryMiBRangeProperty where
+  toResourceProperties MemoryMiBRangeProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.MemoryMiBRange",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Min" JSON..= min]
+                           (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max]))}
+instance JSON.ToJSON MemoryMiBRangeProperty where
+  toJSON MemoryMiBRangeProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Min" JSON..= min]
+              (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max])))
+instance Property "Max" MemoryMiBRangeProperty where
+  type PropertyType "Max" MemoryMiBRangeProperty = Value Prelude.Integer
+  set newValue MemoryMiBRangeProperty {..}
+    = MemoryMiBRangeProperty {max = Prelude.pure newValue, ..}
+instance Property "Min" MemoryMiBRangeProperty where
+  type PropertyType "Min" MemoryMiBRangeProperty = Value Prelude.Integer
+  set newValue MemoryMiBRangeProperty {..}
+    = MemoryMiBRangeProperty {min = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/MemoryMiBRangeProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/MemoryMiBRangeProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/MemoryMiBRangeProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.MemoryMiBRangeProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data MemoryMiBRangeProperty :: Prelude.Type
+instance ToResourceProperties MemoryMiBRangeProperty
+instance Prelude.Eq MemoryMiBRangeProperty
+instance Prelude.Show MemoryMiBRangeProperty
+instance JSON.ToJSON MemoryMiBRangeProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2FleetConfigurationProperty.hs b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2FleetConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2FleetConfigurationProperty.hs
@@ -0,0 +1,80 @@
+module Stratosphere.Deadline.Fleet.ServiceManagedEc2FleetConfigurationProperty (
+        module Exports, ServiceManagedEc2FleetConfigurationProperty(..),
+        mkServiceManagedEc2FleetConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.ServiceManagedEc2InstanceCapabilitiesProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.ServiceManagedEc2InstanceMarketOptionsProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.VpcConfigurationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ServiceManagedEc2FleetConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2fleetconfiguration.html>
+    ServiceManagedEc2FleetConfigurationProperty {haddock_workaround_ :: (),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2fleetconfiguration.html#cfn-deadline-fleet-servicemanagedec2fleetconfiguration-instancecapabilities>
+                                                 instanceCapabilities :: ServiceManagedEc2InstanceCapabilitiesProperty,
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2fleetconfiguration.html#cfn-deadline-fleet-servicemanagedec2fleetconfiguration-instancemarketoptions>
+                                                 instanceMarketOptions :: ServiceManagedEc2InstanceMarketOptionsProperty,
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2fleetconfiguration.html#cfn-deadline-fleet-servicemanagedec2fleetconfiguration-storageprofileid>
+                                                 storageProfileId :: (Prelude.Maybe (Value Prelude.Text)),
+                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2fleetconfiguration.html#cfn-deadline-fleet-servicemanagedec2fleetconfiguration-vpcconfiguration>
+                                                 vpcConfiguration :: (Prelude.Maybe VpcConfigurationProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkServiceManagedEc2FleetConfigurationProperty ::
+  ServiceManagedEc2InstanceCapabilitiesProperty
+  -> ServiceManagedEc2InstanceMarketOptionsProperty
+     -> ServiceManagedEc2FleetConfigurationProperty
+mkServiceManagedEc2FleetConfigurationProperty
+  instanceCapabilities
+  instanceMarketOptions
+  = ServiceManagedEc2FleetConfigurationProperty
+      {haddock_workaround_ = (),
+       instanceCapabilities = instanceCapabilities,
+       instanceMarketOptions = instanceMarketOptions,
+       storageProfileId = Prelude.Nothing,
+       vpcConfiguration = Prelude.Nothing}
+instance ToResourceProperties ServiceManagedEc2FleetConfigurationProperty where
+  toResourceProperties
+    ServiceManagedEc2FleetConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.ServiceManagedEc2FleetConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["InstanceCapabilities" JSON..= instanceCapabilities,
+                            "InstanceMarketOptions" JSON..= instanceMarketOptions]
+                           (Prelude.catMaybes
+                              [(JSON..=) "StorageProfileId" Prelude.<$> storageProfileId,
+                               (JSON..=) "VpcConfiguration" Prelude.<$> vpcConfiguration]))}
+instance JSON.ToJSON ServiceManagedEc2FleetConfigurationProperty where
+  toJSON ServiceManagedEc2FleetConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["InstanceCapabilities" JSON..= instanceCapabilities,
+               "InstanceMarketOptions" JSON..= instanceMarketOptions]
+              (Prelude.catMaybes
+                 [(JSON..=) "StorageProfileId" Prelude.<$> storageProfileId,
+                  (JSON..=) "VpcConfiguration" Prelude.<$> vpcConfiguration])))
+instance Property "InstanceCapabilities" ServiceManagedEc2FleetConfigurationProperty where
+  type PropertyType "InstanceCapabilities" ServiceManagedEc2FleetConfigurationProperty = ServiceManagedEc2InstanceCapabilitiesProperty
+  set newValue ServiceManagedEc2FleetConfigurationProperty {..}
+    = ServiceManagedEc2FleetConfigurationProperty
+        {instanceCapabilities = newValue, ..}
+instance Property "InstanceMarketOptions" ServiceManagedEc2FleetConfigurationProperty where
+  type PropertyType "InstanceMarketOptions" ServiceManagedEc2FleetConfigurationProperty = ServiceManagedEc2InstanceMarketOptionsProperty
+  set newValue ServiceManagedEc2FleetConfigurationProperty {..}
+    = ServiceManagedEc2FleetConfigurationProperty
+        {instanceMarketOptions = newValue, ..}
+instance Property "StorageProfileId" ServiceManagedEc2FleetConfigurationProperty where
+  type PropertyType "StorageProfileId" ServiceManagedEc2FleetConfigurationProperty = Value Prelude.Text
+  set newValue ServiceManagedEc2FleetConfigurationProperty {..}
+    = ServiceManagedEc2FleetConfigurationProperty
+        {storageProfileId = Prelude.pure newValue, ..}
+instance Property "VpcConfiguration" ServiceManagedEc2FleetConfigurationProperty where
+  type PropertyType "VpcConfiguration" ServiceManagedEc2FleetConfigurationProperty = VpcConfigurationProperty
+  set newValue ServiceManagedEc2FleetConfigurationProperty {..}
+    = ServiceManagedEc2FleetConfigurationProperty
+        {vpcConfiguration = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2FleetConfigurationProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2FleetConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2FleetConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.ServiceManagedEc2FleetConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ServiceManagedEc2FleetConfigurationProperty :: Prelude.Type
+instance ToResourceProperties ServiceManagedEc2FleetConfigurationProperty
+instance Prelude.Eq ServiceManagedEc2FleetConfigurationProperty
+instance Prelude.Show ServiceManagedEc2FleetConfigurationProperty
+instance JSON.ToJSON ServiceManagedEc2FleetConfigurationProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceCapabilitiesProperty.hs b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceCapabilitiesProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceCapabilitiesProperty.hs
@@ -0,0 +1,147 @@
+module Stratosphere.Deadline.Fleet.ServiceManagedEc2InstanceCapabilitiesProperty (
+        module Exports, ServiceManagedEc2InstanceCapabilitiesProperty(..),
+        mkServiceManagedEc2InstanceCapabilitiesProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.AcceleratorCapabilitiesProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.Ec2EbsVolumeProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.FleetAmountCapabilityProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.FleetAttributeCapabilityProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.MemoryMiBRangeProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Fleet.VCpuCountRangeProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ServiceManagedEc2InstanceCapabilitiesProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html>
+    ServiceManagedEc2InstanceCapabilitiesProperty {haddock_workaround_ :: (),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-acceleratorcapabilities>
+                                                   acceleratorCapabilities :: (Prelude.Maybe AcceleratorCapabilitiesProperty),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-allowedinstancetypes>
+                                                   allowedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-cpuarchitecturetype>
+                                                   cpuArchitectureType :: (Value Prelude.Text),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-customamounts>
+                                                   customAmounts :: (Prelude.Maybe [FleetAmountCapabilityProperty]),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-customattributes>
+                                                   customAttributes :: (Prelude.Maybe [FleetAttributeCapabilityProperty]),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-excludedinstancetypes>
+                                                   excludedInstanceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-memorymib>
+                                                   memoryMiB :: MemoryMiBRangeProperty,
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-osfamily>
+                                                   osFamily :: (Value Prelude.Text),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-rootebsvolume>
+                                                   rootEbsVolume :: (Prelude.Maybe Ec2EbsVolumeProperty),
+                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancecapabilities.html#cfn-deadline-fleet-servicemanagedec2instancecapabilities-vcpucount>
+                                                   vCpuCount :: VCpuCountRangeProperty}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkServiceManagedEc2InstanceCapabilitiesProperty ::
+  Value Prelude.Text
+  -> MemoryMiBRangeProperty
+     -> Value Prelude.Text
+        -> VCpuCountRangeProperty
+           -> ServiceManagedEc2InstanceCapabilitiesProperty
+mkServiceManagedEc2InstanceCapabilitiesProperty
+  cpuArchitectureType
+  memoryMiB
+  osFamily
+  vCpuCount
+  = ServiceManagedEc2InstanceCapabilitiesProperty
+      {haddock_workaround_ = (),
+       cpuArchitectureType = cpuArchitectureType, memoryMiB = memoryMiB,
+       osFamily = osFamily, vCpuCount = vCpuCount,
+       acceleratorCapabilities = Prelude.Nothing,
+       allowedInstanceTypes = Prelude.Nothing,
+       customAmounts = Prelude.Nothing,
+       customAttributes = Prelude.Nothing,
+       excludedInstanceTypes = Prelude.Nothing,
+       rootEbsVolume = Prelude.Nothing}
+instance ToResourceProperties ServiceManagedEc2InstanceCapabilitiesProperty where
+  toResourceProperties
+    ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.ServiceManagedEc2InstanceCapabilities",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["CpuArchitectureType" JSON..= cpuArchitectureType,
+                            "MemoryMiB" JSON..= memoryMiB, "OsFamily" JSON..= osFamily,
+                            "VCpuCount" JSON..= vCpuCount]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AcceleratorCapabilities"
+                                 Prelude.<$> acceleratorCapabilities,
+                               (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,
+                               (JSON..=) "CustomAmounts" Prelude.<$> customAmounts,
+                               (JSON..=) "CustomAttributes" Prelude.<$> customAttributes,
+                               (JSON..=) "ExcludedInstanceTypes"
+                                 Prelude.<$> excludedInstanceTypes,
+                               (JSON..=) "RootEbsVolume" Prelude.<$> rootEbsVolume]))}
+instance JSON.ToJSON ServiceManagedEc2InstanceCapabilitiesProperty where
+  toJSON ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["CpuArchitectureType" JSON..= cpuArchitectureType,
+               "MemoryMiB" JSON..= memoryMiB, "OsFamily" JSON..= osFamily,
+               "VCpuCount" JSON..= vCpuCount]
+              (Prelude.catMaybes
+                 [(JSON..=) "AcceleratorCapabilities"
+                    Prelude.<$> acceleratorCapabilities,
+                  (JSON..=) "AllowedInstanceTypes" Prelude.<$> allowedInstanceTypes,
+                  (JSON..=) "CustomAmounts" Prelude.<$> customAmounts,
+                  (JSON..=) "CustomAttributes" Prelude.<$> customAttributes,
+                  (JSON..=) "ExcludedInstanceTypes"
+                    Prelude.<$> excludedInstanceTypes,
+                  (JSON..=) "RootEbsVolume" Prelude.<$> rootEbsVolume])))
+instance Property "AcceleratorCapabilities" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "AcceleratorCapabilities" ServiceManagedEc2InstanceCapabilitiesProperty = AcceleratorCapabilitiesProperty
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {acceleratorCapabilities = Prelude.pure newValue, ..}
+instance Property "AllowedInstanceTypes" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "AllowedInstanceTypes" ServiceManagedEc2InstanceCapabilitiesProperty = ValueList Prelude.Text
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {allowedInstanceTypes = Prelude.pure newValue, ..}
+instance Property "CpuArchitectureType" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "CpuArchitectureType" ServiceManagedEc2InstanceCapabilitiesProperty = Value Prelude.Text
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {cpuArchitectureType = newValue, ..}
+instance Property "CustomAmounts" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "CustomAmounts" ServiceManagedEc2InstanceCapabilitiesProperty = [FleetAmountCapabilityProperty]
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {customAmounts = Prelude.pure newValue, ..}
+instance Property "CustomAttributes" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "CustomAttributes" ServiceManagedEc2InstanceCapabilitiesProperty = [FleetAttributeCapabilityProperty]
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {customAttributes = Prelude.pure newValue, ..}
+instance Property "ExcludedInstanceTypes" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "ExcludedInstanceTypes" ServiceManagedEc2InstanceCapabilitiesProperty = ValueList Prelude.Text
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {excludedInstanceTypes = Prelude.pure newValue, ..}
+instance Property "MemoryMiB" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "MemoryMiB" ServiceManagedEc2InstanceCapabilitiesProperty = MemoryMiBRangeProperty
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {memoryMiB = newValue, ..}
+instance Property "OsFamily" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "OsFamily" ServiceManagedEc2InstanceCapabilitiesProperty = Value Prelude.Text
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {osFamily = newValue, ..}
+instance Property "RootEbsVolume" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "RootEbsVolume" ServiceManagedEc2InstanceCapabilitiesProperty = Ec2EbsVolumeProperty
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {rootEbsVolume = Prelude.pure newValue, ..}
+instance Property "VCpuCount" ServiceManagedEc2InstanceCapabilitiesProperty where
+  type PropertyType "VCpuCount" ServiceManagedEc2InstanceCapabilitiesProperty = VCpuCountRangeProperty
+  set newValue ServiceManagedEc2InstanceCapabilitiesProperty {..}
+    = ServiceManagedEc2InstanceCapabilitiesProperty
+        {vCpuCount = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceCapabilitiesProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceCapabilitiesProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceCapabilitiesProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.ServiceManagedEc2InstanceCapabilitiesProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ServiceManagedEc2InstanceCapabilitiesProperty :: Prelude.Type
+instance ToResourceProperties ServiceManagedEc2InstanceCapabilitiesProperty
+instance Prelude.Eq ServiceManagedEc2InstanceCapabilitiesProperty
+instance Prelude.Show ServiceManagedEc2InstanceCapabilitiesProperty
+instance JSON.ToJSON ServiceManagedEc2InstanceCapabilitiesProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceMarketOptionsProperty.hs b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceMarketOptionsProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceMarketOptionsProperty.hs
@@ -0,0 +1,35 @@
+module Stratosphere.Deadline.Fleet.ServiceManagedEc2InstanceMarketOptionsProperty (
+        ServiceManagedEc2InstanceMarketOptionsProperty(..),
+        mkServiceManagedEc2InstanceMarketOptionsProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data ServiceManagedEc2InstanceMarketOptionsProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancemarketoptions.html>
+    ServiceManagedEc2InstanceMarketOptionsProperty {haddock_workaround_ :: (),
+                                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-servicemanagedec2instancemarketoptions.html#cfn-deadline-fleet-servicemanagedec2instancemarketoptions-type>
+                                                    type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkServiceManagedEc2InstanceMarketOptionsProperty ::
+  Value Prelude.Text
+  -> ServiceManagedEc2InstanceMarketOptionsProperty
+mkServiceManagedEc2InstanceMarketOptionsProperty type'
+  = ServiceManagedEc2InstanceMarketOptionsProperty
+      {haddock_workaround_ = (), type' = type'}
+instance ToResourceProperties ServiceManagedEc2InstanceMarketOptionsProperty where
+  toResourceProperties
+    ServiceManagedEc2InstanceMarketOptionsProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.ServiceManagedEc2InstanceMarketOptions",
+         supportsTags = Prelude.False, properties = ["Type" JSON..= type']}
+instance JSON.ToJSON ServiceManagedEc2InstanceMarketOptionsProperty where
+  toJSON ServiceManagedEc2InstanceMarketOptionsProperty {..}
+    = JSON.object ["Type" JSON..= type']
+instance Property "Type" ServiceManagedEc2InstanceMarketOptionsProperty where
+  type PropertyType "Type" ServiceManagedEc2InstanceMarketOptionsProperty = Value Prelude.Text
+  set newValue ServiceManagedEc2InstanceMarketOptionsProperty {..}
+    = ServiceManagedEc2InstanceMarketOptionsProperty
+        {type' = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceMarketOptionsProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceMarketOptionsProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/ServiceManagedEc2InstanceMarketOptionsProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.ServiceManagedEc2InstanceMarketOptionsProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data ServiceManagedEc2InstanceMarketOptionsProperty :: Prelude.Type
+instance ToResourceProperties ServiceManagedEc2InstanceMarketOptionsProperty
+instance Prelude.Eq ServiceManagedEc2InstanceMarketOptionsProperty
+instance Prelude.Show ServiceManagedEc2InstanceMarketOptionsProperty
+instance JSON.ToJSON ServiceManagedEc2InstanceMarketOptionsProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/VCpuCountRangeProperty.hs b/gen/Stratosphere/Deadline/Fleet/VCpuCountRangeProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/VCpuCountRangeProperty.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Deadline.Fleet.VCpuCountRangeProperty (
+        VCpuCountRangeProperty(..), mkVCpuCountRangeProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VCpuCountRangeProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-vcpucountrange.html>
+    VCpuCountRangeProperty {haddock_workaround_ :: (),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-vcpucountrange.html#cfn-deadline-fleet-vcpucountrange-max>
+                            max :: (Prelude.Maybe (Value Prelude.Integer)),
+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-vcpucountrange.html#cfn-deadline-fleet-vcpucountrange-min>
+                            min :: (Value Prelude.Integer)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVCpuCountRangeProperty ::
+  Value Prelude.Integer -> VCpuCountRangeProperty
+mkVCpuCountRangeProperty min
+  = VCpuCountRangeProperty
+      {haddock_workaround_ = (), min = min, max = Prelude.Nothing}
+instance ToResourceProperties VCpuCountRangeProperty where
+  toResourceProperties VCpuCountRangeProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.VCpuCountRange",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["Min" JSON..= min]
+                           (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max]))}
+instance JSON.ToJSON VCpuCountRangeProperty where
+  toJSON VCpuCountRangeProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["Min" JSON..= min]
+              (Prelude.catMaybes [(JSON..=) "Max" Prelude.<$> max])))
+instance Property "Max" VCpuCountRangeProperty where
+  type PropertyType "Max" VCpuCountRangeProperty = Value Prelude.Integer
+  set newValue VCpuCountRangeProperty {..}
+    = VCpuCountRangeProperty {max = Prelude.pure newValue, ..}
+instance Property "Min" VCpuCountRangeProperty where
+  type PropertyType "Min" VCpuCountRangeProperty = Value Prelude.Integer
+  set newValue VCpuCountRangeProperty {..}
+    = VCpuCountRangeProperty {min = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/VCpuCountRangeProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/VCpuCountRangeProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/VCpuCountRangeProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.VCpuCountRangeProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VCpuCountRangeProperty :: Prelude.Type
+instance ToResourceProperties VCpuCountRangeProperty
+instance Prelude.Eq VCpuCountRangeProperty
+instance Prelude.Show VCpuCountRangeProperty
+instance JSON.ToJSON VCpuCountRangeProperty
diff --git a/gen/Stratosphere/Deadline/Fleet/VpcConfigurationProperty.hs b/gen/Stratosphere/Deadline/Fleet/VpcConfigurationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/VpcConfigurationProperty.hs
@@ -0,0 +1,40 @@
+module Stratosphere.Deadline.Fleet.VpcConfigurationProperty (
+        VpcConfigurationProperty(..), mkVpcConfigurationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data VpcConfigurationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-vpcconfiguration.html>
+    VpcConfigurationProperty {haddock_workaround_ :: (),
+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-fleet-vpcconfiguration.html#cfn-deadline-fleet-vpcconfiguration-resourceconfigurationarns>
+                              resourceConfigurationArns :: (Prelude.Maybe (ValueList Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkVpcConfigurationProperty :: VpcConfigurationProperty
+mkVpcConfigurationProperty
+  = VpcConfigurationProperty
+      {haddock_workaround_ = (),
+       resourceConfigurationArns = Prelude.Nothing}
+instance ToResourceProperties VpcConfigurationProperty where
+  toResourceProperties VpcConfigurationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Fleet.VpcConfiguration",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "ResourceConfigurationArns"
+                              Prelude.<$> resourceConfigurationArns])}
+instance JSON.ToJSON VpcConfigurationProperty where
+  toJSON VpcConfigurationProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "ResourceConfigurationArns"
+                 Prelude.<$> resourceConfigurationArns]))
+instance Property "ResourceConfigurationArns" VpcConfigurationProperty where
+  type PropertyType "ResourceConfigurationArns" VpcConfigurationProperty = ValueList Prelude.Text
+  set newValue VpcConfigurationProperty {..}
+    = VpcConfigurationProperty
+        {resourceConfigurationArns = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Fleet/VpcConfigurationProperty.hs-boot b/gen/Stratosphere/Deadline/Fleet/VpcConfigurationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Fleet/VpcConfigurationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Fleet.VpcConfigurationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data VpcConfigurationProperty :: Prelude.Type
+instance ToResourceProperties VpcConfigurationProperty
+instance Prelude.Eq VpcConfigurationProperty
+instance Prelude.Show VpcConfigurationProperty
+instance JSON.ToJSON VpcConfigurationProperty
diff --git a/gen/Stratosphere/Deadline/LicenseEndpoint.hs b/gen/Stratosphere/Deadline/LicenseEndpoint.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/LicenseEndpoint.hs
@@ -0,0 +1,62 @@
+module Stratosphere.Deadline.LicenseEndpoint (
+        LicenseEndpoint(..), mkLicenseEndpoint
+    ) 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 LicenseEndpoint
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html>
+    LicenseEndpoint {haddock_workaround_ :: (),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html#cfn-deadline-licenseendpoint-securitygroupids>
+                     securityGroupIds :: (ValueList Prelude.Text),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html#cfn-deadline-licenseendpoint-subnetids>
+                     subnetIds :: (ValueList Prelude.Text),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html#cfn-deadline-licenseendpoint-tags>
+                     tags :: (Prelude.Maybe [Tag]),
+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-licenseendpoint.html#cfn-deadline-licenseendpoint-vpcid>
+                     vpcId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLicenseEndpoint ::
+  ValueList Prelude.Text
+  -> ValueList Prelude.Text -> Value Prelude.Text -> LicenseEndpoint
+mkLicenseEndpoint securityGroupIds subnetIds vpcId
+  = LicenseEndpoint
+      {haddock_workaround_ = (), securityGroupIds = securityGroupIds,
+       subnetIds = subnetIds, vpcId = vpcId, tags = Prelude.Nothing}
+instance ToResourceProperties LicenseEndpoint where
+  toResourceProperties LicenseEndpoint {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::LicenseEndpoint",
+         supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["SecurityGroupIds" JSON..= securityGroupIds,
+                            "SubnetIds" JSON..= subnetIds, "VpcId" JSON..= vpcId]
+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON LicenseEndpoint where
+  toJSON LicenseEndpoint {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["SecurityGroupIds" JSON..= securityGroupIds,
+               "SubnetIds" JSON..= subnetIds, "VpcId" JSON..= vpcId]
+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "SecurityGroupIds" LicenseEndpoint where
+  type PropertyType "SecurityGroupIds" LicenseEndpoint = ValueList Prelude.Text
+  set newValue LicenseEndpoint {..}
+    = LicenseEndpoint {securityGroupIds = newValue, ..}
+instance Property "SubnetIds" LicenseEndpoint where
+  type PropertyType "SubnetIds" LicenseEndpoint = ValueList Prelude.Text
+  set newValue LicenseEndpoint {..}
+    = LicenseEndpoint {subnetIds = newValue, ..}
+instance Property "Tags" LicenseEndpoint where
+  type PropertyType "Tags" LicenseEndpoint = [Tag]
+  set newValue LicenseEndpoint {..}
+    = LicenseEndpoint {tags = Prelude.pure newValue, ..}
+instance Property "VpcId" LicenseEndpoint where
+  type PropertyType "VpcId" LicenseEndpoint = Value Prelude.Text
+  set newValue LicenseEndpoint {..}
+    = LicenseEndpoint {vpcId = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Limit.hs b/gen/Stratosphere/Deadline/Limit.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Limit.hs
@@ -0,0 +1,70 @@
+module Stratosphere.Deadline.Limit (
+        Limit(..), mkLimit
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data Limit
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-limit.html>
+    Limit {haddock_workaround_ :: (),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-limit.html#cfn-deadline-limit-amountrequirementname>
+           amountRequirementName :: (Value Prelude.Text),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-limit.html#cfn-deadline-limit-description>
+           description :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-limit.html#cfn-deadline-limit-displayname>
+           displayName :: (Value Prelude.Text),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-limit.html#cfn-deadline-limit-farmid>
+           farmId :: (Value Prelude.Text),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-limit.html#cfn-deadline-limit-maxcount>
+           maxCount :: (Value Prelude.Integer)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkLimit ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> Value Prelude.Integer -> Limit
+mkLimit amountRequirementName displayName farmId maxCount
+  = Limit
+      {haddock_workaround_ = (),
+       amountRequirementName = amountRequirementName,
+       displayName = displayName, farmId = farmId, maxCount = maxCount,
+       description = Prelude.Nothing}
+instance ToResourceProperties Limit where
+  toResourceProperties Limit {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Limit", supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["AmountRequirementName" JSON..= amountRequirementName,
+                            "DisplayName" JSON..= displayName, "FarmId" JSON..= farmId,
+                            "MaxCount" JSON..= maxCount]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Description" Prelude.<$> description]))}
+instance JSON.ToJSON Limit where
+  toJSON Limit {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["AmountRequirementName" JSON..= amountRequirementName,
+               "DisplayName" JSON..= displayName, "FarmId" JSON..= farmId,
+               "MaxCount" JSON..= maxCount]
+              (Prelude.catMaybes
+                 [(JSON..=) "Description" Prelude.<$> description])))
+instance Property "AmountRequirementName" Limit where
+  type PropertyType "AmountRequirementName" Limit = Value Prelude.Text
+  set newValue Limit {..}
+    = Limit {amountRequirementName = newValue, ..}
+instance Property "Description" Limit where
+  type PropertyType "Description" Limit = Value Prelude.Text
+  set newValue Limit {..}
+    = Limit {description = Prelude.pure newValue, ..}
+instance Property "DisplayName" Limit where
+  type PropertyType "DisplayName" Limit = Value Prelude.Text
+  set newValue Limit {..} = Limit {displayName = newValue, ..}
+instance Property "FarmId" Limit where
+  type PropertyType "FarmId" Limit = Value Prelude.Text
+  set newValue Limit {..} = Limit {farmId = newValue, ..}
+instance Property "MaxCount" Limit where
+  type PropertyType "MaxCount" Limit = Value Prelude.Integer
+  set newValue Limit {..} = Limit {maxCount = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/MeteredProduct.hs b/gen/Stratosphere/Deadline/MeteredProduct.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/MeteredProduct.hs
@@ -0,0 +1,45 @@
+module Stratosphere.Deadline.MeteredProduct (
+        MeteredProduct(..), mkMeteredProduct
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data MeteredProduct
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html>
+    MeteredProduct {haddock_workaround_ :: (),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html#cfn-deadline-meteredproduct-licenseendpointid>
+                    licenseEndpointId :: (Prelude.Maybe (Value Prelude.Text)),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-meteredproduct.html#cfn-deadline-meteredproduct-productid>
+                    productId :: (Prelude.Maybe (Value Prelude.Text))}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMeteredProduct :: MeteredProduct
+mkMeteredProduct
+  = MeteredProduct
+      {haddock_workaround_ = (), licenseEndpointId = Prelude.Nothing,
+       productId = Prelude.Nothing}
+instance ToResourceProperties MeteredProduct where
+  toResourceProperties MeteredProduct {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::MeteredProduct",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        (Prelude.catMaybes
+                           [(JSON..=) "LicenseEndpointId" Prelude.<$> licenseEndpointId,
+                            (JSON..=) "ProductId" Prelude.<$> productId])}
+instance JSON.ToJSON MeteredProduct where
+  toJSON MeteredProduct {..}
+    = JSON.object
+        (Prelude.fromList
+           (Prelude.catMaybes
+              [(JSON..=) "LicenseEndpointId" Prelude.<$> licenseEndpointId,
+               (JSON..=) "ProductId" Prelude.<$> productId]))
+instance Property "LicenseEndpointId" MeteredProduct where
+  type PropertyType "LicenseEndpointId" MeteredProduct = Value Prelude.Text
+  set newValue MeteredProduct {..}
+    = MeteredProduct {licenseEndpointId = Prelude.pure newValue, ..}
+instance Property "ProductId" MeteredProduct where
+  type PropertyType "ProductId" MeteredProduct = Value Prelude.Text
+  set newValue MeteredProduct {..}
+    = MeteredProduct {productId = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Monitor.hs b/gen/Stratosphere/Deadline/Monitor.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Monitor.hs
@@ -0,0 +1,68 @@
+module Stratosphere.Deadline.Monitor (
+        Monitor(..), mkMonitor
+    ) 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 Monitor
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html>
+    Monitor {haddock_workaround_ :: (),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html#cfn-deadline-monitor-displayname>
+             displayName :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html#cfn-deadline-monitor-identitycenterinstancearn>
+             identityCenterInstanceArn :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html#cfn-deadline-monitor-rolearn>
+             roleArn :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html#cfn-deadline-monitor-subdomain>
+             subdomain :: (Value Prelude.Text),
+             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-monitor.html#cfn-deadline-monitor-tags>
+             tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkMonitor ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> Value Prelude.Text -> Monitor
+mkMonitor displayName identityCenterInstanceArn roleArn subdomain
+  = Monitor
+      {haddock_workaround_ = (), displayName = displayName,
+       identityCenterInstanceArn = identityCenterInstanceArn,
+       roleArn = roleArn, subdomain = subdomain, tags = Prelude.Nothing}
+instance ToResourceProperties Monitor where
+  toResourceProperties Monitor {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Monitor", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["DisplayName" JSON..= displayName,
+                            "IdentityCenterInstanceArn" JSON..= identityCenterInstanceArn,
+                            "RoleArn" JSON..= roleArn, "Subdomain" JSON..= subdomain]
+                           (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Monitor where
+  toJSON Monitor {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["DisplayName" JSON..= displayName,
+               "IdentityCenterInstanceArn" JSON..= identityCenterInstanceArn,
+               "RoleArn" JSON..= roleArn, "Subdomain" JSON..= subdomain]
+              (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "DisplayName" Monitor where
+  type PropertyType "DisplayName" Monitor = Value Prelude.Text
+  set newValue Monitor {..} = Monitor {displayName = newValue, ..}
+instance Property "IdentityCenterInstanceArn" Monitor where
+  type PropertyType "IdentityCenterInstanceArn" Monitor = Value Prelude.Text
+  set newValue Monitor {..}
+    = Monitor {identityCenterInstanceArn = newValue, ..}
+instance Property "RoleArn" Monitor where
+  type PropertyType "RoleArn" Monitor = Value Prelude.Text
+  set newValue Monitor {..} = Monitor {roleArn = newValue, ..}
+instance Property "Subdomain" Monitor where
+  type PropertyType "Subdomain" Monitor = Value Prelude.Text
+  set newValue Monitor {..} = Monitor {subdomain = newValue, ..}
+instance Property "Tags" Monitor where
+  type PropertyType "Tags" Monitor = [Tag]
+  set newValue Monitor {..}
+    = Monitor {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Queue.hs b/gen/Stratosphere/Deadline/Queue.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Queue.hs
@@ -0,0 +1,121 @@
+module Stratosphere.Deadline.Queue (
+        module Exports, Queue(..), mkQueue
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Queue.JobAttachmentSettingsProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Queue.JobRunAsUserProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Tag
+import Stratosphere.Value
+data Queue
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html>
+    Queue {haddock_workaround_ :: (),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-allowedstorageprofileids>
+           allowedStorageProfileIds :: (Prelude.Maybe (ValueList Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-defaultbudgetaction>
+           defaultBudgetAction :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-description>
+           description :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-displayname>
+           displayName :: (Value Prelude.Text),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-farmid>
+           farmId :: (Value Prelude.Text),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-jobattachmentsettings>
+           jobAttachmentSettings :: (Prelude.Maybe JobAttachmentSettingsProperty),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-jobrunasuser>
+           jobRunAsUser :: (Prelude.Maybe JobRunAsUserProperty),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-requiredfilesystemlocationnames>
+           requiredFileSystemLocationNames :: (Prelude.Maybe (ValueList Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-rolearn>
+           roleArn :: (Prelude.Maybe (Value Prelude.Text)),
+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queue.html#cfn-deadline-queue-tags>
+           tags :: (Prelude.Maybe [Tag])}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkQueue :: Value Prelude.Text -> Value Prelude.Text -> Queue
+mkQueue displayName farmId
+  = Queue
+      {haddock_workaround_ = (), displayName = displayName,
+       farmId = farmId, allowedStorageProfileIds = Prelude.Nothing,
+       defaultBudgetAction = Prelude.Nothing,
+       description = Prelude.Nothing,
+       jobAttachmentSettings = Prelude.Nothing,
+       jobRunAsUser = Prelude.Nothing,
+       requiredFileSystemLocationNames = Prelude.Nothing,
+       roleArn = Prelude.Nothing, tags = Prelude.Nothing}
+instance ToResourceProperties Queue where
+  toResourceProperties Queue {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Queue", supportsTags = Prelude.True,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["DisplayName" JSON..= displayName, "FarmId" JSON..= farmId]
+                           (Prelude.catMaybes
+                              [(JSON..=) "AllowedStorageProfileIds"
+                                 Prelude.<$> allowedStorageProfileIds,
+                               (JSON..=) "DefaultBudgetAction" Prelude.<$> defaultBudgetAction,
+                               (JSON..=) "Description" Prelude.<$> description,
+                               (JSON..=) "JobAttachmentSettings"
+                                 Prelude.<$> jobAttachmentSettings,
+                               (JSON..=) "JobRunAsUser" Prelude.<$> jobRunAsUser,
+                               (JSON..=) "RequiredFileSystemLocationNames"
+                                 Prelude.<$> requiredFileSystemLocationNames,
+                               (JSON..=) "RoleArn" Prelude.<$> roleArn,
+                               (JSON..=) "Tags" Prelude.<$> tags]))}
+instance JSON.ToJSON Queue where
+  toJSON Queue {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["DisplayName" JSON..= displayName, "FarmId" JSON..= farmId]
+              (Prelude.catMaybes
+                 [(JSON..=) "AllowedStorageProfileIds"
+                    Prelude.<$> allowedStorageProfileIds,
+                  (JSON..=) "DefaultBudgetAction" Prelude.<$> defaultBudgetAction,
+                  (JSON..=) "Description" Prelude.<$> description,
+                  (JSON..=) "JobAttachmentSettings"
+                    Prelude.<$> jobAttachmentSettings,
+                  (JSON..=) "JobRunAsUser" Prelude.<$> jobRunAsUser,
+                  (JSON..=) "RequiredFileSystemLocationNames"
+                    Prelude.<$> requiredFileSystemLocationNames,
+                  (JSON..=) "RoleArn" Prelude.<$> roleArn,
+                  (JSON..=) "Tags" Prelude.<$> tags])))
+instance Property "AllowedStorageProfileIds" Queue where
+  type PropertyType "AllowedStorageProfileIds" Queue = ValueList Prelude.Text
+  set newValue Queue {..}
+    = Queue {allowedStorageProfileIds = Prelude.pure newValue, ..}
+instance Property "DefaultBudgetAction" Queue where
+  type PropertyType "DefaultBudgetAction" Queue = Value Prelude.Text
+  set newValue Queue {..}
+    = Queue {defaultBudgetAction = Prelude.pure newValue, ..}
+instance Property "Description" Queue where
+  type PropertyType "Description" Queue = Value Prelude.Text
+  set newValue Queue {..}
+    = Queue {description = Prelude.pure newValue, ..}
+instance Property "DisplayName" Queue where
+  type PropertyType "DisplayName" Queue = Value Prelude.Text
+  set newValue Queue {..} = Queue {displayName = newValue, ..}
+instance Property "FarmId" Queue where
+  type PropertyType "FarmId" Queue = Value Prelude.Text
+  set newValue Queue {..} = Queue {farmId = newValue, ..}
+instance Property "JobAttachmentSettings" Queue where
+  type PropertyType "JobAttachmentSettings" Queue = JobAttachmentSettingsProperty
+  set newValue Queue {..}
+    = Queue {jobAttachmentSettings = Prelude.pure newValue, ..}
+instance Property "JobRunAsUser" Queue where
+  type PropertyType "JobRunAsUser" Queue = JobRunAsUserProperty
+  set newValue Queue {..}
+    = Queue {jobRunAsUser = Prelude.pure newValue, ..}
+instance Property "RequiredFileSystemLocationNames" Queue where
+  type PropertyType "RequiredFileSystemLocationNames" Queue = ValueList Prelude.Text
+  set newValue Queue {..}
+    = Queue
+        {requiredFileSystemLocationNames = Prelude.pure newValue, ..}
+instance Property "RoleArn" Queue where
+  type PropertyType "RoleArn" Queue = Value Prelude.Text
+  set newValue Queue {..}
+    = Queue {roleArn = Prelude.pure newValue, ..}
+instance Property "Tags" Queue where
+  type PropertyType "Tags" Queue = [Tag]
+  set newValue Queue {..} = Queue {tags = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Queue/JobAttachmentSettingsProperty.hs b/gen/Stratosphere/Deadline/Queue/JobAttachmentSettingsProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Queue/JobAttachmentSettingsProperty.hs
@@ -0,0 +1,43 @@
+module Stratosphere.Deadline.Queue.JobAttachmentSettingsProperty (
+        JobAttachmentSettingsProperty(..), mkJobAttachmentSettingsProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data JobAttachmentSettingsProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-jobattachmentsettings.html>
+    JobAttachmentSettingsProperty {haddock_workaround_ :: (),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-jobattachmentsettings.html#cfn-deadline-queue-jobattachmentsettings-rootprefix>
+                                   rootPrefix :: (Value Prelude.Text),
+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-jobattachmentsettings.html#cfn-deadline-queue-jobattachmentsettings-s3bucketname>
+                                   s3BucketName :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkJobAttachmentSettingsProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> JobAttachmentSettingsProperty
+mkJobAttachmentSettingsProperty rootPrefix s3BucketName
+  = JobAttachmentSettingsProperty
+      {haddock_workaround_ = (), rootPrefix = rootPrefix,
+       s3BucketName = s3BucketName}
+instance ToResourceProperties JobAttachmentSettingsProperty where
+  toResourceProperties JobAttachmentSettingsProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Queue.JobAttachmentSettings",
+         supportsTags = Prelude.False,
+         properties = ["RootPrefix" JSON..= rootPrefix,
+                       "S3BucketName" JSON..= s3BucketName]}
+instance JSON.ToJSON JobAttachmentSettingsProperty where
+  toJSON JobAttachmentSettingsProperty {..}
+    = JSON.object
+        ["RootPrefix" JSON..= rootPrefix,
+         "S3BucketName" JSON..= s3BucketName]
+instance Property "RootPrefix" JobAttachmentSettingsProperty where
+  type PropertyType "RootPrefix" JobAttachmentSettingsProperty = Value Prelude.Text
+  set newValue JobAttachmentSettingsProperty {..}
+    = JobAttachmentSettingsProperty {rootPrefix = newValue, ..}
+instance Property "S3BucketName" JobAttachmentSettingsProperty where
+  type PropertyType "S3BucketName" JobAttachmentSettingsProperty = Value Prelude.Text
+  set newValue JobAttachmentSettingsProperty {..}
+    = JobAttachmentSettingsProperty {s3BucketName = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Queue/JobAttachmentSettingsProperty.hs-boot b/gen/Stratosphere/Deadline/Queue/JobAttachmentSettingsProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Queue/JobAttachmentSettingsProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Queue.JobAttachmentSettingsProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data JobAttachmentSettingsProperty :: Prelude.Type
+instance ToResourceProperties JobAttachmentSettingsProperty
+instance Prelude.Eq JobAttachmentSettingsProperty
+instance Prelude.Show JobAttachmentSettingsProperty
+instance JSON.ToJSON JobAttachmentSettingsProperty
diff --git a/gen/Stratosphere/Deadline/Queue/JobRunAsUserProperty.hs b/gen/Stratosphere/Deadline/Queue/JobRunAsUserProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Queue/JobRunAsUserProperty.hs
@@ -0,0 +1,58 @@
+module Stratosphere.Deadline.Queue.JobRunAsUserProperty (
+        module Exports, JobRunAsUserProperty(..), mkJobRunAsUserProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.Queue.PosixUserProperty as Exports
+import {-# SOURCE #-} Stratosphere.Deadline.Queue.WindowsUserProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data JobRunAsUserProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-jobrunasuser.html>
+    JobRunAsUserProperty {haddock_workaround_ :: (),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-jobrunasuser.html#cfn-deadline-queue-jobrunasuser-posix>
+                          posix :: (Prelude.Maybe PosixUserProperty),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-jobrunasuser.html#cfn-deadline-queue-jobrunasuser-runas>
+                          runAs :: (Value Prelude.Text),
+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-jobrunasuser.html#cfn-deadline-queue-jobrunasuser-windows>
+                          windows :: (Prelude.Maybe WindowsUserProperty)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkJobRunAsUserProperty ::
+  Value Prelude.Text -> JobRunAsUserProperty
+mkJobRunAsUserProperty runAs
+  = JobRunAsUserProperty
+      {haddock_workaround_ = (), runAs = runAs, posix = Prelude.Nothing,
+       windows = Prelude.Nothing}
+instance ToResourceProperties JobRunAsUserProperty where
+  toResourceProperties JobRunAsUserProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Queue.JobRunAsUser",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["RunAs" JSON..= runAs]
+                           (Prelude.catMaybes
+                              [(JSON..=) "Posix" Prelude.<$> posix,
+                               (JSON..=) "Windows" Prelude.<$> windows]))}
+instance JSON.ToJSON JobRunAsUserProperty where
+  toJSON JobRunAsUserProperty {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["RunAs" JSON..= runAs]
+              (Prelude.catMaybes
+                 [(JSON..=) "Posix" Prelude.<$> posix,
+                  (JSON..=) "Windows" Prelude.<$> windows])))
+instance Property "Posix" JobRunAsUserProperty where
+  type PropertyType "Posix" JobRunAsUserProperty = PosixUserProperty
+  set newValue JobRunAsUserProperty {..}
+    = JobRunAsUserProperty {posix = Prelude.pure newValue, ..}
+instance Property "RunAs" JobRunAsUserProperty where
+  type PropertyType "RunAs" JobRunAsUserProperty = Value Prelude.Text
+  set newValue JobRunAsUserProperty {..}
+    = JobRunAsUserProperty {runAs = newValue, ..}
+instance Property "Windows" JobRunAsUserProperty where
+  type PropertyType "Windows" JobRunAsUserProperty = WindowsUserProperty
+  set newValue JobRunAsUserProperty {..}
+    = JobRunAsUserProperty {windows = Prelude.pure newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Queue/JobRunAsUserProperty.hs-boot b/gen/Stratosphere/Deadline/Queue/JobRunAsUserProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Queue/JobRunAsUserProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Queue.JobRunAsUserProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data JobRunAsUserProperty :: Prelude.Type
+instance ToResourceProperties JobRunAsUserProperty
+instance Prelude.Eq JobRunAsUserProperty
+instance Prelude.Show JobRunAsUserProperty
+instance JSON.ToJSON JobRunAsUserProperty
diff --git a/gen/Stratosphere/Deadline/Queue/PosixUserProperty.hs b/gen/Stratosphere/Deadline/Queue/PosixUserProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Queue/PosixUserProperty.hs
@@ -0,0 +1,38 @@
+module Stratosphere.Deadline.Queue.PosixUserProperty (
+        PosixUserProperty(..), mkPosixUserProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data PosixUserProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-posixuser.html>
+    PosixUserProperty {haddock_workaround_ :: (),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-posixuser.html#cfn-deadline-queue-posixuser-group>
+                       group :: (Value Prelude.Text),
+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-posixuser.html#cfn-deadline-queue-posixuser-user>
+                       user :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkPosixUserProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> PosixUserProperty
+mkPosixUserProperty group user
+  = PosixUserProperty
+      {haddock_workaround_ = (), group = group, user = user}
+instance ToResourceProperties PosixUserProperty where
+  toResourceProperties PosixUserProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Queue.PosixUser",
+         supportsTags = Prelude.False,
+         properties = ["Group" JSON..= group, "User" JSON..= user]}
+instance JSON.ToJSON PosixUserProperty where
+  toJSON PosixUserProperty {..}
+    = JSON.object ["Group" JSON..= group, "User" JSON..= user]
+instance Property "Group" PosixUserProperty where
+  type PropertyType "Group" PosixUserProperty = Value Prelude.Text
+  set newValue PosixUserProperty {..}
+    = PosixUserProperty {group = newValue, ..}
+instance Property "User" PosixUserProperty where
+  type PropertyType "User" PosixUserProperty = Value Prelude.Text
+  set newValue PosixUserProperty {..}
+    = PosixUserProperty {user = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Queue/PosixUserProperty.hs-boot b/gen/Stratosphere/Deadline/Queue/PosixUserProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Queue/PosixUserProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Queue.PosixUserProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data PosixUserProperty :: Prelude.Type
+instance ToResourceProperties PosixUserProperty
+instance Prelude.Eq PosixUserProperty
+instance Prelude.Show PosixUserProperty
+instance JSON.ToJSON PosixUserProperty
diff --git a/gen/Stratosphere/Deadline/Queue/WindowsUserProperty.hs b/gen/Stratosphere/Deadline/Queue/WindowsUserProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Queue/WindowsUserProperty.hs
@@ -0,0 +1,40 @@
+module Stratosphere.Deadline.Queue.WindowsUserProperty (
+        WindowsUserProperty(..), mkWindowsUserProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data WindowsUserProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-windowsuser.html>
+    WindowsUserProperty {haddock_workaround_ :: (),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-windowsuser.html#cfn-deadline-queue-windowsuser-passwordarn>
+                         passwordArn :: (Value Prelude.Text),
+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-queue-windowsuser.html#cfn-deadline-queue-windowsuser-user>
+                         user :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkWindowsUserProperty ::
+  Value Prelude.Text -> Value Prelude.Text -> WindowsUserProperty
+mkWindowsUserProperty passwordArn user
+  = WindowsUserProperty
+      {haddock_workaround_ = (), passwordArn = passwordArn, user = user}
+instance ToResourceProperties WindowsUserProperty where
+  toResourceProperties WindowsUserProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::Queue.WindowsUser",
+         supportsTags = Prelude.False,
+         properties = ["PasswordArn" JSON..= passwordArn,
+                       "User" JSON..= user]}
+instance JSON.ToJSON WindowsUserProperty where
+  toJSON WindowsUserProperty {..}
+    = JSON.object
+        ["PasswordArn" JSON..= passwordArn, "User" JSON..= user]
+instance Property "PasswordArn" WindowsUserProperty where
+  type PropertyType "PasswordArn" WindowsUserProperty = Value Prelude.Text
+  set newValue WindowsUserProperty {..}
+    = WindowsUserProperty {passwordArn = newValue, ..}
+instance Property "User" WindowsUserProperty where
+  type PropertyType "User" WindowsUserProperty = Value Prelude.Text
+  set newValue WindowsUserProperty {..}
+    = WindowsUserProperty {user = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/Queue/WindowsUserProperty.hs-boot b/gen/Stratosphere/Deadline/Queue/WindowsUserProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/Queue/WindowsUserProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.Queue.WindowsUserProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data WindowsUserProperty :: Prelude.Type
+instance ToResourceProperties WindowsUserProperty
+instance Prelude.Eq WindowsUserProperty
+instance Prelude.Show WindowsUserProperty
+instance JSON.ToJSON WindowsUserProperty
diff --git a/gen/Stratosphere/Deadline/QueueEnvironment.hs b/gen/Stratosphere/Deadline/QueueEnvironment.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/QueueEnvironment.hs
@@ -0,0 +1,66 @@
+module Stratosphere.Deadline.QueueEnvironment (
+        QueueEnvironment(..), mkQueueEnvironment
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data QueueEnvironment
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html>
+    QueueEnvironment {haddock_workaround_ :: (),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html#cfn-deadline-queueenvironment-farmid>
+                      farmId :: (Value Prelude.Text),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html#cfn-deadline-queueenvironment-priority>
+                      priority :: (Value Prelude.Integer),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html#cfn-deadline-queueenvironment-queueid>
+                      queueId :: (Value Prelude.Text),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html#cfn-deadline-queueenvironment-template>
+                      template :: (Value Prelude.Text),
+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queueenvironment.html#cfn-deadline-queueenvironment-templatetype>
+                      templateType :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkQueueEnvironment ::
+  Value Prelude.Text
+  -> Value Prelude.Integer
+     -> Value Prelude.Text
+        -> Value Prelude.Text -> Value Prelude.Text -> QueueEnvironment
+mkQueueEnvironment farmId priority queueId template templateType
+  = QueueEnvironment
+      {haddock_workaround_ = (), farmId = farmId, priority = priority,
+       queueId = queueId, template = template,
+       templateType = templateType}
+instance ToResourceProperties QueueEnvironment where
+  toResourceProperties QueueEnvironment {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::QueueEnvironment",
+         supportsTags = Prelude.False,
+         properties = ["FarmId" JSON..= farmId, "Priority" JSON..= priority,
+                       "QueueId" JSON..= queueId, "Template" JSON..= template,
+                       "TemplateType" JSON..= templateType]}
+instance JSON.ToJSON QueueEnvironment where
+  toJSON QueueEnvironment {..}
+    = JSON.object
+        ["FarmId" JSON..= farmId, "Priority" JSON..= priority,
+         "QueueId" JSON..= queueId, "Template" JSON..= template,
+         "TemplateType" JSON..= templateType]
+instance Property "FarmId" QueueEnvironment where
+  type PropertyType "FarmId" QueueEnvironment = Value Prelude.Text
+  set newValue QueueEnvironment {..}
+    = QueueEnvironment {farmId = newValue, ..}
+instance Property "Priority" QueueEnvironment where
+  type PropertyType "Priority" QueueEnvironment = Value Prelude.Integer
+  set newValue QueueEnvironment {..}
+    = QueueEnvironment {priority = newValue, ..}
+instance Property "QueueId" QueueEnvironment where
+  type PropertyType "QueueId" QueueEnvironment = Value Prelude.Text
+  set newValue QueueEnvironment {..}
+    = QueueEnvironment {queueId = newValue, ..}
+instance Property "Template" QueueEnvironment where
+  type PropertyType "Template" QueueEnvironment = Value Prelude.Text
+  set newValue QueueEnvironment {..}
+    = QueueEnvironment {template = newValue, ..}
+instance Property "TemplateType" QueueEnvironment where
+  type PropertyType "TemplateType" QueueEnvironment = Value Prelude.Text
+  set newValue QueueEnvironment {..}
+    = QueueEnvironment {templateType = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/QueueFleetAssociation.hs b/gen/Stratosphere/Deadline/QueueFleetAssociation.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/QueueFleetAssociation.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Deadline.QueueFleetAssociation (
+        QueueFleetAssociation(..), mkQueueFleetAssociation
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data QueueFleetAssociation
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html>
+    QueueFleetAssociation {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html#cfn-deadline-queuefleetassociation-farmid>
+                           farmId :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html#cfn-deadline-queuefleetassociation-fleetid>
+                           fleetId :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuefleetassociation.html#cfn-deadline-queuefleetassociation-queueid>
+                           queueId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkQueueFleetAssociation ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> QueueFleetAssociation
+mkQueueFleetAssociation farmId fleetId queueId
+  = QueueFleetAssociation
+      {haddock_workaround_ = (), farmId = farmId, fleetId = fleetId,
+       queueId = queueId}
+instance ToResourceProperties QueueFleetAssociation where
+  toResourceProperties QueueFleetAssociation {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::QueueFleetAssociation",
+         supportsTags = Prelude.False,
+         properties = ["FarmId" JSON..= farmId, "FleetId" JSON..= fleetId,
+                       "QueueId" JSON..= queueId]}
+instance JSON.ToJSON QueueFleetAssociation where
+  toJSON QueueFleetAssociation {..}
+    = JSON.object
+        ["FarmId" JSON..= farmId, "FleetId" JSON..= fleetId,
+         "QueueId" JSON..= queueId]
+instance Property "FarmId" QueueFleetAssociation where
+  type PropertyType "FarmId" QueueFleetAssociation = Value Prelude.Text
+  set newValue QueueFleetAssociation {..}
+    = QueueFleetAssociation {farmId = newValue, ..}
+instance Property "FleetId" QueueFleetAssociation where
+  type PropertyType "FleetId" QueueFleetAssociation = Value Prelude.Text
+  set newValue QueueFleetAssociation {..}
+    = QueueFleetAssociation {fleetId = newValue, ..}
+instance Property "QueueId" QueueFleetAssociation where
+  type PropertyType "QueueId" QueueFleetAssociation = Value Prelude.Text
+  set newValue QueueFleetAssociation {..}
+    = QueueFleetAssociation {queueId = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/QueueLimitAssociation.hs b/gen/Stratosphere/Deadline/QueueLimitAssociation.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/QueueLimitAssociation.hs
@@ -0,0 +1,50 @@
+module Stratosphere.Deadline.QueueLimitAssociation (
+        QueueLimitAssociation(..), mkQueueLimitAssociation
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data QueueLimitAssociation
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuelimitassociation.html>
+    QueueLimitAssociation {haddock_workaround_ :: (),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuelimitassociation.html#cfn-deadline-queuelimitassociation-farmid>
+                           farmId :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuelimitassociation.html#cfn-deadline-queuelimitassociation-limitid>
+                           limitId :: (Value Prelude.Text),
+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-queuelimitassociation.html#cfn-deadline-queuelimitassociation-queueid>
+                           queueId :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkQueueLimitAssociation ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> QueueLimitAssociation
+mkQueueLimitAssociation farmId limitId queueId
+  = QueueLimitAssociation
+      {haddock_workaround_ = (), farmId = farmId, limitId = limitId,
+       queueId = queueId}
+instance ToResourceProperties QueueLimitAssociation where
+  toResourceProperties QueueLimitAssociation {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::QueueLimitAssociation",
+         supportsTags = Prelude.False,
+         properties = ["FarmId" JSON..= farmId, "LimitId" JSON..= limitId,
+                       "QueueId" JSON..= queueId]}
+instance JSON.ToJSON QueueLimitAssociation where
+  toJSON QueueLimitAssociation {..}
+    = JSON.object
+        ["FarmId" JSON..= farmId, "LimitId" JSON..= limitId,
+         "QueueId" JSON..= queueId]
+instance Property "FarmId" QueueLimitAssociation where
+  type PropertyType "FarmId" QueueLimitAssociation = Value Prelude.Text
+  set newValue QueueLimitAssociation {..}
+    = QueueLimitAssociation {farmId = newValue, ..}
+instance Property "LimitId" QueueLimitAssociation where
+  type PropertyType "LimitId" QueueLimitAssociation = Value Prelude.Text
+  set newValue QueueLimitAssociation {..}
+    = QueueLimitAssociation {limitId = newValue, ..}
+instance Property "QueueId" QueueLimitAssociation where
+  type PropertyType "QueueId" QueueLimitAssociation = Value Prelude.Text
+  set newValue QueueLimitAssociation {..}
+    = QueueLimitAssociation {queueId = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/StorageProfile.hs b/gen/Stratosphere/Deadline/StorageProfile.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/StorageProfile.hs
@@ -0,0 +1,67 @@
+module Stratosphere.Deadline.StorageProfile (
+        module Exports, StorageProfile(..), mkStorageProfile
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import {-# SOURCE #-} Stratosphere.Deadline.StorageProfile.FileSystemLocationProperty as Exports
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data StorageProfile
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html>
+    StorageProfile {haddock_workaround_ :: (),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html#cfn-deadline-storageprofile-displayname>
+                    displayName :: (Value Prelude.Text),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html#cfn-deadline-storageprofile-farmid>
+                    farmId :: (Value Prelude.Text),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html#cfn-deadline-storageprofile-filesystemlocations>
+                    fileSystemLocations :: (Prelude.Maybe [FileSystemLocationProperty]),
+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-deadline-storageprofile.html#cfn-deadline-storageprofile-osfamily>
+                    osFamily :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkStorageProfile ::
+  Value Prelude.Text
+  -> Value Prelude.Text -> Value Prelude.Text -> StorageProfile
+mkStorageProfile displayName farmId osFamily
+  = StorageProfile
+      {haddock_workaround_ = (), displayName = displayName,
+       farmId = farmId, osFamily = osFamily,
+       fileSystemLocations = Prelude.Nothing}
+instance ToResourceProperties StorageProfile where
+  toResourceProperties StorageProfile {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::StorageProfile",
+         supportsTags = Prelude.False,
+         properties = Prelude.fromList
+                        ((Prelude.<>)
+                           ["DisplayName" JSON..= displayName, "FarmId" JSON..= farmId,
+                            "OsFamily" JSON..= osFamily]
+                           (Prelude.catMaybes
+                              [(JSON..=) "FileSystemLocations"
+                                 Prelude.<$> fileSystemLocations]))}
+instance JSON.ToJSON StorageProfile where
+  toJSON StorageProfile {..}
+    = JSON.object
+        (Prelude.fromList
+           ((Prelude.<>)
+              ["DisplayName" JSON..= displayName, "FarmId" JSON..= farmId,
+               "OsFamily" JSON..= osFamily]
+              (Prelude.catMaybes
+                 [(JSON..=) "FileSystemLocations"
+                    Prelude.<$> fileSystemLocations])))
+instance Property "DisplayName" StorageProfile where
+  type PropertyType "DisplayName" StorageProfile = Value Prelude.Text
+  set newValue StorageProfile {..}
+    = StorageProfile {displayName = newValue, ..}
+instance Property "FarmId" StorageProfile where
+  type PropertyType "FarmId" StorageProfile = Value Prelude.Text
+  set newValue StorageProfile {..}
+    = StorageProfile {farmId = newValue, ..}
+instance Property "FileSystemLocations" StorageProfile where
+  type PropertyType "FileSystemLocations" StorageProfile = [FileSystemLocationProperty]
+  set newValue StorageProfile {..}
+    = StorageProfile {fileSystemLocations = Prelude.pure newValue, ..}
+instance Property "OsFamily" StorageProfile where
+  type PropertyType "OsFamily" StorageProfile = Value Prelude.Text
+  set newValue StorageProfile {..}
+    = StorageProfile {osFamily = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/StorageProfile/FileSystemLocationProperty.hs b/gen/Stratosphere/Deadline/StorageProfile/FileSystemLocationProperty.hs
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/StorageProfile/FileSystemLocationProperty.hs
@@ -0,0 +1,48 @@
+module Stratosphere.Deadline.StorageProfile.FileSystemLocationProperty (
+        FileSystemLocationProperty(..), mkFileSystemLocationProperty
+    ) where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.Property
+import Stratosphere.ResourceProperties
+import Stratosphere.Value
+data FileSystemLocationProperty
+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-storageprofile-filesystemlocation.html>
+    FileSystemLocationProperty {haddock_workaround_ :: (),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-storageprofile-filesystemlocation.html#cfn-deadline-storageprofile-filesystemlocation-name>
+                                name :: (Value Prelude.Text),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-storageprofile-filesystemlocation.html#cfn-deadline-storageprofile-filesystemlocation-path>
+                                path :: (Value Prelude.Text),
+                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-deadline-storageprofile-filesystemlocation.html#cfn-deadline-storageprofile-filesystemlocation-type>
+                                type' :: (Value Prelude.Text)}
+  deriving stock (Prelude.Eq, Prelude.Show)
+mkFileSystemLocationProperty ::
+  Value Prelude.Text
+  -> Value Prelude.Text
+     -> Value Prelude.Text -> FileSystemLocationProperty
+mkFileSystemLocationProperty name path type'
+  = FileSystemLocationProperty
+      {haddock_workaround_ = (), name = name, path = path, type' = type'}
+instance ToResourceProperties FileSystemLocationProperty where
+  toResourceProperties FileSystemLocationProperty {..}
+    = ResourceProperties
+        {awsType = "AWS::Deadline::StorageProfile.FileSystemLocation",
+         supportsTags = Prelude.False,
+         properties = ["Name" JSON..= name, "Path" JSON..= path,
+                       "Type" JSON..= type']}
+instance JSON.ToJSON FileSystemLocationProperty where
+  toJSON FileSystemLocationProperty {..}
+    = JSON.object
+        ["Name" JSON..= name, "Path" JSON..= path, "Type" JSON..= type']
+instance Property "Name" FileSystemLocationProperty where
+  type PropertyType "Name" FileSystemLocationProperty = Value Prelude.Text
+  set newValue FileSystemLocationProperty {..}
+    = FileSystemLocationProperty {name = newValue, ..}
+instance Property "Path" FileSystemLocationProperty where
+  type PropertyType "Path" FileSystemLocationProperty = Value Prelude.Text
+  set newValue FileSystemLocationProperty {..}
+    = FileSystemLocationProperty {path = newValue, ..}
+instance Property "Type" FileSystemLocationProperty where
+  type PropertyType "Type" FileSystemLocationProperty = Value Prelude.Text
+  set newValue FileSystemLocationProperty {..}
+    = FileSystemLocationProperty {type' = newValue, ..}
diff --git a/gen/Stratosphere/Deadline/StorageProfile/FileSystemLocationProperty.hs-boot b/gen/Stratosphere/Deadline/StorageProfile/FileSystemLocationProperty.hs-boot
new file mode 100644
--- /dev/null
+++ b/gen/Stratosphere/Deadline/StorageProfile/FileSystemLocationProperty.hs-boot
@@ -0,0 +1,9 @@
+module Stratosphere.Deadline.StorageProfile.FileSystemLocationProperty where
+import qualified Data.Aeson as JSON
+import qualified Stratosphere.Prelude as Prelude
+import Stratosphere.ResourceProperties
+data FileSystemLocationProperty :: Prelude.Type
+instance ToResourceProperties FileSystemLocationProperty
+instance Prelude.Eq FileSystemLocationProperty
+instance Prelude.Show FileSystemLocationProperty
+instance JSON.ToJSON FileSystemLocationProperty
diff --git a/stratosphere-deadline.cabal b/stratosphere-deadline.cabal
new file mode 100644
--- /dev/null
+++ b/stratosphere-deadline.cabal
@@ -0,0 +1,106 @@
+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-deadline
+version:        1.0.0
+synopsis:       Stratosphere integration for AWS Deadline.
+description:    Integration into stratosphere to generate resources and properties for AWS Deadline
+category:       AWS, Cloud, Deadline
+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.Deadline.Farm
+      Stratosphere.Deadline.Fleet
+      Stratosphere.Deadline.Fleet.AcceleratorCapabilitiesProperty
+      Stratosphere.Deadline.Fleet.AcceleratorCountRangeProperty
+      Stratosphere.Deadline.Fleet.AcceleratorSelectionProperty
+      Stratosphere.Deadline.Fleet.AcceleratorTotalMemoryMiBRangeProperty
+      Stratosphere.Deadline.Fleet.CustomerManagedFleetConfigurationProperty
+      Stratosphere.Deadline.Fleet.CustomerManagedWorkerCapabilitiesProperty
+      Stratosphere.Deadline.Fleet.Ec2EbsVolumeProperty
+      Stratosphere.Deadline.Fleet.FleetAmountCapabilityProperty
+      Stratosphere.Deadline.Fleet.FleetAttributeCapabilityProperty
+      Stratosphere.Deadline.Fleet.FleetCapabilitiesProperty
+      Stratosphere.Deadline.Fleet.FleetConfigurationProperty
+      Stratosphere.Deadline.Fleet.HostConfigurationProperty
+      Stratosphere.Deadline.Fleet.MemoryMiBRangeProperty
+      Stratosphere.Deadline.Fleet.ServiceManagedEc2FleetConfigurationProperty
+      Stratosphere.Deadline.Fleet.ServiceManagedEc2InstanceCapabilitiesProperty
+      Stratosphere.Deadline.Fleet.ServiceManagedEc2InstanceMarketOptionsProperty
+      Stratosphere.Deadline.Fleet.VCpuCountRangeProperty
+      Stratosphere.Deadline.Fleet.VpcConfigurationProperty
+      Stratosphere.Deadline.LicenseEndpoint
+      Stratosphere.Deadline.Limit
+      Stratosphere.Deadline.MeteredProduct
+      Stratosphere.Deadline.Monitor
+      Stratosphere.Deadline.Queue
+      Stratosphere.Deadline.Queue.JobAttachmentSettingsProperty
+      Stratosphere.Deadline.Queue.JobRunAsUserProperty
+      Stratosphere.Deadline.Queue.PosixUserProperty
+      Stratosphere.Deadline.Queue.WindowsUserProperty
+      Stratosphere.Deadline.QueueEnvironment
+      Stratosphere.Deadline.QueueFleetAssociation
+      Stratosphere.Deadline.QueueLimitAssociation
+      Stratosphere.Deadline.StorageProfile
+      Stratosphere.Deadline.StorageProfile.FileSystemLocationProperty
+  other-modules:
+      Paths_stratosphere_deadline
+  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
