packages feed

stratosphere-efs (empty) → 1.0.0

raw patch · 25 files changed

+1002/−0 lines, 25 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/EFS/AccessPoint.hs view
@@ -0,0 +1,74 @@+module Stratosphere.EFS.AccessPoint (+        module Exports, AccessPoint(..), mkAccessPoint+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EFS.AccessPoint.AccessPointTagProperty as Exports+import {-# SOURCE #-} Stratosphere.EFS.AccessPoint.PosixUserProperty as Exports+import {-# SOURCE #-} Stratosphere.EFS.AccessPoint.RootDirectoryProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessPoint+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html>+    AccessPoint {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-accesspointtags>+                 accessPointTags :: (Prelude.Maybe [AccessPointTagProperty]),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-clienttoken>+                 clientToken :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-filesystemid>+                 fileSystemId :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-posixuser>+                 posixUser :: (Prelude.Maybe PosixUserProperty),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-accesspoint.html#cfn-efs-accesspoint-rootdirectory>+                 rootDirectory :: (Prelude.Maybe RootDirectoryProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessPoint :: Value Prelude.Text -> AccessPoint+mkAccessPoint fileSystemId+  = AccessPoint+      {haddock_workaround_ = (), fileSystemId = fileSystemId,+       accessPointTags = Prelude.Nothing, clientToken = Prelude.Nothing,+       posixUser = Prelude.Nothing, rootDirectory = Prelude.Nothing}+instance ToResourceProperties AccessPoint where+  toResourceProperties AccessPoint {..}+    = ResourceProperties+        {awsType = "AWS::EFS::AccessPoint", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["FileSystemId" JSON..= fileSystemId]+                           (Prelude.catMaybes+                              [(JSON..=) "AccessPointTags" Prelude.<$> accessPointTags,+                               (JSON..=) "ClientToken" Prelude.<$> clientToken,+                               (JSON..=) "PosixUser" Prelude.<$> posixUser,+                               (JSON..=) "RootDirectory" Prelude.<$> rootDirectory]))}+instance JSON.ToJSON AccessPoint where+  toJSON AccessPoint {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["FileSystemId" JSON..= fileSystemId]+              (Prelude.catMaybes+                 [(JSON..=) "AccessPointTags" Prelude.<$> accessPointTags,+                  (JSON..=) "ClientToken" Prelude.<$> clientToken,+                  (JSON..=) "PosixUser" Prelude.<$> posixUser,+                  (JSON..=) "RootDirectory" Prelude.<$> rootDirectory])))+instance Property "AccessPointTags" AccessPoint where+  type PropertyType "AccessPointTags" AccessPoint = [AccessPointTagProperty]+  set newValue AccessPoint {..}+    = AccessPoint {accessPointTags = Prelude.pure newValue, ..}+instance Property "ClientToken" AccessPoint where+  type PropertyType "ClientToken" AccessPoint = Value Prelude.Text+  set newValue AccessPoint {..}+    = AccessPoint {clientToken = Prelude.pure newValue, ..}+instance Property "FileSystemId" AccessPoint where+  type PropertyType "FileSystemId" AccessPoint = Value Prelude.Text+  set newValue AccessPoint {..}+    = AccessPoint {fileSystemId = newValue, ..}+instance Property "PosixUser" AccessPoint where+  type PropertyType "PosixUser" AccessPoint = PosixUserProperty+  set newValue AccessPoint {..}+    = AccessPoint {posixUser = Prelude.pure newValue, ..}+instance Property "RootDirectory" AccessPoint where+  type PropertyType "RootDirectory" AccessPoint = RootDirectoryProperty+  set newValue AccessPoint {..}+    = AccessPoint {rootDirectory = Prelude.pure newValue, ..}
+ gen/Stratosphere/EFS/AccessPoint/AccessPointTagProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.EFS.AccessPoint.AccessPointTagProperty (+        AccessPointTagProperty(..), mkAccessPointTagProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AccessPointTagProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-accesspointtag.html>+    AccessPointTagProperty {haddock_workaround_ :: (),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-accesspointtag.html#cfn-efs-accesspoint-accesspointtag-key>+                            key :: (Prelude.Maybe (Value Prelude.Text)),+                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-accesspointtag.html#cfn-efs-accesspoint-accesspointtag-value>+                            value :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkAccessPointTagProperty :: AccessPointTagProperty+mkAccessPointTagProperty+  = AccessPointTagProperty+      {haddock_workaround_ = (), key = Prelude.Nothing,+       value = Prelude.Nothing}+instance ToResourceProperties AccessPointTagProperty where+  toResourceProperties AccessPointTagProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::AccessPoint.AccessPointTag",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Key" Prelude.<$> key,+                            (JSON..=) "Value" Prelude.<$> value])}+instance JSON.ToJSON AccessPointTagProperty where+  toJSON AccessPointTagProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Key" Prelude.<$> key,+               (JSON..=) "Value" Prelude.<$> value]))+instance Property "Key" AccessPointTagProperty where+  type PropertyType "Key" AccessPointTagProperty = Value Prelude.Text+  set newValue AccessPointTagProperty {..}+    = AccessPointTagProperty {key = Prelude.pure newValue, ..}+instance Property "Value" AccessPointTagProperty where+  type PropertyType "Value" AccessPointTagProperty = Value Prelude.Text+  set newValue AccessPointTagProperty {..}+    = AccessPointTagProperty {value = Prelude.pure newValue, ..}
+ gen/Stratosphere/EFS/AccessPoint/AccessPointTagProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.AccessPoint.AccessPointTagProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AccessPointTagProperty :: Prelude.Type+instance ToResourceProperties AccessPointTagProperty+instance Prelude.Eq AccessPointTagProperty+instance Prelude.Show AccessPointTagProperty+instance JSON.ToJSON AccessPointTagProperty
+ gen/Stratosphere/EFS/AccessPoint/CreationInfoProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.EFS.AccessPoint.CreationInfoProperty (+        CreationInfoProperty(..), mkCreationInfoProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CreationInfoProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html>+    CreationInfoProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-ownergid>+                          ownerGid :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-owneruid>+                          ownerUid :: (Value Prelude.Text),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-creationinfo.html#cfn-efs-accesspoint-creationinfo-permissions>+                          permissions :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCreationInfoProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> Value Prelude.Text -> CreationInfoProperty+mkCreationInfoProperty ownerGid ownerUid permissions+  = CreationInfoProperty+      {haddock_workaround_ = (), ownerGid = ownerGid,+       ownerUid = ownerUid, permissions = permissions}+instance ToResourceProperties CreationInfoProperty where+  toResourceProperties CreationInfoProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::AccessPoint.CreationInfo",+         supportsTags = Prelude.False,+         properties = ["OwnerGid" JSON..= ownerGid,+                       "OwnerUid" JSON..= ownerUid, "Permissions" JSON..= permissions]}+instance JSON.ToJSON CreationInfoProperty where+  toJSON CreationInfoProperty {..}+    = JSON.object+        ["OwnerGid" JSON..= ownerGid, "OwnerUid" JSON..= ownerUid,+         "Permissions" JSON..= permissions]+instance Property "OwnerGid" CreationInfoProperty where+  type PropertyType "OwnerGid" CreationInfoProperty = Value Prelude.Text+  set newValue CreationInfoProperty {..}+    = CreationInfoProperty {ownerGid = newValue, ..}+instance Property "OwnerUid" CreationInfoProperty where+  type PropertyType "OwnerUid" CreationInfoProperty = Value Prelude.Text+  set newValue CreationInfoProperty {..}+    = CreationInfoProperty {ownerUid = newValue, ..}+instance Property "Permissions" CreationInfoProperty where+  type PropertyType "Permissions" CreationInfoProperty = Value Prelude.Text+  set newValue CreationInfoProperty {..}+    = CreationInfoProperty {permissions = newValue, ..}
+ gen/Stratosphere/EFS/AccessPoint/CreationInfoProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.AccessPoint.CreationInfoProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CreationInfoProperty :: Prelude.Type+instance ToResourceProperties CreationInfoProperty+instance Prelude.Eq CreationInfoProperty+instance Prelude.Show CreationInfoProperty+instance JSON.ToJSON CreationInfoProperty
+ gen/Stratosphere/EFS/AccessPoint/PosixUserProperty.hs view
@@ -0,0 +1,54 @@+module Stratosphere.EFS.AccessPoint.PosixUserProperty (+        PosixUserProperty(..), mkPosixUserProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data PosixUserProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html>+    PosixUserProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html#cfn-efs-accesspoint-posixuser-gid>+                       gid :: (Value Prelude.Text),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html#cfn-efs-accesspoint-posixuser-secondarygids>+                       secondaryGids :: (Prelude.Maybe (ValueList Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-posixuser.html#cfn-efs-accesspoint-posixuser-uid>+                       uid :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPosixUserProperty ::+  Value Prelude.Text -> Value Prelude.Text -> PosixUserProperty+mkPosixUserProperty gid uid+  = PosixUserProperty+      {haddock_workaround_ = (), gid = gid, uid = uid,+       secondaryGids = Prelude.Nothing}+instance ToResourceProperties PosixUserProperty where+  toResourceProperties PosixUserProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::AccessPoint.PosixUser",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Gid" JSON..= gid, "Uid" JSON..= uid]+                           (Prelude.catMaybes+                              [(JSON..=) "SecondaryGids" Prelude.<$> secondaryGids]))}+instance JSON.ToJSON PosixUserProperty where+  toJSON PosixUserProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Gid" JSON..= gid, "Uid" JSON..= uid]+              (Prelude.catMaybes+                 [(JSON..=) "SecondaryGids" Prelude.<$> secondaryGids])))+instance Property "Gid" PosixUserProperty where+  type PropertyType "Gid" PosixUserProperty = Value Prelude.Text+  set newValue PosixUserProperty {..}+    = PosixUserProperty {gid = newValue, ..}+instance Property "SecondaryGids" PosixUserProperty where+  type PropertyType "SecondaryGids" PosixUserProperty = ValueList Prelude.Text+  set newValue PosixUserProperty {..}+    = PosixUserProperty {secondaryGids = Prelude.pure newValue, ..}+instance Property "Uid" PosixUserProperty where+  type PropertyType "Uid" PosixUserProperty = Value Prelude.Text+  set newValue PosixUserProperty {..}+    = PosixUserProperty {uid = newValue, ..}
+ gen/Stratosphere/EFS/AccessPoint/PosixUserProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.AccessPoint.PosixUserProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PosixUserProperty :: Prelude.Type+instance ToResourceProperties PosixUserProperty+instance Prelude.Eq PosixUserProperty+instance Prelude.Show PosixUserProperty+instance JSON.ToJSON PosixUserProperty
+ gen/Stratosphere/EFS/AccessPoint/RootDirectoryProperty.hs view
@@ -0,0 +1,46 @@+module Stratosphere.EFS.AccessPoint.RootDirectoryProperty (+        module Exports, RootDirectoryProperty(..), mkRootDirectoryProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EFS.AccessPoint.CreationInfoProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RootDirectoryProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html>+    RootDirectoryProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html#cfn-efs-accesspoint-rootdirectory-creationinfo>+                           creationInfo :: (Prelude.Maybe CreationInfoProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-accesspoint-rootdirectory.html#cfn-efs-accesspoint-rootdirectory-path>+                           path :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRootDirectoryProperty :: RootDirectoryProperty+mkRootDirectoryProperty+  = RootDirectoryProperty+      {haddock_workaround_ = (), creationInfo = Prelude.Nothing,+       path = Prelude.Nothing}+instance ToResourceProperties RootDirectoryProperty where+  toResourceProperties RootDirectoryProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::AccessPoint.RootDirectory",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CreationInfo" Prelude.<$> creationInfo,+                            (JSON..=) "Path" Prelude.<$> path])}+instance JSON.ToJSON RootDirectoryProperty where+  toJSON RootDirectoryProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CreationInfo" Prelude.<$> creationInfo,+               (JSON..=) "Path" Prelude.<$> path]))+instance Property "CreationInfo" RootDirectoryProperty where+  type PropertyType "CreationInfo" RootDirectoryProperty = CreationInfoProperty+  set newValue RootDirectoryProperty {..}+    = RootDirectoryProperty {creationInfo = Prelude.pure newValue, ..}+instance Property "Path" RootDirectoryProperty where+  type PropertyType "Path" RootDirectoryProperty = Value Prelude.Text+  set newValue RootDirectoryProperty {..}+    = RootDirectoryProperty {path = Prelude.pure newValue, ..}
+ gen/Stratosphere/EFS/AccessPoint/RootDirectoryProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.AccessPoint.RootDirectoryProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RootDirectoryProperty :: Prelude.Type+instance ToResourceProperties RootDirectoryProperty+instance Prelude.Eq RootDirectoryProperty+instance Prelude.Show RootDirectoryProperty+instance JSON.ToJSON RootDirectoryProperty
+ gen/Stratosphere/EFS/FileSystem.hs view
@@ -0,0 +1,154 @@+module Stratosphere.EFS.FileSystem (+        module Exports, FileSystem(..), mkFileSystem+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EFS.FileSystem.BackupPolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.EFS.FileSystem.ElasticFileSystemTagProperty as Exports+import {-# SOURCE #-} Stratosphere.EFS.FileSystem.FileSystemProtectionProperty as Exports+import {-# SOURCE #-} Stratosphere.EFS.FileSystem.LifecyclePolicyProperty as Exports+import {-# SOURCE #-} Stratosphere.EFS.FileSystem.ReplicationConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FileSystem+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html>+    FileSystem {haddock_workaround_ :: (),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-availabilityzonename>+                availabilityZoneName :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-backuppolicy>+                backupPolicy :: (Prelude.Maybe BackupPolicyProperty),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-bypasspolicylockoutsafetycheck>+                bypassPolicyLockoutSafetyCheck :: (Prelude.Maybe (Value Prelude.Bool)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-encrypted>+                encrypted :: (Prelude.Maybe (Value Prelude.Bool)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystempolicy>+                fileSystemPolicy :: (Prelude.Maybe JSON.Object),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystemprotection>+                fileSystemProtection :: (Prelude.Maybe FileSystemProtectionProperty),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-filesystemtags>+                fileSystemTags :: (Prelude.Maybe [ElasticFileSystemTagProperty]),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-kmskeyid>+                kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-lifecyclepolicies>+                lifecyclePolicies :: (Prelude.Maybe [LifecyclePolicyProperty]),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-performancemode>+                performanceMode :: (Prelude.Maybe (Value Prelude.Text)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-provisionedthroughputinmibps>+                provisionedThroughputInMibps :: (Prelude.Maybe (Value Prelude.Double)),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-replicationconfiguration>+                replicationConfiguration :: (Prelude.Maybe ReplicationConfigurationProperty),+                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-filesystem.html#cfn-efs-filesystem-throughputmode>+                throughputMode :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFileSystem :: FileSystem+mkFileSystem+  = FileSystem+      {haddock_workaround_ = (), availabilityZoneName = Prelude.Nothing,+       backupPolicy = Prelude.Nothing,+       bypassPolicyLockoutSafetyCheck = Prelude.Nothing,+       encrypted = Prelude.Nothing, fileSystemPolicy = Prelude.Nothing,+       fileSystemProtection = Prelude.Nothing,+       fileSystemTags = Prelude.Nothing, kmsKeyId = Prelude.Nothing,+       lifecyclePolicies = Prelude.Nothing,+       performanceMode = Prelude.Nothing,+       provisionedThroughputInMibps = Prelude.Nothing,+       replicationConfiguration = Prelude.Nothing,+       throughputMode = Prelude.Nothing}+instance ToResourceProperties FileSystem where+  toResourceProperties FileSystem {..}+    = ResourceProperties+        {awsType = "AWS::EFS::FileSystem", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AvailabilityZoneName" Prelude.<$> availabilityZoneName,+                            (JSON..=) "BackupPolicy" Prelude.<$> backupPolicy,+                            (JSON..=) "BypassPolicyLockoutSafetyCheck"+                              Prelude.<$> bypassPolicyLockoutSafetyCheck,+                            (JSON..=) "Encrypted" Prelude.<$> encrypted,+                            (JSON..=) "FileSystemPolicy" Prelude.<$> fileSystemPolicy,+                            (JSON..=) "FileSystemProtection" Prelude.<$> fileSystemProtection,+                            (JSON..=) "FileSystemTags" Prelude.<$> fileSystemTags,+                            (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+                            (JSON..=) "LifecyclePolicies" Prelude.<$> lifecyclePolicies,+                            (JSON..=) "PerformanceMode" Prelude.<$> performanceMode,+                            (JSON..=) "ProvisionedThroughputInMibps"+                              Prelude.<$> provisionedThroughputInMibps,+                            (JSON..=) "ReplicationConfiguration"+                              Prelude.<$> replicationConfiguration,+                            (JSON..=) "ThroughputMode" Prelude.<$> throughputMode])}+instance JSON.ToJSON FileSystem where+  toJSON FileSystem {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AvailabilityZoneName" Prelude.<$> availabilityZoneName,+               (JSON..=) "BackupPolicy" Prelude.<$> backupPolicy,+               (JSON..=) "BypassPolicyLockoutSafetyCheck"+                 Prelude.<$> bypassPolicyLockoutSafetyCheck,+               (JSON..=) "Encrypted" Prelude.<$> encrypted,+               (JSON..=) "FileSystemPolicy" Prelude.<$> fileSystemPolicy,+               (JSON..=) "FileSystemProtection" Prelude.<$> fileSystemProtection,+               (JSON..=) "FileSystemTags" Prelude.<$> fileSystemTags,+               (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+               (JSON..=) "LifecyclePolicies" Prelude.<$> lifecyclePolicies,+               (JSON..=) "PerformanceMode" Prelude.<$> performanceMode,+               (JSON..=) "ProvisionedThroughputInMibps"+                 Prelude.<$> provisionedThroughputInMibps,+               (JSON..=) "ReplicationConfiguration"+                 Prelude.<$> replicationConfiguration,+               (JSON..=) "ThroughputMode" Prelude.<$> throughputMode]))+instance Property "AvailabilityZoneName" FileSystem where+  type PropertyType "AvailabilityZoneName" FileSystem = Value Prelude.Text+  set newValue FileSystem {..}+    = FileSystem {availabilityZoneName = Prelude.pure newValue, ..}+instance Property "BackupPolicy" FileSystem where+  type PropertyType "BackupPolicy" FileSystem = BackupPolicyProperty+  set newValue FileSystem {..}+    = FileSystem {backupPolicy = Prelude.pure newValue, ..}+instance Property "BypassPolicyLockoutSafetyCheck" FileSystem where+  type PropertyType "BypassPolicyLockoutSafetyCheck" FileSystem = Value Prelude.Bool+  set newValue FileSystem {..}+    = FileSystem+        {bypassPolicyLockoutSafetyCheck = Prelude.pure newValue, ..}+instance Property "Encrypted" FileSystem where+  type PropertyType "Encrypted" FileSystem = Value Prelude.Bool+  set newValue FileSystem {..}+    = FileSystem {encrypted = Prelude.pure newValue, ..}+instance Property "FileSystemPolicy" FileSystem where+  type PropertyType "FileSystemPolicy" FileSystem = JSON.Object+  set newValue FileSystem {..}+    = FileSystem {fileSystemPolicy = Prelude.pure newValue, ..}+instance Property "FileSystemProtection" FileSystem where+  type PropertyType "FileSystemProtection" FileSystem = FileSystemProtectionProperty+  set newValue FileSystem {..}+    = FileSystem {fileSystemProtection = Prelude.pure newValue, ..}+instance Property "FileSystemTags" FileSystem where+  type PropertyType "FileSystemTags" FileSystem = [ElasticFileSystemTagProperty]+  set newValue FileSystem {..}+    = FileSystem {fileSystemTags = Prelude.pure newValue, ..}+instance Property "KmsKeyId" FileSystem where+  type PropertyType "KmsKeyId" FileSystem = Value Prelude.Text+  set newValue FileSystem {..}+    = FileSystem {kmsKeyId = Prelude.pure newValue, ..}+instance Property "LifecyclePolicies" FileSystem where+  type PropertyType "LifecyclePolicies" FileSystem = [LifecyclePolicyProperty]+  set newValue FileSystem {..}+    = FileSystem {lifecyclePolicies = Prelude.pure newValue, ..}+instance Property "PerformanceMode" FileSystem where+  type PropertyType "PerformanceMode" FileSystem = Value Prelude.Text+  set newValue FileSystem {..}+    = FileSystem {performanceMode = Prelude.pure newValue, ..}+instance Property "ProvisionedThroughputInMibps" FileSystem where+  type PropertyType "ProvisionedThroughputInMibps" FileSystem = Value Prelude.Double+  set newValue FileSystem {..}+    = FileSystem+        {provisionedThroughputInMibps = Prelude.pure newValue, ..}+instance Property "ReplicationConfiguration" FileSystem where+  type PropertyType "ReplicationConfiguration" FileSystem = ReplicationConfigurationProperty+  set newValue FileSystem {..}+    = FileSystem {replicationConfiguration = Prelude.pure newValue, ..}+instance Property "ThroughputMode" FileSystem where+  type PropertyType "ThroughputMode" FileSystem = Value Prelude.Text+  set newValue FileSystem {..}+    = FileSystem {throughputMode = Prelude.pure newValue, ..}
+ gen/Stratosphere/EFS/FileSystem/BackupPolicyProperty.hs view
@@ -0,0 +1,31 @@+module Stratosphere.EFS.FileSystem.BackupPolicyProperty (+        BackupPolicyProperty(..), mkBackupPolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data BackupPolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-backuppolicy.html>+    BackupPolicyProperty {haddock_workaround_ :: (),+                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-backuppolicy.html#cfn-efs-filesystem-backuppolicy-status>+                          status :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkBackupPolicyProperty ::+  Value Prelude.Text -> BackupPolicyProperty+mkBackupPolicyProperty status+  = BackupPolicyProperty {haddock_workaround_ = (), status = status}+instance ToResourceProperties BackupPolicyProperty where+  toResourceProperties BackupPolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::FileSystem.BackupPolicy",+         supportsTags = Prelude.False,+         properties = ["Status" JSON..= status]}+instance JSON.ToJSON BackupPolicyProperty where+  toJSON BackupPolicyProperty {..}+    = JSON.object ["Status" JSON..= status]+instance Property "Status" BackupPolicyProperty where+  type PropertyType "Status" BackupPolicyProperty = Value Prelude.Text+  set newValue BackupPolicyProperty {..}+    = BackupPolicyProperty {status = newValue, ..}
+ gen/Stratosphere/EFS/FileSystem/BackupPolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.FileSystem.BackupPolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data BackupPolicyProperty :: Prelude.Type+instance ToResourceProperties BackupPolicyProperty+instance Prelude.Eq BackupPolicyProperty+instance Prelude.Show BackupPolicyProperty+instance JSON.ToJSON BackupPolicyProperty
+ gen/Stratosphere/EFS/FileSystem/ElasticFileSystemTagProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EFS.FileSystem.ElasticFileSystemTagProperty (+        ElasticFileSystemTagProperty(..), mkElasticFileSystemTagProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ElasticFileSystemTagProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-elasticfilesystemtag.html>+    ElasticFileSystemTagProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-elasticfilesystemtag.html#cfn-efs-filesystem-elasticfilesystemtag-key>+                                  key :: (Value Prelude.Text),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-elasticfilesystemtag.html#cfn-efs-filesystem-elasticfilesystemtag-value>+                                  value :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkElasticFileSystemTagProperty ::+  Value Prelude.Text+  -> Value Prelude.Text -> ElasticFileSystemTagProperty+mkElasticFileSystemTagProperty key value+  = ElasticFileSystemTagProperty+      {haddock_workaround_ = (), key = key, value = value}+instance ToResourceProperties ElasticFileSystemTagProperty where+  toResourceProperties ElasticFileSystemTagProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::FileSystem.ElasticFileSystemTag",+         supportsTags = Prelude.False,+         properties = ["Key" JSON..= key, "Value" JSON..= value]}+instance JSON.ToJSON ElasticFileSystemTagProperty where+  toJSON ElasticFileSystemTagProperty {..}+    = JSON.object ["Key" JSON..= key, "Value" JSON..= value]+instance Property "Key" ElasticFileSystemTagProperty where+  type PropertyType "Key" ElasticFileSystemTagProperty = Value Prelude.Text+  set newValue ElasticFileSystemTagProperty {..}+    = ElasticFileSystemTagProperty {key = newValue, ..}+instance Property "Value" ElasticFileSystemTagProperty where+  type PropertyType "Value" ElasticFileSystemTagProperty = Value Prelude.Text+  set newValue ElasticFileSystemTagProperty {..}+    = ElasticFileSystemTagProperty {value = newValue, ..}
+ gen/Stratosphere/EFS/FileSystem/ElasticFileSystemTagProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.FileSystem.ElasticFileSystemTagProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ElasticFileSystemTagProperty :: Prelude.Type+instance ToResourceProperties ElasticFileSystemTagProperty+instance Prelude.Eq ElasticFileSystemTagProperty+instance Prelude.Show ElasticFileSystemTagProperty+instance JSON.ToJSON ElasticFileSystemTagProperty
+ gen/Stratosphere/EFS/FileSystem/FileSystemProtectionProperty.hs view
@@ -0,0 +1,40 @@+module Stratosphere.EFS.FileSystem.FileSystemProtectionProperty (+        FileSystemProtectionProperty(..), mkFileSystemProtectionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FileSystemProtectionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemprotection.html>+    FileSystemProtectionProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-filesystemprotection.html#cfn-efs-filesystem-filesystemprotection-replicationoverwriteprotection>+                                  replicationOverwriteProtection :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFileSystemProtectionProperty :: FileSystemProtectionProperty+mkFileSystemProtectionProperty+  = FileSystemProtectionProperty+      {haddock_workaround_ = (),+       replicationOverwriteProtection = Prelude.Nothing}+instance ToResourceProperties FileSystemProtectionProperty where+  toResourceProperties FileSystemProtectionProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::FileSystem.FileSystemProtection",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ReplicationOverwriteProtection"+                              Prelude.<$> replicationOverwriteProtection])}+instance JSON.ToJSON FileSystemProtectionProperty where+  toJSON FileSystemProtectionProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ReplicationOverwriteProtection"+                 Prelude.<$> replicationOverwriteProtection]))+instance Property "ReplicationOverwriteProtection" FileSystemProtectionProperty where+  type PropertyType "ReplicationOverwriteProtection" FileSystemProtectionProperty = Value Prelude.Text+  set newValue FileSystemProtectionProperty {..}+    = FileSystemProtectionProperty+        {replicationOverwriteProtection = Prelude.pure newValue, ..}
+ gen/Stratosphere/EFS/FileSystem/FileSystemProtectionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.FileSystem.FileSystemProtectionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FileSystemProtectionProperty :: Prelude.Type+instance ToResourceProperties FileSystemProtectionProperty+instance Prelude.Eq FileSystemProtectionProperty+instance Prelude.Show FileSystemProtectionProperty+instance JSON.ToJSON FileSystemProtectionProperty
+ gen/Stratosphere/EFS/FileSystem/LifecyclePolicyProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.EFS.FileSystem.LifecyclePolicyProperty (+        LifecyclePolicyProperty(..), mkLifecyclePolicyProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LifecyclePolicyProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html>+    LifecyclePolicyProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html#cfn-efs-filesystem-lifecyclepolicy-transitiontoarchive>+                             transitionToArchive :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html#cfn-efs-filesystem-lifecyclepolicy-transitiontoia>+                             transitionToIA :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-lifecyclepolicy.html#cfn-efs-filesystem-lifecyclepolicy-transitiontoprimarystorageclass>+                             transitionToPrimaryStorageClass :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLifecyclePolicyProperty :: LifecyclePolicyProperty+mkLifecyclePolicyProperty+  = LifecyclePolicyProperty+      {haddock_workaround_ = (), transitionToArchive = Prelude.Nothing,+       transitionToIA = Prelude.Nothing,+       transitionToPrimaryStorageClass = Prelude.Nothing}+instance ToResourceProperties LifecyclePolicyProperty where+  toResourceProperties LifecyclePolicyProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::FileSystem.LifecyclePolicy",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "TransitionToArchive" Prelude.<$> transitionToArchive,+                            (JSON..=) "TransitionToIA" Prelude.<$> transitionToIA,+                            (JSON..=) "TransitionToPrimaryStorageClass"+                              Prelude.<$> transitionToPrimaryStorageClass])}+instance JSON.ToJSON LifecyclePolicyProperty where+  toJSON LifecyclePolicyProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "TransitionToArchive" Prelude.<$> transitionToArchive,+               (JSON..=) "TransitionToIA" Prelude.<$> transitionToIA,+               (JSON..=) "TransitionToPrimaryStorageClass"+                 Prelude.<$> transitionToPrimaryStorageClass]))+instance Property "TransitionToArchive" LifecyclePolicyProperty where+  type PropertyType "TransitionToArchive" LifecyclePolicyProperty = Value Prelude.Text+  set newValue LifecyclePolicyProperty {..}+    = LifecyclePolicyProperty+        {transitionToArchive = Prelude.pure newValue, ..}+instance Property "TransitionToIA" LifecyclePolicyProperty where+  type PropertyType "TransitionToIA" LifecyclePolicyProperty = Value Prelude.Text+  set newValue LifecyclePolicyProperty {..}+    = LifecyclePolicyProperty+        {transitionToIA = Prelude.pure newValue, ..}+instance Property "TransitionToPrimaryStorageClass" LifecyclePolicyProperty where+  type PropertyType "TransitionToPrimaryStorageClass" LifecyclePolicyProperty = Value Prelude.Text+  set newValue LifecyclePolicyProperty {..}+    = LifecyclePolicyProperty+        {transitionToPrimaryStorageClass = Prelude.pure newValue, ..}
+ gen/Stratosphere/EFS/FileSystem/LifecyclePolicyProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.FileSystem.LifecyclePolicyProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LifecyclePolicyProperty :: Prelude.Type+instance ToResourceProperties LifecyclePolicyProperty+instance Prelude.Eq LifecyclePolicyProperty+instance Prelude.Show LifecyclePolicyProperty+instance JSON.ToJSON LifecyclePolicyProperty
+ gen/Stratosphere/EFS/FileSystem/ReplicationConfigurationProperty.hs view
@@ -0,0 +1,39 @@+module Stratosphere.EFS.FileSystem.ReplicationConfigurationProperty (+        module Exports, ReplicationConfigurationProperty(..),+        mkReplicationConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.EFS.FileSystem.ReplicationDestinationProperty as Exports+import Stratosphere.ResourceProperties+data ReplicationConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationconfiguration.html>+    ReplicationConfigurationProperty {haddock_workaround_ :: (),+                                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationconfiguration.html#cfn-efs-filesystem-replicationconfiguration-destinations>+                                      destinations :: (Prelude.Maybe [ReplicationDestinationProperty])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkReplicationConfigurationProperty ::+  ReplicationConfigurationProperty+mkReplicationConfigurationProperty+  = ReplicationConfigurationProperty+      {haddock_workaround_ = (), destinations = Prelude.Nothing}+instance ToResourceProperties ReplicationConfigurationProperty where+  toResourceProperties ReplicationConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::FileSystem.ReplicationConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Destinations" Prelude.<$> destinations])}+instance JSON.ToJSON ReplicationConfigurationProperty where+  toJSON ReplicationConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Destinations" Prelude.<$> destinations]))+instance Property "Destinations" ReplicationConfigurationProperty where+  type PropertyType "Destinations" ReplicationConfigurationProperty = [ReplicationDestinationProperty]+  set newValue ReplicationConfigurationProperty {..}+    = ReplicationConfigurationProperty+        {destinations = Prelude.pure newValue, ..}
+ gen/Stratosphere/EFS/FileSystem/ReplicationConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.FileSystem.ReplicationConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ReplicationConfigurationProperty :: Prelude.Type+instance ToResourceProperties ReplicationConfigurationProperty+instance Prelude.Eq ReplicationConfigurationProperty+instance Prelude.Show ReplicationConfigurationProperty+instance JSON.ToJSON ReplicationConfigurationProperty
+ gen/Stratosphere/EFS/FileSystem/ReplicationDestinationProperty.hs view
@@ -0,0 +1,95 @@+module Stratosphere.EFS.FileSystem.ReplicationDestinationProperty (+        ReplicationDestinationProperty(..),+        mkReplicationDestinationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ReplicationDestinationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html>+    ReplicationDestinationProperty {haddock_workaround_ :: (),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-availabilityzonename>+                                    availabilityZoneName :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-filesystemid>+                                    fileSystemId :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-kmskeyid>+                                    kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-region>+                                    region :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-rolearn>+                                    roleArn :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-status>+                                    status :: (Prelude.Maybe (Value Prelude.Text)),+                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-efs-filesystem-replicationdestination.html#cfn-efs-filesystem-replicationdestination-statusmessage>+                                    statusMessage :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkReplicationDestinationProperty :: ReplicationDestinationProperty+mkReplicationDestinationProperty+  = ReplicationDestinationProperty+      {haddock_workaround_ = (), availabilityZoneName = Prelude.Nothing,+       fileSystemId = Prelude.Nothing, kmsKeyId = Prelude.Nothing,+       region = Prelude.Nothing, roleArn = Prelude.Nothing,+       status = Prelude.Nothing, statusMessage = Prelude.Nothing}+instance ToResourceProperties ReplicationDestinationProperty where+  toResourceProperties ReplicationDestinationProperty {..}+    = ResourceProperties+        {awsType = "AWS::EFS::FileSystem.ReplicationDestination",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AvailabilityZoneName" Prelude.<$> availabilityZoneName,+                            (JSON..=) "FileSystemId" Prelude.<$> fileSystemId,+                            (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+                            (JSON..=) "Region" Prelude.<$> region,+                            (JSON..=) "RoleArn" Prelude.<$> roleArn,+                            (JSON..=) "Status" Prelude.<$> status,+                            (JSON..=) "StatusMessage" Prelude.<$> statusMessage])}+instance JSON.ToJSON ReplicationDestinationProperty where+  toJSON ReplicationDestinationProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AvailabilityZoneName" Prelude.<$> availabilityZoneName,+               (JSON..=) "FileSystemId" Prelude.<$> fileSystemId,+               (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+               (JSON..=) "Region" Prelude.<$> region,+               (JSON..=) "RoleArn" Prelude.<$> roleArn,+               (JSON..=) "Status" Prelude.<$> status,+               (JSON..=) "StatusMessage" Prelude.<$> statusMessage]))+instance Property "AvailabilityZoneName" ReplicationDestinationProperty where+  type PropertyType "AvailabilityZoneName" ReplicationDestinationProperty = Value Prelude.Text+  set newValue ReplicationDestinationProperty {..}+    = ReplicationDestinationProperty+        {availabilityZoneName = Prelude.pure newValue, ..}+instance Property "FileSystemId" ReplicationDestinationProperty where+  type PropertyType "FileSystemId" ReplicationDestinationProperty = Value Prelude.Text+  set newValue ReplicationDestinationProperty {..}+    = ReplicationDestinationProperty+        {fileSystemId = Prelude.pure newValue, ..}+instance Property "KmsKeyId" ReplicationDestinationProperty where+  type PropertyType "KmsKeyId" ReplicationDestinationProperty = Value Prelude.Text+  set newValue ReplicationDestinationProperty {..}+    = ReplicationDestinationProperty+        {kmsKeyId = Prelude.pure newValue, ..}+instance Property "Region" ReplicationDestinationProperty where+  type PropertyType "Region" ReplicationDestinationProperty = Value Prelude.Text+  set newValue ReplicationDestinationProperty {..}+    = ReplicationDestinationProperty+        {region = Prelude.pure newValue, ..}+instance Property "RoleArn" ReplicationDestinationProperty where+  type PropertyType "RoleArn" ReplicationDestinationProperty = Value Prelude.Text+  set newValue ReplicationDestinationProperty {..}+    = ReplicationDestinationProperty+        {roleArn = Prelude.pure newValue, ..}+instance Property "Status" ReplicationDestinationProperty where+  type PropertyType "Status" ReplicationDestinationProperty = Value Prelude.Text+  set newValue ReplicationDestinationProperty {..}+    = ReplicationDestinationProperty+        {status = Prelude.pure newValue, ..}+instance Property "StatusMessage" ReplicationDestinationProperty where+  type PropertyType "StatusMessage" ReplicationDestinationProperty = Value Prelude.Text+  set newValue ReplicationDestinationProperty {..}+    = ReplicationDestinationProperty+        {statusMessage = Prelude.pure newValue, ..}
+ gen/Stratosphere/EFS/FileSystem/ReplicationDestinationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.EFS.FileSystem.ReplicationDestinationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ReplicationDestinationProperty :: Prelude.Type+instance ToResourceProperties ReplicationDestinationProperty+instance Prelude.Eq ReplicationDestinationProperty+instance Prelude.Show ReplicationDestinationProperty+instance JSON.ToJSON ReplicationDestinationProperty
+ gen/Stratosphere/EFS/MountTarget.hs view
@@ -0,0 +1,82 @@+module Stratosphere.EFS.MountTarget (+        MountTarget(..), mkMountTarget+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data MountTarget+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html>+    MountTarget {haddock_workaround_ :: (),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-filesystemid>+                 fileSystemId :: (Value Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-ipaddress>+                 ipAddress :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-ipaddresstype>+                 ipAddressType :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-ipv6address>+                 ipv6Address :: (Prelude.Maybe (Value Prelude.Text)),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-securitygroups>+                 securityGroups :: (ValueList Prelude.Text),+                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-subnetid>+                 subnetId :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkMountTarget ::+  Value Prelude.Text+  -> ValueList Prelude.Text -> Value Prelude.Text -> MountTarget+mkMountTarget fileSystemId securityGroups subnetId+  = MountTarget+      {haddock_workaround_ = (), fileSystemId = fileSystemId,+       securityGroups = securityGroups, subnetId = subnetId,+       ipAddress = Prelude.Nothing, ipAddressType = Prelude.Nothing,+       ipv6Address = Prelude.Nothing}+instance ToResourceProperties MountTarget where+  toResourceProperties MountTarget {..}+    = ResourceProperties+        {awsType = "AWS::EFS::MountTarget", supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["FileSystemId" JSON..= fileSystemId,+                            "SecurityGroups" JSON..= securityGroups,+                            "SubnetId" JSON..= subnetId]+                           (Prelude.catMaybes+                              [(JSON..=) "IpAddress" Prelude.<$> ipAddress,+                               (JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                               (JSON..=) "Ipv6Address" Prelude.<$> ipv6Address]))}+instance JSON.ToJSON MountTarget where+  toJSON MountTarget {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["FileSystemId" JSON..= fileSystemId,+               "SecurityGroups" JSON..= securityGroups,+               "SubnetId" JSON..= subnetId]+              (Prelude.catMaybes+                 [(JSON..=) "IpAddress" Prelude.<$> ipAddress,+                  (JSON..=) "IpAddressType" Prelude.<$> ipAddressType,+                  (JSON..=) "Ipv6Address" Prelude.<$> ipv6Address])))+instance Property "FileSystemId" MountTarget where+  type PropertyType "FileSystemId" MountTarget = Value Prelude.Text+  set newValue MountTarget {..}+    = MountTarget {fileSystemId = newValue, ..}+instance Property "IpAddress" MountTarget where+  type PropertyType "IpAddress" MountTarget = Value Prelude.Text+  set newValue MountTarget {..}+    = MountTarget {ipAddress = Prelude.pure newValue, ..}+instance Property "IpAddressType" MountTarget where+  type PropertyType "IpAddressType" MountTarget = Value Prelude.Text+  set newValue MountTarget {..}+    = MountTarget {ipAddressType = Prelude.pure newValue, ..}+instance Property "Ipv6Address" MountTarget where+  type PropertyType "Ipv6Address" MountTarget = Value Prelude.Text+  set newValue MountTarget {..}+    = MountTarget {ipv6Address = Prelude.pure newValue, ..}+instance Property "SecurityGroups" MountTarget where+  type PropertyType "SecurityGroups" MountTarget = ValueList Prelude.Text+  set newValue MountTarget {..}+    = MountTarget {securityGroups = newValue, ..}+instance Property "SubnetId" MountTarget where+  type PropertyType "SubnetId" MountTarget = Value Prelude.Text+  set newValue MountTarget {..}+    = MountTarget {subnetId = newValue, ..}
+ stratosphere-efs.cabal view
@@ -0,0 +1,85 @@+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-efs+version:        1.0.0+synopsis:       Stratosphere integration for AWS EFS.+description:    Integration into stratosphere to generate resources and properties for AWS EFS+category:       AWS, Cloud, EFS+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.EFS.AccessPoint+      Stratosphere.EFS.AccessPoint.AccessPointTagProperty+      Stratosphere.EFS.AccessPoint.CreationInfoProperty+      Stratosphere.EFS.AccessPoint.PosixUserProperty+      Stratosphere.EFS.AccessPoint.RootDirectoryProperty+      Stratosphere.EFS.FileSystem+      Stratosphere.EFS.FileSystem.BackupPolicyProperty+      Stratosphere.EFS.FileSystem.ElasticFileSystemTagProperty+      Stratosphere.EFS.FileSystem.FileSystemProtectionProperty+      Stratosphere.EFS.FileSystem.LifecyclePolicyProperty+      Stratosphere.EFS.FileSystem.ReplicationConfigurationProperty+      Stratosphere.EFS.FileSystem.ReplicationDestinationProperty+      Stratosphere.EFS.MountTarget+  other-modules:+      Paths_stratosphere_efs+  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