packages feed

stratosphere-dlm (empty) → 1.0.0

raw patch · 55 files changed

+1921/−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/DLM/LifecyclePolicy.hs view
@@ -0,0 +1,138 @@+module Stratosphere.DLM.LifecyclePolicy (+        module Exports, LifecyclePolicy(..), mkLifecyclePolicy+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetsProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ExclusionsProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.PolicyDetailsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data LifecyclePolicy+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html>+    LifecyclePolicy {haddock_workaround_ :: (),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-copytags>+                     copyTags :: (Prelude.Maybe (Value Prelude.Bool)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-createinterval>+                     createInterval :: (Prelude.Maybe (Value Prelude.Integer)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-crossregioncopytargets>+                     crossRegionCopyTargets :: (Prelude.Maybe CrossRegionCopyTargetsProperty),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-defaultpolicy>+                     defaultPolicy :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-description>+                     description :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-exclusions>+                     exclusions :: (Prelude.Maybe ExclusionsProperty),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-executionrolearn>+                     executionRoleArn :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-extenddeletion>+                     extendDeletion :: (Prelude.Maybe (Value Prelude.Bool)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-policydetails>+                     policyDetails :: (Prelude.Maybe PolicyDetailsProperty),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-retaininterval>+                     retainInterval :: (Prelude.Maybe (Value Prelude.Integer)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-state>+                     state :: (Prelude.Maybe (Value Prelude.Text)),+                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dlm-lifecyclepolicy.html#cfn-dlm-lifecyclepolicy-tags>+                     tags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkLifecyclePolicy :: LifecyclePolicy+mkLifecyclePolicy+  = LifecyclePolicy+      {haddock_workaround_ = (), copyTags = Prelude.Nothing,+       createInterval = Prelude.Nothing,+       crossRegionCopyTargets = Prelude.Nothing,+       defaultPolicy = Prelude.Nothing, description = Prelude.Nothing,+       exclusions = Prelude.Nothing, executionRoleArn = Prelude.Nothing,+       extendDeletion = Prelude.Nothing, policyDetails = Prelude.Nothing,+       retainInterval = Prelude.Nothing, state = Prelude.Nothing,+       tags = Prelude.Nothing}+instance ToResourceProperties LifecyclePolicy where+  toResourceProperties LifecyclePolicy {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy",+         supportsTags = Prelude.True,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CopyTags" Prelude.<$> copyTags,+                            (JSON..=) "CreateInterval" Prelude.<$> createInterval,+                            (JSON..=) "CrossRegionCopyTargets"+                              Prelude.<$> crossRegionCopyTargets,+                            (JSON..=) "DefaultPolicy" Prelude.<$> defaultPolicy,+                            (JSON..=) "Description" Prelude.<$> description,+                            (JSON..=) "Exclusions" Prelude.<$> exclusions,+                            (JSON..=) "ExecutionRoleArn" Prelude.<$> executionRoleArn,+                            (JSON..=) "ExtendDeletion" Prelude.<$> extendDeletion,+                            (JSON..=) "PolicyDetails" Prelude.<$> policyDetails,+                            (JSON..=) "RetainInterval" Prelude.<$> retainInterval,+                            (JSON..=) "State" Prelude.<$> state,+                            (JSON..=) "Tags" Prelude.<$> tags])}+instance JSON.ToJSON LifecyclePolicy where+  toJSON LifecyclePolicy {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CopyTags" Prelude.<$> copyTags,+               (JSON..=) "CreateInterval" Prelude.<$> createInterval,+               (JSON..=) "CrossRegionCopyTargets"+                 Prelude.<$> crossRegionCopyTargets,+               (JSON..=) "DefaultPolicy" Prelude.<$> defaultPolicy,+               (JSON..=) "Description" Prelude.<$> description,+               (JSON..=) "Exclusions" Prelude.<$> exclusions,+               (JSON..=) "ExecutionRoleArn" Prelude.<$> executionRoleArn,+               (JSON..=) "ExtendDeletion" Prelude.<$> extendDeletion,+               (JSON..=) "PolicyDetails" Prelude.<$> policyDetails,+               (JSON..=) "RetainInterval" Prelude.<$> retainInterval,+               (JSON..=) "State" Prelude.<$> state,+               (JSON..=) "Tags" Prelude.<$> tags]))+instance Property "CopyTags" LifecyclePolicy where+  type PropertyType "CopyTags" LifecyclePolicy = Value Prelude.Bool+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {copyTags = Prelude.pure newValue, ..}+instance Property "CreateInterval" LifecyclePolicy where+  type PropertyType "CreateInterval" LifecyclePolicy = Value Prelude.Integer+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {createInterval = Prelude.pure newValue, ..}+instance Property "CrossRegionCopyTargets" LifecyclePolicy where+  type PropertyType "CrossRegionCopyTargets" LifecyclePolicy = CrossRegionCopyTargetsProperty+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy+        {crossRegionCopyTargets = Prelude.pure newValue, ..}+instance Property "DefaultPolicy" LifecyclePolicy where+  type PropertyType "DefaultPolicy" LifecyclePolicy = Value Prelude.Text+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {defaultPolicy = Prelude.pure newValue, ..}+instance Property "Description" LifecyclePolicy where+  type PropertyType "Description" LifecyclePolicy = Value Prelude.Text+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {description = Prelude.pure newValue, ..}+instance Property "Exclusions" LifecyclePolicy where+  type PropertyType "Exclusions" LifecyclePolicy = ExclusionsProperty+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {exclusions = Prelude.pure newValue, ..}+instance Property "ExecutionRoleArn" LifecyclePolicy where+  type PropertyType "ExecutionRoleArn" LifecyclePolicy = Value Prelude.Text+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {executionRoleArn = Prelude.pure newValue, ..}+instance Property "ExtendDeletion" LifecyclePolicy where+  type PropertyType "ExtendDeletion" LifecyclePolicy = Value Prelude.Bool+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {extendDeletion = Prelude.pure newValue, ..}+instance Property "PolicyDetails" LifecyclePolicy where+  type PropertyType "PolicyDetails" LifecyclePolicy = PolicyDetailsProperty+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {policyDetails = Prelude.pure newValue, ..}+instance Property "RetainInterval" LifecyclePolicy where+  type PropertyType "RetainInterval" LifecyclePolicy = Value Prelude.Integer+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {retainInterval = Prelude.pure newValue, ..}+instance Property "State" LifecyclePolicy where+  type PropertyType "State" LifecyclePolicy = Value Prelude.Text+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {state = Prelude.pure newValue, ..}+instance Property "Tags" LifecyclePolicy where+  type PropertyType "Tags" LifecyclePolicy = [Tag]+  set newValue LifecyclePolicy {..}+    = LifecyclePolicy {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/ActionProperty.hs view
@@ -0,0 +1,43 @@+module Stratosphere.DLM.LifecyclePolicy.ActionProperty (+        module Exports, ActionProperty(..), mkActionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyActionProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ActionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-action.html>+    ActionProperty {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-action.html#cfn-dlm-lifecyclepolicy-action-crossregioncopy>+                    crossRegionCopy :: [CrossRegionCopyActionProperty],+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-action.html#cfn-dlm-lifecyclepolicy-action-name>+                    name :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkActionProperty ::+  [CrossRegionCopyActionProperty]+  -> Value Prelude.Text -> ActionProperty+mkActionProperty crossRegionCopy name+  = ActionProperty+      {haddock_workaround_ = (), crossRegionCopy = crossRegionCopy,+       name = name}+instance ToResourceProperties ActionProperty where+  toResourceProperties ActionProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.Action",+         supportsTags = Prelude.False,+         properties = ["CrossRegionCopy" JSON..= crossRegionCopy,+                       "Name" JSON..= name]}+instance JSON.ToJSON ActionProperty where+  toJSON ActionProperty {..}+    = JSON.object+        ["CrossRegionCopy" JSON..= crossRegionCopy, "Name" JSON..= name]+instance Property "CrossRegionCopy" ActionProperty where+  type PropertyType "CrossRegionCopy" ActionProperty = [CrossRegionCopyActionProperty]+  set newValue ActionProperty {..}+    = ActionProperty {crossRegionCopy = newValue, ..}+instance Property "Name" ActionProperty where+  type PropertyType "Name" ActionProperty = Value Prelude.Text+  set newValue ActionProperty {..}+    = ActionProperty {name = newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/ActionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.ActionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ActionProperty :: Prelude.Type+instance ToResourceProperties ActionProperty+instance Prelude.Eq ActionProperty+instance Prelude.Show ActionProperty+instance JSON.ToJSON ActionProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/ArchiveRetainRuleProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.DLM.LifecyclePolicy.ArchiveRetainRuleProperty (+        module Exports, ArchiveRetainRuleProperty(..),+        mkArchiveRetainRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.RetentionArchiveTierProperty as Exports+import Stratosphere.ResourceProperties+data ArchiveRetainRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-archiveretainrule.html>+    ArchiveRetainRuleProperty {haddock_workaround_ :: (),+                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-archiveretainrule.html#cfn-dlm-lifecyclepolicy-archiveretainrule-retentionarchivetier>+                               retentionArchiveTier :: RetentionArchiveTierProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkArchiveRetainRuleProperty ::+  RetentionArchiveTierProperty -> ArchiveRetainRuleProperty+mkArchiveRetainRuleProperty retentionArchiveTier+  = ArchiveRetainRuleProperty+      {haddock_workaround_ = (),+       retentionArchiveTier = retentionArchiveTier}+instance ToResourceProperties ArchiveRetainRuleProperty where+  toResourceProperties ArchiveRetainRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.ArchiveRetainRule",+         supportsTags = Prelude.False,+         properties = ["RetentionArchiveTier" JSON..= retentionArchiveTier]}+instance JSON.ToJSON ArchiveRetainRuleProperty where+  toJSON ArchiveRetainRuleProperty {..}+    = JSON.object ["RetentionArchiveTier" JSON..= retentionArchiveTier]+instance Property "RetentionArchiveTier" ArchiveRetainRuleProperty where+  type PropertyType "RetentionArchiveTier" ArchiveRetainRuleProperty = RetentionArchiveTierProperty+  set newValue ArchiveRetainRuleProperty {..}+    = ArchiveRetainRuleProperty {retentionArchiveTier = newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/ArchiveRetainRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.ArchiveRetainRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ArchiveRetainRuleProperty :: Prelude.Type+instance ToResourceProperties ArchiveRetainRuleProperty+instance Prelude.Eq ArchiveRetainRuleProperty+instance Prelude.Show ArchiveRetainRuleProperty+instance JSON.ToJSON ArchiveRetainRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/ArchiveRuleProperty.hs view
@@ -0,0 +1,32 @@+module Stratosphere.DLM.LifecyclePolicy.ArchiveRuleProperty (+        module Exports, ArchiveRuleProperty(..), mkArchiveRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ArchiveRetainRuleProperty as Exports+import Stratosphere.ResourceProperties+data ArchiveRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-archiverule.html>+    ArchiveRuleProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-archiverule.html#cfn-dlm-lifecyclepolicy-archiverule-retainrule>+                         retainRule :: ArchiveRetainRuleProperty}+  deriving stock (Prelude.Eq, Prelude.Show)+mkArchiveRuleProperty ::+  ArchiveRetainRuleProperty -> ArchiveRuleProperty+mkArchiveRuleProperty retainRule+  = ArchiveRuleProperty+      {haddock_workaround_ = (), retainRule = retainRule}+instance ToResourceProperties ArchiveRuleProperty where+  toResourceProperties ArchiveRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.ArchiveRule",+         supportsTags = Prelude.False,+         properties = ["RetainRule" JSON..= retainRule]}+instance JSON.ToJSON ArchiveRuleProperty where+  toJSON ArchiveRuleProperty {..}+    = JSON.object ["RetainRule" JSON..= retainRule]+instance Property "RetainRule" ArchiveRuleProperty where+  type PropertyType "RetainRule" ArchiveRuleProperty = ArchiveRetainRuleProperty+  set newValue ArchiveRuleProperty {..}+    = ArchiveRuleProperty {retainRule = newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/ArchiveRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.ArchiveRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ArchiveRuleProperty :: Prelude.Type+instance ToResourceProperties ArchiveRuleProperty+instance Prelude.Eq ArchiveRuleProperty+instance Prelude.Show ArchiveRuleProperty+instance JSON.ToJSON ArchiveRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/CreateRuleProperty.hs view
@@ -0,0 +1,80 @@+module Stratosphere.DLM.LifecyclePolicy.CreateRuleProperty (+        module Exports, CreateRuleProperty(..), mkCreateRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ScriptProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CreateRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html>+    CreateRuleProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-cronexpression>+                        cronExpression :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-interval>+                        interval :: (Prelude.Maybe (Value Prelude.Integer)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-intervalunit>+                        intervalUnit :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-location>+                        location :: (Prelude.Maybe (Value Prelude.Text)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-scripts>+                        scripts :: (Prelude.Maybe [ScriptProperty]),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-createrule.html#cfn-dlm-lifecyclepolicy-createrule-times>+                        times :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCreateRuleProperty :: CreateRuleProperty+mkCreateRuleProperty+  = CreateRuleProperty+      {haddock_workaround_ = (), cronExpression = Prelude.Nothing,+       interval = Prelude.Nothing, intervalUnit = Prelude.Nothing,+       location = Prelude.Nothing, scripts = Prelude.Nothing,+       times = Prelude.Nothing}+instance ToResourceProperties CreateRuleProperty where+  toResourceProperties CreateRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.CreateRule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "CronExpression" Prelude.<$> cronExpression,+                            (JSON..=) "Interval" Prelude.<$> interval,+                            (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit,+                            (JSON..=) "Location" Prelude.<$> location,+                            (JSON..=) "Scripts" Prelude.<$> scripts,+                            (JSON..=) "Times" Prelude.<$> times])}+instance JSON.ToJSON CreateRuleProperty where+  toJSON CreateRuleProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "CronExpression" Prelude.<$> cronExpression,+               (JSON..=) "Interval" Prelude.<$> interval,+               (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit,+               (JSON..=) "Location" Prelude.<$> location,+               (JSON..=) "Scripts" Prelude.<$> scripts,+               (JSON..=) "Times" Prelude.<$> times]))+instance Property "CronExpression" CreateRuleProperty where+  type PropertyType "CronExpression" CreateRuleProperty = Value Prelude.Text+  set newValue CreateRuleProperty {..}+    = CreateRuleProperty {cronExpression = Prelude.pure newValue, ..}+instance Property "Interval" CreateRuleProperty where+  type PropertyType "Interval" CreateRuleProperty = Value Prelude.Integer+  set newValue CreateRuleProperty {..}+    = CreateRuleProperty {interval = Prelude.pure newValue, ..}+instance Property "IntervalUnit" CreateRuleProperty where+  type PropertyType "IntervalUnit" CreateRuleProperty = Value Prelude.Text+  set newValue CreateRuleProperty {..}+    = CreateRuleProperty {intervalUnit = Prelude.pure newValue, ..}+instance Property "Location" CreateRuleProperty where+  type PropertyType "Location" CreateRuleProperty = Value Prelude.Text+  set newValue CreateRuleProperty {..}+    = CreateRuleProperty {location = Prelude.pure newValue, ..}+instance Property "Scripts" CreateRuleProperty where+  type PropertyType "Scripts" CreateRuleProperty = [ScriptProperty]+  set newValue CreateRuleProperty {..}+    = CreateRuleProperty {scripts = Prelude.pure newValue, ..}+instance Property "Times" CreateRuleProperty where+  type PropertyType "Times" CreateRuleProperty = ValueList Prelude.Text+  set newValue CreateRuleProperty {..}+    = CreateRuleProperty {times = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/CreateRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.CreateRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CreateRuleProperty :: Prelude.Type+instance ToResourceProperties CreateRuleProperty+instance Prelude.Eq CreateRuleProperty+instance Prelude.Show CreateRuleProperty+instance JSON.ToJSON CreateRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyActionProperty.hs view
@@ -0,0 +1,63 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyActionProperty (+        module Exports, CrossRegionCopyActionProperty(..),+        mkCrossRegionCopyActionProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyRetainRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.EncryptionConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CrossRegionCopyActionProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyaction.html>+    CrossRegionCopyActionProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyaction.html#cfn-dlm-lifecyclepolicy-crossregioncopyaction-encryptionconfiguration>+                                   encryptionConfiguration :: EncryptionConfigurationProperty,+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyaction.html#cfn-dlm-lifecyclepolicy-crossregioncopyaction-retainrule>+                                   retainRule :: (Prelude.Maybe CrossRegionCopyRetainRuleProperty),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyaction.html#cfn-dlm-lifecyclepolicy-crossregioncopyaction-target>+                                   target :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCrossRegionCopyActionProperty ::+  EncryptionConfigurationProperty+  -> Value Prelude.Text -> CrossRegionCopyActionProperty+mkCrossRegionCopyActionProperty encryptionConfiguration target+  = CrossRegionCopyActionProperty+      {haddock_workaround_ = (),+       encryptionConfiguration = encryptionConfiguration, target = target,+       retainRule = Prelude.Nothing}+instance ToResourceProperties CrossRegionCopyActionProperty where+  toResourceProperties CrossRegionCopyActionProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.CrossRegionCopyAction",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["EncryptionConfiguration" JSON..= encryptionConfiguration,+                            "Target" JSON..= target]+                           (Prelude.catMaybes+                              [(JSON..=) "RetainRule" Prelude.<$> retainRule]))}+instance JSON.ToJSON CrossRegionCopyActionProperty where+  toJSON CrossRegionCopyActionProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["EncryptionConfiguration" JSON..= encryptionConfiguration,+               "Target" JSON..= target]+              (Prelude.catMaybes+                 [(JSON..=) "RetainRule" Prelude.<$> retainRule])))+instance Property "EncryptionConfiguration" CrossRegionCopyActionProperty where+  type PropertyType "EncryptionConfiguration" CrossRegionCopyActionProperty = EncryptionConfigurationProperty+  set newValue CrossRegionCopyActionProperty {..}+    = CrossRegionCopyActionProperty+        {encryptionConfiguration = newValue, ..}+instance Property "RetainRule" CrossRegionCopyActionProperty where+  type PropertyType "RetainRule" CrossRegionCopyActionProperty = CrossRegionCopyRetainRuleProperty+  set newValue CrossRegionCopyActionProperty {..}+    = CrossRegionCopyActionProperty+        {retainRule = Prelude.pure newValue, ..}+instance Property "Target" CrossRegionCopyActionProperty where+  type PropertyType "Target" CrossRegionCopyActionProperty = Value Prelude.Text+  set newValue CrossRegionCopyActionProperty {..}+    = CrossRegionCopyActionProperty {target = newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyActionProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyActionProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CrossRegionCopyActionProperty :: Prelude.Type+instance ToResourceProperties CrossRegionCopyActionProperty+instance Prelude.Eq CrossRegionCopyActionProperty+instance Prelude.Show CrossRegionCopyActionProperty+instance JSON.ToJSON CrossRegionCopyActionProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyDeprecateRuleProperty.hs view
@@ -0,0 +1,44 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyDeprecateRuleProperty (+        CrossRegionCopyDeprecateRuleProperty(..),+        mkCrossRegionCopyDeprecateRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CrossRegionCopyDeprecateRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopydeprecaterule.html>+    CrossRegionCopyDeprecateRuleProperty {haddock_workaround_ :: (),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopydeprecaterule.html#cfn-dlm-lifecyclepolicy-crossregioncopydeprecaterule-interval>+                                          interval :: (Value Prelude.Integer),+                                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopydeprecaterule.html#cfn-dlm-lifecyclepolicy-crossregioncopydeprecaterule-intervalunit>+                                          intervalUnit :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCrossRegionCopyDeprecateRuleProperty ::+  Value Prelude.Integer+  -> Value Prelude.Text -> CrossRegionCopyDeprecateRuleProperty+mkCrossRegionCopyDeprecateRuleProperty interval intervalUnit+  = CrossRegionCopyDeprecateRuleProperty+      {haddock_workaround_ = (), interval = interval,+       intervalUnit = intervalUnit}+instance ToResourceProperties CrossRegionCopyDeprecateRuleProperty where+  toResourceProperties CrossRegionCopyDeprecateRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.CrossRegionCopyDeprecateRule",+         supportsTags = Prelude.False,+         properties = ["Interval" JSON..= interval,+                       "IntervalUnit" JSON..= intervalUnit]}+instance JSON.ToJSON CrossRegionCopyDeprecateRuleProperty where+  toJSON CrossRegionCopyDeprecateRuleProperty {..}+    = JSON.object+        ["Interval" JSON..= interval, "IntervalUnit" JSON..= intervalUnit]+instance Property "Interval" CrossRegionCopyDeprecateRuleProperty where+  type PropertyType "Interval" CrossRegionCopyDeprecateRuleProperty = Value Prelude.Integer+  set newValue CrossRegionCopyDeprecateRuleProperty {..}+    = CrossRegionCopyDeprecateRuleProperty {interval = newValue, ..}+instance Property "IntervalUnit" CrossRegionCopyDeprecateRuleProperty where+  type PropertyType "IntervalUnit" CrossRegionCopyDeprecateRuleProperty = Value Prelude.Text+  set newValue CrossRegionCopyDeprecateRuleProperty {..}+    = CrossRegionCopyDeprecateRuleProperty+        {intervalUnit = newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyDeprecateRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyDeprecateRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CrossRegionCopyDeprecateRuleProperty :: Prelude.Type+instance ToResourceProperties CrossRegionCopyDeprecateRuleProperty+instance Prelude.Eq CrossRegionCopyDeprecateRuleProperty+instance Prelude.Show CrossRegionCopyDeprecateRuleProperty+instance JSON.ToJSON CrossRegionCopyDeprecateRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyRetainRuleProperty.hs view
@@ -0,0 +1,43 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyRetainRuleProperty (+        CrossRegionCopyRetainRuleProperty(..),+        mkCrossRegionCopyRetainRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CrossRegionCopyRetainRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html>+    CrossRegionCopyRetainRuleProperty {haddock_workaround_ :: (),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-interval>+                                       interval :: (Value Prelude.Integer),+                                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyretainrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyretainrule-intervalunit>+                                       intervalUnit :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCrossRegionCopyRetainRuleProperty ::+  Value Prelude.Integer+  -> Value Prelude.Text -> CrossRegionCopyRetainRuleProperty+mkCrossRegionCopyRetainRuleProperty interval intervalUnit+  = CrossRegionCopyRetainRuleProperty+      {haddock_workaround_ = (), interval = interval,+       intervalUnit = intervalUnit}+instance ToResourceProperties CrossRegionCopyRetainRuleProperty where+  toResourceProperties CrossRegionCopyRetainRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.CrossRegionCopyRetainRule",+         supportsTags = Prelude.False,+         properties = ["Interval" JSON..= interval,+                       "IntervalUnit" JSON..= intervalUnit]}+instance JSON.ToJSON CrossRegionCopyRetainRuleProperty where+  toJSON CrossRegionCopyRetainRuleProperty {..}+    = JSON.object+        ["Interval" JSON..= interval, "IntervalUnit" JSON..= intervalUnit]+instance Property "Interval" CrossRegionCopyRetainRuleProperty where+  type PropertyType "Interval" CrossRegionCopyRetainRuleProperty = Value Prelude.Integer+  set newValue CrossRegionCopyRetainRuleProperty {..}+    = CrossRegionCopyRetainRuleProperty {interval = newValue, ..}+instance Property "IntervalUnit" CrossRegionCopyRetainRuleProperty where+  type PropertyType "IntervalUnit" CrossRegionCopyRetainRuleProperty = Value Prelude.Text+  set newValue CrossRegionCopyRetainRuleProperty {..}+    = CrossRegionCopyRetainRuleProperty {intervalUnit = newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyRetainRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyRetainRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CrossRegionCopyRetainRuleProperty :: Prelude.Type+instance ToResourceProperties CrossRegionCopyRetainRuleProperty+instance Prelude.Eq CrossRegionCopyRetainRuleProperty+instance Prelude.Show CrossRegionCopyRetainRuleProperty+instance JSON.ToJSON CrossRegionCopyRetainRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyRuleProperty.hs view
@@ -0,0 +1,97 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyRuleProperty (+        module Exports, CrossRegionCopyRuleProperty(..),+        mkCrossRegionCopyRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyDeprecateRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyRetainRuleProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CrossRegionCopyRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html>+    CrossRegionCopyRuleProperty {haddock_workaround_ :: (),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-cmkarn>+                                 cmkArn :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-copytags>+                                 copyTags :: (Prelude.Maybe (Value Prelude.Bool)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-deprecaterule>+                                 deprecateRule :: (Prelude.Maybe CrossRegionCopyDeprecateRuleProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-encrypted>+                                 encrypted :: (Value Prelude.Bool),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-retainrule>+                                 retainRule :: (Prelude.Maybe CrossRegionCopyRetainRuleProperty),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-target>+                                 target :: (Prelude.Maybe (Value Prelude.Text)),+                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopyrule.html#cfn-dlm-lifecyclepolicy-crossregioncopyrule-targetregion>+                                 targetRegion :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCrossRegionCopyRuleProperty ::+  Value Prelude.Bool -> CrossRegionCopyRuleProperty+mkCrossRegionCopyRuleProperty encrypted+  = CrossRegionCopyRuleProperty+      {haddock_workaround_ = (), encrypted = encrypted,+       cmkArn = Prelude.Nothing, copyTags = Prelude.Nothing,+       deprecateRule = Prelude.Nothing, retainRule = Prelude.Nothing,+       target = Prelude.Nothing, targetRegion = Prelude.Nothing}+instance ToResourceProperties CrossRegionCopyRuleProperty where+  toResourceProperties CrossRegionCopyRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.CrossRegionCopyRule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Encrypted" JSON..= encrypted]+                           (Prelude.catMaybes+                              [(JSON..=) "CmkArn" Prelude.<$> cmkArn,+                               (JSON..=) "CopyTags" Prelude.<$> copyTags,+                               (JSON..=) "DeprecateRule" Prelude.<$> deprecateRule,+                               (JSON..=) "RetainRule" Prelude.<$> retainRule,+                               (JSON..=) "Target" Prelude.<$> target,+                               (JSON..=) "TargetRegion" Prelude.<$> targetRegion]))}+instance JSON.ToJSON CrossRegionCopyRuleProperty where+  toJSON CrossRegionCopyRuleProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Encrypted" JSON..= encrypted]+              (Prelude.catMaybes+                 [(JSON..=) "CmkArn" Prelude.<$> cmkArn,+                  (JSON..=) "CopyTags" Prelude.<$> copyTags,+                  (JSON..=) "DeprecateRule" Prelude.<$> deprecateRule,+                  (JSON..=) "RetainRule" Prelude.<$> retainRule,+                  (JSON..=) "Target" Prelude.<$> target,+                  (JSON..=) "TargetRegion" Prelude.<$> targetRegion])))+instance Property "CmkArn" CrossRegionCopyRuleProperty where+  type PropertyType "CmkArn" CrossRegionCopyRuleProperty = Value Prelude.Text+  set newValue CrossRegionCopyRuleProperty {..}+    = CrossRegionCopyRuleProperty {cmkArn = Prelude.pure newValue, ..}+instance Property "CopyTags" CrossRegionCopyRuleProperty where+  type PropertyType "CopyTags" CrossRegionCopyRuleProperty = Value Prelude.Bool+  set newValue CrossRegionCopyRuleProperty {..}+    = CrossRegionCopyRuleProperty+        {copyTags = Prelude.pure newValue, ..}+instance Property "DeprecateRule" CrossRegionCopyRuleProperty where+  type PropertyType "DeprecateRule" CrossRegionCopyRuleProperty = CrossRegionCopyDeprecateRuleProperty+  set newValue CrossRegionCopyRuleProperty {..}+    = CrossRegionCopyRuleProperty+        {deprecateRule = Prelude.pure newValue, ..}+instance Property "Encrypted" CrossRegionCopyRuleProperty where+  type PropertyType "Encrypted" CrossRegionCopyRuleProperty = Value Prelude.Bool+  set newValue CrossRegionCopyRuleProperty {..}+    = CrossRegionCopyRuleProperty {encrypted = newValue, ..}+instance Property "RetainRule" CrossRegionCopyRuleProperty where+  type PropertyType "RetainRule" CrossRegionCopyRuleProperty = CrossRegionCopyRetainRuleProperty+  set newValue CrossRegionCopyRuleProperty {..}+    = CrossRegionCopyRuleProperty+        {retainRule = Prelude.pure newValue, ..}+instance Property "Target" CrossRegionCopyRuleProperty where+  type PropertyType "Target" CrossRegionCopyRuleProperty = Value Prelude.Text+  set newValue CrossRegionCopyRuleProperty {..}+    = CrossRegionCopyRuleProperty {target = Prelude.pure newValue, ..}+instance Property "TargetRegion" CrossRegionCopyRuleProperty where+  type PropertyType "TargetRegion" CrossRegionCopyRuleProperty = Value Prelude.Text+  set newValue CrossRegionCopyRuleProperty {..}+    = CrossRegionCopyRuleProperty+        {targetRegion = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CrossRegionCopyRuleProperty :: Prelude.Type+instance ToResourceProperties CrossRegionCopyRuleProperty+instance Prelude.Eq CrossRegionCopyRuleProperty+instance Prelude.Show CrossRegionCopyRuleProperty+instance JSON.ToJSON CrossRegionCopyRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyTargetProperty.hs view
@@ -0,0 +1,37 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetProperty (+        CrossRegionCopyTargetProperty(..), mkCrossRegionCopyTargetProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CrossRegionCopyTargetProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopytarget.html>+    CrossRegionCopyTargetProperty {haddock_workaround_ :: (),+                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-crossregioncopytarget.html#cfn-dlm-lifecyclepolicy-crossregioncopytarget-targetregion>+                                   targetRegion :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkCrossRegionCopyTargetProperty :: CrossRegionCopyTargetProperty+mkCrossRegionCopyTargetProperty+  = CrossRegionCopyTargetProperty+      {haddock_workaround_ = (), targetRegion = Prelude.Nothing}+instance ToResourceProperties CrossRegionCopyTargetProperty where+  toResourceProperties CrossRegionCopyTargetProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.CrossRegionCopyTarget",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "TargetRegion" Prelude.<$> targetRegion])}+instance JSON.ToJSON CrossRegionCopyTargetProperty where+  toJSON CrossRegionCopyTargetProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "TargetRegion" Prelude.<$> targetRegion]))+instance Property "TargetRegion" CrossRegionCopyTargetProperty where+  type PropertyType "TargetRegion" CrossRegionCopyTargetProperty = Value Prelude.Text+  set newValue CrossRegionCopyTargetProperty {..}+    = CrossRegionCopyTargetProperty+        {targetRegion = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyTargetProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CrossRegionCopyTargetProperty :: Prelude.Type+instance ToResourceProperties CrossRegionCopyTargetProperty+instance Prelude.Eq CrossRegionCopyTargetProperty+instance Prelude.Show CrossRegionCopyTargetProperty+instance JSON.ToJSON CrossRegionCopyTargetProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyTargetsProperty.hs view
@@ -0,0 +1,6 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetsProperty (+        module Exports, CrossRegionCopyTargetsProperty+    ) where+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetProperty as Exports+type CrossRegionCopyTargetsProperty =+    [CrossRegionCopyTargetProperty]
+ gen/Stratosphere/DLM/LifecyclePolicy/CrossRegionCopyTargetsProperty.hs-boot view
@@ -0,0 +1,6 @@+module Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetsProperty (+        module Exports, CrossRegionCopyTargetsProperty+    ) where+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetProperty as Exports+type CrossRegionCopyTargetsProperty =+    [CrossRegionCopyTargetProperty]
+ gen/Stratosphere/DLM/LifecyclePolicy/DeprecateRuleProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.DLM.LifecyclePolicy.DeprecateRuleProperty (+        DeprecateRuleProperty(..), mkDeprecateRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DeprecateRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-deprecaterule.html>+    DeprecateRuleProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-deprecaterule.html#cfn-dlm-lifecyclepolicy-deprecaterule-count>+                           count :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-deprecaterule.html#cfn-dlm-lifecyclepolicy-deprecaterule-interval>+                           interval :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-deprecaterule.html#cfn-dlm-lifecyclepolicy-deprecaterule-intervalunit>+                           intervalUnit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkDeprecateRuleProperty :: DeprecateRuleProperty+mkDeprecateRuleProperty+  = DeprecateRuleProperty+      {haddock_workaround_ = (), count = Prelude.Nothing,+       interval = Prelude.Nothing, intervalUnit = Prelude.Nothing}+instance ToResourceProperties DeprecateRuleProperty where+  toResourceProperties DeprecateRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.DeprecateRule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Count" Prelude.<$> count,+                            (JSON..=) "Interval" Prelude.<$> interval,+                            (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit])}+instance JSON.ToJSON DeprecateRuleProperty where+  toJSON DeprecateRuleProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Count" Prelude.<$> count,+               (JSON..=) "Interval" Prelude.<$> interval,+               (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit]))+instance Property "Count" DeprecateRuleProperty where+  type PropertyType "Count" DeprecateRuleProperty = Value Prelude.Integer+  set newValue DeprecateRuleProperty {..}+    = DeprecateRuleProperty {count = Prelude.pure newValue, ..}+instance Property "Interval" DeprecateRuleProperty where+  type PropertyType "Interval" DeprecateRuleProperty = Value Prelude.Integer+  set newValue DeprecateRuleProperty {..}+    = DeprecateRuleProperty {interval = Prelude.pure newValue, ..}+instance Property "IntervalUnit" DeprecateRuleProperty where+  type PropertyType "IntervalUnit" DeprecateRuleProperty = Value Prelude.Text+  set newValue DeprecateRuleProperty {..}+    = DeprecateRuleProperty {intervalUnit = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/DeprecateRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.DeprecateRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DeprecateRuleProperty :: Prelude.Type+instance ToResourceProperties DeprecateRuleProperty+instance Prelude.Eq DeprecateRuleProperty+instance Prelude.Show DeprecateRuleProperty+instance JSON.ToJSON DeprecateRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/EncryptionConfigurationProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.DLM.LifecyclePolicy.EncryptionConfigurationProperty (+        EncryptionConfigurationProperty(..),+        mkEncryptionConfigurationProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EncryptionConfigurationProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-encryptionconfiguration.html>+    EncryptionConfigurationProperty {haddock_workaround_ :: (),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-encryptionconfiguration.html#cfn-dlm-lifecyclepolicy-encryptionconfiguration-cmkarn>+                                     cmkArn :: (Prelude.Maybe (Value Prelude.Text)),+                                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-encryptionconfiguration.html#cfn-dlm-lifecyclepolicy-encryptionconfiguration-encrypted>+                                     encrypted :: (Value Prelude.Bool)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEncryptionConfigurationProperty ::+  Value Prelude.Bool -> EncryptionConfigurationProperty+mkEncryptionConfigurationProperty encrypted+  = EncryptionConfigurationProperty+      {haddock_workaround_ = (), encrypted = encrypted,+       cmkArn = Prelude.Nothing}+instance ToResourceProperties EncryptionConfigurationProperty where+  toResourceProperties EncryptionConfigurationProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.EncryptionConfiguration",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Encrypted" JSON..= encrypted]+                           (Prelude.catMaybes [(JSON..=) "CmkArn" Prelude.<$> cmkArn]))}+instance JSON.ToJSON EncryptionConfigurationProperty where+  toJSON EncryptionConfigurationProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Encrypted" JSON..= encrypted]+              (Prelude.catMaybes [(JSON..=) "CmkArn" Prelude.<$> cmkArn])))+instance Property "CmkArn" EncryptionConfigurationProperty where+  type PropertyType "CmkArn" EncryptionConfigurationProperty = Value Prelude.Text+  set newValue EncryptionConfigurationProperty {..}+    = EncryptionConfigurationProperty+        {cmkArn = Prelude.pure newValue, ..}+instance Property "Encrypted" EncryptionConfigurationProperty where+  type PropertyType "Encrypted" EncryptionConfigurationProperty = Value Prelude.Bool+  set newValue EncryptionConfigurationProperty {..}+    = EncryptionConfigurationProperty {encrypted = newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/EncryptionConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.EncryptionConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EncryptionConfigurationProperty :: Prelude.Type+instance ToResourceProperties EncryptionConfigurationProperty+instance Prelude.Eq EncryptionConfigurationProperty+instance Prelude.Show EncryptionConfigurationProperty+instance JSON.ToJSON EncryptionConfigurationProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/EventParametersProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.DLM.LifecyclePolicy.EventParametersProperty (+        EventParametersProperty(..), mkEventParametersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EventParametersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventparameters.html>+    EventParametersProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventparameters.html#cfn-dlm-lifecyclepolicy-eventparameters-descriptionregex>+                             descriptionRegex :: (Prelude.Maybe (Value Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventparameters.html#cfn-dlm-lifecyclepolicy-eventparameters-eventtype>+                             eventType :: (Value Prelude.Text),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventparameters.html#cfn-dlm-lifecyclepolicy-eventparameters-snapshotowner>+                             snapshotOwner :: (ValueList Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEventParametersProperty ::+  Value Prelude.Text+  -> ValueList Prelude.Text -> EventParametersProperty+mkEventParametersProperty eventType snapshotOwner+  = EventParametersProperty+      {haddock_workaround_ = (), eventType = eventType,+       snapshotOwner = snapshotOwner, descriptionRegex = Prelude.Nothing}+instance ToResourceProperties EventParametersProperty where+  toResourceProperties EventParametersProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.EventParameters",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["EventType" JSON..= eventType,+                            "SnapshotOwner" JSON..= snapshotOwner]+                           (Prelude.catMaybes+                              [(JSON..=) "DescriptionRegex" Prelude.<$> descriptionRegex]))}+instance JSON.ToJSON EventParametersProperty where+  toJSON EventParametersProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["EventType" JSON..= eventType,+               "SnapshotOwner" JSON..= snapshotOwner]+              (Prelude.catMaybes+                 [(JSON..=) "DescriptionRegex" Prelude.<$> descriptionRegex])))+instance Property "DescriptionRegex" EventParametersProperty where+  type PropertyType "DescriptionRegex" EventParametersProperty = Value Prelude.Text+  set newValue EventParametersProperty {..}+    = EventParametersProperty+        {descriptionRegex = Prelude.pure newValue, ..}+instance Property "EventType" EventParametersProperty where+  type PropertyType "EventType" EventParametersProperty = Value Prelude.Text+  set newValue EventParametersProperty {..}+    = EventParametersProperty {eventType = newValue, ..}+instance Property "SnapshotOwner" EventParametersProperty where+  type PropertyType "SnapshotOwner" EventParametersProperty = ValueList Prelude.Text+  set newValue EventParametersProperty {..}+    = EventParametersProperty {snapshotOwner = newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/EventParametersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.EventParametersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EventParametersProperty :: Prelude.Type+instance ToResourceProperties EventParametersProperty+instance Prelude.Eq EventParametersProperty+instance Prelude.Show EventParametersProperty+instance JSON.ToJSON EventParametersProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/EventSourceProperty.hs view
@@ -0,0 +1,48 @@+module Stratosphere.DLM.LifecyclePolicy.EventSourceProperty (+        module Exports, EventSourceProperty(..), mkEventSourceProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.EventParametersProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EventSourceProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventsource.html>+    EventSourceProperty {haddock_workaround_ :: (),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventsource.html#cfn-dlm-lifecyclepolicy-eventsource-parameters>+                         parameters :: (Prelude.Maybe EventParametersProperty),+                         -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-eventsource.html#cfn-dlm-lifecyclepolicy-eventsource-type>+                         type' :: (Value Prelude.Text)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkEventSourceProperty :: Value Prelude.Text -> EventSourceProperty+mkEventSourceProperty type'+  = EventSourceProperty+      {haddock_workaround_ = (), type' = type',+       parameters = Prelude.Nothing}+instance ToResourceProperties EventSourceProperty where+  toResourceProperties EventSourceProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.EventSource",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        ((Prelude.<>)+                           ["Type" JSON..= type']+                           (Prelude.catMaybes+                              [(JSON..=) "Parameters" Prelude.<$> parameters]))}+instance JSON.ToJSON EventSourceProperty where+  toJSON EventSourceProperty {..}+    = JSON.object+        (Prelude.fromList+           ((Prelude.<>)+              ["Type" JSON..= type']+              (Prelude.catMaybes+                 [(JSON..=) "Parameters" Prelude.<$> parameters])))+instance Property "Parameters" EventSourceProperty where+  type PropertyType "Parameters" EventSourceProperty = EventParametersProperty+  set newValue EventSourceProperty {..}+    = EventSourceProperty {parameters = Prelude.pure newValue, ..}+instance Property "Type" EventSourceProperty where+  type PropertyType "Type" EventSourceProperty = Value Prelude.Text+  set newValue EventSourceProperty {..}+    = EventSourceProperty {type' = newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/EventSourceProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.EventSourceProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EventSourceProperty :: Prelude.Type+instance ToResourceProperties EventSourceProperty+instance Prelude.Eq EventSourceProperty+instance Prelude.Show EventSourceProperty+instance JSON.ToJSON EventSourceProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/ExcludeTagsProperty.hs view
@@ -0,0 +1,5 @@+module Stratosphere.DLM.LifecyclePolicy.ExcludeTagsProperty (+        ExcludeTagsProperty+    ) where+import Stratosphere.Tag+type ExcludeTagsProperty = [Tag]
+ gen/Stratosphere/DLM/LifecyclePolicy/ExcludeTagsProperty.hs-boot view
@@ -0,0 +1,5 @@+module Stratosphere.DLM.LifecyclePolicy.ExcludeTagsProperty (+        ExcludeTagsProperty+    ) where+import Stratosphere.Tag+type ExcludeTagsProperty = [Tag]
+ gen/Stratosphere/DLM/LifecyclePolicy/ExcludeVolumeTypesListProperty.hs view
@@ -0,0 +1,5 @@+module Stratosphere.DLM.LifecyclePolicy.ExcludeVolumeTypesListProperty (+        module Exports, ExcludeVolumeTypesListProperty+    ) where+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.VolumeTypeValuesProperty as Exports+type ExcludeVolumeTypesListProperty = [VolumeTypeValuesProperty]
+ gen/Stratosphere/DLM/LifecyclePolicy/ExcludeVolumeTypesListProperty.hs-boot view
@@ -0,0 +1,5 @@+module Stratosphere.DLM.LifecyclePolicy.ExcludeVolumeTypesListProperty (+        module Exports, ExcludeVolumeTypesListProperty+    ) where+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.VolumeTypeValuesProperty as Exports+type ExcludeVolumeTypesListProperty = [VolumeTypeValuesProperty]
+ gen/Stratosphere/DLM/LifecyclePolicy/ExclusionsProperty.hs view
@@ -0,0 +1,58 @@+module Stratosphere.DLM.LifecyclePolicy.ExclusionsProperty (+        module Exports, ExclusionsProperty(..), mkExclusionsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ExcludeTagsProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ExcludeVolumeTypesListProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ExclusionsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-exclusions.html>+    ExclusionsProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-exclusions.html#cfn-dlm-lifecyclepolicy-exclusions-excludebootvolumes>+                        excludeBootVolumes :: (Prelude.Maybe (Value Prelude.Bool)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-exclusions.html#cfn-dlm-lifecyclepolicy-exclusions-excludetags>+                        excludeTags :: (Prelude.Maybe ExcludeTagsProperty),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-exclusions.html#cfn-dlm-lifecyclepolicy-exclusions-excludevolumetypes>+                        excludeVolumeTypes :: (Prelude.Maybe ExcludeVolumeTypesListProperty)}+  deriving stock (Prelude.Eq, Prelude.Show)+mkExclusionsProperty :: ExclusionsProperty+mkExclusionsProperty+  = ExclusionsProperty+      {haddock_workaround_ = (), excludeBootVolumes = Prelude.Nothing,+       excludeTags = Prelude.Nothing,+       excludeVolumeTypes = Prelude.Nothing}+instance ToResourceProperties ExclusionsProperty where+  toResourceProperties ExclusionsProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.Exclusions",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ExcludeBootVolumes" Prelude.<$> excludeBootVolumes,+                            (JSON..=) "ExcludeTags" Prelude.<$> excludeTags,+                            (JSON..=) "ExcludeVolumeTypes" Prelude.<$> excludeVolumeTypes])}+instance JSON.ToJSON ExclusionsProperty where+  toJSON ExclusionsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ExcludeBootVolumes" Prelude.<$> excludeBootVolumes,+               (JSON..=) "ExcludeTags" Prelude.<$> excludeTags,+               (JSON..=) "ExcludeVolumeTypes" Prelude.<$> excludeVolumeTypes]))+instance Property "ExcludeBootVolumes" ExclusionsProperty where+  type PropertyType "ExcludeBootVolumes" ExclusionsProperty = Value Prelude.Bool+  set newValue ExclusionsProperty {..}+    = ExclusionsProperty+        {excludeBootVolumes = Prelude.pure newValue, ..}+instance Property "ExcludeTags" ExclusionsProperty where+  type PropertyType "ExcludeTags" ExclusionsProperty = ExcludeTagsProperty+  set newValue ExclusionsProperty {..}+    = ExclusionsProperty {excludeTags = Prelude.pure newValue, ..}+instance Property "ExcludeVolumeTypes" ExclusionsProperty where+  type PropertyType "ExcludeVolumeTypes" ExclusionsProperty = ExcludeVolumeTypesListProperty+  set newValue ExclusionsProperty {..}+    = ExclusionsProperty+        {excludeVolumeTypes = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/ExclusionsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.ExclusionsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ExclusionsProperty :: Prelude.Type+instance ToResourceProperties ExclusionsProperty+instance Prelude.Eq ExclusionsProperty+instance Prelude.Show ExclusionsProperty+instance JSON.ToJSON ExclusionsProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/FastRestoreRuleProperty.hs view
@@ -0,0 +1,64 @@+module Stratosphere.DLM.LifecyclePolicy.FastRestoreRuleProperty (+        FastRestoreRuleProperty(..), mkFastRestoreRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data FastRestoreRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html>+    FastRestoreRuleProperty {haddock_workaround_ :: (),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-availabilityzones>+                             availabilityZones :: (Prelude.Maybe (ValueList Prelude.Text)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-count>+                             count :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-interval>+                             interval :: (Prelude.Maybe (Value Prelude.Integer)),+                             -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-fastrestorerule.html#cfn-dlm-lifecyclepolicy-fastrestorerule-intervalunit>+                             intervalUnit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkFastRestoreRuleProperty :: FastRestoreRuleProperty+mkFastRestoreRuleProperty+  = FastRestoreRuleProperty+      {haddock_workaround_ = (), availabilityZones = Prelude.Nothing,+       count = Prelude.Nothing, interval = Prelude.Nothing,+       intervalUnit = Prelude.Nothing}+instance ToResourceProperties FastRestoreRuleProperty where+  toResourceProperties FastRestoreRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.FastRestoreRule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "AvailabilityZones" Prelude.<$> availabilityZones,+                            (JSON..=) "Count" Prelude.<$> count,+                            (JSON..=) "Interval" Prelude.<$> interval,+                            (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit])}+instance JSON.ToJSON FastRestoreRuleProperty where+  toJSON FastRestoreRuleProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "AvailabilityZones" Prelude.<$> availabilityZones,+               (JSON..=) "Count" Prelude.<$> count,+               (JSON..=) "Interval" Prelude.<$> interval,+               (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit]))+instance Property "AvailabilityZones" FastRestoreRuleProperty where+  type PropertyType "AvailabilityZones" FastRestoreRuleProperty = ValueList Prelude.Text+  set newValue FastRestoreRuleProperty {..}+    = FastRestoreRuleProperty+        {availabilityZones = Prelude.pure newValue, ..}+instance Property "Count" FastRestoreRuleProperty where+  type PropertyType "Count" FastRestoreRuleProperty = Value Prelude.Integer+  set newValue FastRestoreRuleProperty {..}+    = FastRestoreRuleProperty {count = Prelude.pure newValue, ..}+instance Property "Interval" FastRestoreRuleProperty where+  type PropertyType "Interval" FastRestoreRuleProperty = Value Prelude.Integer+  set newValue FastRestoreRuleProperty {..}+    = FastRestoreRuleProperty {interval = Prelude.pure newValue, ..}+instance Property "IntervalUnit" FastRestoreRuleProperty where+  type PropertyType "IntervalUnit" FastRestoreRuleProperty = Value Prelude.Text+  set newValue FastRestoreRuleProperty {..}+    = FastRestoreRuleProperty+        {intervalUnit = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/FastRestoreRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.FastRestoreRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data FastRestoreRuleProperty :: Prelude.Type+instance ToResourceProperties FastRestoreRuleProperty+instance Prelude.Eq FastRestoreRuleProperty+instance Prelude.Show FastRestoreRuleProperty+instance JSON.ToJSON FastRestoreRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/ParametersProperty.hs view
@@ -0,0 +1,59 @@+module Stratosphere.DLM.LifecyclePolicy.ParametersProperty (+        ParametersProperty(..), mkParametersProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data ParametersProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html>+    ParametersProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-excludebootvolume>+                        excludeBootVolume :: (Prelude.Maybe (Value Prelude.Bool)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-excludedatavolumetags>+                        excludeDataVolumeTags :: (Prelude.Maybe [Tag]),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-parameters.html#cfn-dlm-lifecyclepolicy-parameters-noreboot>+                        noReboot :: (Prelude.Maybe (Value Prelude.Bool))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkParametersProperty :: ParametersProperty+mkParametersProperty+  = ParametersProperty+      {haddock_workaround_ = (), excludeBootVolume = Prelude.Nothing,+       excludeDataVolumeTags = Prelude.Nothing,+       noReboot = Prelude.Nothing}+instance ToResourceProperties ParametersProperty where+  toResourceProperties ParametersProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.Parameters",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ExcludeBootVolume" Prelude.<$> excludeBootVolume,+                            (JSON..=) "ExcludeDataVolumeTags"+                              Prelude.<$> excludeDataVolumeTags,+                            (JSON..=) "NoReboot" Prelude.<$> noReboot])}+instance JSON.ToJSON ParametersProperty where+  toJSON ParametersProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ExcludeBootVolume" Prelude.<$> excludeBootVolume,+               (JSON..=) "ExcludeDataVolumeTags"+                 Prelude.<$> excludeDataVolumeTags,+               (JSON..=) "NoReboot" Prelude.<$> noReboot]))+instance Property "ExcludeBootVolume" ParametersProperty where+  type PropertyType "ExcludeBootVolume" ParametersProperty = Value Prelude.Bool+  set newValue ParametersProperty {..}+    = ParametersProperty+        {excludeBootVolume = Prelude.pure newValue, ..}+instance Property "ExcludeDataVolumeTags" ParametersProperty where+  type PropertyType "ExcludeDataVolumeTags" ParametersProperty = [Tag]+  set newValue ParametersProperty {..}+    = ParametersProperty+        {excludeDataVolumeTags = Prelude.pure newValue, ..}+instance Property "NoReboot" ParametersProperty where+  type PropertyType "NoReboot" ParametersProperty = Value Prelude.Bool+  set newValue ParametersProperty {..}+    = ParametersProperty {noReboot = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/ParametersProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.ParametersProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ParametersProperty :: Prelude.Type+instance ToResourceProperties ParametersProperty+instance Prelude.Eq ParametersProperty+instance Prelude.Show ParametersProperty+instance JSON.ToJSON ParametersProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/PolicyDetailsProperty.hs view
@@ -0,0 +1,180 @@+module Stratosphere.DLM.LifecyclePolicy.PolicyDetailsProperty (+        module Exports, PolicyDetailsProperty(..), mkPolicyDetailsProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ActionProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetsProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.EventSourceProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ExclusionsProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ParametersProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ScheduleProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data PolicyDetailsProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html>+    PolicyDetailsProperty {haddock_workaround_ :: (),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-actions>+                           actions :: (Prelude.Maybe [ActionProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-copytags>+                           copyTags :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-createinterval>+                           createInterval :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-crossregioncopytargets>+                           crossRegionCopyTargets :: (Prelude.Maybe CrossRegionCopyTargetsProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-eventsource>+                           eventSource :: (Prelude.Maybe EventSourceProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-exclusions>+                           exclusions :: (Prelude.Maybe ExclusionsProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-extenddeletion>+                           extendDeletion :: (Prelude.Maybe (Value Prelude.Bool)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-parameters>+                           parameters :: (Prelude.Maybe ParametersProperty),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-policylanguage>+                           policyLanguage :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-policytype>+                           policyType :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcelocations>+                           resourceLocations :: (Prelude.Maybe (ValueList Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcetype>+                           resourceType :: (Prelude.Maybe (Value Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-resourcetypes>+                           resourceTypes :: (Prelude.Maybe (ValueList Prelude.Text)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-retaininterval>+                           retainInterval :: (Prelude.Maybe (Value Prelude.Integer)),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-schedules>+                           schedules :: (Prelude.Maybe [ScheduleProperty]),+                           -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-policydetails.html#cfn-dlm-lifecyclepolicy-policydetails-targettags>+                           targetTags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkPolicyDetailsProperty :: PolicyDetailsProperty+mkPolicyDetailsProperty+  = PolicyDetailsProperty+      {haddock_workaround_ = (), actions = Prelude.Nothing,+       copyTags = Prelude.Nothing, createInterval = Prelude.Nothing,+       crossRegionCopyTargets = Prelude.Nothing,+       eventSource = Prelude.Nothing, exclusions = Prelude.Nothing,+       extendDeletion = Prelude.Nothing, parameters = Prelude.Nothing,+       policyLanguage = Prelude.Nothing, policyType = Prelude.Nothing,+       resourceLocations = Prelude.Nothing,+       resourceType = Prelude.Nothing, resourceTypes = Prelude.Nothing,+       retainInterval = Prelude.Nothing, schedules = Prelude.Nothing,+       targetTags = Prelude.Nothing}+instance ToResourceProperties PolicyDetailsProperty where+  toResourceProperties PolicyDetailsProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.PolicyDetails",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Actions" Prelude.<$> actions,+                            (JSON..=) "CopyTags" Prelude.<$> copyTags,+                            (JSON..=) "CreateInterval" Prelude.<$> createInterval,+                            (JSON..=) "CrossRegionCopyTargets"+                              Prelude.<$> crossRegionCopyTargets,+                            (JSON..=) "EventSource" Prelude.<$> eventSource,+                            (JSON..=) "Exclusions" Prelude.<$> exclusions,+                            (JSON..=) "ExtendDeletion" Prelude.<$> extendDeletion,+                            (JSON..=) "Parameters" Prelude.<$> parameters,+                            (JSON..=) "PolicyLanguage" Prelude.<$> policyLanguage,+                            (JSON..=) "PolicyType" Prelude.<$> policyType,+                            (JSON..=) "ResourceLocations" Prelude.<$> resourceLocations,+                            (JSON..=) "ResourceType" Prelude.<$> resourceType,+                            (JSON..=) "ResourceTypes" Prelude.<$> resourceTypes,+                            (JSON..=) "RetainInterval" Prelude.<$> retainInterval,+                            (JSON..=) "Schedules" Prelude.<$> schedules,+                            (JSON..=) "TargetTags" Prelude.<$> targetTags])}+instance JSON.ToJSON PolicyDetailsProperty where+  toJSON PolicyDetailsProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Actions" Prelude.<$> actions,+               (JSON..=) "CopyTags" Prelude.<$> copyTags,+               (JSON..=) "CreateInterval" Prelude.<$> createInterval,+               (JSON..=) "CrossRegionCopyTargets"+                 Prelude.<$> crossRegionCopyTargets,+               (JSON..=) "EventSource" Prelude.<$> eventSource,+               (JSON..=) "Exclusions" Prelude.<$> exclusions,+               (JSON..=) "ExtendDeletion" Prelude.<$> extendDeletion,+               (JSON..=) "Parameters" Prelude.<$> parameters,+               (JSON..=) "PolicyLanguage" Prelude.<$> policyLanguage,+               (JSON..=) "PolicyType" Prelude.<$> policyType,+               (JSON..=) "ResourceLocations" Prelude.<$> resourceLocations,+               (JSON..=) "ResourceType" Prelude.<$> resourceType,+               (JSON..=) "ResourceTypes" Prelude.<$> resourceTypes,+               (JSON..=) "RetainInterval" Prelude.<$> retainInterval,+               (JSON..=) "Schedules" Prelude.<$> schedules,+               (JSON..=) "TargetTags" Prelude.<$> targetTags]))+instance Property "Actions" PolicyDetailsProperty where+  type PropertyType "Actions" PolicyDetailsProperty = [ActionProperty]+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {actions = Prelude.pure newValue, ..}+instance Property "CopyTags" PolicyDetailsProperty where+  type PropertyType "CopyTags" PolicyDetailsProperty = Value Prelude.Bool+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {copyTags = Prelude.pure newValue, ..}+instance Property "CreateInterval" PolicyDetailsProperty where+  type PropertyType "CreateInterval" PolicyDetailsProperty = Value Prelude.Integer+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty+        {createInterval = Prelude.pure newValue, ..}+instance Property "CrossRegionCopyTargets" PolicyDetailsProperty where+  type PropertyType "CrossRegionCopyTargets" PolicyDetailsProperty = CrossRegionCopyTargetsProperty+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty+        {crossRegionCopyTargets = Prelude.pure newValue, ..}+instance Property "EventSource" PolicyDetailsProperty where+  type PropertyType "EventSource" PolicyDetailsProperty = EventSourceProperty+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {eventSource = Prelude.pure newValue, ..}+instance Property "Exclusions" PolicyDetailsProperty where+  type PropertyType "Exclusions" PolicyDetailsProperty = ExclusionsProperty+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {exclusions = Prelude.pure newValue, ..}+instance Property "ExtendDeletion" PolicyDetailsProperty where+  type PropertyType "ExtendDeletion" PolicyDetailsProperty = Value Prelude.Bool+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty+        {extendDeletion = Prelude.pure newValue, ..}+instance Property "Parameters" PolicyDetailsProperty where+  type PropertyType "Parameters" PolicyDetailsProperty = ParametersProperty+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {parameters = Prelude.pure newValue, ..}+instance Property "PolicyLanguage" PolicyDetailsProperty where+  type PropertyType "PolicyLanguage" PolicyDetailsProperty = Value Prelude.Text+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty+        {policyLanguage = Prelude.pure newValue, ..}+instance Property "PolicyType" PolicyDetailsProperty where+  type PropertyType "PolicyType" PolicyDetailsProperty = Value Prelude.Text+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {policyType = Prelude.pure newValue, ..}+instance Property "ResourceLocations" PolicyDetailsProperty where+  type PropertyType "ResourceLocations" PolicyDetailsProperty = ValueList Prelude.Text+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty+        {resourceLocations = Prelude.pure newValue, ..}+instance Property "ResourceType" PolicyDetailsProperty where+  type PropertyType "ResourceType" PolicyDetailsProperty = Value Prelude.Text+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {resourceType = Prelude.pure newValue, ..}+instance Property "ResourceTypes" PolicyDetailsProperty where+  type PropertyType "ResourceTypes" PolicyDetailsProperty = ValueList Prelude.Text+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {resourceTypes = Prelude.pure newValue, ..}+instance Property "RetainInterval" PolicyDetailsProperty where+  type PropertyType "RetainInterval" PolicyDetailsProperty = Value Prelude.Integer+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty+        {retainInterval = Prelude.pure newValue, ..}+instance Property "Schedules" PolicyDetailsProperty where+  type PropertyType "Schedules" PolicyDetailsProperty = [ScheduleProperty]+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {schedules = Prelude.pure newValue, ..}+instance Property "TargetTags" PolicyDetailsProperty where+  type PropertyType "TargetTags" PolicyDetailsProperty = [Tag]+  set newValue PolicyDetailsProperty {..}+    = PolicyDetailsProperty {targetTags = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/PolicyDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.PolicyDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data PolicyDetailsProperty :: Prelude.Type+instance ToResourceProperties PolicyDetailsProperty+instance Prelude.Eq PolicyDetailsProperty+instance Prelude.Show PolicyDetailsProperty+instance JSON.ToJSON PolicyDetailsProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/RetainRuleProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.DLM.LifecyclePolicy.RetainRuleProperty (+        RetainRuleProperty(..), mkRetainRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RetainRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html>+    RetainRuleProperty {haddock_workaround_ :: (),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-count>+                        count :: (Prelude.Maybe (Value Prelude.Integer)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-interval>+                        interval :: (Prelude.Maybe (Value Prelude.Integer)),+                        -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retainrule.html#cfn-dlm-lifecyclepolicy-retainrule-intervalunit>+                        intervalUnit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRetainRuleProperty :: RetainRuleProperty+mkRetainRuleProperty+  = RetainRuleProperty+      {haddock_workaround_ = (), count = Prelude.Nothing,+       interval = Prelude.Nothing, intervalUnit = Prelude.Nothing}+instance ToResourceProperties RetainRuleProperty where+  toResourceProperties RetainRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.RetainRule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Count" Prelude.<$> count,+                            (JSON..=) "Interval" Prelude.<$> interval,+                            (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit])}+instance JSON.ToJSON RetainRuleProperty where+  toJSON RetainRuleProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Count" Prelude.<$> count,+               (JSON..=) "Interval" Prelude.<$> interval,+               (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit]))+instance Property "Count" RetainRuleProperty where+  type PropertyType "Count" RetainRuleProperty = Value Prelude.Integer+  set newValue RetainRuleProperty {..}+    = RetainRuleProperty {count = Prelude.pure newValue, ..}+instance Property "Interval" RetainRuleProperty where+  type PropertyType "Interval" RetainRuleProperty = Value Prelude.Integer+  set newValue RetainRuleProperty {..}+    = RetainRuleProperty {interval = Prelude.pure newValue, ..}+instance Property "IntervalUnit" RetainRuleProperty where+  type PropertyType "IntervalUnit" RetainRuleProperty = Value Prelude.Text+  set newValue RetainRuleProperty {..}+    = RetainRuleProperty {intervalUnit = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/RetainRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.RetainRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RetainRuleProperty :: Prelude.Type+instance ToResourceProperties RetainRuleProperty+instance Prelude.Eq RetainRuleProperty+instance Prelude.Show RetainRuleProperty+instance JSON.ToJSON RetainRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/RetentionArchiveTierProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.DLM.LifecyclePolicy.RetentionArchiveTierProperty (+        RetentionArchiveTierProperty(..), mkRetentionArchiveTierProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RetentionArchiveTierProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retentionarchivetier.html>+    RetentionArchiveTierProperty {haddock_workaround_ :: (),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retentionarchivetier.html#cfn-dlm-lifecyclepolicy-retentionarchivetier-count>+                                  count :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retentionarchivetier.html#cfn-dlm-lifecyclepolicy-retentionarchivetier-interval>+                                  interval :: (Prelude.Maybe (Value Prelude.Integer)),+                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-retentionarchivetier.html#cfn-dlm-lifecyclepolicy-retentionarchivetier-intervalunit>+                                  intervalUnit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkRetentionArchiveTierProperty :: RetentionArchiveTierProperty+mkRetentionArchiveTierProperty+  = RetentionArchiveTierProperty+      {haddock_workaround_ = (), count = Prelude.Nothing,+       interval = Prelude.Nothing, intervalUnit = Prelude.Nothing}+instance ToResourceProperties RetentionArchiveTierProperty where+  toResourceProperties RetentionArchiveTierProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.RetentionArchiveTier",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "Count" Prelude.<$> count,+                            (JSON..=) "Interval" Prelude.<$> interval,+                            (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit])}+instance JSON.ToJSON RetentionArchiveTierProperty where+  toJSON RetentionArchiveTierProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "Count" Prelude.<$> count,+               (JSON..=) "Interval" Prelude.<$> interval,+               (JSON..=) "IntervalUnit" Prelude.<$> intervalUnit]))+instance Property "Count" RetentionArchiveTierProperty where+  type PropertyType "Count" RetentionArchiveTierProperty = Value Prelude.Integer+  set newValue RetentionArchiveTierProperty {..}+    = RetentionArchiveTierProperty {count = Prelude.pure newValue, ..}+instance Property "Interval" RetentionArchiveTierProperty where+  type PropertyType "Interval" RetentionArchiveTierProperty = Value Prelude.Integer+  set newValue RetentionArchiveTierProperty {..}+    = RetentionArchiveTierProperty+        {interval = Prelude.pure newValue, ..}+instance Property "IntervalUnit" RetentionArchiveTierProperty where+  type PropertyType "IntervalUnit" RetentionArchiveTierProperty = Value Prelude.Text+  set newValue RetentionArchiveTierProperty {..}+    = RetentionArchiveTierProperty+        {intervalUnit = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/RetentionArchiveTierProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.RetentionArchiveTierProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RetentionArchiveTierProperty :: Prelude.Type+instance ToResourceProperties RetentionArchiveTierProperty+instance Prelude.Eq RetentionArchiveTierProperty+instance Prelude.Show RetentionArchiveTierProperty+instance JSON.ToJSON RetentionArchiveTierProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/ScheduleProperty.hs view
@@ -0,0 +1,131 @@+module Stratosphere.DLM.LifecyclePolicy.ScheduleProperty (+        module Exports, ScheduleProperty(..), mkScheduleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ArchiveRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CreateRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.DeprecateRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.FastRestoreRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.RetainRuleProperty as Exports+import {-# SOURCE #-} Stratosphere.DLM.LifecyclePolicy.ShareRuleProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data ScheduleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html>+    ScheduleProperty {haddock_workaround_ :: (),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-archiverule>+                      archiveRule :: (Prelude.Maybe ArchiveRuleProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-copytags>+                      copyTags :: (Prelude.Maybe (Value Prelude.Bool)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-createrule>+                      createRule :: (Prelude.Maybe CreateRuleProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-crossregioncopyrules>+                      crossRegionCopyRules :: (Prelude.Maybe [CrossRegionCopyRuleProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-deprecaterule>+                      deprecateRule :: (Prelude.Maybe DeprecateRuleProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-fastrestorerule>+                      fastRestoreRule :: (Prelude.Maybe FastRestoreRuleProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-name>+                      name :: (Prelude.Maybe (Value Prelude.Text)),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-retainrule>+                      retainRule :: (Prelude.Maybe RetainRuleProperty),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-sharerules>+                      shareRules :: (Prelude.Maybe [ShareRuleProperty]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-tagstoadd>+                      tagsToAdd :: (Prelude.Maybe [Tag]),+                      -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-schedule.html#cfn-dlm-lifecyclepolicy-schedule-variabletags>+                      variableTags :: (Prelude.Maybe [Tag])}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScheduleProperty :: ScheduleProperty+mkScheduleProperty+  = ScheduleProperty+      {haddock_workaround_ = (), archiveRule = Prelude.Nothing,+       copyTags = Prelude.Nothing, createRule = Prelude.Nothing,+       crossRegionCopyRules = Prelude.Nothing,+       deprecateRule = Prelude.Nothing, fastRestoreRule = Prelude.Nothing,+       name = Prelude.Nothing, retainRule = Prelude.Nothing,+       shareRules = Prelude.Nothing, tagsToAdd = Prelude.Nothing,+       variableTags = Prelude.Nothing}+instance ToResourceProperties ScheduleProperty where+  toResourceProperties ScheduleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.Schedule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ArchiveRule" Prelude.<$> archiveRule,+                            (JSON..=) "CopyTags" Prelude.<$> copyTags,+                            (JSON..=) "CreateRule" Prelude.<$> createRule,+                            (JSON..=) "CrossRegionCopyRules" Prelude.<$> crossRegionCopyRules,+                            (JSON..=) "DeprecateRule" Prelude.<$> deprecateRule,+                            (JSON..=) "FastRestoreRule" Prelude.<$> fastRestoreRule,+                            (JSON..=) "Name" Prelude.<$> name,+                            (JSON..=) "RetainRule" Prelude.<$> retainRule,+                            (JSON..=) "ShareRules" Prelude.<$> shareRules,+                            (JSON..=) "TagsToAdd" Prelude.<$> tagsToAdd,+                            (JSON..=) "VariableTags" Prelude.<$> variableTags])}+instance JSON.ToJSON ScheduleProperty where+  toJSON ScheduleProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ArchiveRule" Prelude.<$> archiveRule,+               (JSON..=) "CopyTags" Prelude.<$> copyTags,+               (JSON..=) "CreateRule" Prelude.<$> createRule,+               (JSON..=) "CrossRegionCopyRules" Prelude.<$> crossRegionCopyRules,+               (JSON..=) "DeprecateRule" Prelude.<$> deprecateRule,+               (JSON..=) "FastRestoreRule" Prelude.<$> fastRestoreRule,+               (JSON..=) "Name" Prelude.<$> name,+               (JSON..=) "RetainRule" Prelude.<$> retainRule,+               (JSON..=) "ShareRules" Prelude.<$> shareRules,+               (JSON..=) "TagsToAdd" Prelude.<$> tagsToAdd,+               (JSON..=) "VariableTags" Prelude.<$> variableTags]))+instance Property "ArchiveRule" ScheduleProperty where+  type PropertyType "ArchiveRule" ScheduleProperty = ArchiveRuleProperty+  set newValue ScheduleProperty {..}+    = ScheduleProperty {archiveRule = Prelude.pure newValue, ..}+instance Property "CopyTags" ScheduleProperty where+  type PropertyType "CopyTags" ScheduleProperty = Value Prelude.Bool+  set newValue ScheduleProperty {..}+    = ScheduleProperty {copyTags = Prelude.pure newValue, ..}+instance Property "CreateRule" ScheduleProperty where+  type PropertyType "CreateRule" ScheduleProperty = CreateRuleProperty+  set newValue ScheduleProperty {..}+    = ScheduleProperty {createRule = Prelude.pure newValue, ..}+instance Property "CrossRegionCopyRules" ScheduleProperty where+  type PropertyType "CrossRegionCopyRules" ScheduleProperty = [CrossRegionCopyRuleProperty]+  set newValue ScheduleProperty {..}+    = ScheduleProperty+        {crossRegionCopyRules = Prelude.pure newValue, ..}+instance Property "DeprecateRule" ScheduleProperty where+  type PropertyType "DeprecateRule" ScheduleProperty = DeprecateRuleProperty+  set newValue ScheduleProperty {..}+    = ScheduleProperty {deprecateRule = Prelude.pure newValue, ..}+instance Property "FastRestoreRule" ScheduleProperty where+  type PropertyType "FastRestoreRule" ScheduleProperty = FastRestoreRuleProperty+  set newValue ScheduleProperty {..}+    = ScheduleProperty {fastRestoreRule = Prelude.pure newValue, ..}+instance Property "Name" ScheduleProperty where+  type PropertyType "Name" ScheduleProperty = Value Prelude.Text+  set newValue ScheduleProperty {..}+    = ScheduleProperty {name = Prelude.pure newValue, ..}+instance Property "RetainRule" ScheduleProperty where+  type PropertyType "RetainRule" ScheduleProperty = RetainRuleProperty+  set newValue ScheduleProperty {..}+    = ScheduleProperty {retainRule = Prelude.pure newValue, ..}+instance Property "ShareRules" ScheduleProperty where+  type PropertyType "ShareRules" ScheduleProperty = [ShareRuleProperty]+  set newValue ScheduleProperty {..}+    = ScheduleProperty {shareRules = Prelude.pure newValue, ..}+instance Property "TagsToAdd" ScheduleProperty where+  type PropertyType "TagsToAdd" ScheduleProperty = [Tag]+  set newValue ScheduleProperty {..}+    = ScheduleProperty {tagsToAdd = Prelude.pure newValue, ..}+instance Property "VariableTags" ScheduleProperty where+  type PropertyType "VariableTags" ScheduleProperty = [Tag]+  set newValue ScheduleProperty {..}+    = ScheduleProperty {variableTags = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/ScheduleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.ScheduleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ScheduleProperty :: Prelude.Type+instance ToResourceProperties ScheduleProperty+instance Prelude.Eq ScheduleProperty+instance Prelude.Show ScheduleProperty+instance JSON.ToJSON ScheduleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/ScriptProperty.hs view
@@ -0,0 +1,87 @@+module Stratosphere.DLM.LifecyclePolicy.ScriptProperty (+        ScriptProperty(..), mkScriptProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ScriptProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-script.html>+    ScriptProperty {haddock_workaround_ :: (),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-script.html#cfn-dlm-lifecyclepolicy-script-executeoperationonscriptfailure>+                    executeOperationOnScriptFailure :: (Prelude.Maybe (Value Prelude.Bool)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-script.html#cfn-dlm-lifecyclepolicy-script-executionhandler>+                    executionHandler :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-script.html#cfn-dlm-lifecyclepolicy-script-executionhandlerservice>+                    executionHandlerService :: (Prelude.Maybe (Value Prelude.Text)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-script.html#cfn-dlm-lifecyclepolicy-script-executiontimeout>+                    executionTimeout :: (Prelude.Maybe (Value Prelude.Integer)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-script.html#cfn-dlm-lifecyclepolicy-script-maximumretrycount>+                    maximumRetryCount :: (Prelude.Maybe (Value Prelude.Integer)),+                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-script.html#cfn-dlm-lifecyclepolicy-script-stages>+                    stages :: (Prelude.Maybe (ValueList Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkScriptProperty :: ScriptProperty+mkScriptProperty+  = ScriptProperty+      {haddock_workaround_ = (),+       executeOperationOnScriptFailure = Prelude.Nothing,+       executionHandler = Prelude.Nothing,+       executionHandlerService = Prelude.Nothing,+       executionTimeout = Prelude.Nothing,+       maximumRetryCount = Prelude.Nothing, stages = Prelude.Nothing}+instance ToResourceProperties ScriptProperty where+  toResourceProperties ScriptProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.Script",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "ExecuteOperationOnScriptFailure"+                              Prelude.<$> executeOperationOnScriptFailure,+                            (JSON..=) "ExecutionHandler" Prelude.<$> executionHandler,+                            (JSON..=) "ExecutionHandlerService"+                              Prelude.<$> executionHandlerService,+                            (JSON..=) "ExecutionTimeout" Prelude.<$> executionTimeout,+                            (JSON..=) "MaximumRetryCount" Prelude.<$> maximumRetryCount,+                            (JSON..=) "Stages" Prelude.<$> stages])}+instance JSON.ToJSON ScriptProperty where+  toJSON ScriptProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "ExecuteOperationOnScriptFailure"+                 Prelude.<$> executeOperationOnScriptFailure,+               (JSON..=) "ExecutionHandler" Prelude.<$> executionHandler,+               (JSON..=) "ExecutionHandlerService"+                 Prelude.<$> executionHandlerService,+               (JSON..=) "ExecutionTimeout" Prelude.<$> executionTimeout,+               (JSON..=) "MaximumRetryCount" Prelude.<$> maximumRetryCount,+               (JSON..=) "Stages" Prelude.<$> stages]))+instance Property "ExecuteOperationOnScriptFailure" ScriptProperty where+  type PropertyType "ExecuteOperationOnScriptFailure" ScriptProperty = Value Prelude.Bool+  set newValue ScriptProperty {..}+    = ScriptProperty+        {executeOperationOnScriptFailure = Prelude.pure newValue, ..}+instance Property "ExecutionHandler" ScriptProperty where+  type PropertyType "ExecutionHandler" ScriptProperty = Value Prelude.Text+  set newValue ScriptProperty {..}+    = ScriptProperty {executionHandler = Prelude.pure newValue, ..}+instance Property "ExecutionHandlerService" ScriptProperty where+  type PropertyType "ExecutionHandlerService" ScriptProperty = Value Prelude.Text+  set newValue ScriptProperty {..}+    = ScriptProperty+        {executionHandlerService = Prelude.pure newValue, ..}+instance Property "ExecutionTimeout" ScriptProperty where+  type PropertyType "ExecutionTimeout" ScriptProperty = Value Prelude.Integer+  set newValue ScriptProperty {..}+    = ScriptProperty {executionTimeout = Prelude.pure newValue, ..}+instance Property "MaximumRetryCount" ScriptProperty where+  type PropertyType "MaximumRetryCount" ScriptProperty = Value Prelude.Integer+  set newValue ScriptProperty {..}+    = ScriptProperty {maximumRetryCount = Prelude.pure newValue, ..}+instance Property "Stages" ScriptProperty where+  type PropertyType "Stages" ScriptProperty = ValueList Prelude.Text+  set newValue ScriptProperty {..}+    = ScriptProperty {stages = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/ScriptProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.ScriptProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ScriptProperty :: Prelude.Type+instance ToResourceProperties ScriptProperty+instance Prelude.Eq ScriptProperty+instance Prelude.Show ScriptProperty+instance JSON.ToJSON ScriptProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/ShareRuleProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.DLM.LifecyclePolicy.ShareRuleProperty (+        ShareRuleProperty(..), mkShareRuleProperty+    ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ShareRuleProperty+  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-sharerule.html>+    ShareRuleProperty {haddock_workaround_ :: (),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-sharerule.html#cfn-dlm-lifecyclepolicy-sharerule-targetaccounts>+                       targetAccounts :: (Prelude.Maybe (ValueList Prelude.Text)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-sharerule.html#cfn-dlm-lifecyclepolicy-sharerule-unshareinterval>+                       unshareInterval :: (Prelude.Maybe (Value Prelude.Integer)),+                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dlm-lifecyclepolicy-sharerule.html#cfn-dlm-lifecyclepolicy-sharerule-unshareintervalunit>+                       unshareIntervalUnit :: (Prelude.Maybe (Value Prelude.Text))}+  deriving stock (Prelude.Eq, Prelude.Show)+mkShareRuleProperty :: ShareRuleProperty+mkShareRuleProperty+  = ShareRuleProperty+      {haddock_workaround_ = (), targetAccounts = Prelude.Nothing,+       unshareInterval = Prelude.Nothing,+       unshareIntervalUnit = Prelude.Nothing}+instance ToResourceProperties ShareRuleProperty where+  toResourceProperties ShareRuleProperty {..}+    = ResourceProperties+        {awsType = "AWS::DLM::LifecyclePolicy.ShareRule",+         supportsTags = Prelude.False,+         properties = Prelude.fromList+                        (Prelude.catMaybes+                           [(JSON..=) "TargetAccounts" Prelude.<$> targetAccounts,+                            (JSON..=) "UnshareInterval" Prelude.<$> unshareInterval,+                            (JSON..=) "UnshareIntervalUnit" Prelude.<$> unshareIntervalUnit])}+instance JSON.ToJSON ShareRuleProperty where+  toJSON ShareRuleProperty {..}+    = JSON.object+        (Prelude.fromList+           (Prelude.catMaybes+              [(JSON..=) "TargetAccounts" Prelude.<$> targetAccounts,+               (JSON..=) "UnshareInterval" Prelude.<$> unshareInterval,+               (JSON..=) "UnshareIntervalUnit" Prelude.<$> unshareIntervalUnit]))+instance Property "TargetAccounts" ShareRuleProperty where+  type PropertyType "TargetAccounts" ShareRuleProperty = ValueList Prelude.Text+  set newValue ShareRuleProperty {..}+    = ShareRuleProperty {targetAccounts = Prelude.pure newValue, ..}+instance Property "UnshareInterval" ShareRuleProperty where+  type PropertyType "UnshareInterval" ShareRuleProperty = Value Prelude.Integer+  set newValue ShareRuleProperty {..}+    = ShareRuleProperty {unshareInterval = Prelude.pure newValue, ..}+instance Property "UnshareIntervalUnit" ShareRuleProperty where+  type PropertyType "UnshareIntervalUnit" ShareRuleProperty = Value Prelude.Text+  set newValue ShareRuleProperty {..}+    = ShareRuleProperty+        {unshareIntervalUnit = Prelude.pure newValue, ..}
+ gen/Stratosphere/DLM/LifecyclePolicy/ShareRuleProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.DLM.LifecyclePolicy.ShareRuleProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ShareRuleProperty :: Prelude.Type+instance ToResourceProperties ShareRuleProperty+instance Prelude.Eq ShareRuleProperty+instance Prelude.Show ShareRuleProperty+instance JSON.ToJSON ShareRuleProperty
+ gen/Stratosphere/DLM/LifecyclePolicy/VolumeTypeValuesProperty.hs view
@@ -0,0 +1,6 @@+module Stratosphere.DLM.LifecyclePolicy.VolumeTypeValuesProperty (+        VolumeTypeValuesProperty+    ) where+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Value+type VolumeTypeValuesProperty = Value Prelude.Text
+ gen/Stratosphere/DLM/LifecyclePolicy/VolumeTypeValuesProperty.hs-boot view
@@ -0,0 +1,6 @@+module Stratosphere.DLM.LifecyclePolicy.VolumeTypeValuesProperty (+        VolumeTypeValuesProperty+    ) where+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Value+type VolumeTypeValuesProperty = Value Prelude.Text
+ stratosphere-dlm.cabal view
@@ -0,0 +1,99 @@+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-dlm+version:        1.0.0+synopsis:       Stratosphere integration for AWS DLM.+description:    Integration into stratosphere to generate resources and properties for AWS DLM+category:       AWS, Cloud, DLM+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.DLM.LifecyclePolicy+      Stratosphere.DLM.LifecyclePolicy.ActionProperty+      Stratosphere.DLM.LifecyclePolicy.ArchiveRetainRuleProperty+      Stratosphere.DLM.LifecyclePolicy.ArchiveRuleProperty+      Stratosphere.DLM.LifecyclePolicy.CreateRuleProperty+      Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyActionProperty+      Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyDeprecateRuleProperty+      Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyRetainRuleProperty+      Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyRuleProperty+      Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetProperty+      Stratosphere.DLM.LifecyclePolicy.CrossRegionCopyTargetsProperty+      Stratosphere.DLM.LifecyclePolicy.DeprecateRuleProperty+      Stratosphere.DLM.LifecyclePolicy.EncryptionConfigurationProperty+      Stratosphere.DLM.LifecyclePolicy.EventParametersProperty+      Stratosphere.DLM.LifecyclePolicy.EventSourceProperty+      Stratosphere.DLM.LifecyclePolicy.ExcludeTagsProperty+      Stratosphere.DLM.LifecyclePolicy.ExcludeVolumeTypesListProperty+      Stratosphere.DLM.LifecyclePolicy.ExclusionsProperty+      Stratosphere.DLM.LifecyclePolicy.FastRestoreRuleProperty+      Stratosphere.DLM.LifecyclePolicy.ParametersProperty+      Stratosphere.DLM.LifecyclePolicy.PolicyDetailsProperty+      Stratosphere.DLM.LifecyclePolicy.RetainRuleProperty+      Stratosphere.DLM.LifecyclePolicy.RetentionArchiveTierProperty+      Stratosphere.DLM.LifecyclePolicy.ScheduleProperty+      Stratosphere.DLM.LifecyclePolicy.ScriptProperty+      Stratosphere.DLM.LifecyclePolicy.ShareRuleProperty+      Stratosphere.DLM.LifecyclePolicy.VolumeTypeValuesProperty+  other-modules:+      Paths_stratosphere_dlm+  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