packages feed

stratosphere-appstream (empty) → 1.0.0

raw patch · 55 files changed

+2583/−0 lines, 55 filesdep +aesondep +basedep +stratosphere

Dependencies added: aeson, base, stratosphere

Files

+ LICENSE.md view
@@ -0,0 +1,20 @@+Copyright (c) 2016 David Reaver+Copyright (c) 2022 Markus Schirp++Permission is hereby granted, free of charge, to any person obtaining a copy of+this software and associated documentation files (the "Software"), to deal in+the Software without restriction, including without limitation the rights to+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies+of the Software, and to permit persons to whom the Software is furnished to do+so, subject to the following conditions:++The above copyright notice and this permission notice shall be included in all+copies or substantial portions of the Software.++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+SOFTWARE.
+ gen/Stratosphere/AppStream/AppBlock.hs view
@@ -0,0 +1,99 @@+module Stratosphere.AppStream.AppBlock (+        module Exports, AppBlock(..), mkAppBlock+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppStream.AppBlock.S3LocationProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.AppBlock.ScriptDetailsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data AppBlock+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html>+    AppBlock {haddock_workaround_ :: (),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-description>+              description :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-displayname>+              displayName :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-name>+              name :: (Value Prelude.Text),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-packagingtype>+              packagingType :: (Prelude.Maybe (Value Prelude.Text)),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-postsetupscriptdetails>+              postSetupScriptDetails :: (Prelude.Maybe ScriptDetailsProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-setupscriptdetails>+              setupScriptDetails :: (Prelude.Maybe ScriptDetailsProperty),+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-sources3location>+              sourceS3Location :: S3LocationProperty,+              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblock.html#cfn-appstream-appblock-tags>+              tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAppBlock :: Value Prelude.Text -> S3LocationProperty -> AppBlock+mkAppBlock name sourceS3Location+  = AppBlock+      {haddock_workaround_ = (), name = name,+       sourceS3Location = sourceS3Location, description = Prelude.Nothing,+       displayName = Prelude.Nothing, packagingType = Prelude.Nothing,+       postSetupScriptDetails = Prelude.Nothing,+       setupScriptDetails = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties AppBlock where+  toResourceProperties AppBlock {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::AppBlock", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Name" JSON..= name, "SourceS3Location" JSON..= sourceS3Location]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DisplayName" Prelude.<$> displayName,+                               (JSON..=) "PackagingType" Prelude.<$> packagingType,+                               (JSON..=) "PostSetupScriptDetails"+                                 Prelude.<$> postSetupScriptDetails,+                               (JSON..=) "SetupScriptDetails" Prelude.<$> setupScriptDetails,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON AppBlock where+  toJSON AppBlock {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Name" JSON..= name, "SourceS3Location" JSON..= sourceS3Location]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DisplayName" Prelude.<$> displayName,+                  (JSON..=) "PackagingType" Prelude.<$> packagingType,+                  (JSON..=) "PostSetupScriptDetails"+                    Prelude.<$> postSetupScriptDetails,+                  (JSON..=) "SetupScriptDetails" Prelude.<$> setupScriptDetails,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Description" AppBlock where+  type PropertyType "Description" AppBlock = Value Prelude.Text+  set newValue AppBlock {..}+    = AppBlock {description = Prelude.pure newValue, ..}+instance Property "DisplayName" AppBlock where+  type PropertyType "DisplayName" AppBlock = Value Prelude.Text+  set newValue AppBlock {..}+    = AppBlock {displayName = Prelude.pure newValue, ..}+instance Property "Name" AppBlock where+  type PropertyType "Name" AppBlock = Value Prelude.Text+  set newValue AppBlock {..} = AppBlock {name = newValue, ..}+instance Property "PackagingType" AppBlock where+  type PropertyType "PackagingType" AppBlock = Value Prelude.Text+  set newValue AppBlock {..}+    = AppBlock {packagingType = Prelude.pure newValue, ..}+instance Property "PostSetupScriptDetails" AppBlock where+  type PropertyType "PostSetupScriptDetails" AppBlock = ScriptDetailsProperty+  set newValue AppBlock {..}+    = AppBlock {postSetupScriptDetails = Prelude.pure newValue, ..}+instance Property "SetupScriptDetails" AppBlock where+  type PropertyType "SetupScriptDetails" AppBlock = ScriptDetailsProperty+  set newValue AppBlock {..}+    = AppBlock {setupScriptDetails = Prelude.pure newValue, ..}+instance Property "SourceS3Location" AppBlock where+  type PropertyType "SourceS3Location" AppBlock = S3LocationProperty+  set newValue AppBlock {..}+    = AppBlock {sourceS3Location = newValue, ..}+instance Property "Tags" AppBlock where+  type PropertyType "Tags" AppBlock = [Tag]+  set newValue AppBlock {..}+    = AppBlock {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/AppBlock/S3LocationProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppStream.AppBlock.S3LocationProperty (+        S3LocationProperty(..), mkS3LocationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data S3LocationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-s3location.html>+    S3LocationProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-s3location.html#cfn-appstream-appblock-s3location-s3bucket>+                        s3Bucket :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-s3location.html#cfn-appstream-appblock-s3location-s3key>+                        s3Key :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkS3LocationProperty :: Value Prelude.Text -> S3LocationProperty+mkS3LocationProperty s3Bucket+  = S3LocationProperty+      {haddock_workaround_ = (), s3Bucket = s3Bucket,+       s3Key = Prelude.Nothing}+instance ToResourceProperties S3LocationProperty where+  toResourceProperties S3LocationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::AppBlock.S3Location",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["S3Bucket" JSON..= s3Bucket]+                           (Prelude.catMaybes [(JSON..=) "S3Key" Prelude.<$> s3Key]))}+instance JSON.ToJSON S3LocationProperty where+  toJSON S3LocationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["S3Bucket" JSON..= s3Bucket]+              (Prelude.catMaybes [(JSON..=) "S3Key" Prelude.<$> s3Key])))+instance Property "S3Bucket" S3LocationProperty where+  type PropertyType "S3Bucket" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {s3Bucket = newValue, ..}+instance Property "S3Key" S3LocationProperty where+  type PropertyType "S3Key" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {s3Key = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/AppBlock/S3LocationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.AppBlock.S3LocationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data S3LocationProperty :: Prelude.Type+instance ToResourceProperties S3LocationProperty+instance Prelude.Eq S3LocationProperty+instance Prelude.Show S3LocationProperty+instance JSON.ToJSON S3LocationProperty
+ gen/Stratosphere/AppStream/AppBlock/ScriptDetailsProperty.hs view
@@ -0,0 +1,75 @@+module Stratosphere.AppStream.AppBlock.ScriptDetailsProperty (+        module Exports, ScriptDetailsProperty(..), mkScriptDetailsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppStream.AppBlock.S3LocationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScriptDetailsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-scriptdetails.html>+    ScriptDetailsProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-scriptdetails.html#cfn-appstream-appblock-scriptdetails-executableparameters>+                           executableParameters :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-scriptdetails.html#cfn-appstream-appblock-scriptdetails-executablepath>+                           executablePath :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-scriptdetails.html#cfn-appstream-appblock-scriptdetails-scripts3location>+                           scriptS3Location :: S3LocationProperty,+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblock-scriptdetails.html#cfn-appstream-appblock-scriptdetails-timeoutinseconds>+                           timeoutInSeconds :: (Value Prelude.Integer)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScriptDetailsProperty ::+  Value Prelude.Text+  -> S3LocationProperty+     -> Value Prelude.Integer -> ScriptDetailsProperty+mkScriptDetailsProperty+  executablePath+  scriptS3Location+  timeoutInSeconds+  = ScriptDetailsProperty+      {haddock_workaround_ = (), executablePath = executablePath,+       scriptS3Location = scriptS3Location,+       timeoutInSeconds = timeoutInSeconds,+       executableParameters = Prelude.Nothing}+instance ToResourceProperties ScriptDetailsProperty where+  toResourceProperties ScriptDetailsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::AppBlock.ScriptDetails",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ExecutablePath" JSON..= executablePath,+                            "ScriptS3Location" JSON..= scriptS3Location,+                            "TimeoutInSeconds" JSON..= timeoutInSeconds]+                           (Prelude.catMaybes+                              [(JSON..=) "ExecutableParameters"+                                 Prelude.<$> executableParameters]))}+instance JSON.ToJSON ScriptDetailsProperty where+  toJSON ScriptDetailsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ExecutablePath" JSON..= executablePath,+               "ScriptS3Location" JSON..= scriptS3Location,+               "TimeoutInSeconds" JSON..= timeoutInSeconds]+              (Prelude.catMaybes+                 [(JSON..=) "ExecutableParameters"+                    Prelude.<$> executableParameters])))+instance Property "ExecutableParameters" ScriptDetailsProperty where+  type PropertyType "ExecutableParameters" ScriptDetailsProperty = Value Prelude.Text+  set newValue ScriptDetailsProperty {..}+    = ScriptDetailsProperty+        {executableParameters = Prelude.pure newValue, ..}+instance Property "ExecutablePath" ScriptDetailsProperty where+  type PropertyType "ExecutablePath" ScriptDetailsProperty = Value Prelude.Text+  set newValue ScriptDetailsProperty {..}+    = ScriptDetailsProperty {executablePath = newValue, ..}+instance Property "ScriptS3Location" ScriptDetailsProperty where+  type PropertyType "ScriptS3Location" ScriptDetailsProperty = S3LocationProperty+  set newValue ScriptDetailsProperty {..}+    = ScriptDetailsProperty {scriptS3Location = newValue, ..}+instance Property "TimeoutInSeconds" ScriptDetailsProperty where+  type PropertyType "TimeoutInSeconds" ScriptDetailsProperty = Value Prelude.Integer+  set newValue ScriptDetailsProperty {..}+    = ScriptDetailsProperty {timeoutInSeconds = newValue, ..}
+ gen/Stratosphere/AppStream/AppBlock/ScriptDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.AppBlock.ScriptDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ScriptDetailsProperty :: Prelude.Type+instance ToResourceProperties ScriptDetailsProperty+instance Prelude.Eq ScriptDetailsProperty+instance Prelude.Show ScriptDetailsProperty+instance JSON.ToJSON ScriptDetailsProperty
+ gen/Stratosphere/AppStream/AppBlockBuilder.hs view
@@ -0,0 +1,128 @@+module Stratosphere.AppStream.AppBlockBuilder (+        module Exports, AppBlockBuilder(..), mkAppBlockBuilder+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppStream.AppBlockBuilder.AccessEndpointProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.AppBlockBuilder.VpcConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data AppBlockBuilder+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html>+    AppBlockBuilder {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-accessendpoints>+                     accessEndpoints :: (Prelude.Maybe [AccessEndpointProperty]),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-appblockarns>+                     appBlockArns :: (Prelude.Maybe (ValueList Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-description>+                     description :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-displayname>+                     displayName :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-enabledefaultinternetaccess>+                     enableDefaultInternetAccess :: (Prelude.Maybe (Value Prelude.Bool)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-iamrolearn>+                     iamRoleArn :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-instancetype>+                     instanceType :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-name>+                     name :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-platform>+                     platform :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-tags>+                     tags :: (Prelude.Maybe [Tag]),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-appblockbuilder.html#cfn-appstream-appblockbuilder-vpcconfig>+                     vpcConfig :: VpcConfigProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAppBlockBuilder ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> VpcConfigProperty -> AppBlockBuilder+mkAppBlockBuilder instanceType name platform vpcConfig+  = AppBlockBuilder+      {haddock_workaround_ = (), instanceType = instanceType,+       name = name, platform = platform, vpcConfig = vpcConfig,+       accessEndpoints = Prelude.Nothing, appBlockArns = Prelude.Nothing,+       description = Prelude.Nothing, displayName = Prelude.Nothing,+       enableDefaultInternetAccess = Prelude.Nothing,+       iamRoleArn = Prelude.Nothing, tags = Prelude.Nothing}+instance ToResourceProperties AppBlockBuilder where+  toResourceProperties AppBlockBuilder {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::AppBlockBuilder",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["InstanceType" JSON..= instanceType, "Name" JSON..= name,+                            "Platform" JSON..= platform, "VpcConfig" JSON..= vpcConfig]+                           (Prelude.catMaybes+                              [(JSON..=) "AccessEndpoints" Prelude.<$> accessEndpoints,+                               (JSON..=) "AppBlockArns" Prelude.<$> appBlockArns,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DisplayName" Prelude.<$> displayName,+                               (JSON..=) "EnableDefaultInternetAccess"+                                 Prelude.<$> enableDefaultInternetAccess,+                               (JSON..=) "IamRoleArn" Prelude.<$> iamRoleArn,+                               (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON AppBlockBuilder where+  toJSON AppBlockBuilder {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["InstanceType" JSON..= instanceType, "Name" JSON..= name,+               "Platform" JSON..= platform, "VpcConfig" JSON..= vpcConfig]+              (Prelude.catMaybes+                 [(JSON..=) "AccessEndpoints" Prelude.<$> accessEndpoints,+                  (JSON..=) "AppBlockArns" Prelude.<$> appBlockArns,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DisplayName" Prelude.<$> displayName,+                  (JSON..=) "EnableDefaultInternetAccess"+                    Prelude.<$> enableDefaultInternetAccess,+                  (JSON..=) "IamRoleArn" Prelude.<$> iamRoleArn,+                  (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AccessEndpoints" AppBlockBuilder where+  type PropertyType "AccessEndpoints" AppBlockBuilder = [AccessEndpointProperty]+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {accessEndpoints = Prelude.pure newValue, ..}+instance Property "AppBlockArns" AppBlockBuilder where+  type PropertyType "AppBlockArns" AppBlockBuilder = ValueList Prelude.Text+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {appBlockArns = Prelude.pure newValue, ..}+instance Property "Description" AppBlockBuilder where+  type PropertyType "Description" AppBlockBuilder = Value Prelude.Text+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {description = Prelude.pure newValue, ..}+instance Property "DisplayName" AppBlockBuilder where+  type PropertyType "DisplayName" AppBlockBuilder = Value Prelude.Text+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {displayName = Prelude.pure newValue, ..}+instance Property "EnableDefaultInternetAccess" AppBlockBuilder where+  type PropertyType "EnableDefaultInternetAccess" AppBlockBuilder = Value Prelude.Bool+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder+        {enableDefaultInternetAccess = Prelude.pure newValue, ..}+instance Property "IamRoleArn" AppBlockBuilder where+  type PropertyType "IamRoleArn" AppBlockBuilder = Value Prelude.Text+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {iamRoleArn = Prelude.pure newValue, ..}+instance Property "InstanceType" AppBlockBuilder where+  type PropertyType "InstanceType" AppBlockBuilder = Value Prelude.Text+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {instanceType = newValue, ..}+instance Property "Name" AppBlockBuilder where+  type PropertyType "Name" AppBlockBuilder = Value Prelude.Text+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {name = newValue, ..}+instance Property "Platform" AppBlockBuilder where+  type PropertyType "Platform" AppBlockBuilder = Value Prelude.Text+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {platform = newValue, ..}+instance Property "Tags" AppBlockBuilder where+  type PropertyType "Tags" AppBlockBuilder = [Tag]+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {tags = Prelude.pure newValue, ..}+instance Property "VpcConfig" AppBlockBuilder where+  type PropertyType "VpcConfig" AppBlockBuilder = VpcConfigProperty+  set newValue AppBlockBuilder {..}+    = AppBlockBuilder {vpcConfig = newValue, ..}
+ gen/Stratosphere/AppStream/AppBlockBuilder/AccessEndpointProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.AppStream.AppBlockBuilder.AccessEndpointProperty (+        AccessEndpointProperty(..), mkAccessEndpointProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessEndpointProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-accessendpoint.html>+    AccessEndpointProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-accessendpoint.html#cfn-appstream-appblockbuilder-accessendpoint-endpointtype>+                            endpointType :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-accessendpoint.html#cfn-appstream-appblockbuilder-accessendpoint-vpceid>+                            vpceId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessEndpointProperty ::+  Value Prelude.Text -> Value Prelude.Text -> AccessEndpointProperty+mkAccessEndpointProperty endpointType vpceId+  = AccessEndpointProperty+      {haddock_workaround_ = (), endpointType = endpointType,+       vpceId = vpceId}+instance ToResourceProperties AccessEndpointProperty where+  toResourceProperties AccessEndpointProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::AppBlockBuilder.AccessEndpoint",+         supportsTags = Prelude.False,+         properties = ["EndpointType" JSON..= endpointType,+                       "VpceId" JSON..= vpceId]}+instance JSON.ToJSON AccessEndpointProperty where+  toJSON AccessEndpointProperty {..}+    = JSON.object+        ["EndpointType" JSON..= endpointType, "VpceId" JSON..= vpceId]+instance Property "EndpointType" AccessEndpointProperty where+  type PropertyType "EndpointType" AccessEndpointProperty = Value Prelude.Text+  set newValue AccessEndpointProperty {..}+    = AccessEndpointProperty {endpointType = newValue, ..}+instance Property "VpceId" AccessEndpointProperty where+  type PropertyType "VpceId" AccessEndpointProperty = Value Prelude.Text+  set newValue AccessEndpointProperty {..}+    = AccessEndpointProperty {vpceId = newValue, ..}
+ gen/Stratosphere/AppStream/AppBlockBuilder/AccessEndpointProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.AppBlockBuilder.AccessEndpointProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessEndpointProperty :: Prelude.Type+instance ToResourceProperties AccessEndpointProperty+instance Prelude.Eq AccessEndpointProperty+instance Prelude.Show AccessEndpointProperty+instance JSON.ToJSON AccessEndpointProperty
+ gen/Stratosphere/AppStream/AppBlockBuilder/VpcConfigProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppStream.AppBlockBuilder.VpcConfigProperty (+        VpcConfigProperty(..), mkVpcConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VpcConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-vpcconfig.html>+    VpcConfigProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-vpcconfig.html#cfn-appstream-appblockbuilder-vpcconfig-securitygroupids>+                       securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-appblockbuilder-vpcconfig.html#cfn-appstream-appblockbuilder-vpcconfig-subnetids>+                       subnetIds :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVpcConfigProperty :: VpcConfigProperty+mkVpcConfigProperty+  = VpcConfigProperty+      {haddock_workaround_ = (), securityGroupIds = Prelude.Nothing,+       subnetIds = Prelude.Nothing}+instance ToResourceProperties VpcConfigProperty where+  toResourceProperties VpcConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::AppBlockBuilder.VpcConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                            (JSON..=) "SubnetIds" Prelude.<$> subnetIds])}+instance JSON.ToJSON VpcConfigProperty where+  toJSON VpcConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+               (JSON..=) "SubnetIds" Prelude.<$> subnetIds]))+instance Property "SecurityGroupIds" VpcConfigProperty where+  type PropertyType "SecurityGroupIds" VpcConfigProperty = ValueList Prelude.Text+  set newValue VpcConfigProperty {..}+    = VpcConfigProperty {securityGroupIds = Prelude.pure newValue, ..}+instance Property "SubnetIds" VpcConfigProperty where+  type PropertyType "SubnetIds" VpcConfigProperty = ValueList Prelude.Text+  set newValue VpcConfigProperty {..}+    = VpcConfigProperty {subnetIds = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/AppBlockBuilder/VpcConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.AppBlockBuilder.VpcConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VpcConfigProperty :: Prelude.Type+instance ToResourceProperties VpcConfigProperty+instance Prelude.Eq VpcConfigProperty+instance Prelude.Show VpcConfigProperty+instance JSON.ToJSON VpcConfigProperty
+ gen/Stratosphere/AppStream/Application.hs view
@@ -0,0 +1,143 @@+module Stratosphere.AppStream.Application (+        module Exports, Application(..), mkApplication+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppStream.Application.S3LocationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Application+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html>+    Application {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-appblockarn>+                 appBlockArn :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-attributestodelete>+                 attributesToDelete :: (Prelude.Maybe (ValueList Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-description>+                 description :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-displayname>+                 displayName :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-icons3location>+                 iconS3Location :: S3LocationProperty,+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-instancefamilies>+                 instanceFamilies :: (ValueList Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-launchparameters>+                 launchParameters :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-launchpath>+                 launchPath :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-name>+                 name :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-platforms>+                 platforms :: (ValueList Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-tags>+                 tags :: (Prelude.Maybe [Tag]),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-application.html#cfn-appstream-application-workingdirectory>+                 workingDirectory :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApplication ::+  Value Prelude.Text+  -> S3LocationProperty+     -> ValueList Prelude.Text+        -> Value Prelude.Text+           -> Value Prelude.Text -> ValueList Prelude.Text -> Application+mkApplication+  appBlockArn+  iconS3Location+  instanceFamilies+  launchPath+  name+  platforms+  = Application+      {haddock_workaround_ = (), appBlockArn = appBlockArn,+       iconS3Location = iconS3Location,+       instanceFamilies = instanceFamilies, launchPath = launchPath,+       name = name, platforms = platforms,+       attributesToDelete = Prelude.Nothing,+       description = Prelude.Nothing, displayName = Prelude.Nothing,+       launchParameters = Prelude.Nothing, tags = Prelude.Nothing,+       workingDirectory = Prelude.Nothing}+instance ToResourceProperties Application where+  toResourceProperties Application {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Application",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AppBlockArn" JSON..= appBlockArn,+                            "IconS3Location" JSON..= iconS3Location,+                            "InstanceFamilies" JSON..= instanceFamilies,+                            "LaunchPath" JSON..= launchPath, "Name" JSON..= name,+                            "Platforms" JSON..= platforms]+                           (Prelude.catMaybes+                              [(JSON..=) "AttributesToDelete" Prelude.<$> attributesToDelete,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DisplayName" Prelude.<$> displayName,+                               (JSON..=) "LaunchParameters" Prelude.<$> launchParameters,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "WorkingDirectory" Prelude.<$> workingDirectory]))}+instance JSON.ToJSON Application where+  toJSON Application {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AppBlockArn" JSON..= appBlockArn,+               "IconS3Location" JSON..= iconS3Location,+               "InstanceFamilies" JSON..= instanceFamilies,+               "LaunchPath" JSON..= launchPath, "Name" JSON..= name,+               "Platforms" JSON..= platforms]+              (Prelude.catMaybes+                 [(JSON..=) "AttributesToDelete" Prelude.<$> attributesToDelete,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DisplayName" Prelude.<$> displayName,+                  (JSON..=) "LaunchParameters" Prelude.<$> launchParameters,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "WorkingDirectory" Prelude.<$> workingDirectory])))+instance Property "AppBlockArn" Application where+  type PropertyType "AppBlockArn" Application = Value Prelude.Text+  set newValue Application {..}+    = Application {appBlockArn = newValue, ..}+instance Property "AttributesToDelete" Application where+  type PropertyType "AttributesToDelete" Application = ValueList Prelude.Text+  set newValue Application {..}+    = Application {attributesToDelete = Prelude.pure newValue, ..}+instance Property "Description" Application where+  type PropertyType "Description" Application = Value Prelude.Text+  set newValue Application {..}+    = Application {description = Prelude.pure newValue, ..}+instance Property "DisplayName" Application where+  type PropertyType "DisplayName" Application = Value Prelude.Text+  set newValue Application {..}+    = Application {displayName = Prelude.pure newValue, ..}+instance Property "IconS3Location" Application where+  type PropertyType "IconS3Location" Application = S3LocationProperty+  set newValue Application {..}+    = Application {iconS3Location = newValue, ..}+instance Property "InstanceFamilies" Application where+  type PropertyType "InstanceFamilies" Application = ValueList Prelude.Text+  set newValue Application {..}+    = Application {instanceFamilies = newValue, ..}+instance Property "LaunchParameters" Application where+  type PropertyType "LaunchParameters" Application = Value Prelude.Text+  set newValue Application {..}+    = Application {launchParameters = Prelude.pure newValue, ..}+instance Property "LaunchPath" Application where+  type PropertyType "LaunchPath" Application = Value Prelude.Text+  set newValue Application {..}+    = Application {launchPath = newValue, ..}+instance Property "Name" Application where+  type PropertyType "Name" Application = Value Prelude.Text+  set newValue Application {..} = Application {name = newValue, ..}+instance Property "Platforms" Application where+  type PropertyType "Platforms" Application = ValueList Prelude.Text+  set newValue Application {..}+    = Application {platforms = newValue, ..}+instance Property "Tags" Application where+  type PropertyType "Tags" Application = [Tag]+  set newValue Application {..}+    = Application {tags = Prelude.pure newValue, ..}+instance Property "WorkingDirectory" Application where+  type PropertyType "WorkingDirectory" Application = Value Prelude.Text+  set newValue Application {..}+    = Application {workingDirectory = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/Application/S3LocationProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppStream.Application.S3LocationProperty (+        S3LocationProperty(..), mkS3LocationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data S3LocationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-application-s3location.html>+    S3LocationProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-application-s3location.html#cfn-appstream-application-s3location-s3bucket>+                        s3Bucket :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-application-s3location.html#cfn-appstream-application-s3location-s3key>+                        s3Key :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkS3LocationProperty ::+  Value Prelude.Text -> Value Prelude.Text -> S3LocationProperty+mkS3LocationProperty s3Bucket s3Key+  = S3LocationProperty+      {haddock_workaround_ = (), s3Bucket = s3Bucket, s3Key = s3Key}+instance ToResourceProperties S3LocationProperty where+  toResourceProperties S3LocationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Application.S3Location",+         supportsTags = Prelude.False,+         properties = ["S3Bucket" JSON..= s3Bucket, "S3Key" JSON..= s3Key]}+instance JSON.ToJSON S3LocationProperty where+  toJSON S3LocationProperty {..}+    = JSON.object ["S3Bucket" JSON..= s3Bucket, "S3Key" JSON..= s3Key]+instance Property "S3Bucket" S3LocationProperty where+  type PropertyType "S3Bucket" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {s3Bucket = newValue, ..}+instance Property "S3Key" S3LocationProperty where+  type PropertyType "S3Key" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {s3Key = newValue, ..}
+ gen/Stratosphere/AppStream/Application/S3LocationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Application.S3LocationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data S3LocationProperty :: Prelude.Type+instance ToResourceProperties S3LocationProperty+instance Prelude.Eq S3LocationProperty+instance Prelude.Show S3LocationProperty+instance JSON.ToJSON S3LocationProperty
+ gen/Stratosphere/AppStream/ApplicationEntitlementAssociation.hs view
@@ -0,0 +1,60 @@+module Stratosphere.AppStream.ApplicationEntitlementAssociation (+        ApplicationEntitlementAssociation(..),+        mkApplicationEntitlementAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ApplicationEntitlementAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html>+    ApplicationEntitlementAssociation {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html#cfn-appstream-applicationentitlementassociation-applicationidentifier>+                                       applicationIdentifier :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html#cfn-appstream-applicationentitlementassociation-entitlementname>+                                       entitlementName :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationentitlementassociation.html#cfn-appstream-applicationentitlementassociation-stackname>+                                       stackName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApplicationEntitlementAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text+     -> Value Prelude.Text -> ApplicationEntitlementAssociation+mkApplicationEntitlementAssociation+  applicationIdentifier+  entitlementName+  stackName+  = ApplicationEntitlementAssociation+      {haddock_workaround_ = (),+       applicationIdentifier = applicationIdentifier,+       entitlementName = entitlementName, stackName = stackName}+instance ToResourceProperties ApplicationEntitlementAssociation where+  toResourceProperties ApplicationEntitlementAssociation {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::ApplicationEntitlementAssociation",+         supportsTags = Prelude.False,+         properties = ["ApplicationIdentifier"+                         JSON..= applicationIdentifier,+                       "EntitlementName" JSON..= entitlementName,+                       "StackName" JSON..= stackName]}+instance JSON.ToJSON ApplicationEntitlementAssociation where+  toJSON ApplicationEntitlementAssociation {..}+    = JSON.object+        ["ApplicationIdentifier" JSON..= applicationIdentifier,+         "EntitlementName" JSON..= entitlementName,+         "StackName" JSON..= stackName]+instance Property "ApplicationIdentifier" ApplicationEntitlementAssociation where+  type PropertyType "ApplicationIdentifier" ApplicationEntitlementAssociation = Value Prelude.Text+  set newValue ApplicationEntitlementAssociation {..}+    = ApplicationEntitlementAssociation+        {applicationIdentifier = newValue, ..}+instance Property "EntitlementName" ApplicationEntitlementAssociation where+  type PropertyType "EntitlementName" ApplicationEntitlementAssociation = Value Prelude.Text+  set newValue ApplicationEntitlementAssociation {..}+    = ApplicationEntitlementAssociation+        {entitlementName = newValue, ..}+instance Property "StackName" ApplicationEntitlementAssociation where+  type PropertyType "StackName" ApplicationEntitlementAssociation = Value Prelude.Text+  set newValue ApplicationEntitlementAssociation {..}+    = ApplicationEntitlementAssociation {stackName = newValue, ..}
+ gen/Stratosphere/AppStream/ApplicationFleetAssociation.hs view
@@ -0,0 +1,43 @@+module Stratosphere.AppStream.ApplicationFleetAssociation (+        ApplicationFleetAssociation(..), mkApplicationFleetAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ApplicationFleetAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html>+    ApplicationFleetAssociation {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html#cfn-appstream-applicationfleetassociation-applicationarn>+                                 applicationArn :: (Value Prelude.Text),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-applicationfleetassociation.html#cfn-appstream-applicationfleetassociation-fleetname>+                                 fleetName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApplicationFleetAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> ApplicationFleetAssociation+mkApplicationFleetAssociation applicationArn fleetName+  = ApplicationFleetAssociation+      {haddock_workaround_ = (), applicationArn = applicationArn,+       fleetName = fleetName}+instance ToResourceProperties ApplicationFleetAssociation where+  toResourceProperties ApplicationFleetAssociation {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::ApplicationFleetAssociation",+         supportsTags = Prelude.False,+         properties = ["ApplicationArn" JSON..= applicationArn,+                       "FleetName" JSON..= fleetName]}+instance JSON.ToJSON ApplicationFleetAssociation where+  toJSON ApplicationFleetAssociation {..}+    = JSON.object+        ["ApplicationArn" JSON..= applicationArn,+         "FleetName" JSON..= fleetName]+instance Property "ApplicationArn" ApplicationFleetAssociation where+  type PropertyType "ApplicationArn" ApplicationFleetAssociation = Value Prelude.Text+  set newValue ApplicationFleetAssociation {..}+    = ApplicationFleetAssociation {applicationArn = newValue, ..}+instance Property "FleetName" ApplicationFleetAssociation where+  type PropertyType "FleetName" ApplicationFleetAssociation = Value Prelude.Text+  set newValue ApplicationFleetAssociation {..}+    = ApplicationFleetAssociation {fleetName = newValue, ..}
+ gen/Stratosphere/AppStream/DirectoryConfig.hs view
@@ -0,0 +1,79 @@+module Stratosphere.AppStream.DirectoryConfig (+        module Exports, DirectoryConfig(..), mkDirectoryConfig+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppStream.DirectoryConfig.CertificateBasedAuthPropertiesProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.DirectoryConfig.ServiceAccountCredentialsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DirectoryConfig+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html>+    DirectoryConfig {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html#cfn-appstream-directoryconfig-certificatebasedauthproperties>+                     certificateBasedAuthProperties :: (Prelude.Maybe CertificateBasedAuthPropertiesProperty),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html#cfn-appstream-directoryconfig-directoryname>+                     directoryName :: (Value Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html#cfn-appstream-directoryconfig-organizationalunitdistinguishednames>+                     organizationalUnitDistinguishedNames :: (ValueList Prelude.Text),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-directoryconfig.html#cfn-appstream-directoryconfig-serviceaccountcredentials>+                     serviceAccountCredentials :: ServiceAccountCredentialsProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDirectoryConfig ::+  Value Prelude.Text+  -> ValueList Prelude.Text+     -> ServiceAccountCredentialsProperty -> DirectoryConfig+mkDirectoryConfig+  directoryName+  organizationalUnitDistinguishedNames+  serviceAccountCredentials+  = DirectoryConfig+      {haddock_workaround_ = (), directoryName = directoryName,+       organizationalUnitDistinguishedNames = organizationalUnitDistinguishedNames,+       serviceAccountCredentials = serviceAccountCredentials,+       certificateBasedAuthProperties = Prelude.Nothing}+instance ToResourceProperties DirectoryConfig where+  toResourceProperties DirectoryConfig {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::DirectoryConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["DirectoryName" JSON..= directoryName,+                            "OrganizationalUnitDistinguishedNames"+                              JSON..= organizationalUnitDistinguishedNames,+                            "ServiceAccountCredentials" JSON..= serviceAccountCredentials]+                           (Prelude.catMaybes+                              [(JSON..=) "CertificateBasedAuthProperties"+                                 Prelude.<$> certificateBasedAuthProperties]))}+instance JSON.ToJSON DirectoryConfig where+  toJSON DirectoryConfig {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["DirectoryName" JSON..= directoryName,+               "OrganizationalUnitDistinguishedNames"+                 JSON..= organizationalUnitDistinguishedNames,+               "ServiceAccountCredentials" JSON..= serviceAccountCredentials]+              (Prelude.catMaybes+                 [(JSON..=) "CertificateBasedAuthProperties"+                    Prelude.<$> certificateBasedAuthProperties])))+instance Property "CertificateBasedAuthProperties" DirectoryConfig where+  type PropertyType "CertificateBasedAuthProperties" DirectoryConfig = CertificateBasedAuthPropertiesProperty+  set newValue DirectoryConfig {..}+    = DirectoryConfig+        {certificateBasedAuthProperties = Prelude.pure newValue, ..}+instance Property "DirectoryName" DirectoryConfig where+  type PropertyType "DirectoryName" DirectoryConfig = Value Prelude.Text+  set newValue DirectoryConfig {..}+    = DirectoryConfig {directoryName = newValue, ..}+instance Property "OrganizationalUnitDistinguishedNames" DirectoryConfig where+  type PropertyType "OrganizationalUnitDistinguishedNames" DirectoryConfig = ValueList Prelude.Text+  set newValue DirectoryConfig {..}+    = DirectoryConfig+        {organizationalUnitDistinguishedNames = newValue, ..}+instance Property "ServiceAccountCredentials" DirectoryConfig where+  type PropertyType "ServiceAccountCredentials" DirectoryConfig = ServiceAccountCredentialsProperty+  set newValue DirectoryConfig {..}+    = DirectoryConfig {serviceAccountCredentials = newValue, ..}
+ gen/Stratosphere/AppStream/DirectoryConfig/CertificateBasedAuthPropertiesProperty.hs view
@@ -0,0 +1,52 @@+module Stratosphere.AppStream.DirectoryConfig.CertificateBasedAuthPropertiesProperty (+        CertificateBasedAuthPropertiesProperty(..),+        mkCertificateBasedAuthPropertiesProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CertificateBasedAuthPropertiesProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-certificatebasedauthproperties.html>+    CertificateBasedAuthPropertiesProperty {haddock_workaround_ :: (),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-certificatebasedauthproperties.html#cfn-appstream-directoryconfig-certificatebasedauthproperties-certificateauthorityarn>+                                            certificateAuthorityArn :: (Prelude.Maybe (Value Prelude.Text)),+                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-certificatebasedauthproperties.html#cfn-appstream-directoryconfig-certificatebasedauthproperties-status>+                                            status :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCertificateBasedAuthPropertiesProperty ::+  CertificateBasedAuthPropertiesProperty+mkCertificateBasedAuthPropertiesProperty+  = CertificateBasedAuthPropertiesProperty+      {haddock_workaround_ = (),+       certificateAuthorityArn = Prelude.Nothing,+       status = Prelude.Nothing}+instance ToResourceProperties CertificateBasedAuthPropertiesProperty where+  toResourceProperties CertificateBasedAuthPropertiesProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::DirectoryConfig.CertificateBasedAuthProperties",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CertificateAuthorityArn"+                              Prelude.<$> certificateAuthorityArn,+                            (JSON..=) "Status" Prelude.<$> status])}+instance JSON.ToJSON CertificateBasedAuthPropertiesProperty where+  toJSON CertificateBasedAuthPropertiesProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CertificateAuthorityArn"+                 Prelude.<$> certificateAuthorityArn,+               (JSON..=) "Status" Prelude.<$> status]))+instance Property "CertificateAuthorityArn" CertificateBasedAuthPropertiesProperty where+  type PropertyType "CertificateAuthorityArn" CertificateBasedAuthPropertiesProperty = Value Prelude.Text+  set newValue CertificateBasedAuthPropertiesProperty {..}+    = CertificateBasedAuthPropertiesProperty+        {certificateAuthorityArn = Prelude.pure newValue, ..}+instance Property "Status" CertificateBasedAuthPropertiesProperty where+  type PropertyType "Status" CertificateBasedAuthPropertiesProperty = Value Prelude.Text+  set newValue CertificateBasedAuthPropertiesProperty {..}+    = CertificateBasedAuthPropertiesProperty+        {status = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/DirectoryConfig/CertificateBasedAuthPropertiesProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.DirectoryConfig.CertificateBasedAuthPropertiesProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CertificateBasedAuthPropertiesProperty :: Prelude.Type+instance ToResourceProperties CertificateBasedAuthPropertiesProperty+instance Prelude.Eq CertificateBasedAuthPropertiesProperty+instance Prelude.Show CertificateBasedAuthPropertiesProperty+instance JSON.ToJSON CertificateBasedAuthPropertiesProperty
+ gen/Stratosphere/AppStream/DirectoryConfig/ServiceAccountCredentialsProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppStream.DirectoryConfig.ServiceAccountCredentialsProperty (+        ServiceAccountCredentialsProperty(..),+        mkServiceAccountCredentialsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ServiceAccountCredentialsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-serviceaccountcredentials.html>+    ServiceAccountCredentialsProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-serviceaccountcredentials.html#cfn-appstream-directoryconfig-serviceaccountcredentials-accountname>+                                       accountName :: (Value Prelude.Text),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-directoryconfig-serviceaccountcredentials.html#cfn-appstream-directoryconfig-serviceaccountcredentials-accountpassword>+                                       accountPassword :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkServiceAccountCredentialsProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> ServiceAccountCredentialsProperty+mkServiceAccountCredentialsProperty accountName accountPassword+  = ServiceAccountCredentialsProperty+      {haddock_workaround_ = (), accountName = accountName,+       accountPassword = accountPassword}+instance ToResourceProperties ServiceAccountCredentialsProperty where+  toResourceProperties ServiceAccountCredentialsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::DirectoryConfig.ServiceAccountCredentials",+         supportsTags = Prelude.False,+         properties = ["AccountName" JSON..= accountName,+                       "AccountPassword" JSON..= accountPassword]}+instance JSON.ToJSON ServiceAccountCredentialsProperty where+  toJSON ServiceAccountCredentialsProperty {..}+    = JSON.object+        ["AccountName" JSON..= accountName,+         "AccountPassword" JSON..= accountPassword]+instance Property "AccountName" ServiceAccountCredentialsProperty where+  type PropertyType "AccountName" ServiceAccountCredentialsProperty = Value Prelude.Text+  set newValue ServiceAccountCredentialsProperty {..}+    = ServiceAccountCredentialsProperty {accountName = newValue, ..}+instance Property "AccountPassword" ServiceAccountCredentialsProperty where+  type PropertyType "AccountPassword" ServiceAccountCredentialsProperty = Value Prelude.Text+  set newValue ServiceAccountCredentialsProperty {..}+    = ServiceAccountCredentialsProperty+        {accountPassword = newValue, ..}
+ gen/Stratosphere/AppStream/DirectoryConfig/ServiceAccountCredentialsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.DirectoryConfig.ServiceAccountCredentialsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ServiceAccountCredentialsProperty :: Prelude.Type+instance ToResourceProperties ServiceAccountCredentialsProperty+instance Prelude.Eq ServiceAccountCredentialsProperty+instance Prelude.Show ServiceAccountCredentialsProperty+instance JSON.ToJSON ServiceAccountCredentialsProperty
+ gen/Stratosphere/AppStream/Entitlement.hs view
@@ -0,0 +1,73 @@+module Stratosphere.AppStream.Entitlement (+        module Exports, Entitlement(..), mkEntitlement+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppStream.Entitlement.AttributeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data Entitlement+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html>+    Entitlement {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html#cfn-appstream-entitlement-appvisibility>+                 appVisibility :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html#cfn-appstream-entitlement-attributes>+                 attributes :: [AttributeProperty],+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html#cfn-appstream-entitlement-description>+                 description :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html#cfn-appstream-entitlement-name>+                 name :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-entitlement.html#cfn-appstream-entitlement-stackname>+                 stackName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEntitlement ::+  Value Prelude.Text+  -> [AttributeProperty]+     -> Value Prelude.Text -> Value Prelude.Text -> Entitlement+mkEntitlement appVisibility attributes name stackName+  = Entitlement+      {haddock_workaround_ = (), appVisibility = appVisibility,+       attributes = attributes, name = name, stackName = stackName,+       description = Prelude.Nothing}+instance ToResourceProperties Entitlement where+  toResourceProperties Entitlement {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Entitlement",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AppVisibility" JSON..= appVisibility,+                            "Attributes" JSON..= attributes, "Name" JSON..= name,+                            "StackName" JSON..= stackName]+                           (Prelude.catMaybes+                              [(JSON..=) "Description" Prelude.<$> description]))}+instance JSON.ToJSON Entitlement where+  toJSON Entitlement {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AppVisibility" JSON..= appVisibility,+               "Attributes" JSON..= attributes, "Name" JSON..= name,+               "StackName" JSON..= stackName]+              (Prelude.catMaybes+                 [(JSON..=) "Description" Prelude.<$> description])))+instance Property "AppVisibility" Entitlement where+  type PropertyType "AppVisibility" Entitlement = Value Prelude.Text+  set newValue Entitlement {..}+    = Entitlement {appVisibility = newValue, ..}+instance Property "Attributes" Entitlement where+  type PropertyType "Attributes" Entitlement = [AttributeProperty]+  set newValue Entitlement {..}+    = Entitlement {attributes = newValue, ..}+instance Property "Description" Entitlement where+  type PropertyType "Description" Entitlement = Value Prelude.Text+  set newValue Entitlement {..}+    = Entitlement {description = Prelude.pure newValue, ..}+instance Property "Name" Entitlement where+  type PropertyType "Name" Entitlement = Value Prelude.Text+  set newValue Entitlement {..} = Entitlement {name = newValue, ..}+instance Property "StackName" Entitlement where+  type PropertyType "StackName" Entitlement = Value Prelude.Text+  set newValue Entitlement {..}+    = Entitlement {stackName = newValue, ..}
+ gen/Stratosphere/AppStream/Entitlement/AttributeProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppStream.Entitlement.AttributeProperty (+        AttributeProperty(..), mkAttributeProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AttributeProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-entitlement-attribute.html>+    AttributeProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-entitlement-attribute.html#cfn-appstream-entitlement-attribute-name>+                       name :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-entitlement-attribute.html#cfn-appstream-entitlement-attribute-value>+                       value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAttributeProperty ::+  Value Prelude.Text -> Value Prelude.Text -> AttributeProperty+mkAttributeProperty name value+  = AttributeProperty+      {haddock_workaround_ = (), name = name, value = value}+instance ToResourceProperties AttributeProperty where+  toResourceProperties AttributeProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Entitlement.Attribute",+         supportsTags = Prelude.False,+         properties = ["Name" JSON..= name, "Value" JSON..= value]}+instance JSON.ToJSON AttributeProperty where+  toJSON AttributeProperty {..}+    = JSON.object ["Name" JSON..= name, "Value" JSON..= value]+instance Property "Name" AttributeProperty where+  type PropertyType "Name" AttributeProperty = Value Prelude.Text+  set newValue AttributeProperty {..}+    = AttributeProperty {name = newValue, ..}+instance Property "Value" AttributeProperty where+  type PropertyType "Value" AttributeProperty = Value Prelude.Text+  set newValue AttributeProperty {..}+    = AttributeProperty {value = newValue, ..}
+ gen/Stratosphere/AppStream/Entitlement/AttributeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Entitlement.AttributeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AttributeProperty :: Prelude.Type+instance ToResourceProperties AttributeProperty+instance Prelude.Eq AttributeProperty+instance Prelude.Show AttributeProperty+instance JSON.ToJSON AttributeProperty
+ gen/Stratosphere/AppStream/Fleet.hs view
@@ -0,0 +1,238 @@+module Stratosphere.AppStream.Fleet (+        module Exports, Fleet(..), mkFleet+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppStream.Fleet.ComputeCapacityProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.Fleet.DomainJoinInfoProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.Fleet.S3LocationProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.Fleet.VpcConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Fleet+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html>+    Fleet {haddock_workaround_ :: (),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-computecapacity>+           computeCapacity :: (Prelude.Maybe ComputeCapacityProperty),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-description>+           description :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-disconnecttimeoutinseconds>+           disconnectTimeoutInSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-displayname>+           displayName :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-domainjoininfo>+           domainJoinInfo :: (Prelude.Maybe DomainJoinInfoProperty),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-enabledefaultinternetaccess>+           enableDefaultInternetAccess :: (Prelude.Maybe (Value Prelude.Bool)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-fleettype>+           fleetType :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-iamrolearn>+           iamRoleArn :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-idledisconnecttimeoutinseconds>+           idleDisconnectTimeoutInSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-imagearn>+           imageArn :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-imagename>+           imageName :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-instancetype>+           instanceType :: (Value Prelude.Text),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-maxconcurrentsessions>+           maxConcurrentSessions :: (Prelude.Maybe (Value Prelude.Integer)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-maxsessionsperinstance>+           maxSessionsPerInstance :: (Prelude.Maybe (Value Prelude.Integer)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-maxuserdurationinseconds>+           maxUserDurationInSeconds :: (Prelude.Maybe (Value Prelude.Integer)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-name>+           name :: (Value Prelude.Text),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-platform>+           platform :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-sessionscripts3location>+           sessionScriptS3Location :: (Prelude.Maybe S3LocationProperty),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-streamview>+           streamView :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-tags>+           tags :: (Prelude.Maybe [Tag]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-usbdevicefilterstrings>+           usbDeviceFilterStrings :: (Prelude.Maybe (ValueList Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-fleet.html#cfn-appstream-fleet-vpcconfig>+           vpcConfig :: (Prelude.Maybe VpcConfigProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFleet :: Value Prelude.Text -> Value Prelude.Text -> Fleet+mkFleet instanceType name+  = Fleet+      {haddock_workaround_ = (), instanceType = instanceType,+       name = name, computeCapacity = Prelude.Nothing,+       description = Prelude.Nothing,+       disconnectTimeoutInSeconds = Prelude.Nothing,+       displayName = Prelude.Nothing, domainJoinInfo = Prelude.Nothing,+       enableDefaultInternetAccess = Prelude.Nothing,+       fleetType = Prelude.Nothing, iamRoleArn = Prelude.Nothing,+       idleDisconnectTimeoutInSeconds = Prelude.Nothing,+       imageArn = Prelude.Nothing, imageName = Prelude.Nothing,+       maxConcurrentSessions = Prelude.Nothing,+       maxSessionsPerInstance = Prelude.Nothing,+       maxUserDurationInSeconds = Prelude.Nothing,+       platform = Prelude.Nothing,+       sessionScriptS3Location = Prelude.Nothing,+       streamView = Prelude.Nothing, tags = Prelude.Nothing,+       usbDeviceFilterStrings = Prelude.Nothing,+       vpcConfig = Prelude.Nothing}+instance ToResourceProperties Fleet where+  toResourceProperties Fleet {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Fleet", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["InstanceType" JSON..= instanceType, "Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "ComputeCapacity" Prelude.<$> computeCapacity,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DisconnectTimeoutInSeconds"+                                 Prelude.<$> disconnectTimeoutInSeconds,+                               (JSON..=) "DisplayName" Prelude.<$> displayName,+                               (JSON..=) "DomainJoinInfo" Prelude.<$> domainJoinInfo,+                               (JSON..=) "EnableDefaultInternetAccess"+                                 Prelude.<$> enableDefaultInternetAccess,+                               (JSON..=) "FleetType" Prelude.<$> fleetType,+                               (JSON..=) "IamRoleArn" Prelude.<$> iamRoleArn,+                               (JSON..=) "IdleDisconnectTimeoutInSeconds"+                                 Prelude.<$> idleDisconnectTimeoutInSeconds,+                               (JSON..=) "ImageArn" Prelude.<$> imageArn,+                               (JSON..=) "ImageName" Prelude.<$> imageName,+                               (JSON..=) "MaxConcurrentSessions"+                                 Prelude.<$> maxConcurrentSessions,+                               (JSON..=) "MaxSessionsPerInstance"+                                 Prelude.<$> maxSessionsPerInstance,+                               (JSON..=) "MaxUserDurationInSeconds"+                                 Prelude.<$> maxUserDurationInSeconds,+                               (JSON..=) "Platform" Prelude.<$> platform,+                               (JSON..=) "SessionScriptS3Location"+                                 Prelude.<$> sessionScriptS3Location,+                               (JSON..=) "StreamView" Prelude.<$> streamView,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "UsbDeviceFilterStrings"+                                 Prelude.<$> usbDeviceFilterStrings,+                               (JSON..=) "VpcConfig" Prelude.<$> vpcConfig]))}+instance JSON.ToJSON Fleet where+  toJSON Fleet {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["InstanceType" JSON..= instanceType, "Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "ComputeCapacity" Prelude.<$> computeCapacity,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DisconnectTimeoutInSeconds"+                    Prelude.<$> disconnectTimeoutInSeconds,+                  (JSON..=) "DisplayName" Prelude.<$> displayName,+                  (JSON..=) "DomainJoinInfo" Prelude.<$> domainJoinInfo,+                  (JSON..=) "EnableDefaultInternetAccess"+                    Prelude.<$> enableDefaultInternetAccess,+                  (JSON..=) "FleetType" Prelude.<$> fleetType,+                  (JSON..=) "IamRoleArn" Prelude.<$> iamRoleArn,+                  (JSON..=) "IdleDisconnectTimeoutInSeconds"+                    Prelude.<$> idleDisconnectTimeoutInSeconds,+                  (JSON..=) "ImageArn" Prelude.<$> imageArn,+                  (JSON..=) "ImageName" Prelude.<$> imageName,+                  (JSON..=) "MaxConcurrentSessions"+                    Prelude.<$> maxConcurrentSessions,+                  (JSON..=) "MaxSessionsPerInstance"+                    Prelude.<$> maxSessionsPerInstance,+                  (JSON..=) "MaxUserDurationInSeconds"+                    Prelude.<$> maxUserDurationInSeconds,+                  (JSON..=) "Platform" Prelude.<$> platform,+                  (JSON..=) "SessionScriptS3Location"+                    Prelude.<$> sessionScriptS3Location,+                  (JSON..=) "StreamView" Prelude.<$> streamView,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "UsbDeviceFilterStrings"+                    Prelude.<$> usbDeviceFilterStrings,+                  (JSON..=) "VpcConfig" Prelude.<$> vpcConfig])))+instance Property "ComputeCapacity" Fleet where+  type PropertyType "ComputeCapacity" Fleet = ComputeCapacityProperty+  set newValue Fleet {..}+    = Fleet {computeCapacity = Prelude.pure newValue, ..}+instance Property "Description" Fleet where+  type PropertyType "Description" Fleet = Value Prelude.Text+  set newValue Fleet {..}+    = Fleet {description = Prelude.pure newValue, ..}+instance Property "DisconnectTimeoutInSeconds" Fleet where+  type PropertyType "DisconnectTimeoutInSeconds" Fleet = Value Prelude.Integer+  set newValue Fleet {..}+    = Fleet {disconnectTimeoutInSeconds = Prelude.pure newValue, ..}+instance Property "DisplayName" Fleet where+  type PropertyType "DisplayName" Fleet = Value Prelude.Text+  set newValue Fleet {..}+    = Fleet {displayName = Prelude.pure newValue, ..}+instance Property "DomainJoinInfo" Fleet where+  type PropertyType "DomainJoinInfo" Fleet = DomainJoinInfoProperty+  set newValue Fleet {..}+    = Fleet {domainJoinInfo = Prelude.pure newValue, ..}+instance Property "EnableDefaultInternetAccess" Fleet where+  type PropertyType "EnableDefaultInternetAccess" Fleet = Value Prelude.Bool+  set newValue Fleet {..}+    = Fleet {enableDefaultInternetAccess = Prelude.pure newValue, ..}+instance Property "FleetType" Fleet where+  type PropertyType "FleetType" Fleet = Value Prelude.Text+  set newValue Fleet {..}+    = Fleet {fleetType = Prelude.pure newValue, ..}+instance Property "IamRoleArn" Fleet where+  type PropertyType "IamRoleArn" Fleet = Value Prelude.Text+  set newValue Fleet {..}+    = Fleet {iamRoleArn = Prelude.pure newValue, ..}+instance Property "IdleDisconnectTimeoutInSeconds" Fleet where+  type PropertyType "IdleDisconnectTimeoutInSeconds" Fleet = Value Prelude.Integer+  set newValue Fleet {..}+    = Fleet+        {idleDisconnectTimeoutInSeconds = Prelude.pure newValue, ..}+instance Property "ImageArn" Fleet where+  type PropertyType "ImageArn" Fleet = Value Prelude.Text+  set newValue Fleet {..}+    = Fleet {imageArn = Prelude.pure newValue, ..}+instance Property "ImageName" Fleet where+  type PropertyType "ImageName" Fleet = Value Prelude.Text+  set newValue Fleet {..}+    = Fleet {imageName = Prelude.pure newValue, ..}+instance Property "InstanceType" Fleet where+  type PropertyType "InstanceType" Fleet = Value Prelude.Text+  set newValue Fleet {..} = Fleet {instanceType = newValue, ..}+instance Property "MaxConcurrentSessions" Fleet where+  type PropertyType "MaxConcurrentSessions" Fleet = Value Prelude.Integer+  set newValue Fleet {..}+    = Fleet {maxConcurrentSessions = Prelude.pure newValue, ..}+instance Property "MaxSessionsPerInstance" Fleet where+  type PropertyType "MaxSessionsPerInstance" Fleet = Value Prelude.Integer+  set newValue Fleet {..}+    = Fleet {maxSessionsPerInstance = Prelude.pure newValue, ..}+instance Property "MaxUserDurationInSeconds" Fleet where+  type PropertyType "MaxUserDurationInSeconds" Fleet = Value Prelude.Integer+  set newValue Fleet {..}+    = Fleet {maxUserDurationInSeconds = Prelude.pure newValue, ..}+instance Property "Name" Fleet where+  type PropertyType "Name" Fleet = Value Prelude.Text+  set newValue Fleet {..} = Fleet {name = newValue, ..}+instance Property "Platform" Fleet where+  type PropertyType "Platform" Fleet = Value Prelude.Text+  set newValue Fleet {..}+    = Fleet {platform = Prelude.pure newValue, ..}+instance Property "SessionScriptS3Location" Fleet where+  type PropertyType "SessionScriptS3Location" Fleet = S3LocationProperty+  set newValue Fleet {..}+    = Fleet {sessionScriptS3Location = Prelude.pure newValue, ..}+instance Property "StreamView" Fleet where+  type PropertyType "StreamView" Fleet = Value Prelude.Text+  set newValue Fleet {..}+    = Fleet {streamView = Prelude.pure newValue, ..}+instance Property "Tags" Fleet where+  type PropertyType "Tags" Fleet = [Tag]+  set newValue Fleet {..} = Fleet {tags = Prelude.pure newValue, ..}+instance Property "UsbDeviceFilterStrings" Fleet where+  type PropertyType "UsbDeviceFilterStrings" Fleet = ValueList Prelude.Text+  set newValue Fleet {..}+    = Fleet {usbDeviceFilterStrings = Prelude.pure newValue, ..}+instance Property "VpcConfig" Fleet where+  type PropertyType "VpcConfig" Fleet = VpcConfigProperty+  set newValue Fleet {..}+    = Fleet {vpcConfig = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/Fleet/ComputeCapacityProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.AppStream.Fleet.ComputeCapacityProperty (+        ComputeCapacityProperty(..), mkComputeCapacityProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ComputeCapacityProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html>+    ComputeCapacityProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html#cfn-appstream-fleet-computecapacity-desiredinstances>+                             desiredInstances :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-computecapacity.html#cfn-appstream-fleet-computecapacity-desiredsessions>+                             desiredSessions :: (Prelude.Maybe (Value Prelude.Integer))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkComputeCapacityProperty :: ComputeCapacityProperty+mkComputeCapacityProperty+  = ComputeCapacityProperty+      {haddock_workaround_ = (), desiredInstances = Prelude.Nothing,+       desiredSessions = Prelude.Nothing}+instance ToResourceProperties ComputeCapacityProperty where+  toResourceProperties ComputeCapacityProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Fleet.ComputeCapacity",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DesiredInstances" Prelude.<$> desiredInstances,+                            (JSON..=) "DesiredSessions" Prelude.<$> desiredSessions])}+instance JSON.ToJSON ComputeCapacityProperty where+  toJSON ComputeCapacityProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DesiredInstances" Prelude.<$> desiredInstances,+               (JSON..=) "DesiredSessions" Prelude.<$> desiredSessions]))+instance Property "DesiredInstances" ComputeCapacityProperty where+  type PropertyType "DesiredInstances" ComputeCapacityProperty = Value Prelude.Integer+  set newValue ComputeCapacityProperty {..}+    = ComputeCapacityProperty+        {desiredInstances = Prelude.pure newValue, ..}+instance Property "DesiredSessions" ComputeCapacityProperty where+  type PropertyType "DesiredSessions" ComputeCapacityProperty = Value Prelude.Integer+  set newValue ComputeCapacityProperty {..}+    = ComputeCapacityProperty+        {desiredSessions = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/Fleet/ComputeCapacityProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Fleet.ComputeCapacityProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ComputeCapacityProperty :: Prelude.Type+instance ToResourceProperties ComputeCapacityProperty+instance Prelude.Eq ComputeCapacityProperty+instance Prelude.Show ComputeCapacityProperty+instance JSON.ToJSON ComputeCapacityProperty
+ gen/Stratosphere/AppStream/Fleet/DomainJoinInfoProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AppStream.Fleet.DomainJoinInfoProperty (+        DomainJoinInfoProperty(..), mkDomainJoinInfoProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DomainJoinInfoProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html>+    DomainJoinInfoProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html#cfn-appstream-fleet-domainjoininfo-directoryname>+                            directoryName :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-domainjoininfo.html#cfn-appstream-fleet-domainjoininfo-organizationalunitdistinguishedname>+                            organizationalUnitDistinguishedName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDomainJoinInfoProperty :: DomainJoinInfoProperty+mkDomainJoinInfoProperty+  = DomainJoinInfoProperty+      {haddock_workaround_ = (), directoryName = Prelude.Nothing,+       organizationalUnitDistinguishedName = Prelude.Nothing}+instance ToResourceProperties DomainJoinInfoProperty where+  toResourceProperties DomainJoinInfoProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Fleet.DomainJoinInfo",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DirectoryName" Prelude.<$> directoryName,+                            (JSON..=) "OrganizationalUnitDistinguishedName"+                              Prelude.<$> organizationalUnitDistinguishedName])}+instance JSON.ToJSON DomainJoinInfoProperty where+  toJSON DomainJoinInfoProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DirectoryName" Prelude.<$> directoryName,+               (JSON..=) "OrganizationalUnitDistinguishedName"+                 Prelude.<$> organizationalUnitDistinguishedName]))+instance Property "DirectoryName" DomainJoinInfoProperty where+  type PropertyType "DirectoryName" DomainJoinInfoProperty = Value Prelude.Text+  set newValue DomainJoinInfoProperty {..}+    = DomainJoinInfoProperty+        {directoryName = Prelude.pure newValue, ..}+instance Property "OrganizationalUnitDistinguishedName" DomainJoinInfoProperty where+  type PropertyType "OrganizationalUnitDistinguishedName" DomainJoinInfoProperty = Value Prelude.Text+  set newValue DomainJoinInfoProperty {..}+    = DomainJoinInfoProperty+        {organizationalUnitDistinguishedName = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/Fleet/DomainJoinInfoProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Fleet.DomainJoinInfoProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DomainJoinInfoProperty :: Prelude.Type+instance ToResourceProperties DomainJoinInfoProperty+instance Prelude.Eq DomainJoinInfoProperty+instance Prelude.Show DomainJoinInfoProperty+instance JSON.ToJSON DomainJoinInfoProperty
+ gen/Stratosphere/AppStream/Fleet/S3LocationProperty.hs view
@@ -0,0 +1,38 @@+module Stratosphere.AppStream.Fleet.S3LocationProperty (+        S3LocationProperty(..), mkS3LocationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data S3LocationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-s3location.html>+    S3LocationProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-s3location.html#cfn-appstream-fleet-s3location-s3bucket>+                        s3Bucket :: (Value Prelude.Text),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-s3location.html#cfn-appstream-fleet-s3location-s3key>+                        s3Key :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkS3LocationProperty ::+  Value Prelude.Text -> Value Prelude.Text -> S3LocationProperty+mkS3LocationProperty s3Bucket s3Key+  = S3LocationProperty+      {haddock_workaround_ = (), s3Bucket = s3Bucket, s3Key = s3Key}+instance ToResourceProperties S3LocationProperty where+  toResourceProperties S3LocationProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Fleet.S3Location",+         supportsTags = Prelude.False,+         properties = ["S3Bucket" JSON..= s3Bucket, "S3Key" JSON..= s3Key]}+instance JSON.ToJSON S3LocationProperty where+  toJSON S3LocationProperty {..}+    = JSON.object ["S3Bucket" JSON..= s3Bucket, "S3Key" JSON..= s3Key]+instance Property "S3Bucket" S3LocationProperty where+  type PropertyType "S3Bucket" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {s3Bucket = newValue, ..}+instance Property "S3Key" S3LocationProperty where+  type PropertyType "S3Key" S3LocationProperty = Value Prelude.Text+  set newValue S3LocationProperty {..}+    = S3LocationProperty {s3Key = newValue, ..}
+ gen/Stratosphere/AppStream/Fleet/S3LocationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Fleet.S3LocationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data S3LocationProperty :: Prelude.Type+instance ToResourceProperties S3LocationProperty+instance Prelude.Eq S3LocationProperty+instance Prelude.Show S3LocationProperty+instance JSON.ToJSON S3LocationProperty
+ gen/Stratosphere/AppStream/Fleet/VpcConfigProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppStream.Fleet.VpcConfigProperty (+        VpcConfigProperty(..), mkVpcConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VpcConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html>+    VpcConfigProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html#cfn-appstream-fleet-vpcconfig-securitygroupids>+                       securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-fleet-vpcconfig.html#cfn-appstream-fleet-vpcconfig-subnetids>+                       subnetIds :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVpcConfigProperty :: VpcConfigProperty+mkVpcConfigProperty+  = VpcConfigProperty+      {haddock_workaround_ = (), securityGroupIds = Prelude.Nothing,+       subnetIds = Prelude.Nothing}+instance ToResourceProperties VpcConfigProperty where+  toResourceProperties VpcConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Fleet.VpcConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                            (JSON..=) "SubnetIds" Prelude.<$> subnetIds])}+instance JSON.ToJSON VpcConfigProperty where+  toJSON VpcConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+               (JSON..=) "SubnetIds" Prelude.<$> subnetIds]))+instance Property "SecurityGroupIds" VpcConfigProperty where+  type PropertyType "SecurityGroupIds" VpcConfigProperty = ValueList Prelude.Text+  set newValue VpcConfigProperty {..}+    = VpcConfigProperty {securityGroupIds = Prelude.pure newValue, ..}+instance Property "SubnetIds" VpcConfigProperty where+  type PropertyType "SubnetIds" VpcConfigProperty = ValueList Prelude.Text+  set newValue VpcConfigProperty {..}+    = VpcConfigProperty {subnetIds = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/Fleet/VpcConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Fleet.VpcConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VpcConfigProperty :: Prelude.Type+instance ToResourceProperties VpcConfigProperty+instance Prelude.Eq VpcConfigProperty+instance Prelude.Show VpcConfigProperty+instance JSON.ToJSON VpcConfigProperty
+ gen/Stratosphere/AppStream/ImageBuilder.hs view
@@ -0,0 +1,149 @@+module Stratosphere.AppStream.ImageBuilder (+        module Exports, ImageBuilder(..), mkImageBuilder+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppStream.ImageBuilder.AccessEndpointProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.ImageBuilder.DomainJoinInfoProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.ImageBuilder.VpcConfigProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data ImageBuilder+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html>+    ImageBuilder {haddock_workaround_ :: (),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-accessendpoints>+                  accessEndpoints :: (Prelude.Maybe [AccessEndpointProperty]),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-appstreamagentversion>+                  appstreamAgentVersion :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-description>+                  description :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-displayname>+                  displayName :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-domainjoininfo>+                  domainJoinInfo :: (Prelude.Maybe DomainJoinInfoProperty),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-enabledefaultinternetaccess>+                  enableDefaultInternetAccess :: (Prelude.Maybe (Value Prelude.Bool)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-iamrolearn>+                  iamRoleArn :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagearn>+                  imageArn :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-imagename>+                  imageName :: (Prelude.Maybe (Value Prelude.Text)),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-instancetype>+                  instanceType :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-name>+                  name :: (Value Prelude.Text),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-tags>+                  tags :: (Prelude.Maybe [Tag]),+                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-imagebuilder.html#cfn-appstream-imagebuilder-vpcconfig>+                  vpcConfig :: (Prelude.Maybe VpcConfigProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkImageBuilder ::+  Value Prelude.Text -> Value Prelude.Text -> ImageBuilder+mkImageBuilder instanceType name+  = ImageBuilder+      {haddock_workaround_ = (), instanceType = instanceType,+       name = name, accessEndpoints = Prelude.Nothing,+       appstreamAgentVersion = Prelude.Nothing,+       description = Prelude.Nothing, displayName = Prelude.Nothing,+       domainJoinInfo = Prelude.Nothing,+       enableDefaultInternetAccess = Prelude.Nothing,+       iamRoleArn = Prelude.Nothing, imageArn = Prelude.Nothing,+       imageName = Prelude.Nothing, tags = Prelude.Nothing,+       vpcConfig = Prelude.Nothing}+instance ToResourceProperties ImageBuilder where+  toResourceProperties ImageBuilder {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::ImageBuilder",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["InstanceType" JSON..= instanceType, "Name" JSON..= name]+                           (Prelude.catMaybes+                              [(JSON..=) "AccessEndpoints" Prelude.<$> accessEndpoints,+                               (JSON..=) "AppstreamAgentVersion"+                                 Prelude.<$> appstreamAgentVersion,+                               (JSON..=) "Description" Prelude.<$> description,+                               (JSON..=) "DisplayName" Prelude.<$> displayName,+                               (JSON..=) "DomainJoinInfo" Prelude.<$> domainJoinInfo,+                               (JSON..=) "EnableDefaultInternetAccess"+                                 Prelude.<$> enableDefaultInternetAccess,+                               (JSON..=) "IamRoleArn" Prelude.<$> iamRoleArn,+                               (JSON..=) "ImageArn" Prelude.<$> imageArn,+                               (JSON..=) "ImageName" Prelude.<$> imageName,+                               (JSON..=) "Tags" Prelude.<$> tags,+                               (JSON..=) "VpcConfig" Prelude.<$> vpcConfig]))}+instance JSON.ToJSON ImageBuilder where+  toJSON ImageBuilder {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["InstanceType" JSON..= instanceType, "Name" JSON..= name]+              (Prelude.catMaybes+                 [(JSON..=) "AccessEndpoints" Prelude.<$> accessEndpoints,+                  (JSON..=) "AppstreamAgentVersion"+                    Prelude.<$> appstreamAgentVersion,+                  (JSON..=) "Description" Prelude.<$> description,+                  (JSON..=) "DisplayName" Prelude.<$> displayName,+                  (JSON..=) "DomainJoinInfo" Prelude.<$> domainJoinInfo,+                  (JSON..=) "EnableDefaultInternetAccess"+                    Prelude.<$> enableDefaultInternetAccess,+                  (JSON..=) "IamRoleArn" Prelude.<$> iamRoleArn,+                  (JSON..=) "ImageArn" Prelude.<$> imageArn,+                  (JSON..=) "ImageName" Prelude.<$> imageName,+                  (JSON..=) "Tags" Prelude.<$> tags,+                  (JSON..=) "VpcConfig" Prelude.<$> vpcConfig])))+instance Property "AccessEndpoints" ImageBuilder where+  type PropertyType "AccessEndpoints" ImageBuilder = [AccessEndpointProperty]+  set newValue ImageBuilder {..}+    = ImageBuilder {accessEndpoints = Prelude.pure newValue, ..}+instance Property "AppstreamAgentVersion" ImageBuilder where+  type PropertyType "AppstreamAgentVersion" ImageBuilder = Value Prelude.Text+  set newValue ImageBuilder {..}+    = ImageBuilder {appstreamAgentVersion = Prelude.pure newValue, ..}+instance Property "Description" ImageBuilder where+  type PropertyType "Description" ImageBuilder = Value Prelude.Text+  set newValue ImageBuilder {..}+    = ImageBuilder {description = Prelude.pure newValue, ..}+instance Property "DisplayName" ImageBuilder where+  type PropertyType "DisplayName" ImageBuilder = Value Prelude.Text+  set newValue ImageBuilder {..}+    = ImageBuilder {displayName = Prelude.pure newValue, ..}+instance Property "DomainJoinInfo" ImageBuilder where+  type PropertyType "DomainJoinInfo" ImageBuilder = DomainJoinInfoProperty+  set newValue ImageBuilder {..}+    = ImageBuilder {domainJoinInfo = Prelude.pure newValue, ..}+instance Property "EnableDefaultInternetAccess" ImageBuilder where+  type PropertyType "EnableDefaultInternetAccess" ImageBuilder = Value Prelude.Bool+  set newValue ImageBuilder {..}+    = ImageBuilder+        {enableDefaultInternetAccess = Prelude.pure newValue, ..}+instance Property "IamRoleArn" ImageBuilder where+  type PropertyType "IamRoleArn" ImageBuilder = Value Prelude.Text+  set newValue ImageBuilder {..}+    = ImageBuilder {iamRoleArn = Prelude.pure newValue, ..}+instance Property "ImageArn" ImageBuilder where+  type PropertyType "ImageArn" ImageBuilder = Value Prelude.Text+  set newValue ImageBuilder {..}+    = ImageBuilder {imageArn = Prelude.pure newValue, ..}+instance Property "ImageName" ImageBuilder where+  type PropertyType "ImageName" ImageBuilder = Value Prelude.Text+  set newValue ImageBuilder {..}+    = ImageBuilder {imageName = Prelude.pure newValue, ..}+instance Property "InstanceType" ImageBuilder where+  type PropertyType "InstanceType" ImageBuilder = Value Prelude.Text+  set newValue ImageBuilder {..}+    = ImageBuilder {instanceType = newValue, ..}+instance Property "Name" ImageBuilder where+  type PropertyType "Name" ImageBuilder = Value Prelude.Text+  set newValue ImageBuilder {..} = ImageBuilder {name = newValue, ..}+instance Property "Tags" ImageBuilder where+  type PropertyType "Tags" ImageBuilder = [Tag]+  set newValue ImageBuilder {..}+    = ImageBuilder {tags = Prelude.pure newValue, ..}+instance Property "VpcConfig" ImageBuilder where+  type PropertyType "VpcConfig" ImageBuilder = VpcConfigProperty+  set newValue ImageBuilder {..}+    = ImageBuilder {vpcConfig = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/ImageBuilder/AccessEndpointProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.AppStream.ImageBuilder.AccessEndpointProperty (+        AccessEndpointProperty(..), mkAccessEndpointProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessEndpointProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html>+    AccessEndpointProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html#cfn-appstream-imagebuilder-accessendpoint-endpointtype>+                            endpointType :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-accessendpoint.html#cfn-appstream-imagebuilder-accessendpoint-vpceid>+                            vpceId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessEndpointProperty ::+  Value Prelude.Text -> Value Prelude.Text -> AccessEndpointProperty+mkAccessEndpointProperty endpointType vpceId+  = AccessEndpointProperty+      {haddock_workaround_ = (), endpointType = endpointType,+       vpceId = vpceId}+instance ToResourceProperties AccessEndpointProperty where+  toResourceProperties AccessEndpointProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::ImageBuilder.AccessEndpoint",+         supportsTags = Prelude.False,+         properties = ["EndpointType" JSON..= endpointType,+                       "VpceId" JSON..= vpceId]}+instance JSON.ToJSON AccessEndpointProperty where+  toJSON AccessEndpointProperty {..}+    = JSON.object+        ["EndpointType" JSON..= endpointType, "VpceId" JSON..= vpceId]+instance Property "EndpointType" AccessEndpointProperty where+  type PropertyType "EndpointType" AccessEndpointProperty = Value Prelude.Text+  set newValue AccessEndpointProperty {..}+    = AccessEndpointProperty {endpointType = newValue, ..}+instance Property "VpceId" AccessEndpointProperty where+  type PropertyType "VpceId" AccessEndpointProperty = Value Prelude.Text+  set newValue AccessEndpointProperty {..}+    = AccessEndpointProperty {vpceId = newValue, ..}
+ gen/Stratosphere/AppStream/ImageBuilder/AccessEndpointProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.ImageBuilder.AccessEndpointProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessEndpointProperty :: Prelude.Type+instance ToResourceProperties AccessEndpointProperty+instance Prelude.Eq AccessEndpointProperty+instance Prelude.Show AccessEndpointProperty+instance JSON.ToJSON AccessEndpointProperty
+ gen/Stratosphere/AppStream/ImageBuilder/DomainJoinInfoProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AppStream.ImageBuilder.DomainJoinInfoProperty (+        DomainJoinInfoProperty(..), mkDomainJoinInfoProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DomainJoinInfoProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html>+    DomainJoinInfoProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html#cfn-appstream-imagebuilder-domainjoininfo-directoryname>+                            directoryName :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-domainjoininfo.html#cfn-appstream-imagebuilder-domainjoininfo-organizationalunitdistinguishedname>+                            organizationalUnitDistinguishedName :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDomainJoinInfoProperty :: DomainJoinInfoProperty+mkDomainJoinInfoProperty+  = DomainJoinInfoProperty+      {haddock_workaround_ = (), directoryName = Prelude.Nothing,+       organizationalUnitDistinguishedName = Prelude.Nothing}+instance ToResourceProperties DomainJoinInfoProperty where+  toResourceProperties DomainJoinInfoProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::ImageBuilder.DomainJoinInfo",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "DirectoryName" Prelude.<$> directoryName,+                            (JSON..=) "OrganizationalUnitDistinguishedName"+                              Prelude.<$> organizationalUnitDistinguishedName])}+instance JSON.ToJSON DomainJoinInfoProperty where+  toJSON DomainJoinInfoProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "DirectoryName" Prelude.<$> directoryName,+               (JSON..=) "OrganizationalUnitDistinguishedName"+                 Prelude.<$> organizationalUnitDistinguishedName]))+instance Property "DirectoryName" DomainJoinInfoProperty where+  type PropertyType "DirectoryName" DomainJoinInfoProperty = Value Prelude.Text+  set newValue DomainJoinInfoProperty {..}+    = DomainJoinInfoProperty+        {directoryName = Prelude.pure newValue, ..}+instance Property "OrganizationalUnitDistinguishedName" DomainJoinInfoProperty where+  type PropertyType "OrganizationalUnitDistinguishedName" DomainJoinInfoProperty = Value Prelude.Text+  set newValue DomainJoinInfoProperty {..}+    = DomainJoinInfoProperty+        {organizationalUnitDistinguishedName = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/ImageBuilder/DomainJoinInfoProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.ImageBuilder.DomainJoinInfoProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DomainJoinInfoProperty :: Prelude.Type+instance ToResourceProperties DomainJoinInfoProperty+instance Prelude.Eq DomainJoinInfoProperty+instance Prelude.Show DomainJoinInfoProperty+instance JSON.ToJSON DomainJoinInfoProperty
+ gen/Stratosphere/AppStream/ImageBuilder/VpcConfigProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.AppStream.ImageBuilder.VpcConfigProperty (+        VpcConfigProperty(..), mkVpcConfigProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data VpcConfigProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html>+    VpcConfigProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html#cfn-appstream-imagebuilder-vpcconfig-securitygroupids>+                       securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-imagebuilder-vpcconfig.html#cfn-appstream-imagebuilder-vpcconfig-subnetids>+                       subnetIds :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkVpcConfigProperty :: VpcConfigProperty+mkVpcConfigProperty+  = VpcConfigProperty+      {haddock_workaround_ = (), securityGroupIds = Prelude.Nothing,+       subnetIds = Prelude.Nothing}+instance ToResourceProperties VpcConfigProperty where+  toResourceProperties VpcConfigProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::ImageBuilder.VpcConfig",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+                            (JSON..=) "SubnetIds" Prelude.<$> subnetIds])}+instance JSON.ToJSON VpcConfigProperty where+  toJSON VpcConfigProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+               (JSON..=) "SubnetIds" Prelude.<$> subnetIds]))+instance Property "SecurityGroupIds" VpcConfigProperty where+  type PropertyType "SecurityGroupIds" VpcConfigProperty = ValueList Prelude.Text+  set newValue VpcConfigProperty {..}+    = VpcConfigProperty {securityGroupIds = Prelude.pure newValue, ..}+instance Property "SubnetIds" VpcConfigProperty where+  type PropertyType "SubnetIds" VpcConfigProperty = ValueList Prelude.Text+  set newValue VpcConfigProperty {..}+    = VpcConfigProperty {subnetIds = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/ImageBuilder/VpcConfigProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.ImageBuilder.VpcConfigProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data VpcConfigProperty :: Prelude.Type+instance ToResourceProperties VpcConfigProperty+instance Prelude.Eq VpcConfigProperty+instance Prelude.Show VpcConfigProperty+instance JSON.ToJSON VpcConfigProperty
+ gen/Stratosphere/AppStream/Stack.hs view
@@ -0,0 +1,156 @@+module Stratosphere.AppStream.Stack (+        module Exports, Stack(..), mkStack+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.AppStream.Stack.AccessEndpointProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.Stack.ApplicationSettingsProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.Stack.StorageConnectorProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.Stack.StreamingExperienceSettingsProperty as Exports+import {-# SOURCE #-} Stratosphere.AppStream.Stack.UserSettingProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data Stack+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html>+    Stack {haddock_workaround_ :: (),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-accessendpoints>+           accessEndpoints :: (Prelude.Maybe [AccessEndpointProperty]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-applicationsettings>+           applicationSettings :: (Prelude.Maybe ApplicationSettingsProperty),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-attributestodelete>+           attributesToDelete :: (Prelude.Maybe (ValueList Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-deletestorageconnectors>+           deleteStorageConnectors :: (Prelude.Maybe (Value Prelude.Bool)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-description>+           description :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-displayname>+           displayName :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-embedhostdomains>+           embedHostDomains :: (Prelude.Maybe (ValueList Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-feedbackurl>+           feedbackURL :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-name>+           name :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-redirecturl>+           redirectURL :: (Prelude.Maybe (Value Prelude.Text)),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-storageconnectors>+           storageConnectors :: (Prelude.Maybe [StorageConnectorProperty]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-streamingexperiencesettings>+           streamingExperienceSettings :: (Prelude.Maybe StreamingExperienceSettingsProperty),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-tags>+           tags :: (Prelude.Maybe [Tag]),+           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stack.html#cfn-appstream-stack-usersettings>+           userSettings :: (Prelude.Maybe [UserSettingProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStack :: Stack+mkStack+  = Stack+      {haddock_workaround_ = (), accessEndpoints = Prelude.Nothing,+       applicationSettings = Prelude.Nothing,+       attributesToDelete = Prelude.Nothing,+       deleteStorageConnectors = Prelude.Nothing,+       description = Prelude.Nothing, displayName = Prelude.Nothing,+       embedHostDomains = Prelude.Nothing, feedbackURL = Prelude.Nothing,+       name = Prelude.Nothing, redirectURL = Prelude.Nothing,+       storageConnectors = Prelude.Nothing,+       streamingExperienceSettings = Prelude.Nothing,+       tags = Prelude.Nothing, userSettings = Prelude.Nothing}+instance ToResourceProperties Stack where+  toResourceProperties Stack {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Stack", supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AccessEndpoints" Prelude.<$> accessEndpoints,+                            (JSON..=) "ApplicationSettings" Prelude.<$> applicationSettings,+                            (JSON..=) "AttributesToDelete" Prelude.<$> attributesToDelete,+                            (JSON..=) "DeleteStorageConnectors"+                              Prelude.<$> deleteStorageConnectors,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "DisplayName" Prelude.<$> displayName,+                            (JSON..=) "EmbedHostDomains" Prelude.<$> embedHostDomains,+                            (JSON..=) "FeedbackURL" Prelude.<$> feedbackURL,+                            (JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "RedirectURL" Prelude.<$> redirectURL,+                            (JSON..=) "StorageConnectors" Prelude.<$> storageConnectors,+                            (JSON..=) "StreamingExperienceSettings"+                              Prelude.<$> streamingExperienceSettings,+                            (JSON..=) "Tags" Prelude.<$> tags,+                            (JSON..=) "UserSettings" Prelude.<$> userSettings])}+instance JSON.ToJSON Stack where+  toJSON Stack {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AccessEndpoints" Prelude.<$> accessEndpoints,+               (JSON..=) "ApplicationSettings" Prelude.<$> applicationSettings,+               (JSON..=) "AttributesToDelete" Prelude.<$> attributesToDelete,+               (JSON..=) "DeleteStorageConnectors"+                 Prelude.<$> deleteStorageConnectors,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "DisplayName" Prelude.<$> displayName,+               (JSON..=) "EmbedHostDomains" Prelude.<$> embedHostDomains,+               (JSON..=) "FeedbackURL" Prelude.<$> feedbackURL,+               (JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "RedirectURL" Prelude.<$> redirectURL,+               (JSON..=) "StorageConnectors" Prelude.<$> storageConnectors,+               (JSON..=) "StreamingExperienceSettings"+                 Prelude.<$> streamingExperienceSettings,+               (JSON..=) "Tags" Prelude.<$> tags,+               (JSON..=) "UserSettings" Prelude.<$> userSettings]))+instance Property "AccessEndpoints" Stack where+  type PropertyType "AccessEndpoints" Stack = [AccessEndpointProperty]+  set newValue Stack {..}+    = Stack {accessEndpoints = Prelude.pure newValue, ..}+instance Property "ApplicationSettings" Stack where+  type PropertyType "ApplicationSettings" Stack = ApplicationSettingsProperty+  set newValue Stack {..}+    = Stack {applicationSettings = Prelude.pure newValue, ..}+instance Property "AttributesToDelete" Stack where+  type PropertyType "AttributesToDelete" Stack = ValueList Prelude.Text+  set newValue Stack {..}+    = Stack {attributesToDelete = Prelude.pure newValue, ..}+instance Property "DeleteStorageConnectors" Stack where+  type PropertyType "DeleteStorageConnectors" Stack = Value Prelude.Bool+  set newValue Stack {..}+    = Stack {deleteStorageConnectors = Prelude.pure newValue, ..}+instance Property "Description" Stack where+  type PropertyType "Description" Stack = Value Prelude.Text+  set newValue Stack {..}+    = Stack {description = Prelude.pure newValue, ..}+instance Property "DisplayName" Stack where+  type PropertyType "DisplayName" Stack = Value Prelude.Text+  set newValue Stack {..}+    = Stack {displayName = Prelude.pure newValue, ..}+instance Property "EmbedHostDomains" Stack where+  type PropertyType "EmbedHostDomains" Stack = ValueList Prelude.Text+  set newValue Stack {..}+    = Stack {embedHostDomains = Prelude.pure newValue, ..}+instance Property "FeedbackURL" Stack where+  type PropertyType "FeedbackURL" Stack = Value Prelude.Text+  set newValue Stack {..}+    = Stack {feedbackURL = Prelude.pure newValue, ..}+instance Property "Name" Stack where+  type PropertyType "Name" Stack = Value Prelude.Text+  set newValue Stack {..} = Stack {name = Prelude.pure newValue, ..}+instance Property "RedirectURL" Stack where+  type PropertyType "RedirectURL" Stack = Value Prelude.Text+  set newValue Stack {..}+    = Stack {redirectURL = Prelude.pure newValue, ..}+instance Property "StorageConnectors" Stack where+  type PropertyType "StorageConnectors" Stack = [StorageConnectorProperty]+  set newValue Stack {..}+    = Stack {storageConnectors = Prelude.pure newValue, ..}+instance Property "StreamingExperienceSettings" Stack where+  type PropertyType "StreamingExperienceSettings" Stack = StreamingExperienceSettingsProperty+  set newValue Stack {..}+    = Stack {streamingExperienceSettings = Prelude.pure newValue, ..}+instance Property "Tags" Stack where+  type PropertyType "Tags" Stack = [Tag]+  set newValue Stack {..} = Stack {tags = Prelude.pure newValue, ..}+instance Property "UserSettings" Stack where+  type PropertyType "UserSettings" Stack = [UserSettingProperty]+  set newValue Stack {..}+    = Stack {userSettings = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/Stack/AccessEndpointProperty.hs view
@@ -0,0 +1,41 @@+module Stratosphere.AppStream.Stack.AccessEndpointProperty (+        AccessEndpointProperty(..), mkAccessEndpointProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessEndpointProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html>+    AccessEndpointProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html#cfn-appstream-stack-accessendpoint-endpointtype>+                            endpointType :: (Value Prelude.Text),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-accessendpoint.html#cfn-appstream-stack-accessendpoint-vpceid>+                            vpceId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessEndpointProperty ::+  Value Prelude.Text -> Value Prelude.Text -> AccessEndpointProperty+mkAccessEndpointProperty endpointType vpceId+  = AccessEndpointProperty+      {haddock_workaround_ = (), endpointType = endpointType,+       vpceId = vpceId}+instance ToResourceProperties AccessEndpointProperty where+  toResourceProperties AccessEndpointProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Stack.AccessEndpoint",+         supportsTags = Prelude.False,+         properties = ["EndpointType" JSON..= endpointType,+                       "VpceId" JSON..= vpceId]}+instance JSON.ToJSON AccessEndpointProperty where+  toJSON AccessEndpointProperty {..}+    = JSON.object+        ["EndpointType" JSON..= endpointType, "VpceId" JSON..= vpceId]+instance Property "EndpointType" AccessEndpointProperty where+  type PropertyType "EndpointType" AccessEndpointProperty = Value Prelude.Text+  set newValue AccessEndpointProperty {..}+    = AccessEndpointProperty {endpointType = newValue, ..}+instance Property "VpceId" AccessEndpointProperty where+  type PropertyType "VpceId" AccessEndpointProperty = Value Prelude.Text+  set newValue AccessEndpointProperty {..}+    = AccessEndpointProperty {vpceId = newValue, ..}
+ gen/Stratosphere/AppStream/Stack/AccessEndpointProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Stack.AccessEndpointProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessEndpointProperty :: Prelude.Type+instance ToResourceProperties AccessEndpointProperty+instance Prelude.Eq AccessEndpointProperty+instance Prelude.Show AccessEndpointProperty+instance JSON.ToJSON AccessEndpointProperty
+ gen/Stratosphere/AppStream/Stack/ApplicationSettingsProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.AppStream.Stack.ApplicationSettingsProperty (+        ApplicationSettingsProperty(..), mkApplicationSettingsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ApplicationSettingsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html>+    ApplicationSettingsProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html#cfn-appstream-stack-applicationsettings-enabled>+                                 enabled :: (Value Prelude.Bool),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-applicationsettings.html#cfn-appstream-stack-applicationsettings-settingsgroup>+                                 settingsGroup :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkApplicationSettingsProperty ::+  Value Prelude.Bool -> ApplicationSettingsProperty+mkApplicationSettingsProperty enabled+  = ApplicationSettingsProperty+      {haddock_workaround_ = (), enabled = enabled,+       settingsGroup = Prelude.Nothing}+instance ToResourceProperties ApplicationSettingsProperty where+  toResourceProperties ApplicationSettingsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Stack.ApplicationSettings",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Enabled" JSON..= enabled]+                           (Prelude.catMaybes+                              [(JSON..=) "SettingsGroup" Prelude.<$> settingsGroup]))}+instance JSON.ToJSON ApplicationSettingsProperty where+  toJSON ApplicationSettingsProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Enabled" JSON..= enabled]+              (Prelude.catMaybes+                 [(JSON..=) "SettingsGroup" Prelude.<$> settingsGroup])))+instance Property "Enabled" ApplicationSettingsProperty where+  type PropertyType "Enabled" ApplicationSettingsProperty = Value Prelude.Bool+  set newValue ApplicationSettingsProperty {..}+    = ApplicationSettingsProperty {enabled = newValue, ..}+instance Property "SettingsGroup" ApplicationSettingsProperty where+  type PropertyType "SettingsGroup" ApplicationSettingsProperty = Value Prelude.Text+  set newValue ApplicationSettingsProperty {..}+    = ApplicationSettingsProperty+        {settingsGroup = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/Stack/ApplicationSettingsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Stack.ApplicationSettingsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ApplicationSettingsProperty :: Prelude.Type+instance ToResourceProperties ApplicationSettingsProperty+instance Prelude.Eq ApplicationSettingsProperty+instance Prelude.Show ApplicationSettingsProperty+instance JSON.ToJSON ApplicationSettingsProperty
+ gen/Stratosphere/AppStream/Stack/StorageConnectorProperty.hs view
@@ -0,0 +1,57 @@+module Stratosphere.AppStream.Stack.StorageConnectorProperty (+        StorageConnectorProperty(..), mkStorageConnectorProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StorageConnectorProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html>+    StorageConnectorProperty {haddock_workaround_ :: (),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-connectortype>+                              connectorType :: (Value Prelude.Text),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-domains>+                              domains :: (Prelude.Maybe (ValueList Prelude.Text)),+                              -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-storageconnector.html#cfn-appstream-stack-storageconnector-resourceidentifier>+                              resourceIdentifier :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStorageConnectorProperty ::+  Value Prelude.Text -> StorageConnectorProperty+mkStorageConnectorProperty connectorType+  = StorageConnectorProperty+      {haddock_workaround_ = (), connectorType = connectorType,+       domains = Prelude.Nothing, resourceIdentifier = Prelude.Nothing}+instance ToResourceProperties StorageConnectorProperty where+  toResourceProperties StorageConnectorProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Stack.StorageConnector",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["ConnectorType" JSON..= connectorType]+                           (Prelude.catMaybes+                              [(JSON..=) "Domains" Prelude.<$> domains,+                               (JSON..=) "ResourceIdentifier" Prelude.<$> resourceIdentifier]))}+instance JSON.ToJSON StorageConnectorProperty where+  toJSON StorageConnectorProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["ConnectorType" JSON..= connectorType]+              (Prelude.catMaybes+                 [(JSON..=) "Domains" Prelude.<$> domains,+                  (JSON..=) "ResourceIdentifier" Prelude.<$> resourceIdentifier])))+instance Property "ConnectorType" StorageConnectorProperty where+  type PropertyType "ConnectorType" StorageConnectorProperty = Value Prelude.Text+  set newValue StorageConnectorProperty {..}+    = StorageConnectorProperty {connectorType = newValue, ..}+instance Property "Domains" StorageConnectorProperty where+  type PropertyType "Domains" StorageConnectorProperty = ValueList Prelude.Text+  set newValue StorageConnectorProperty {..}+    = StorageConnectorProperty {domains = Prelude.pure newValue, ..}+instance Property "ResourceIdentifier" StorageConnectorProperty where+  type PropertyType "ResourceIdentifier" StorageConnectorProperty = Value Prelude.Text+  set newValue StorageConnectorProperty {..}+    = StorageConnectorProperty+        {resourceIdentifier = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/Stack/StorageConnectorProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Stack.StorageConnectorProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StorageConnectorProperty :: Prelude.Type+instance ToResourceProperties StorageConnectorProperty+instance Prelude.Eq StorageConnectorProperty+instance Prelude.Show StorageConnectorProperty+instance JSON.ToJSON StorageConnectorProperty
+ gen/Stratosphere/AppStream/Stack/StreamingExperienceSettingsProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.AppStream.Stack.StreamingExperienceSettingsProperty (+        StreamingExperienceSettingsProperty(..),+        mkStreamingExperienceSettingsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StreamingExperienceSettingsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-streamingexperiencesettings.html>+    StreamingExperienceSettingsProperty {haddock_workaround_ :: (),+                                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-streamingexperiencesettings.html#cfn-appstream-stack-streamingexperiencesettings-preferredprotocol>+                                         preferredProtocol :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStreamingExperienceSettingsProperty ::+  StreamingExperienceSettingsProperty+mkStreamingExperienceSettingsProperty+  = StreamingExperienceSettingsProperty+      {haddock_workaround_ = (), preferredProtocol = Prelude.Nothing}+instance ToResourceProperties StreamingExperienceSettingsProperty where+  toResourceProperties StreamingExperienceSettingsProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Stack.StreamingExperienceSettings",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "PreferredProtocol" Prelude.<$> preferredProtocol])}+instance JSON.ToJSON StreamingExperienceSettingsProperty where+  toJSON StreamingExperienceSettingsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "PreferredProtocol" Prelude.<$> preferredProtocol]))+instance Property "PreferredProtocol" StreamingExperienceSettingsProperty where+  type PropertyType "PreferredProtocol" StreamingExperienceSettingsProperty = Value Prelude.Text+  set newValue StreamingExperienceSettingsProperty {..}+    = StreamingExperienceSettingsProperty+        {preferredProtocol = Prelude.pure newValue, ..}
+ gen/Stratosphere/AppStream/Stack/StreamingExperienceSettingsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Stack.StreamingExperienceSettingsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data StreamingExperienceSettingsProperty :: Prelude.Type+instance ToResourceProperties StreamingExperienceSettingsProperty+instance Prelude.Eq StreamingExperienceSettingsProperty+instance Prelude.Show StreamingExperienceSettingsProperty+instance JSON.ToJSON StreamingExperienceSettingsProperty
+ gen/Stratosphere/AppStream/Stack/UserSettingProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.AppStream.Stack.UserSettingProperty (+        UserSettingProperty(..), mkUserSettingProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data UserSettingProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html>+    UserSettingProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-action>+                         action :: (Value Prelude.Text),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-maximumlength>+                         maximumLength :: (Prelude.Maybe (Value Prelude.Integer)),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appstream-stack-usersetting.html#cfn-appstream-stack-usersetting-permission>+                         permission :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkUserSettingProperty ::+  Value Prelude.Text -> Value Prelude.Text -> UserSettingProperty+mkUserSettingProperty action permission+  = UserSettingProperty+      {haddock_workaround_ = (), action = action,+       permission = permission, maximumLength = Prelude.Nothing}+instance ToResourceProperties UserSettingProperty where+  toResourceProperties UserSettingProperty {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::Stack.UserSetting",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Action" JSON..= action, "Permission" JSON..= permission]+                           (Prelude.catMaybes+                              [(JSON..=) "MaximumLength" Prelude.<$> maximumLength]))}+instance JSON.ToJSON UserSettingProperty where+  toJSON UserSettingProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Action" JSON..= action, "Permission" JSON..= permission]+              (Prelude.catMaybes+                 [(JSON..=) "MaximumLength" Prelude.<$> maximumLength])))+instance Property "Action" UserSettingProperty where+  type PropertyType "Action" UserSettingProperty = Value Prelude.Text+  set newValue UserSettingProperty {..}+    = UserSettingProperty {action = newValue, ..}+instance Property "MaximumLength" UserSettingProperty where+  type PropertyType "MaximumLength" UserSettingProperty = Value Prelude.Integer+  set newValue UserSettingProperty {..}+    = UserSettingProperty {maximumLength = Prelude.pure newValue, ..}+instance Property "Permission" UserSettingProperty where+  type PropertyType "Permission" UserSettingProperty = Value Prelude.Text+  set newValue UserSettingProperty {..}+    = UserSettingProperty {permission = newValue, ..}
+ gen/Stratosphere/AppStream/Stack/UserSettingProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.AppStream.Stack.UserSettingProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data UserSettingProperty :: Prelude.Type+instance ToResourceProperties UserSettingProperty+instance Prelude.Eq UserSettingProperty+instance Prelude.Show UserSettingProperty+instance JSON.ToJSON UserSettingProperty
+ gen/Stratosphere/AppStream/StackFleetAssociation.hs view
@@ -0,0 +1,41 @@+module Stratosphere.AppStream.StackFleetAssociation (+        StackFleetAssociation(..), mkStackFleetAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StackFleetAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html>+    StackFleetAssociation {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html#cfn-appstream-stackfleetassociation-fleetname>+                           fleetName :: (Value Prelude.Text),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackfleetassociation.html#cfn-appstream-stackfleetassociation-stackname>+                           stackName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStackFleetAssociation ::+  Value Prelude.Text -> Value Prelude.Text -> StackFleetAssociation+mkStackFleetAssociation fleetName stackName+  = StackFleetAssociation+      {haddock_workaround_ = (), fleetName = fleetName,+       stackName = stackName}+instance ToResourceProperties StackFleetAssociation where+  toResourceProperties StackFleetAssociation {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::StackFleetAssociation",+         supportsTags = Prelude.False,+         properties = ["FleetName" JSON..= fleetName,+                       "StackName" JSON..= stackName]}+instance JSON.ToJSON StackFleetAssociation where+  toJSON StackFleetAssociation {..}+    = JSON.object+        ["FleetName" JSON..= fleetName, "StackName" JSON..= stackName]+instance Property "FleetName" StackFleetAssociation where+  type PropertyType "FleetName" StackFleetAssociation = Value Prelude.Text+  set newValue StackFleetAssociation {..}+    = StackFleetAssociation {fleetName = newValue, ..}+instance Property "StackName" StackFleetAssociation where+  type PropertyType "StackName" StackFleetAssociation = Value Prelude.Text+  set newValue StackFleetAssociation {..}+    = StackFleetAssociation {stackName = newValue, ..}
+ gen/Stratosphere/AppStream/StackUserAssociation.hs view
@@ -0,0 +1,67 @@+module Stratosphere.AppStream.StackUserAssociation (+        StackUserAssociation(..), mkStackUserAssociation+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data StackUserAssociation+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html>+    StackUserAssociation {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-authenticationtype>+                          authenticationType :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-sendemailnotification>+                          sendEmailNotification :: (Prelude.Maybe (Value Prelude.Bool)),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-stackname>+                          stackName :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-stackuserassociation.html#cfn-appstream-stackuserassociation-username>+                          userName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkStackUserAssociation ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> StackUserAssociation+mkStackUserAssociation authenticationType stackName userName+  = StackUserAssociation+      {haddock_workaround_ = (), authenticationType = authenticationType,+       stackName = stackName, userName = userName,+       sendEmailNotification = Prelude.Nothing}+instance ToResourceProperties StackUserAssociation where+  toResourceProperties StackUserAssociation {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::StackUserAssociation",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AuthenticationType" JSON..= authenticationType,+                            "StackName" JSON..= stackName, "UserName" JSON..= userName]+                           (Prelude.catMaybes+                              [(JSON..=) "SendEmailNotification"+                                 Prelude.<$> sendEmailNotification]))}+instance JSON.ToJSON StackUserAssociation where+  toJSON StackUserAssociation {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AuthenticationType" JSON..= authenticationType,+               "StackName" JSON..= stackName, "UserName" JSON..= userName]+              (Prelude.catMaybes+                 [(JSON..=) "SendEmailNotification"+                    Prelude.<$> sendEmailNotification])))+instance Property "AuthenticationType" StackUserAssociation where+  type PropertyType "AuthenticationType" StackUserAssociation = Value Prelude.Text+  set newValue StackUserAssociation {..}+    = StackUserAssociation {authenticationType = newValue, ..}+instance Property "SendEmailNotification" StackUserAssociation where+  type PropertyType "SendEmailNotification" StackUserAssociation = Value Prelude.Bool+  set newValue StackUserAssociation {..}+    = StackUserAssociation+        {sendEmailNotification = Prelude.pure newValue, ..}+instance Property "StackName" StackUserAssociation where+  type PropertyType "StackName" StackUserAssociation = Value Prelude.Text+  set newValue StackUserAssociation {..}+    = StackUserAssociation {stackName = newValue, ..}+instance Property "UserName" StackUserAssociation where+  type PropertyType "UserName" StackUserAssociation = Value Prelude.Text+  set newValue StackUserAssociation {..}+    = StackUserAssociation {userName = newValue, ..}
+ gen/Stratosphere/AppStream/User.hs view
@@ -0,0 +1,69 @@+module Stratosphere.AppStream.User (+        User(..), mkUser+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data User+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html>+    User {haddock_workaround_ :: (),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-authenticationtype>+          authenticationType :: (Value Prelude.Text),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-firstname>+          firstName :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-lastname>+          lastName :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-messageaction>+          messageAction :: (Prelude.Maybe (Value Prelude.Text)),+          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appstream-user.html#cfn-appstream-user-username>+          userName :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkUser :: Value Prelude.Text -> Value Prelude.Text -> User+mkUser authenticationType userName+  = User+      {haddock_workaround_ = (), authenticationType = authenticationType,+       userName = userName, firstName = Prelude.Nothing,+       lastName = Prelude.Nothing, messageAction = Prelude.Nothing}+instance ToResourceProperties User where+  toResourceProperties User {..}+    = ResourceProperties+        {awsType = "AWS::AppStream::User", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["AuthenticationType" JSON..= authenticationType,+                            "UserName" JSON..= userName]+                           (Prelude.catMaybes+                              [(JSON..=) "FirstName" Prelude.<$> firstName,+                               (JSON..=) "LastName" Prelude.<$> lastName,+                               (JSON..=) "MessageAction" Prelude.<$> messageAction]))}+instance JSON.ToJSON User where+  toJSON User {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["AuthenticationType" JSON..= authenticationType,+               "UserName" JSON..= userName]+              (Prelude.catMaybes+                 [(JSON..=) "FirstName" Prelude.<$> firstName,+                  (JSON..=) "LastName" Prelude.<$> lastName,+                  (JSON..=) "MessageAction" Prelude.<$> messageAction])))+instance Property "AuthenticationType" User where+  type PropertyType "AuthenticationType" User = Value Prelude.Text+  set newValue User {..} = User {authenticationType = newValue, ..}+instance Property "FirstName" User where+  type PropertyType "FirstName" User = Value Prelude.Text+  set newValue User {..}+    = User {firstName = Prelude.pure newValue, ..}+instance Property "LastName" User where+  type PropertyType "LastName" User = Value Prelude.Text+  set newValue User {..}+    = User {lastName = Prelude.pure newValue, ..}+instance Property "MessageAction" User where+  type PropertyType "MessageAction" User = Value Prelude.Text+  set newValue User {..}+    = User {messageAction = Prelude.pure newValue, ..}+instance Property "UserName" User where+  type PropertyType "UserName" User = Value Prelude.Text+  set newValue User {..} = User {userName = newValue, ..}
+ stratosphere-appstream.cabal view
@@ -0,0 +1,105 @@+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-appstream+version:        1.0.0+synopsis:       Stratosphere integration for AWS AppStream.+description:    Integration into stratosphere to generate resources and properties for AWS AppStream+category:       AWS, Cloud, AppStream+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.AppStream.AppBlock+      Stratosphere.AppStream.AppBlock.S3LocationProperty+      Stratosphere.AppStream.AppBlock.ScriptDetailsProperty+      Stratosphere.AppStream.AppBlockBuilder+      Stratosphere.AppStream.AppBlockBuilder.AccessEndpointProperty+      Stratosphere.AppStream.AppBlockBuilder.VpcConfigProperty+      Stratosphere.AppStream.Application+      Stratosphere.AppStream.Application.S3LocationProperty+      Stratosphere.AppStream.ApplicationEntitlementAssociation+      Stratosphere.AppStream.ApplicationFleetAssociation+      Stratosphere.AppStream.DirectoryConfig+      Stratosphere.AppStream.DirectoryConfig.CertificateBasedAuthPropertiesProperty+      Stratosphere.AppStream.DirectoryConfig.ServiceAccountCredentialsProperty+      Stratosphere.AppStream.Entitlement+      Stratosphere.AppStream.Entitlement.AttributeProperty+      Stratosphere.AppStream.Fleet+      Stratosphere.AppStream.Fleet.ComputeCapacityProperty+      Stratosphere.AppStream.Fleet.DomainJoinInfoProperty+      Stratosphere.AppStream.Fleet.S3LocationProperty+      Stratosphere.AppStream.Fleet.VpcConfigProperty+      Stratosphere.AppStream.ImageBuilder+      Stratosphere.AppStream.ImageBuilder.AccessEndpointProperty+      Stratosphere.AppStream.ImageBuilder.DomainJoinInfoProperty+      Stratosphere.AppStream.ImageBuilder.VpcConfigProperty+      Stratosphere.AppStream.Stack+      Stratosphere.AppStream.Stack.AccessEndpointProperty+      Stratosphere.AppStream.Stack.ApplicationSettingsProperty+      Stratosphere.AppStream.Stack.StorageConnectorProperty+      Stratosphere.AppStream.Stack.StreamingExperienceSettingsProperty+      Stratosphere.AppStream.Stack.UserSettingProperty+      Stratosphere.AppStream.StackFleetAssociation+      Stratosphere.AppStream.StackUserAssociation+      Stratosphere.AppStream.User+  other-modules:+      Paths_stratosphere_appstream+  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