stratosphere-elasticache (empty) → 1.0.0
raw patch · 46 files changed
+2561/−0 lines, 46 filesdep +aesondep +basedep +stratosphere
Dependencies added: aeson, base, stratosphere
Files
- LICENSE.md +20/−0
- gen/Stratosphere/ElastiCache/CacheCluster.hs +277/−0
- gen/Stratosphere/ElastiCache/CacheCluster/CloudWatchLogsDestinationDetailsProperty.hs +34/−0
- gen/Stratosphere/ElastiCache/CacheCluster/CloudWatchLogsDestinationDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/CacheCluster/DestinationDetailsProperty.hs +53/−0
- gen/Stratosphere/ElastiCache/CacheCluster/DestinationDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/CacheCluster/KinesisFirehoseDestinationDetailsProperty.hs +34/−0
- gen/Stratosphere/ElastiCache/CacheCluster/KinesisFirehoseDestinationDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/CacheCluster/LogDeliveryConfigurationRequestProperty.hs +69/−0
- gen/Stratosphere/ElastiCache/CacheCluster/LogDeliveryConfigurationRequestProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/GlobalReplicationGroup.hs +140/−0
- gen/Stratosphere/ElastiCache/GlobalReplicationGroup/GlobalReplicationGroupMemberProperty.hs +60/−0
- gen/Stratosphere/ElastiCache/GlobalReplicationGroup/GlobalReplicationGroupMemberProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/GlobalReplicationGroup/RegionalConfigurationProperty.hs +63/−0
- gen/Stratosphere/ElastiCache/GlobalReplicationGroup/RegionalConfigurationProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/GlobalReplicationGroup/ReshardingConfigurationProperty.hs +51/−0
- gen/Stratosphere/ElastiCache/GlobalReplicationGroup/ReshardingConfigurationProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/ParameterGroup.hs +67/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup.hs +423/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/CloudWatchLogsDestinationDetailsProperty.hs +34/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/CloudWatchLogsDestinationDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/DestinationDetailsProperty.hs +53/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/DestinationDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/KinesisFirehoseDestinationDetailsProperty.hs +34/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/KinesisFirehoseDestinationDetailsProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/LogDeliveryConfigurationRequestProperty.hs +69/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/LogDeliveryConfigurationRequestProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/NodeGroupConfigurationProperty.hs +81/−0
- gen/Stratosphere/ElastiCache/ReplicationGroup/NodeGroupConfigurationProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/SecurityGroup.hs +46/−0
- gen/Stratosphere/ElastiCache/SecurityGroupIngress.hs +61/−0
- gen/Stratosphere/ElastiCache/ServerlessCache.hs +179/−0
- gen/Stratosphere/ElastiCache/ServerlessCache/CacheUsageLimitsProperty.hs +49/−0
- gen/Stratosphere/ElastiCache/ServerlessCache/CacheUsageLimitsProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/ServerlessCache/DataStorageProperty.hs +55/−0
- gen/Stratosphere/ElastiCache/ServerlessCache/DataStorageProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/ServerlessCache/ECPUPerSecondProperty.hs +45/−0
- gen/Stratosphere/ElastiCache/ServerlessCache/ECPUPerSecondProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/ServerlessCache/EndpointProperty.hs +45/−0
- gen/Stratosphere/ElastiCache/ServerlessCache/EndpointProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/SubnetGroup.hs +64/−0
- gen/Stratosphere/ElastiCache/User.hs +95/−0
- gen/Stratosphere/ElastiCache/User/AuthenticationModeProperty.hs +47/−0
- gen/Stratosphere/ElastiCache/User/AuthenticationModeProperty.hs-boot +9/−0
- gen/Stratosphere/ElastiCache/UserGroup.hs +61/−0
- stratosphere-elasticache.cabal +99/−0
+ 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/ElastiCache/CacheCluster.hs view
@@ -0,0 +1,277 @@+module Stratosphere.ElastiCache.CacheCluster (+ module Exports, CacheCluster(..), mkCacheCluster+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.CacheCluster.LogDeliveryConfigurationRequestProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data CacheCluster+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html>+ CacheCluster {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-azmode>+ aZMode :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-autominorversionupgrade>+ autoMinorVersionUpgrade :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachenodetype>+ cacheNodeType :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cacheparametergroupname>+ cacheParameterGroupName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachesecuritygroupnames>+ cacheSecurityGroupNames :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-cachesubnetgroupname>+ cacheSubnetGroupName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-clustername>+ clusterName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-engine>+ engine :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-engineversion>+ engineVersion :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-ipdiscovery>+ ipDiscovery :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-logdeliveryconfigurations>+ logDeliveryConfigurations :: (Prelude.Maybe [LogDeliveryConfigurationRequestProperty]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-networktype>+ networkType :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-notificationtopicarn>+ notificationTopicArn :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-numcachenodes>+ numCacheNodes :: (Value Prelude.Integer),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-port>+ port :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredavailabilityzone>+ preferredAvailabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredavailabilityzones>+ preferredAvailabilityZones :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-preferredmaintenancewindow>+ preferredMaintenanceWindow :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotarns>+ snapshotArns :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotname>+ snapshotName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotretentionlimit>+ snapshotRetentionLimit :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-snapshotwindow>+ snapshotWindow :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-tags>+ tags :: (Prelude.Maybe [Tag]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-transitencryptionenabled>+ transitEncryptionEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cache-cluster.html#cfn-elasticache-cachecluster-vpcsecuritygroupids>+ vpcSecurityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkCacheCluster ::+ Value Prelude.Text+ -> Value Prelude.Text -> Value Prelude.Integer -> CacheCluster+mkCacheCluster cacheNodeType engine numCacheNodes+ = CacheCluster+ {haddock_workaround_ = (), cacheNodeType = cacheNodeType,+ engine = engine, numCacheNodes = numCacheNodes,+ aZMode = Prelude.Nothing,+ autoMinorVersionUpgrade = Prelude.Nothing,+ cacheParameterGroupName = Prelude.Nothing,+ cacheSecurityGroupNames = Prelude.Nothing,+ cacheSubnetGroupName = Prelude.Nothing,+ clusterName = Prelude.Nothing, engineVersion = Prelude.Nothing,+ ipDiscovery = Prelude.Nothing,+ logDeliveryConfigurations = Prelude.Nothing,+ networkType = Prelude.Nothing,+ notificationTopicArn = Prelude.Nothing, port = Prelude.Nothing,+ preferredAvailabilityZone = Prelude.Nothing,+ preferredAvailabilityZones = Prelude.Nothing,+ preferredMaintenanceWindow = Prelude.Nothing,+ snapshotArns = Prelude.Nothing, snapshotName = Prelude.Nothing,+ snapshotRetentionLimit = Prelude.Nothing,+ snapshotWindow = Prelude.Nothing, tags = Prelude.Nothing,+ transitEncryptionEnabled = Prelude.Nothing,+ vpcSecurityGroupIds = Prelude.Nothing}+instance ToResourceProperties CacheCluster where+ toResourceProperties CacheCluster {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::CacheCluster",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["CacheNodeType" JSON..= cacheNodeType, "Engine" JSON..= engine,+ "NumCacheNodes" JSON..= numCacheNodes]+ (Prelude.catMaybes+ [(JSON..=) "AZMode" Prelude.<$> aZMode,+ (JSON..=) "AutoMinorVersionUpgrade"+ Prelude.<$> autoMinorVersionUpgrade,+ (JSON..=) "CacheParameterGroupName"+ Prelude.<$> cacheParameterGroupName,+ (JSON..=) "CacheSecurityGroupNames"+ Prelude.<$> cacheSecurityGroupNames,+ (JSON..=) "CacheSubnetGroupName" Prelude.<$> cacheSubnetGroupName,+ (JSON..=) "ClusterName" Prelude.<$> clusterName,+ (JSON..=) "EngineVersion" Prelude.<$> engineVersion,+ (JSON..=) "IpDiscovery" Prelude.<$> ipDiscovery,+ (JSON..=) "LogDeliveryConfigurations"+ Prelude.<$> logDeliveryConfigurations,+ (JSON..=) "NetworkType" Prelude.<$> networkType,+ (JSON..=) "NotificationTopicArn" Prelude.<$> notificationTopicArn,+ (JSON..=) "Port" Prelude.<$> port,+ (JSON..=) "PreferredAvailabilityZone"+ Prelude.<$> preferredAvailabilityZone,+ (JSON..=) "PreferredAvailabilityZones"+ Prelude.<$> preferredAvailabilityZones,+ (JSON..=) "PreferredMaintenanceWindow"+ Prelude.<$> preferredMaintenanceWindow,+ (JSON..=) "SnapshotArns" Prelude.<$> snapshotArns,+ (JSON..=) "SnapshotName" Prelude.<$> snapshotName,+ (JSON..=) "SnapshotRetentionLimit"+ Prelude.<$> snapshotRetentionLimit,+ (JSON..=) "SnapshotWindow" Prelude.<$> snapshotWindow,+ (JSON..=) "Tags" Prelude.<$> tags,+ (JSON..=) "TransitEncryptionEnabled"+ Prelude.<$> transitEncryptionEnabled,+ (JSON..=) "VpcSecurityGroupIds" Prelude.<$> vpcSecurityGroupIds]))}+instance JSON.ToJSON CacheCluster where+ toJSON CacheCluster {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["CacheNodeType" JSON..= cacheNodeType, "Engine" JSON..= engine,+ "NumCacheNodes" JSON..= numCacheNodes]+ (Prelude.catMaybes+ [(JSON..=) "AZMode" Prelude.<$> aZMode,+ (JSON..=) "AutoMinorVersionUpgrade"+ Prelude.<$> autoMinorVersionUpgrade,+ (JSON..=) "CacheParameterGroupName"+ Prelude.<$> cacheParameterGroupName,+ (JSON..=) "CacheSecurityGroupNames"+ Prelude.<$> cacheSecurityGroupNames,+ (JSON..=) "CacheSubnetGroupName" Prelude.<$> cacheSubnetGroupName,+ (JSON..=) "ClusterName" Prelude.<$> clusterName,+ (JSON..=) "EngineVersion" Prelude.<$> engineVersion,+ (JSON..=) "IpDiscovery" Prelude.<$> ipDiscovery,+ (JSON..=) "LogDeliveryConfigurations"+ Prelude.<$> logDeliveryConfigurations,+ (JSON..=) "NetworkType" Prelude.<$> networkType,+ (JSON..=) "NotificationTopicArn" Prelude.<$> notificationTopicArn,+ (JSON..=) "Port" Prelude.<$> port,+ (JSON..=) "PreferredAvailabilityZone"+ Prelude.<$> preferredAvailabilityZone,+ (JSON..=) "PreferredAvailabilityZones"+ Prelude.<$> preferredAvailabilityZones,+ (JSON..=) "PreferredMaintenanceWindow"+ Prelude.<$> preferredMaintenanceWindow,+ (JSON..=) "SnapshotArns" Prelude.<$> snapshotArns,+ (JSON..=) "SnapshotName" Prelude.<$> snapshotName,+ (JSON..=) "SnapshotRetentionLimit"+ Prelude.<$> snapshotRetentionLimit,+ (JSON..=) "SnapshotWindow" Prelude.<$> snapshotWindow,+ (JSON..=) "Tags" Prelude.<$> tags,+ (JSON..=) "TransitEncryptionEnabled"+ Prelude.<$> transitEncryptionEnabled,+ (JSON..=) "VpcSecurityGroupIds" Prelude.<$> vpcSecurityGroupIds])))+instance Property "AZMode" CacheCluster where+ type PropertyType "AZMode" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {aZMode = Prelude.pure newValue, ..}+instance Property "AutoMinorVersionUpgrade" CacheCluster where+ type PropertyType "AutoMinorVersionUpgrade" CacheCluster = Value Prelude.Bool+ set newValue CacheCluster {..}+ = CacheCluster+ {autoMinorVersionUpgrade = Prelude.pure newValue, ..}+instance Property "CacheNodeType" CacheCluster where+ type PropertyType "CacheNodeType" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {cacheNodeType = newValue, ..}+instance Property "CacheParameterGroupName" CacheCluster where+ type PropertyType "CacheParameterGroupName" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster+ {cacheParameterGroupName = Prelude.pure newValue, ..}+instance Property "CacheSecurityGroupNames" CacheCluster where+ type PropertyType "CacheSecurityGroupNames" CacheCluster = ValueList Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster+ {cacheSecurityGroupNames = Prelude.pure newValue, ..}+instance Property "CacheSubnetGroupName" CacheCluster where+ type PropertyType "CacheSubnetGroupName" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {cacheSubnetGroupName = Prelude.pure newValue, ..}+instance Property "ClusterName" CacheCluster where+ type PropertyType "ClusterName" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {clusterName = Prelude.pure newValue, ..}+instance Property "Engine" CacheCluster where+ type PropertyType "Engine" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {engine = newValue, ..}+instance Property "EngineVersion" CacheCluster where+ type PropertyType "EngineVersion" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {engineVersion = Prelude.pure newValue, ..}+instance Property "IpDiscovery" CacheCluster where+ type PropertyType "IpDiscovery" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {ipDiscovery = Prelude.pure newValue, ..}+instance Property "LogDeliveryConfigurations" CacheCluster where+ type PropertyType "LogDeliveryConfigurations" CacheCluster = [LogDeliveryConfigurationRequestProperty]+ set newValue CacheCluster {..}+ = CacheCluster+ {logDeliveryConfigurations = Prelude.pure newValue, ..}+instance Property "NetworkType" CacheCluster where+ type PropertyType "NetworkType" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {networkType = Prelude.pure newValue, ..}+instance Property "NotificationTopicArn" CacheCluster where+ type PropertyType "NotificationTopicArn" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {notificationTopicArn = Prelude.pure newValue, ..}+instance Property "NumCacheNodes" CacheCluster where+ type PropertyType "NumCacheNodes" CacheCluster = Value Prelude.Integer+ set newValue CacheCluster {..}+ = CacheCluster {numCacheNodes = newValue, ..}+instance Property "Port" CacheCluster where+ type PropertyType "Port" CacheCluster = Value Prelude.Integer+ set newValue CacheCluster {..}+ = CacheCluster {port = Prelude.pure newValue, ..}+instance Property "PreferredAvailabilityZone" CacheCluster where+ type PropertyType "PreferredAvailabilityZone" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster+ {preferredAvailabilityZone = Prelude.pure newValue, ..}+instance Property "PreferredAvailabilityZones" CacheCluster where+ type PropertyType "PreferredAvailabilityZones" CacheCluster = ValueList Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster+ {preferredAvailabilityZones = Prelude.pure newValue, ..}+instance Property "PreferredMaintenanceWindow" CacheCluster where+ type PropertyType "PreferredMaintenanceWindow" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster+ {preferredMaintenanceWindow = Prelude.pure newValue, ..}+instance Property "SnapshotArns" CacheCluster where+ type PropertyType "SnapshotArns" CacheCluster = ValueList Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {snapshotArns = Prelude.pure newValue, ..}+instance Property "SnapshotName" CacheCluster where+ type PropertyType "SnapshotName" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {snapshotName = Prelude.pure newValue, ..}+instance Property "SnapshotRetentionLimit" CacheCluster where+ type PropertyType "SnapshotRetentionLimit" CacheCluster = Value Prelude.Integer+ set newValue CacheCluster {..}+ = CacheCluster {snapshotRetentionLimit = Prelude.pure newValue, ..}+instance Property "SnapshotWindow" CacheCluster where+ type PropertyType "SnapshotWindow" CacheCluster = Value Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {snapshotWindow = Prelude.pure newValue, ..}+instance Property "Tags" CacheCluster where+ type PropertyType "Tags" CacheCluster = [Tag]+ set newValue CacheCluster {..}+ = CacheCluster {tags = Prelude.pure newValue, ..}+instance Property "TransitEncryptionEnabled" CacheCluster where+ type PropertyType "TransitEncryptionEnabled" CacheCluster = Value Prelude.Bool+ set newValue CacheCluster {..}+ = CacheCluster+ {transitEncryptionEnabled = Prelude.pure newValue, ..}+instance Property "VpcSecurityGroupIds" CacheCluster where+ type PropertyType "VpcSecurityGroupIds" CacheCluster = ValueList Prelude.Text+ set newValue CacheCluster {..}+ = CacheCluster {vpcSecurityGroupIds = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/CacheCluster/CloudWatchLogsDestinationDetailsProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.ElastiCache.CacheCluster.CloudWatchLogsDestinationDetailsProperty (+ CloudWatchLogsDestinationDetailsProperty(..),+ mkCloudWatchLogsDestinationDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CloudWatchLogsDestinationDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-cloudwatchlogsdestinationdetails.html>+ CloudWatchLogsDestinationDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-cloudwatchlogsdestinationdetails.html#cfn-elasticache-cachecluster-cloudwatchlogsdestinationdetails-loggroup>+ logGroup :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkCloudWatchLogsDestinationDetailsProperty ::+ Value Prelude.Text -> CloudWatchLogsDestinationDetailsProperty+mkCloudWatchLogsDestinationDetailsProperty logGroup+ = CloudWatchLogsDestinationDetailsProperty+ {haddock_workaround_ = (), logGroup = logGroup}+instance ToResourceProperties CloudWatchLogsDestinationDetailsProperty where+ toResourceProperties CloudWatchLogsDestinationDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::CacheCluster.CloudWatchLogsDestinationDetails",+ supportsTags = Prelude.False,+ properties = ["LogGroup" JSON..= logGroup]}+instance JSON.ToJSON CloudWatchLogsDestinationDetailsProperty where+ toJSON CloudWatchLogsDestinationDetailsProperty {..}+ = JSON.object ["LogGroup" JSON..= logGroup]+instance Property "LogGroup" CloudWatchLogsDestinationDetailsProperty where+ type PropertyType "LogGroup" CloudWatchLogsDestinationDetailsProperty = Value Prelude.Text+ set newValue CloudWatchLogsDestinationDetailsProperty {..}+ = CloudWatchLogsDestinationDetailsProperty+ {logGroup = newValue, ..}
+ gen/Stratosphere/ElastiCache/CacheCluster/CloudWatchLogsDestinationDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.CacheCluster.CloudWatchLogsDestinationDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CloudWatchLogsDestinationDetailsProperty :: Prelude.Type+instance ToResourceProperties CloudWatchLogsDestinationDetailsProperty+instance Prelude.Eq CloudWatchLogsDestinationDetailsProperty+instance Prelude.Show CloudWatchLogsDestinationDetailsProperty+instance JSON.ToJSON CloudWatchLogsDestinationDetailsProperty
+ gen/Stratosphere/ElastiCache/CacheCluster/DestinationDetailsProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.ElastiCache.CacheCluster.DestinationDetailsProperty (+ module Exports, DestinationDetailsProperty(..),+ mkDestinationDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.CacheCluster.CloudWatchLogsDestinationDetailsProperty as Exports+import {-# SOURCE #-} Stratosphere.ElastiCache.CacheCluster.KinesisFirehoseDestinationDetailsProperty as Exports+import Stratosphere.ResourceProperties+data DestinationDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-destinationdetails.html>+ DestinationDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-destinationdetails.html#cfn-elasticache-cachecluster-destinationdetails-cloudwatchlogsdetails>+ cloudWatchLogsDetails :: (Prelude.Maybe CloudWatchLogsDestinationDetailsProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-destinationdetails.html#cfn-elasticache-cachecluster-destinationdetails-kinesisfirehosedetails>+ kinesisFirehoseDetails :: (Prelude.Maybe KinesisFirehoseDestinationDetailsProperty)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkDestinationDetailsProperty :: DestinationDetailsProperty+mkDestinationDetailsProperty+ = DestinationDetailsProperty+ {haddock_workaround_ = (), cloudWatchLogsDetails = Prelude.Nothing,+ kinesisFirehoseDetails = Prelude.Nothing}+instance ToResourceProperties DestinationDetailsProperty where+ toResourceProperties DestinationDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::CacheCluster.DestinationDetails",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "CloudWatchLogsDetails"+ Prelude.<$> cloudWatchLogsDetails,+ (JSON..=) "KinesisFirehoseDetails"+ Prelude.<$> kinesisFirehoseDetails])}+instance JSON.ToJSON DestinationDetailsProperty where+ toJSON DestinationDetailsProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "CloudWatchLogsDetails"+ Prelude.<$> cloudWatchLogsDetails,+ (JSON..=) "KinesisFirehoseDetails"+ Prelude.<$> kinesisFirehoseDetails]))+instance Property "CloudWatchLogsDetails" DestinationDetailsProperty where+ type PropertyType "CloudWatchLogsDetails" DestinationDetailsProperty = CloudWatchLogsDestinationDetailsProperty+ set newValue DestinationDetailsProperty {..}+ = DestinationDetailsProperty+ {cloudWatchLogsDetails = Prelude.pure newValue, ..}+instance Property "KinesisFirehoseDetails" DestinationDetailsProperty where+ type PropertyType "KinesisFirehoseDetails" DestinationDetailsProperty = KinesisFirehoseDestinationDetailsProperty+ set newValue DestinationDetailsProperty {..}+ = DestinationDetailsProperty+ {kinesisFirehoseDetails = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/CacheCluster/DestinationDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.CacheCluster.DestinationDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DestinationDetailsProperty :: Prelude.Type+instance ToResourceProperties DestinationDetailsProperty+instance Prelude.Eq DestinationDetailsProperty+instance Prelude.Show DestinationDetailsProperty+instance JSON.ToJSON DestinationDetailsProperty
+ gen/Stratosphere/ElastiCache/CacheCluster/KinesisFirehoseDestinationDetailsProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.ElastiCache.CacheCluster.KinesisFirehoseDestinationDetailsProperty (+ KinesisFirehoseDestinationDetailsProperty(..),+ mkKinesisFirehoseDestinationDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data KinesisFirehoseDestinationDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-kinesisfirehosedestinationdetails.html>+ KinesisFirehoseDestinationDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-kinesisfirehosedestinationdetails.html#cfn-elasticache-cachecluster-kinesisfirehosedestinationdetails-deliverystream>+ deliveryStream :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkKinesisFirehoseDestinationDetailsProperty ::+ Value Prelude.Text -> KinesisFirehoseDestinationDetailsProperty+mkKinesisFirehoseDestinationDetailsProperty deliveryStream+ = KinesisFirehoseDestinationDetailsProperty+ {haddock_workaround_ = (), deliveryStream = deliveryStream}+instance ToResourceProperties KinesisFirehoseDestinationDetailsProperty where+ toResourceProperties KinesisFirehoseDestinationDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::CacheCluster.KinesisFirehoseDestinationDetails",+ supportsTags = Prelude.False,+ properties = ["DeliveryStream" JSON..= deliveryStream]}+instance JSON.ToJSON KinesisFirehoseDestinationDetailsProperty where+ toJSON KinesisFirehoseDestinationDetailsProperty {..}+ = JSON.object ["DeliveryStream" JSON..= deliveryStream]+instance Property "DeliveryStream" KinesisFirehoseDestinationDetailsProperty where+ type PropertyType "DeliveryStream" KinesisFirehoseDestinationDetailsProperty = Value Prelude.Text+ set newValue KinesisFirehoseDestinationDetailsProperty {..}+ = KinesisFirehoseDestinationDetailsProperty+ {deliveryStream = newValue, ..}
+ gen/Stratosphere/ElastiCache/CacheCluster/KinesisFirehoseDestinationDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.CacheCluster.KinesisFirehoseDestinationDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data KinesisFirehoseDestinationDetailsProperty :: Prelude.Type+instance ToResourceProperties KinesisFirehoseDestinationDetailsProperty+instance Prelude.Eq KinesisFirehoseDestinationDetailsProperty+instance Prelude.Show KinesisFirehoseDestinationDetailsProperty+instance JSON.ToJSON KinesisFirehoseDestinationDetailsProperty
+ gen/Stratosphere/ElastiCache/CacheCluster/LogDeliveryConfigurationRequestProperty.hs view
@@ -0,0 +1,69 @@+module Stratosphere.ElastiCache.CacheCluster.LogDeliveryConfigurationRequestProperty (+ module Exports, LogDeliveryConfigurationRequestProperty(..),+ mkLogDeliveryConfigurationRequestProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.CacheCluster.DestinationDetailsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LogDeliveryConfigurationRequestProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html>+ LogDeliveryConfigurationRequestProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-destinationdetails>+ destinationDetails :: DestinationDetailsProperty,+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-destinationtype>+ destinationType :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-logformat>+ logFormat :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-cachecluster-logdeliveryconfigurationrequest.html#cfn-elasticache-cachecluster-logdeliveryconfigurationrequest-logtype>+ logType :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkLogDeliveryConfigurationRequestProperty ::+ DestinationDetailsProperty+ -> Value Prelude.Text+ -> Value Prelude.Text+ -> Value Prelude.Text -> LogDeliveryConfigurationRequestProperty+mkLogDeliveryConfigurationRequestProperty+ destinationDetails+ destinationType+ logFormat+ logType+ = LogDeliveryConfigurationRequestProperty+ {haddock_workaround_ = (), destinationDetails = destinationDetails,+ destinationType = destinationType, logFormat = logFormat,+ logType = logType}+instance ToResourceProperties LogDeliveryConfigurationRequestProperty where+ toResourceProperties LogDeliveryConfigurationRequestProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::CacheCluster.LogDeliveryConfigurationRequest",+ supportsTags = Prelude.False,+ properties = ["DestinationDetails" JSON..= destinationDetails,+ "DestinationType" JSON..= destinationType,+ "LogFormat" JSON..= logFormat, "LogType" JSON..= logType]}+instance JSON.ToJSON LogDeliveryConfigurationRequestProperty where+ toJSON LogDeliveryConfigurationRequestProperty {..}+ = JSON.object+ ["DestinationDetails" JSON..= destinationDetails,+ "DestinationType" JSON..= destinationType,+ "LogFormat" JSON..= logFormat, "LogType" JSON..= logType]+instance Property "DestinationDetails" LogDeliveryConfigurationRequestProperty where+ type PropertyType "DestinationDetails" LogDeliveryConfigurationRequestProperty = DestinationDetailsProperty+ set newValue LogDeliveryConfigurationRequestProperty {..}+ = LogDeliveryConfigurationRequestProperty+ {destinationDetails = newValue, ..}+instance Property "DestinationType" LogDeliveryConfigurationRequestProperty where+ type PropertyType "DestinationType" LogDeliveryConfigurationRequestProperty = Value Prelude.Text+ set newValue LogDeliveryConfigurationRequestProperty {..}+ = LogDeliveryConfigurationRequestProperty+ {destinationType = newValue, ..}+instance Property "LogFormat" LogDeliveryConfigurationRequestProperty where+ type PropertyType "LogFormat" LogDeliveryConfigurationRequestProperty = Value Prelude.Text+ set newValue LogDeliveryConfigurationRequestProperty {..}+ = LogDeliveryConfigurationRequestProperty+ {logFormat = newValue, ..}+instance Property "LogType" LogDeliveryConfigurationRequestProperty where+ type PropertyType "LogType" LogDeliveryConfigurationRequestProperty = Value Prelude.Text+ set newValue LogDeliveryConfigurationRequestProperty {..}+ = LogDeliveryConfigurationRequestProperty {logType = newValue, ..}
+ gen/Stratosphere/ElastiCache/CacheCluster/LogDeliveryConfigurationRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.CacheCluster.LogDeliveryConfigurationRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LogDeliveryConfigurationRequestProperty :: Prelude.Type+instance ToResourceProperties LogDeliveryConfigurationRequestProperty+instance Prelude.Eq LogDeliveryConfigurationRequestProperty+instance Prelude.Show LogDeliveryConfigurationRequestProperty+instance JSON.ToJSON LogDeliveryConfigurationRequestProperty
+ gen/Stratosphere/ElastiCache/GlobalReplicationGroup.hs view
@@ -0,0 +1,140 @@+module Stratosphere.ElastiCache.GlobalReplicationGroup (+ module Exports, GlobalReplicationGroup(..),+ mkGlobalReplicationGroup+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.GlobalReplicationGroup.GlobalReplicationGroupMemberProperty as Exports+import {-# SOURCE #-} Stratosphere.ElastiCache.GlobalReplicationGroup.RegionalConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GlobalReplicationGroup+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html>+ GlobalReplicationGroup {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-automaticfailoverenabled>+ automaticFailoverEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-cachenodetype>+ cacheNodeType :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-cacheparametergroupname>+ cacheParameterGroupName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-engine>+ engine :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-engineversion>+ engineVersion :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-globalnodegroupcount>+ globalNodeGroupCount :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupdescription>+ globalReplicationGroupDescription :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupidsuffix>+ globalReplicationGroupIdSuffix :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-members>+ members :: [GlobalReplicationGroupMemberProperty],+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-globalreplicationgroup.html#cfn-elasticache-globalreplicationgroup-regionalconfigurations>+ regionalConfigurations :: (Prelude.Maybe [RegionalConfigurationProperty])}+ deriving stock (Prelude.Eq, Prelude.Show)+mkGlobalReplicationGroup ::+ [GlobalReplicationGroupMemberProperty] -> GlobalReplicationGroup+mkGlobalReplicationGroup members+ = GlobalReplicationGroup+ {haddock_workaround_ = (), members = members,+ automaticFailoverEnabled = Prelude.Nothing,+ cacheNodeType = Prelude.Nothing,+ cacheParameterGroupName = Prelude.Nothing,+ engine = Prelude.Nothing, engineVersion = Prelude.Nothing,+ globalNodeGroupCount = Prelude.Nothing,+ globalReplicationGroupDescription = Prelude.Nothing,+ globalReplicationGroupIdSuffix = Prelude.Nothing,+ regionalConfigurations = Prelude.Nothing}+instance ToResourceProperties GlobalReplicationGroup where+ toResourceProperties GlobalReplicationGroup {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::GlobalReplicationGroup",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Members" JSON..= members]+ (Prelude.catMaybes+ [(JSON..=) "AutomaticFailoverEnabled"+ Prelude.<$> automaticFailoverEnabled,+ (JSON..=) "CacheNodeType" Prelude.<$> cacheNodeType,+ (JSON..=) "CacheParameterGroupName"+ Prelude.<$> cacheParameterGroupName,+ (JSON..=) "Engine" Prelude.<$> engine,+ (JSON..=) "EngineVersion" Prelude.<$> engineVersion,+ (JSON..=) "GlobalNodeGroupCount" Prelude.<$> globalNodeGroupCount,+ (JSON..=) "GlobalReplicationGroupDescription"+ Prelude.<$> globalReplicationGroupDescription,+ (JSON..=) "GlobalReplicationGroupIdSuffix"+ Prelude.<$> globalReplicationGroupIdSuffix,+ (JSON..=) "RegionalConfigurations"+ Prelude.<$> regionalConfigurations]))}+instance JSON.ToJSON GlobalReplicationGroup where+ toJSON GlobalReplicationGroup {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Members" JSON..= members]+ (Prelude.catMaybes+ [(JSON..=) "AutomaticFailoverEnabled"+ Prelude.<$> automaticFailoverEnabled,+ (JSON..=) "CacheNodeType" Prelude.<$> cacheNodeType,+ (JSON..=) "CacheParameterGroupName"+ Prelude.<$> cacheParameterGroupName,+ (JSON..=) "Engine" Prelude.<$> engine,+ (JSON..=) "EngineVersion" Prelude.<$> engineVersion,+ (JSON..=) "GlobalNodeGroupCount" Prelude.<$> globalNodeGroupCount,+ (JSON..=) "GlobalReplicationGroupDescription"+ Prelude.<$> globalReplicationGroupDescription,+ (JSON..=) "GlobalReplicationGroupIdSuffix"+ Prelude.<$> globalReplicationGroupIdSuffix,+ (JSON..=) "RegionalConfigurations"+ Prelude.<$> regionalConfigurations])))+instance Property "AutomaticFailoverEnabled" GlobalReplicationGroup where+ type PropertyType "AutomaticFailoverEnabled" GlobalReplicationGroup = Value Prelude.Bool+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup+ {automaticFailoverEnabled = Prelude.pure newValue, ..}+instance Property "CacheNodeType" GlobalReplicationGroup where+ type PropertyType "CacheNodeType" GlobalReplicationGroup = Value Prelude.Text+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup+ {cacheNodeType = Prelude.pure newValue, ..}+instance Property "CacheParameterGroupName" GlobalReplicationGroup where+ type PropertyType "CacheParameterGroupName" GlobalReplicationGroup = Value Prelude.Text+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup+ {cacheParameterGroupName = Prelude.pure newValue, ..}+instance Property "Engine" GlobalReplicationGroup where+ type PropertyType "Engine" GlobalReplicationGroup = Value Prelude.Text+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup {engine = Prelude.pure newValue, ..}+instance Property "EngineVersion" GlobalReplicationGroup where+ type PropertyType "EngineVersion" GlobalReplicationGroup = Value Prelude.Text+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup+ {engineVersion = Prelude.pure newValue, ..}+instance Property "GlobalNodeGroupCount" GlobalReplicationGroup where+ type PropertyType "GlobalNodeGroupCount" GlobalReplicationGroup = Value Prelude.Integer+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup+ {globalNodeGroupCount = Prelude.pure newValue, ..}+instance Property "GlobalReplicationGroupDescription" GlobalReplicationGroup where+ type PropertyType "GlobalReplicationGroupDescription" GlobalReplicationGroup = Value Prelude.Text+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup+ {globalReplicationGroupDescription = Prelude.pure newValue, ..}+instance Property "GlobalReplicationGroupIdSuffix" GlobalReplicationGroup where+ type PropertyType "GlobalReplicationGroupIdSuffix" GlobalReplicationGroup = Value Prelude.Text+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup+ {globalReplicationGroupIdSuffix = Prelude.pure newValue, ..}+instance Property "Members" GlobalReplicationGroup where+ type PropertyType "Members" GlobalReplicationGroup = [GlobalReplicationGroupMemberProperty]+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup {members = newValue, ..}+instance Property "RegionalConfigurations" GlobalReplicationGroup where+ type PropertyType "RegionalConfigurations" GlobalReplicationGroup = [RegionalConfigurationProperty]+ set newValue GlobalReplicationGroup {..}+ = GlobalReplicationGroup+ {regionalConfigurations = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/GlobalReplicationGroup/GlobalReplicationGroupMemberProperty.hs view
@@ -0,0 +1,60 @@+module Stratosphere.ElastiCache.GlobalReplicationGroup.GlobalReplicationGroupMemberProperty (+ GlobalReplicationGroupMemberProperty(..),+ mkGlobalReplicationGroupMemberProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data GlobalReplicationGroupMemberProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html>+ GlobalReplicationGroupMemberProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupid>+ replicationGroupId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-replicationgroupregion>+ replicationGroupRegion :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-globalreplicationgroupmember.html#cfn-elasticache-globalreplicationgroup-globalreplicationgroupmember-role>+ role :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkGlobalReplicationGroupMemberProperty ::+ GlobalReplicationGroupMemberProperty+mkGlobalReplicationGroupMemberProperty+ = GlobalReplicationGroupMemberProperty+ {haddock_workaround_ = (), replicationGroupId = Prelude.Nothing,+ replicationGroupRegion = Prelude.Nothing, role = Prelude.Nothing}+instance ToResourceProperties GlobalReplicationGroupMemberProperty where+ toResourceProperties GlobalReplicationGroupMemberProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::GlobalReplicationGroup.GlobalReplicationGroupMember",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "ReplicationGroupId" Prelude.<$> replicationGroupId,+ (JSON..=) "ReplicationGroupRegion"+ Prelude.<$> replicationGroupRegion,+ (JSON..=) "Role" Prelude.<$> role])}+instance JSON.ToJSON GlobalReplicationGroupMemberProperty where+ toJSON GlobalReplicationGroupMemberProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "ReplicationGroupId" Prelude.<$> replicationGroupId,+ (JSON..=) "ReplicationGroupRegion"+ Prelude.<$> replicationGroupRegion,+ (JSON..=) "Role" Prelude.<$> role]))+instance Property "ReplicationGroupId" GlobalReplicationGroupMemberProperty where+ type PropertyType "ReplicationGroupId" GlobalReplicationGroupMemberProperty = Value Prelude.Text+ set newValue GlobalReplicationGroupMemberProperty {..}+ = GlobalReplicationGroupMemberProperty+ {replicationGroupId = Prelude.pure newValue, ..}+instance Property "ReplicationGroupRegion" GlobalReplicationGroupMemberProperty where+ type PropertyType "ReplicationGroupRegion" GlobalReplicationGroupMemberProperty = Value Prelude.Text+ set newValue GlobalReplicationGroupMemberProperty {..}+ = GlobalReplicationGroupMemberProperty+ {replicationGroupRegion = Prelude.pure newValue, ..}+instance Property "Role" GlobalReplicationGroupMemberProperty where+ type PropertyType "Role" GlobalReplicationGroupMemberProperty = Value Prelude.Text+ set newValue GlobalReplicationGroupMemberProperty {..}+ = GlobalReplicationGroupMemberProperty+ {role = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/GlobalReplicationGroup/GlobalReplicationGroupMemberProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.GlobalReplicationGroup.GlobalReplicationGroupMemberProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data GlobalReplicationGroupMemberProperty :: Prelude.Type+instance ToResourceProperties GlobalReplicationGroupMemberProperty+instance Prelude.Eq GlobalReplicationGroupMemberProperty+instance Prelude.Show GlobalReplicationGroupMemberProperty+instance JSON.ToJSON GlobalReplicationGroupMemberProperty
+ gen/Stratosphere/ElastiCache/GlobalReplicationGroup/RegionalConfigurationProperty.hs view
@@ -0,0 +1,63 @@+module Stratosphere.ElastiCache.GlobalReplicationGroup.RegionalConfigurationProperty (+ module Exports, RegionalConfigurationProperty(..),+ mkRegionalConfigurationProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.GlobalReplicationGroup.ReshardingConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data RegionalConfigurationProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html>+ RegionalConfigurationProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupid>+ replicationGroupId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html#cfn-elasticache-globalreplicationgroup-regionalconfiguration-replicationgroupregion>+ replicationGroupRegion :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-regionalconfiguration.html#cfn-elasticache-globalreplicationgroup-regionalconfiguration-reshardingconfigurations>+ reshardingConfigurations :: (Prelude.Maybe [ReshardingConfigurationProperty])}+ deriving stock (Prelude.Eq, Prelude.Show)+mkRegionalConfigurationProperty :: RegionalConfigurationProperty+mkRegionalConfigurationProperty+ = RegionalConfigurationProperty+ {haddock_workaround_ = (), replicationGroupId = Prelude.Nothing,+ replicationGroupRegion = Prelude.Nothing,+ reshardingConfigurations = Prelude.Nothing}+instance ToResourceProperties RegionalConfigurationProperty where+ toResourceProperties RegionalConfigurationProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::GlobalReplicationGroup.RegionalConfiguration",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "ReplicationGroupId" Prelude.<$> replicationGroupId,+ (JSON..=) "ReplicationGroupRegion"+ Prelude.<$> replicationGroupRegion,+ (JSON..=) "ReshardingConfigurations"+ Prelude.<$> reshardingConfigurations])}+instance JSON.ToJSON RegionalConfigurationProperty where+ toJSON RegionalConfigurationProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "ReplicationGroupId" Prelude.<$> replicationGroupId,+ (JSON..=) "ReplicationGroupRegion"+ Prelude.<$> replicationGroupRegion,+ (JSON..=) "ReshardingConfigurations"+ Prelude.<$> reshardingConfigurations]))+instance Property "ReplicationGroupId" RegionalConfigurationProperty where+ type PropertyType "ReplicationGroupId" RegionalConfigurationProperty = Value Prelude.Text+ set newValue RegionalConfigurationProperty {..}+ = RegionalConfigurationProperty+ {replicationGroupId = Prelude.pure newValue, ..}+instance Property "ReplicationGroupRegion" RegionalConfigurationProperty where+ type PropertyType "ReplicationGroupRegion" RegionalConfigurationProperty = Value Prelude.Text+ set newValue RegionalConfigurationProperty {..}+ = RegionalConfigurationProperty+ {replicationGroupRegion = Prelude.pure newValue, ..}+instance Property "ReshardingConfigurations" RegionalConfigurationProperty where+ type PropertyType "ReshardingConfigurations" RegionalConfigurationProperty = [ReshardingConfigurationProperty]+ set newValue RegionalConfigurationProperty {..}+ = RegionalConfigurationProperty+ {reshardingConfigurations = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/GlobalReplicationGroup/RegionalConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.GlobalReplicationGroup.RegionalConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data RegionalConfigurationProperty :: Prelude.Type+instance ToResourceProperties RegionalConfigurationProperty+instance Prelude.Eq RegionalConfigurationProperty+instance Prelude.Show RegionalConfigurationProperty+instance JSON.ToJSON RegionalConfigurationProperty
+ gen/Stratosphere/ElastiCache/GlobalReplicationGroup/ReshardingConfigurationProperty.hs view
@@ -0,0 +1,51 @@+module Stratosphere.ElastiCache.GlobalReplicationGroup.ReshardingConfigurationProperty (+ ReshardingConfigurationProperty(..),+ mkReshardingConfigurationProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ReshardingConfigurationProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.html>+ ReshardingConfigurationProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.html#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-nodegroupid>+ nodeGroupId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-globalreplicationgroup-reshardingconfiguration.html#cfn-elasticache-globalreplicationgroup-reshardingconfiguration-preferredavailabilityzones>+ preferredAvailabilityZones :: (Prelude.Maybe (ValueList Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkReshardingConfigurationProperty ::+ ReshardingConfigurationProperty+mkReshardingConfigurationProperty+ = ReshardingConfigurationProperty+ {haddock_workaround_ = (), nodeGroupId = Prelude.Nothing,+ preferredAvailabilityZones = Prelude.Nothing}+instance ToResourceProperties ReshardingConfigurationProperty where+ toResourceProperties ReshardingConfigurationProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::GlobalReplicationGroup.ReshardingConfiguration",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "NodeGroupId" Prelude.<$> nodeGroupId,+ (JSON..=) "PreferredAvailabilityZones"+ Prelude.<$> preferredAvailabilityZones])}+instance JSON.ToJSON ReshardingConfigurationProperty where+ toJSON ReshardingConfigurationProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "NodeGroupId" Prelude.<$> nodeGroupId,+ (JSON..=) "PreferredAvailabilityZones"+ Prelude.<$> preferredAvailabilityZones]))+instance Property "NodeGroupId" ReshardingConfigurationProperty where+ type PropertyType "NodeGroupId" ReshardingConfigurationProperty = Value Prelude.Text+ set newValue ReshardingConfigurationProperty {..}+ = ReshardingConfigurationProperty+ {nodeGroupId = Prelude.pure newValue, ..}+instance Property "PreferredAvailabilityZones" ReshardingConfigurationProperty where+ type PropertyType "PreferredAvailabilityZones" ReshardingConfigurationProperty = ValueList Prelude.Text+ set newValue ReshardingConfigurationProperty {..}+ = ReshardingConfigurationProperty+ {preferredAvailabilityZones = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/GlobalReplicationGroup/ReshardingConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.GlobalReplicationGroup.ReshardingConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ReshardingConfigurationProperty :: Prelude.Type+instance ToResourceProperties ReshardingConfigurationProperty+instance Prelude.Eq ReshardingConfigurationProperty+instance Prelude.Show ReshardingConfigurationProperty+instance JSON.ToJSON ReshardingConfigurationProperty
+ gen/Stratosphere/ElastiCache/ParameterGroup.hs view
@@ -0,0 +1,67 @@+module Stratosphere.ElastiCache.ParameterGroup (+ ParameterGroup(..), mkParameterGroup+ ) 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 ParameterGroup+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html>+ ParameterGroup {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html#cfn-elasticache-parametergroup-cacheparametergroupfamily>+ cacheParameterGroupFamily :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html#cfn-elasticache-parametergroup-description>+ description :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html#cfn-elasticache-parametergroup-properties>+ properties :: (Prelude.Maybe (Prelude.Map Prelude.Text (Value Prelude.Text))),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-parametergroup.html#cfn-elasticache-parametergroup-tags>+ tags :: (Prelude.Maybe [Tag])}+ deriving stock (Prelude.Eq, Prelude.Show)+mkParameterGroup ::+ Value Prelude.Text -> Value Prelude.Text -> ParameterGroup+mkParameterGroup cacheParameterGroupFamily description+ = ParameterGroup+ {haddock_workaround_ = (),+ cacheParameterGroupFamily = cacheParameterGroupFamily,+ description = description, properties = Prelude.Nothing,+ tags = Prelude.Nothing}+instance ToResourceProperties ParameterGroup where+ toResourceProperties ParameterGroup {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ParameterGroup",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["CacheParameterGroupFamily" JSON..= cacheParameterGroupFamily,+ "Description" JSON..= description]+ (Prelude.catMaybes+ [(JSON..=) "Properties" Prelude.<$> properties,+ (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON ParameterGroup where+ toJSON ParameterGroup {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["CacheParameterGroupFamily" JSON..= cacheParameterGroupFamily,+ "Description" JSON..= description]+ (Prelude.catMaybes+ [(JSON..=) "Properties" Prelude.<$> properties,+ (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "CacheParameterGroupFamily" ParameterGroup where+ type PropertyType "CacheParameterGroupFamily" ParameterGroup = Value Prelude.Text+ set newValue ParameterGroup {..}+ = ParameterGroup {cacheParameterGroupFamily = newValue, ..}+instance Property "Description" ParameterGroup where+ type PropertyType "Description" ParameterGroup = Value Prelude.Text+ set newValue ParameterGroup {..}+ = ParameterGroup {description = newValue, ..}+instance Property "Properties" ParameterGroup where+ type PropertyType "Properties" ParameterGroup = Prelude.Map Prelude.Text (Value Prelude.Text)+ set newValue ParameterGroup {..}+ = ParameterGroup {properties = Prelude.pure newValue, ..}+instance Property "Tags" ParameterGroup where+ type PropertyType "Tags" ParameterGroup = [Tag]+ set newValue ParameterGroup {..}+ = ParameterGroup {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/ReplicationGroup.hs view
@@ -0,0 +1,423 @@+module Stratosphere.ElastiCache.ReplicationGroup (+ module Exports, ReplicationGroup(..), mkReplicationGroup+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.ReplicationGroup.LogDeliveryConfigurationRequestProperty as Exports+import {-# SOURCE #-} Stratosphere.ElastiCache.ReplicationGroup.NodeGroupConfigurationProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data ReplicationGroup+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html>+ ReplicationGroup {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-atrestencryptionenabled>+ atRestEncryptionEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-authtoken>+ authToken :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-autominorversionupgrade>+ autoMinorVersionUpgrade :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-automaticfailoverenabled>+ automaticFailoverEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cachenodetype>+ cacheNodeType :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cacheparametergroupname>+ cacheParameterGroupName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cachesecuritygroupnames>+ cacheSecurityGroupNames :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-cachesubnetgroupname>+ cacheSubnetGroupName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-clustermode>+ clusterMode :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-datatieringenabled>+ dataTieringEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-engine>+ engine :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-engineversion>+ engineVersion :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-globalreplicationgroupid>+ globalReplicationGroupId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-ipdiscovery>+ ipDiscovery :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-kmskeyid>+ kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-logdeliveryconfigurations>+ logDeliveryConfigurations :: (Prelude.Maybe [LogDeliveryConfigurationRequestProperty]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-multiazenabled>+ multiAZEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-networktype>+ networkType :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-nodegroupconfiguration>+ nodeGroupConfiguration :: (Prelude.Maybe [NodeGroupConfigurationProperty]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-notificationtopicarn>+ notificationTopicArn :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-numcacheclusters>+ numCacheClusters :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-numnodegroups>+ numNodeGroups :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-port>+ port :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-preferredcacheclusterazs>+ preferredCacheClusterAZs :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-preferredmaintenancewindow>+ preferredMaintenanceWindow :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-primaryclusterid>+ primaryClusterId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-replicaspernodegroup>+ replicasPerNodeGroup :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-replicationgroupdescription>+ replicationGroupDescription :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-replicationgroupid>+ replicationGroupId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-securitygroupids>+ securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotarns>+ snapshotArns :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotname>+ snapshotName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotretentionlimit>+ snapshotRetentionLimit :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshotwindow>+ snapshotWindow :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-snapshottingclusterid>+ snapshottingClusterId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-tags>+ tags :: (Prelude.Maybe [Tag]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-transitencryptionenabled>+ transitEncryptionEnabled :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-transitencryptionmode>+ transitEncryptionMode :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html#cfn-elasticache-replicationgroup-usergroupids>+ userGroupIds :: (Prelude.Maybe (ValueList Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkReplicationGroup :: Value Prelude.Text -> ReplicationGroup+mkReplicationGroup replicationGroupDescription+ = ReplicationGroup+ {haddock_workaround_ = (),+ replicationGroupDescription = replicationGroupDescription,+ atRestEncryptionEnabled = Prelude.Nothing,+ authToken = Prelude.Nothing,+ autoMinorVersionUpgrade = Prelude.Nothing,+ automaticFailoverEnabled = Prelude.Nothing,+ cacheNodeType = Prelude.Nothing,+ cacheParameterGroupName = Prelude.Nothing,+ cacheSecurityGroupNames = Prelude.Nothing,+ cacheSubnetGroupName = Prelude.Nothing,+ clusterMode = Prelude.Nothing,+ dataTieringEnabled = Prelude.Nothing, engine = Prelude.Nothing,+ engineVersion = Prelude.Nothing,+ globalReplicationGroupId = Prelude.Nothing,+ ipDiscovery = Prelude.Nothing, kmsKeyId = Prelude.Nothing,+ logDeliveryConfigurations = Prelude.Nothing,+ multiAZEnabled = Prelude.Nothing, networkType = Prelude.Nothing,+ nodeGroupConfiguration = Prelude.Nothing,+ notificationTopicArn = Prelude.Nothing,+ numCacheClusters = Prelude.Nothing,+ numNodeGroups = Prelude.Nothing, port = Prelude.Nothing,+ preferredCacheClusterAZs = Prelude.Nothing,+ preferredMaintenanceWindow = Prelude.Nothing,+ primaryClusterId = Prelude.Nothing,+ replicasPerNodeGroup = Prelude.Nothing,+ replicationGroupId = Prelude.Nothing,+ securityGroupIds = Prelude.Nothing, snapshotArns = Prelude.Nothing,+ snapshotName = Prelude.Nothing,+ snapshotRetentionLimit = Prelude.Nothing,+ snapshotWindow = Prelude.Nothing,+ snapshottingClusterId = Prelude.Nothing, tags = Prelude.Nothing,+ transitEncryptionEnabled = Prelude.Nothing,+ transitEncryptionMode = Prelude.Nothing,+ userGroupIds = Prelude.Nothing}+instance ToResourceProperties ReplicationGroup where+ toResourceProperties ReplicationGroup {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ReplicationGroup",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["ReplicationGroupDescription" JSON..= replicationGroupDescription]+ (Prelude.catMaybes+ [(JSON..=) "AtRestEncryptionEnabled"+ Prelude.<$> atRestEncryptionEnabled,+ (JSON..=) "AuthToken" Prelude.<$> authToken,+ (JSON..=) "AutoMinorVersionUpgrade"+ Prelude.<$> autoMinorVersionUpgrade,+ (JSON..=) "AutomaticFailoverEnabled"+ Prelude.<$> automaticFailoverEnabled,+ (JSON..=) "CacheNodeType" Prelude.<$> cacheNodeType,+ (JSON..=) "CacheParameterGroupName"+ Prelude.<$> cacheParameterGroupName,+ (JSON..=) "CacheSecurityGroupNames"+ Prelude.<$> cacheSecurityGroupNames,+ (JSON..=) "CacheSubnetGroupName" Prelude.<$> cacheSubnetGroupName,+ (JSON..=) "ClusterMode" Prelude.<$> clusterMode,+ (JSON..=) "DataTieringEnabled" Prelude.<$> dataTieringEnabled,+ (JSON..=) "Engine" Prelude.<$> engine,+ (JSON..=) "EngineVersion" Prelude.<$> engineVersion,+ (JSON..=) "GlobalReplicationGroupId"+ Prelude.<$> globalReplicationGroupId,+ (JSON..=) "IpDiscovery" Prelude.<$> ipDiscovery,+ (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+ (JSON..=) "LogDeliveryConfigurations"+ Prelude.<$> logDeliveryConfigurations,+ (JSON..=) "MultiAZEnabled" Prelude.<$> multiAZEnabled,+ (JSON..=) "NetworkType" Prelude.<$> networkType,+ (JSON..=) "NodeGroupConfiguration"+ Prelude.<$> nodeGroupConfiguration,+ (JSON..=) "NotificationTopicArn" Prelude.<$> notificationTopicArn,+ (JSON..=) "NumCacheClusters" Prelude.<$> numCacheClusters,+ (JSON..=) "NumNodeGroups" Prelude.<$> numNodeGroups,+ (JSON..=) "Port" Prelude.<$> port,+ (JSON..=) "PreferredCacheClusterAZs"+ Prelude.<$> preferredCacheClusterAZs,+ (JSON..=) "PreferredMaintenanceWindow"+ Prelude.<$> preferredMaintenanceWindow,+ (JSON..=) "PrimaryClusterId" Prelude.<$> primaryClusterId,+ (JSON..=) "ReplicasPerNodeGroup" Prelude.<$> replicasPerNodeGroup,+ (JSON..=) "ReplicationGroupId" Prelude.<$> replicationGroupId,+ (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+ (JSON..=) "SnapshotArns" Prelude.<$> snapshotArns,+ (JSON..=) "SnapshotName" Prelude.<$> snapshotName,+ (JSON..=) "SnapshotRetentionLimit"+ Prelude.<$> snapshotRetentionLimit,+ (JSON..=) "SnapshotWindow" Prelude.<$> snapshotWindow,+ (JSON..=) "SnapshottingClusterId"+ Prelude.<$> snapshottingClusterId,+ (JSON..=) "Tags" Prelude.<$> tags,+ (JSON..=) "TransitEncryptionEnabled"+ Prelude.<$> transitEncryptionEnabled,+ (JSON..=) "TransitEncryptionMode"+ Prelude.<$> transitEncryptionMode,+ (JSON..=) "UserGroupIds" Prelude.<$> userGroupIds]))}+instance JSON.ToJSON ReplicationGroup where+ toJSON ReplicationGroup {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["ReplicationGroupDescription" JSON..= replicationGroupDescription]+ (Prelude.catMaybes+ [(JSON..=) "AtRestEncryptionEnabled"+ Prelude.<$> atRestEncryptionEnabled,+ (JSON..=) "AuthToken" Prelude.<$> authToken,+ (JSON..=) "AutoMinorVersionUpgrade"+ Prelude.<$> autoMinorVersionUpgrade,+ (JSON..=) "AutomaticFailoverEnabled"+ Prelude.<$> automaticFailoverEnabled,+ (JSON..=) "CacheNodeType" Prelude.<$> cacheNodeType,+ (JSON..=) "CacheParameterGroupName"+ Prelude.<$> cacheParameterGroupName,+ (JSON..=) "CacheSecurityGroupNames"+ Prelude.<$> cacheSecurityGroupNames,+ (JSON..=) "CacheSubnetGroupName" Prelude.<$> cacheSubnetGroupName,+ (JSON..=) "ClusterMode" Prelude.<$> clusterMode,+ (JSON..=) "DataTieringEnabled" Prelude.<$> dataTieringEnabled,+ (JSON..=) "Engine" Prelude.<$> engine,+ (JSON..=) "EngineVersion" Prelude.<$> engineVersion,+ (JSON..=) "GlobalReplicationGroupId"+ Prelude.<$> globalReplicationGroupId,+ (JSON..=) "IpDiscovery" Prelude.<$> ipDiscovery,+ (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+ (JSON..=) "LogDeliveryConfigurations"+ Prelude.<$> logDeliveryConfigurations,+ (JSON..=) "MultiAZEnabled" Prelude.<$> multiAZEnabled,+ (JSON..=) "NetworkType" Prelude.<$> networkType,+ (JSON..=) "NodeGroupConfiguration"+ Prelude.<$> nodeGroupConfiguration,+ (JSON..=) "NotificationTopicArn" Prelude.<$> notificationTopicArn,+ (JSON..=) "NumCacheClusters" Prelude.<$> numCacheClusters,+ (JSON..=) "NumNodeGroups" Prelude.<$> numNodeGroups,+ (JSON..=) "Port" Prelude.<$> port,+ (JSON..=) "PreferredCacheClusterAZs"+ Prelude.<$> preferredCacheClusterAZs,+ (JSON..=) "PreferredMaintenanceWindow"+ Prelude.<$> preferredMaintenanceWindow,+ (JSON..=) "PrimaryClusterId" Prelude.<$> primaryClusterId,+ (JSON..=) "ReplicasPerNodeGroup" Prelude.<$> replicasPerNodeGroup,+ (JSON..=) "ReplicationGroupId" Prelude.<$> replicationGroupId,+ (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+ (JSON..=) "SnapshotArns" Prelude.<$> snapshotArns,+ (JSON..=) "SnapshotName" Prelude.<$> snapshotName,+ (JSON..=) "SnapshotRetentionLimit"+ Prelude.<$> snapshotRetentionLimit,+ (JSON..=) "SnapshotWindow" Prelude.<$> snapshotWindow,+ (JSON..=) "SnapshottingClusterId"+ Prelude.<$> snapshottingClusterId,+ (JSON..=) "Tags" Prelude.<$> tags,+ (JSON..=) "TransitEncryptionEnabled"+ Prelude.<$> transitEncryptionEnabled,+ (JSON..=) "TransitEncryptionMode"+ Prelude.<$> transitEncryptionMode,+ (JSON..=) "UserGroupIds" Prelude.<$> userGroupIds])))+instance Property "AtRestEncryptionEnabled" ReplicationGroup where+ type PropertyType "AtRestEncryptionEnabled" ReplicationGroup = Value Prelude.Bool+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {atRestEncryptionEnabled = Prelude.pure newValue, ..}+instance Property "AuthToken" ReplicationGroup where+ type PropertyType "AuthToken" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {authToken = Prelude.pure newValue, ..}+instance Property "AutoMinorVersionUpgrade" ReplicationGroup where+ type PropertyType "AutoMinorVersionUpgrade" ReplicationGroup = Value Prelude.Bool+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {autoMinorVersionUpgrade = Prelude.pure newValue, ..}+instance Property "AutomaticFailoverEnabled" ReplicationGroup where+ type PropertyType "AutomaticFailoverEnabled" ReplicationGroup = Value Prelude.Bool+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {automaticFailoverEnabled = Prelude.pure newValue, ..}+instance Property "CacheNodeType" ReplicationGroup where+ type PropertyType "CacheNodeType" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {cacheNodeType = Prelude.pure newValue, ..}+instance Property "CacheParameterGroupName" ReplicationGroup where+ type PropertyType "CacheParameterGroupName" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {cacheParameterGroupName = Prelude.pure newValue, ..}+instance Property "CacheSecurityGroupNames" ReplicationGroup where+ type PropertyType "CacheSecurityGroupNames" ReplicationGroup = ValueList Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {cacheSecurityGroupNames = Prelude.pure newValue, ..}+instance Property "CacheSubnetGroupName" ReplicationGroup where+ type PropertyType "CacheSubnetGroupName" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {cacheSubnetGroupName = Prelude.pure newValue, ..}+instance Property "ClusterMode" ReplicationGroup where+ type PropertyType "ClusterMode" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {clusterMode = Prelude.pure newValue, ..}+instance Property "DataTieringEnabled" ReplicationGroup where+ type PropertyType "DataTieringEnabled" ReplicationGroup = Value Prelude.Bool+ set newValue ReplicationGroup {..}+ = ReplicationGroup {dataTieringEnabled = Prelude.pure newValue, ..}+instance Property "Engine" ReplicationGroup where+ type PropertyType "Engine" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {engine = Prelude.pure newValue, ..}+instance Property "EngineVersion" ReplicationGroup where+ type PropertyType "EngineVersion" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {engineVersion = Prelude.pure newValue, ..}+instance Property "GlobalReplicationGroupId" ReplicationGroup where+ type PropertyType "GlobalReplicationGroupId" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {globalReplicationGroupId = Prelude.pure newValue, ..}+instance Property "IpDiscovery" ReplicationGroup where+ type PropertyType "IpDiscovery" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {ipDiscovery = Prelude.pure newValue, ..}+instance Property "KmsKeyId" ReplicationGroup where+ type PropertyType "KmsKeyId" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {kmsKeyId = Prelude.pure newValue, ..}+instance Property "LogDeliveryConfigurations" ReplicationGroup where+ type PropertyType "LogDeliveryConfigurations" ReplicationGroup = [LogDeliveryConfigurationRequestProperty]+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {logDeliveryConfigurations = Prelude.pure newValue, ..}+instance Property "MultiAZEnabled" ReplicationGroup where+ type PropertyType "MultiAZEnabled" ReplicationGroup = Value Prelude.Bool+ set newValue ReplicationGroup {..}+ = ReplicationGroup {multiAZEnabled = Prelude.pure newValue, ..}+instance Property "NetworkType" ReplicationGroup where+ type PropertyType "NetworkType" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {networkType = Prelude.pure newValue, ..}+instance Property "NodeGroupConfiguration" ReplicationGroup where+ type PropertyType "NodeGroupConfiguration" ReplicationGroup = [NodeGroupConfigurationProperty]+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {nodeGroupConfiguration = Prelude.pure newValue, ..}+instance Property "NotificationTopicArn" ReplicationGroup where+ type PropertyType "NotificationTopicArn" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {notificationTopicArn = Prelude.pure newValue, ..}+instance Property "NumCacheClusters" ReplicationGroup where+ type PropertyType "NumCacheClusters" ReplicationGroup = Value Prelude.Integer+ set newValue ReplicationGroup {..}+ = ReplicationGroup {numCacheClusters = Prelude.pure newValue, ..}+instance Property "NumNodeGroups" ReplicationGroup where+ type PropertyType "NumNodeGroups" ReplicationGroup = Value Prelude.Integer+ set newValue ReplicationGroup {..}+ = ReplicationGroup {numNodeGroups = Prelude.pure newValue, ..}+instance Property "Port" ReplicationGroup where+ type PropertyType "Port" ReplicationGroup = Value Prelude.Integer+ set newValue ReplicationGroup {..}+ = ReplicationGroup {port = Prelude.pure newValue, ..}+instance Property "PreferredCacheClusterAZs" ReplicationGroup where+ type PropertyType "PreferredCacheClusterAZs" ReplicationGroup = ValueList Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {preferredCacheClusterAZs = Prelude.pure newValue, ..}+instance Property "PreferredMaintenanceWindow" ReplicationGroup where+ type PropertyType "PreferredMaintenanceWindow" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {preferredMaintenanceWindow = Prelude.pure newValue, ..}+instance Property "PrimaryClusterId" ReplicationGroup where+ type PropertyType "PrimaryClusterId" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {primaryClusterId = Prelude.pure newValue, ..}+instance Property "ReplicasPerNodeGroup" ReplicationGroup where+ type PropertyType "ReplicasPerNodeGroup" ReplicationGroup = Value Prelude.Integer+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {replicasPerNodeGroup = Prelude.pure newValue, ..}+instance Property "ReplicationGroupDescription" ReplicationGroup where+ type PropertyType "ReplicationGroupDescription" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {replicationGroupDescription = newValue, ..}+instance Property "ReplicationGroupId" ReplicationGroup where+ type PropertyType "ReplicationGroupId" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {replicationGroupId = Prelude.pure newValue, ..}+instance Property "SecurityGroupIds" ReplicationGroup where+ type PropertyType "SecurityGroupIds" ReplicationGroup = ValueList Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {securityGroupIds = Prelude.pure newValue, ..}+instance Property "SnapshotArns" ReplicationGroup where+ type PropertyType "SnapshotArns" ReplicationGroup = ValueList Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {snapshotArns = Prelude.pure newValue, ..}+instance Property "SnapshotName" ReplicationGroup where+ type PropertyType "SnapshotName" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {snapshotName = Prelude.pure newValue, ..}+instance Property "SnapshotRetentionLimit" ReplicationGroup where+ type PropertyType "SnapshotRetentionLimit" ReplicationGroup = Value Prelude.Integer+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {snapshotRetentionLimit = Prelude.pure newValue, ..}+instance Property "SnapshotWindow" ReplicationGroup where+ type PropertyType "SnapshotWindow" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {snapshotWindow = Prelude.pure newValue, ..}+instance Property "SnapshottingClusterId" ReplicationGroup where+ type PropertyType "SnapshottingClusterId" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {snapshottingClusterId = Prelude.pure newValue, ..}+instance Property "Tags" ReplicationGroup where+ type PropertyType "Tags" ReplicationGroup = [Tag]+ set newValue ReplicationGroup {..}+ = ReplicationGroup {tags = Prelude.pure newValue, ..}+instance Property "TransitEncryptionEnabled" ReplicationGroup where+ type PropertyType "TransitEncryptionEnabled" ReplicationGroup = Value Prelude.Bool+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {transitEncryptionEnabled = Prelude.pure newValue, ..}+instance Property "TransitEncryptionMode" ReplicationGroup where+ type PropertyType "TransitEncryptionMode" ReplicationGroup = Value Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup+ {transitEncryptionMode = Prelude.pure newValue, ..}+instance Property "UserGroupIds" ReplicationGroup where+ type PropertyType "UserGroupIds" ReplicationGroup = ValueList Prelude.Text+ set newValue ReplicationGroup {..}+ = ReplicationGroup {userGroupIds = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/ReplicationGroup/CloudWatchLogsDestinationDetailsProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.ElastiCache.ReplicationGroup.CloudWatchLogsDestinationDetailsProperty (+ CloudWatchLogsDestinationDetailsProperty(..),+ mkCloudWatchLogsDestinationDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data CloudWatchLogsDestinationDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-cloudwatchlogsdestinationdetails.html>+ CloudWatchLogsDestinationDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-cloudwatchlogsdestinationdetails.html#cfn-elasticache-replicationgroup-cloudwatchlogsdestinationdetails-loggroup>+ logGroup :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkCloudWatchLogsDestinationDetailsProperty ::+ Value Prelude.Text -> CloudWatchLogsDestinationDetailsProperty+mkCloudWatchLogsDestinationDetailsProperty logGroup+ = CloudWatchLogsDestinationDetailsProperty+ {haddock_workaround_ = (), logGroup = logGroup}+instance ToResourceProperties CloudWatchLogsDestinationDetailsProperty where+ toResourceProperties CloudWatchLogsDestinationDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ReplicationGroup.CloudWatchLogsDestinationDetails",+ supportsTags = Prelude.False,+ properties = ["LogGroup" JSON..= logGroup]}+instance JSON.ToJSON CloudWatchLogsDestinationDetailsProperty where+ toJSON CloudWatchLogsDestinationDetailsProperty {..}+ = JSON.object ["LogGroup" JSON..= logGroup]+instance Property "LogGroup" CloudWatchLogsDestinationDetailsProperty where+ type PropertyType "LogGroup" CloudWatchLogsDestinationDetailsProperty = Value Prelude.Text+ set newValue CloudWatchLogsDestinationDetailsProperty {..}+ = CloudWatchLogsDestinationDetailsProperty+ {logGroup = newValue, ..}
+ gen/Stratosphere/ElastiCache/ReplicationGroup/CloudWatchLogsDestinationDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.ReplicationGroup.CloudWatchLogsDestinationDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CloudWatchLogsDestinationDetailsProperty :: Prelude.Type+instance ToResourceProperties CloudWatchLogsDestinationDetailsProperty+instance Prelude.Eq CloudWatchLogsDestinationDetailsProperty+instance Prelude.Show CloudWatchLogsDestinationDetailsProperty+instance JSON.ToJSON CloudWatchLogsDestinationDetailsProperty
+ gen/Stratosphere/ElastiCache/ReplicationGroup/DestinationDetailsProperty.hs view
@@ -0,0 +1,53 @@+module Stratosphere.ElastiCache.ReplicationGroup.DestinationDetailsProperty (+ module Exports, DestinationDetailsProperty(..),+ mkDestinationDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.ReplicationGroup.CloudWatchLogsDestinationDetailsProperty as Exports+import {-# SOURCE #-} Stratosphere.ElastiCache.ReplicationGroup.KinesisFirehoseDestinationDetailsProperty as Exports+import Stratosphere.ResourceProperties+data DestinationDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-destinationdetails.html>+ DestinationDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-destinationdetails.html#cfn-elasticache-replicationgroup-destinationdetails-cloudwatchlogsdetails>+ cloudWatchLogsDetails :: (Prelude.Maybe CloudWatchLogsDestinationDetailsProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-destinationdetails.html#cfn-elasticache-replicationgroup-destinationdetails-kinesisfirehosedetails>+ kinesisFirehoseDetails :: (Prelude.Maybe KinesisFirehoseDestinationDetailsProperty)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkDestinationDetailsProperty :: DestinationDetailsProperty+mkDestinationDetailsProperty+ = DestinationDetailsProperty+ {haddock_workaround_ = (), cloudWatchLogsDetails = Prelude.Nothing,+ kinesisFirehoseDetails = Prelude.Nothing}+instance ToResourceProperties DestinationDetailsProperty where+ toResourceProperties DestinationDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ReplicationGroup.DestinationDetails",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "CloudWatchLogsDetails"+ Prelude.<$> cloudWatchLogsDetails,+ (JSON..=) "KinesisFirehoseDetails"+ Prelude.<$> kinesisFirehoseDetails])}+instance JSON.ToJSON DestinationDetailsProperty where+ toJSON DestinationDetailsProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "CloudWatchLogsDetails"+ Prelude.<$> cloudWatchLogsDetails,+ (JSON..=) "KinesisFirehoseDetails"+ Prelude.<$> kinesisFirehoseDetails]))+instance Property "CloudWatchLogsDetails" DestinationDetailsProperty where+ type PropertyType "CloudWatchLogsDetails" DestinationDetailsProperty = CloudWatchLogsDestinationDetailsProperty+ set newValue DestinationDetailsProperty {..}+ = DestinationDetailsProperty+ {cloudWatchLogsDetails = Prelude.pure newValue, ..}+instance Property "KinesisFirehoseDetails" DestinationDetailsProperty where+ type PropertyType "KinesisFirehoseDetails" DestinationDetailsProperty = KinesisFirehoseDestinationDetailsProperty+ set newValue DestinationDetailsProperty {..}+ = DestinationDetailsProperty+ {kinesisFirehoseDetails = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/ReplicationGroup/DestinationDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.ReplicationGroup.DestinationDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DestinationDetailsProperty :: Prelude.Type+instance ToResourceProperties DestinationDetailsProperty+instance Prelude.Eq DestinationDetailsProperty+instance Prelude.Show DestinationDetailsProperty+instance JSON.ToJSON DestinationDetailsProperty
+ gen/Stratosphere/ElastiCache/ReplicationGroup/KinesisFirehoseDestinationDetailsProperty.hs view
@@ -0,0 +1,34 @@+module Stratosphere.ElastiCache.ReplicationGroup.KinesisFirehoseDestinationDetailsProperty (+ KinesisFirehoseDestinationDetailsProperty(..),+ mkKinesisFirehoseDestinationDetailsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data KinesisFirehoseDestinationDetailsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-kinesisfirehosedestinationdetails.html>+ KinesisFirehoseDestinationDetailsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-kinesisfirehosedestinationdetails.html#cfn-elasticache-replicationgroup-kinesisfirehosedestinationdetails-deliverystream>+ deliveryStream :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkKinesisFirehoseDestinationDetailsProperty ::+ Value Prelude.Text -> KinesisFirehoseDestinationDetailsProperty+mkKinesisFirehoseDestinationDetailsProperty deliveryStream+ = KinesisFirehoseDestinationDetailsProperty+ {haddock_workaround_ = (), deliveryStream = deliveryStream}+instance ToResourceProperties KinesisFirehoseDestinationDetailsProperty where+ toResourceProperties KinesisFirehoseDestinationDetailsProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ReplicationGroup.KinesisFirehoseDestinationDetails",+ supportsTags = Prelude.False,+ properties = ["DeliveryStream" JSON..= deliveryStream]}+instance JSON.ToJSON KinesisFirehoseDestinationDetailsProperty where+ toJSON KinesisFirehoseDestinationDetailsProperty {..}+ = JSON.object ["DeliveryStream" JSON..= deliveryStream]+instance Property "DeliveryStream" KinesisFirehoseDestinationDetailsProperty where+ type PropertyType "DeliveryStream" KinesisFirehoseDestinationDetailsProperty = Value Prelude.Text+ set newValue KinesisFirehoseDestinationDetailsProperty {..}+ = KinesisFirehoseDestinationDetailsProperty+ {deliveryStream = newValue, ..}
+ gen/Stratosphere/ElastiCache/ReplicationGroup/KinesisFirehoseDestinationDetailsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.ReplicationGroup.KinesisFirehoseDestinationDetailsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data KinesisFirehoseDestinationDetailsProperty :: Prelude.Type+instance ToResourceProperties KinesisFirehoseDestinationDetailsProperty+instance Prelude.Eq KinesisFirehoseDestinationDetailsProperty+instance Prelude.Show KinesisFirehoseDestinationDetailsProperty+instance JSON.ToJSON KinesisFirehoseDestinationDetailsProperty
+ gen/Stratosphere/ElastiCache/ReplicationGroup/LogDeliveryConfigurationRequestProperty.hs view
@@ -0,0 +1,69 @@+module Stratosphere.ElastiCache.ReplicationGroup.LogDeliveryConfigurationRequestProperty (+ module Exports, LogDeliveryConfigurationRequestProperty(..),+ mkLogDeliveryConfigurationRequestProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.ReplicationGroup.DestinationDetailsProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Value+data LogDeliveryConfigurationRequestProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-logdeliveryconfigurationrequest.html>+ LogDeliveryConfigurationRequestProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-logdeliveryconfigurationrequest.html#cfn-elasticache-replicationgroup-logdeliveryconfigurationrequest-destinationdetails>+ destinationDetails :: DestinationDetailsProperty,+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-logdeliveryconfigurationrequest.html#cfn-elasticache-replicationgroup-logdeliveryconfigurationrequest-destinationtype>+ destinationType :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-logdeliveryconfigurationrequest.html#cfn-elasticache-replicationgroup-logdeliveryconfigurationrequest-logformat>+ logFormat :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-logdeliveryconfigurationrequest.html#cfn-elasticache-replicationgroup-logdeliveryconfigurationrequest-logtype>+ logType :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkLogDeliveryConfigurationRequestProperty ::+ DestinationDetailsProperty+ -> Value Prelude.Text+ -> Value Prelude.Text+ -> Value Prelude.Text -> LogDeliveryConfigurationRequestProperty+mkLogDeliveryConfigurationRequestProperty+ destinationDetails+ destinationType+ logFormat+ logType+ = LogDeliveryConfigurationRequestProperty+ {haddock_workaround_ = (), destinationDetails = destinationDetails,+ destinationType = destinationType, logFormat = logFormat,+ logType = logType}+instance ToResourceProperties LogDeliveryConfigurationRequestProperty where+ toResourceProperties LogDeliveryConfigurationRequestProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ReplicationGroup.LogDeliveryConfigurationRequest",+ supportsTags = Prelude.False,+ properties = ["DestinationDetails" JSON..= destinationDetails,+ "DestinationType" JSON..= destinationType,+ "LogFormat" JSON..= logFormat, "LogType" JSON..= logType]}+instance JSON.ToJSON LogDeliveryConfigurationRequestProperty where+ toJSON LogDeliveryConfigurationRequestProperty {..}+ = JSON.object+ ["DestinationDetails" JSON..= destinationDetails,+ "DestinationType" JSON..= destinationType,+ "LogFormat" JSON..= logFormat, "LogType" JSON..= logType]+instance Property "DestinationDetails" LogDeliveryConfigurationRequestProperty where+ type PropertyType "DestinationDetails" LogDeliveryConfigurationRequestProperty = DestinationDetailsProperty+ set newValue LogDeliveryConfigurationRequestProperty {..}+ = LogDeliveryConfigurationRequestProperty+ {destinationDetails = newValue, ..}+instance Property "DestinationType" LogDeliveryConfigurationRequestProperty where+ type PropertyType "DestinationType" LogDeliveryConfigurationRequestProperty = Value Prelude.Text+ set newValue LogDeliveryConfigurationRequestProperty {..}+ = LogDeliveryConfigurationRequestProperty+ {destinationType = newValue, ..}+instance Property "LogFormat" LogDeliveryConfigurationRequestProperty where+ type PropertyType "LogFormat" LogDeliveryConfigurationRequestProperty = Value Prelude.Text+ set newValue LogDeliveryConfigurationRequestProperty {..}+ = LogDeliveryConfigurationRequestProperty+ {logFormat = newValue, ..}+instance Property "LogType" LogDeliveryConfigurationRequestProperty where+ type PropertyType "LogType" LogDeliveryConfigurationRequestProperty = Value Prelude.Text+ set newValue LogDeliveryConfigurationRequestProperty {..}+ = LogDeliveryConfigurationRequestProperty {logType = newValue, ..}
+ gen/Stratosphere/ElastiCache/ReplicationGroup/LogDeliveryConfigurationRequestProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.ReplicationGroup.LogDeliveryConfigurationRequestProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data LogDeliveryConfigurationRequestProperty :: Prelude.Type+instance ToResourceProperties LogDeliveryConfigurationRequestProperty+instance Prelude.Eq LogDeliveryConfigurationRequestProperty+instance Prelude.Show LogDeliveryConfigurationRequestProperty+instance JSON.ToJSON LogDeliveryConfigurationRequestProperty
+ gen/Stratosphere/ElastiCache/ReplicationGroup/NodeGroupConfigurationProperty.hs view
@@ -0,0 +1,81 @@+module Stratosphere.ElastiCache.ReplicationGroup.NodeGroupConfigurationProperty (+ NodeGroupConfigurationProperty(..),+ mkNodeGroupConfigurationProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data NodeGroupConfigurationProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html>+ NodeGroupConfigurationProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-nodegroupid>+ nodeGroupId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-primaryavailabilityzone>+ primaryAvailabilityZone :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-replicaavailabilityzones>+ replicaAvailabilityZones :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-replicacount>+ replicaCount :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-replicationgroup-nodegroupconfiguration.html#cfn-elasticache-replicationgroup-nodegroupconfiguration-slots>+ slots :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkNodeGroupConfigurationProperty :: NodeGroupConfigurationProperty+mkNodeGroupConfigurationProperty+ = NodeGroupConfigurationProperty+ {haddock_workaround_ = (), nodeGroupId = Prelude.Nothing,+ primaryAvailabilityZone = Prelude.Nothing,+ replicaAvailabilityZones = Prelude.Nothing,+ replicaCount = Prelude.Nothing, slots = Prelude.Nothing}+instance ToResourceProperties NodeGroupConfigurationProperty where+ toResourceProperties NodeGroupConfigurationProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ReplicationGroup.NodeGroupConfiguration",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "NodeGroupId" Prelude.<$> nodeGroupId,+ (JSON..=) "PrimaryAvailabilityZone"+ Prelude.<$> primaryAvailabilityZone,+ (JSON..=) "ReplicaAvailabilityZones"+ Prelude.<$> replicaAvailabilityZones,+ (JSON..=) "ReplicaCount" Prelude.<$> replicaCount,+ (JSON..=) "Slots" Prelude.<$> slots])}+instance JSON.ToJSON NodeGroupConfigurationProperty where+ toJSON NodeGroupConfigurationProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "NodeGroupId" Prelude.<$> nodeGroupId,+ (JSON..=) "PrimaryAvailabilityZone"+ Prelude.<$> primaryAvailabilityZone,+ (JSON..=) "ReplicaAvailabilityZones"+ Prelude.<$> replicaAvailabilityZones,+ (JSON..=) "ReplicaCount" Prelude.<$> replicaCount,+ (JSON..=) "Slots" Prelude.<$> slots]))+instance Property "NodeGroupId" NodeGroupConfigurationProperty where+ type PropertyType "NodeGroupId" NodeGroupConfigurationProperty = Value Prelude.Text+ set newValue NodeGroupConfigurationProperty {..}+ = NodeGroupConfigurationProperty+ {nodeGroupId = Prelude.pure newValue, ..}+instance Property "PrimaryAvailabilityZone" NodeGroupConfigurationProperty where+ type PropertyType "PrimaryAvailabilityZone" NodeGroupConfigurationProperty = Value Prelude.Text+ set newValue NodeGroupConfigurationProperty {..}+ = NodeGroupConfigurationProperty+ {primaryAvailabilityZone = Prelude.pure newValue, ..}+instance Property "ReplicaAvailabilityZones" NodeGroupConfigurationProperty where+ type PropertyType "ReplicaAvailabilityZones" NodeGroupConfigurationProperty = ValueList Prelude.Text+ set newValue NodeGroupConfigurationProperty {..}+ = NodeGroupConfigurationProperty+ {replicaAvailabilityZones = Prelude.pure newValue, ..}+instance Property "ReplicaCount" NodeGroupConfigurationProperty where+ type PropertyType "ReplicaCount" NodeGroupConfigurationProperty = Value Prelude.Integer+ set newValue NodeGroupConfigurationProperty {..}+ = NodeGroupConfigurationProperty+ {replicaCount = Prelude.pure newValue, ..}+instance Property "Slots" NodeGroupConfigurationProperty where+ type PropertyType "Slots" NodeGroupConfigurationProperty = Value Prelude.Text+ set newValue NodeGroupConfigurationProperty {..}+ = NodeGroupConfigurationProperty+ {slots = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/ReplicationGroup/NodeGroupConfigurationProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.ReplicationGroup.NodeGroupConfigurationProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data NodeGroupConfigurationProperty :: Prelude.Type+instance ToResourceProperties NodeGroupConfigurationProperty+instance Prelude.Eq NodeGroupConfigurationProperty+instance Prelude.Show NodeGroupConfigurationProperty+instance JSON.ToJSON NodeGroupConfigurationProperty
+ gen/Stratosphere/ElastiCache/SecurityGroup.hs view
@@ -0,0 +1,46 @@+module Stratosphere.ElastiCache.SecurityGroup (+ SecurityGroup(..), mkSecurityGroup+ ) 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 SecurityGroup+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html>+ SecurityGroup {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html#cfn-elasticache-securitygroup-description>+ description :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group.html#cfn-elasticache-securitygroup-tags>+ tags :: (Prelude.Maybe [Tag])}+ deriving stock (Prelude.Eq, Prelude.Show)+mkSecurityGroup :: Value Prelude.Text -> SecurityGroup+mkSecurityGroup description+ = SecurityGroup+ {haddock_workaround_ = (), description = description,+ tags = Prelude.Nothing}+instance ToResourceProperties SecurityGroup where+ toResourceProperties SecurityGroup {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::SecurityGroup",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Description" JSON..= description]+ (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON SecurityGroup where+ toJSON SecurityGroup {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Description" JSON..= description]+ (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Description" SecurityGroup where+ type PropertyType "Description" SecurityGroup = Value Prelude.Text+ set newValue SecurityGroup {..}+ = SecurityGroup {description = newValue, ..}+instance Property "Tags" SecurityGroup where+ type PropertyType "Tags" SecurityGroup = [Tag]+ set newValue SecurityGroup {..}+ = SecurityGroup {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/SecurityGroupIngress.hs view
@@ -0,0 +1,61 @@+module Stratosphere.ElastiCache.SecurityGroupIngress (+ SecurityGroupIngress(..), mkSecurityGroupIngress+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data SecurityGroupIngress+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html>+ SecurityGroupIngress {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html#cfn-elasticache-securitygroupingress-cachesecuritygroupname>+ cacheSecurityGroupName :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html#cfn-elasticache-securitygroupingress-ec2securitygroupname>+ eC2SecurityGroupName :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-security-group-ingress.html#cfn-elasticache-securitygroupingress-ec2securitygroupownerid>+ eC2SecurityGroupOwnerId :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkSecurityGroupIngress ::+ Value Prelude.Text -> Value Prelude.Text -> SecurityGroupIngress+mkSecurityGroupIngress cacheSecurityGroupName eC2SecurityGroupName+ = SecurityGroupIngress+ {haddock_workaround_ = (),+ cacheSecurityGroupName = cacheSecurityGroupName,+ eC2SecurityGroupName = eC2SecurityGroupName,+ eC2SecurityGroupOwnerId = Prelude.Nothing}+instance ToResourceProperties SecurityGroupIngress where+ toResourceProperties SecurityGroupIngress {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::SecurityGroupIngress",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["CacheSecurityGroupName" JSON..= cacheSecurityGroupName,+ "EC2SecurityGroupName" JSON..= eC2SecurityGroupName]+ (Prelude.catMaybes+ [(JSON..=) "EC2SecurityGroupOwnerId"+ Prelude.<$> eC2SecurityGroupOwnerId]))}+instance JSON.ToJSON SecurityGroupIngress where+ toJSON SecurityGroupIngress {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["CacheSecurityGroupName" JSON..= cacheSecurityGroupName,+ "EC2SecurityGroupName" JSON..= eC2SecurityGroupName]+ (Prelude.catMaybes+ [(JSON..=) "EC2SecurityGroupOwnerId"+ Prelude.<$> eC2SecurityGroupOwnerId])))+instance Property "CacheSecurityGroupName" SecurityGroupIngress where+ type PropertyType "CacheSecurityGroupName" SecurityGroupIngress = Value Prelude.Text+ set newValue SecurityGroupIngress {..}+ = SecurityGroupIngress {cacheSecurityGroupName = newValue, ..}+instance Property "EC2SecurityGroupName" SecurityGroupIngress where+ type PropertyType "EC2SecurityGroupName" SecurityGroupIngress = Value Prelude.Text+ set newValue SecurityGroupIngress {..}+ = SecurityGroupIngress {eC2SecurityGroupName = newValue, ..}+instance Property "EC2SecurityGroupOwnerId" SecurityGroupIngress where+ type PropertyType "EC2SecurityGroupOwnerId" SecurityGroupIngress = Value Prelude.Text+ set newValue SecurityGroupIngress {..}+ = SecurityGroupIngress+ {eC2SecurityGroupOwnerId = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/ServerlessCache.hs view
@@ -0,0 +1,179 @@+module Stratosphere.ElastiCache.ServerlessCache (+ module Exports, ServerlessCache(..), mkServerlessCache+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.ServerlessCache.CacheUsageLimitsProperty as Exports+import {-# SOURCE #-} Stratosphere.ElastiCache.ServerlessCache.EndpointProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data ServerlessCache+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html>+ ServerlessCache {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-cacheusagelimits>+ cacheUsageLimits :: (Prelude.Maybe CacheUsageLimitsProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-dailysnapshottime>+ dailySnapshotTime :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-description>+ description :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-endpoint>+ endpoint :: (Prelude.Maybe EndpointProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-engine>+ engine :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-finalsnapshotname>+ finalSnapshotName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-kmskeyid>+ kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-majorengineversion>+ majorEngineVersion :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-readerendpoint>+ readerEndpoint :: (Prelude.Maybe EndpointProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-securitygroupids>+ securityGroupIds :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-serverlesscachename>+ serverlessCacheName :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-snapshotarnstorestore>+ snapshotArnsToRestore :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-snapshotretentionlimit>+ snapshotRetentionLimit :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-subnetids>+ subnetIds :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-tags>+ tags :: (Prelude.Maybe [Tag]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-serverlesscache.html#cfn-elasticache-serverlesscache-usergroupid>+ userGroupId :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkServerlessCache ::+ Value Prelude.Text -> Value Prelude.Text -> ServerlessCache+mkServerlessCache engine serverlessCacheName+ = ServerlessCache+ {haddock_workaround_ = (), engine = engine,+ serverlessCacheName = serverlessCacheName,+ cacheUsageLimits = Prelude.Nothing,+ dailySnapshotTime = Prelude.Nothing, description = Prelude.Nothing,+ endpoint = Prelude.Nothing, finalSnapshotName = Prelude.Nothing,+ kmsKeyId = Prelude.Nothing, majorEngineVersion = Prelude.Nothing,+ readerEndpoint = Prelude.Nothing,+ securityGroupIds = Prelude.Nothing,+ snapshotArnsToRestore = Prelude.Nothing,+ snapshotRetentionLimit = Prelude.Nothing,+ subnetIds = Prelude.Nothing, tags = Prelude.Nothing,+ userGroupId = Prelude.Nothing}+instance ToResourceProperties ServerlessCache where+ toResourceProperties ServerlessCache {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ServerlessCache",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Engine" JSON..= engine,+ "ServerlessCacheName" JSON..= serverlessCacheName]+ (Prelude.catMaybes+ [(JSON..=) "CacheUsageLimits" Prelude.<$> cacheUsageLimits,+ (JSON..=) "DailySnapshotTime" Prelude.<$> dailySnapshotTime,+ (JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "Endpoint" Prelude.<$> endpoint,+ (JSON..=) "FinalSnapshotName" Prelude.<$> finalSnapshotName,+ (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+ (JSON..=) "MajorEngineVersion" Prelude.<$> majorEngineVersion,+ (JSON..=) "ReaderEndpoint" Prelude.<$> readerEndpoint,+ (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+ (JSON..=) "SnapshotArnsToRestore"+ Prelude.<$> snapshotArnsToRestore,+ (JSON..=) "SnapshotRetentionLimit"+ Prelude.<$> snapshotRetentionLimit,+ (JSON..=) "SubnetIds" Prelude.<$> subnetIds,+ (JSON..=) "Tags" Prelude.<$> tags,+ (JSON..=) "UserGroupId" Prelude.<$> userGroupId]))}+instance JSON.ToJSON ServerlessCache where+ toJSON ServerlessCache {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Engine" JSON..= engine,+ "ServerlessCacheName" JSON..= serverlessCacheName]+ (Prelude.catMaybes+ [(JSON..=) "CacheUsageLimits" Prelude.<$> cacheUsageLimits,+ (JSON..=) "DailySnapshotTime" Prelude.<$> dailySnapshotTime,+ (JSON..=) "Description" Prelude.<$> description,+ (JSON..=) "Endpoint" Prelude.<$> endpoint,+ (JSON..=) "FinalSnapshotName" Prelude.<$> finalSnapshotName,+ (JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,+ (JSON..=) "MajorEngineVersion" Prelude.<$> majorEngineVersion,+ (JSON..=) "ReaderEndpoint" Prelude.<$> readerEndpoint,+ (JSON..=) "SecurityGroupIds" Prelude.<$> securityGroupIds,+ (JSON..=) "SnapshotArnsToRestore"+ Prelude.<$> snapshotArnsToRestore,+ (JSON..=) "SnapshotRetentionLimit"+ Prelude.<$> snapshotRetentionLimit,+ (JSON..=) "SubnetIds" Prelude.<$> subnetIds,+ (JSON..=) "Tags" Prelude.<$> tags,+ (JSON..=) "UserGroupId" Prelude.<$> userGroupId])))+instance Property "CacheUsageLimits" ServerlessCache where+ type PropertyType "CacheUsageLimits" ServerlessCache = CacheUsageLimitsProperty+ set newValue ServerlessCache {..}+ = ServerlessCache {cacheUsageLimits = Prelude.pure newValue, ..}+instance Property "DailySnapshotTime" ServerlessCache where+ type PropertyType "DailySnapshotTime" ServerlessCache = Value Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {dailySnapshotTime = Prelude.pure newValue, ..}+instance Property "Description" ServerlessCache where+ type PropertyType "Description" ServerlessCache = Value Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {description = Prelude.pure newValue, ..}+instance Property "Endpoint" ServerlessCache where+ type PropertyType "Endpoint" ServerlessCache = EndpointProperty+ set newValue ServerlessCache {..}+ = ServerlessCache {endpoint = Prelude.pure newValue, ..}+instance Property "Engine" ServerlessCache where+ type PropertyType "Engine" ServerlessCache = Value Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {engine = newValue, ..}+instance Property "FinalSnapshotName" ServerlessCache where+ type PropertyType "FinalSnapshotName" ServerlessCache = Value Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {finalSnapshotName = Prelude.pure newValue, ..}+instance Property "KmsKeyId" ServerlessCache where+ type PropertyType "KmsKeyId" ServerlessCache = Value Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {kmsKeyId = Prelude.pure newValue, ..}+instance Property "MajorEngineVersion" ServerlessCache where+ type PropertyType "MajorEngineVersion" ServerlessCache = Value Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {majorEngineVersion = Prelude.pure newValue, ..}+instance Property "ReaderEndpoint" ServerlessCache where+ type PropertyType "ReaderEndpoint" ServerlessCache = EndpointProperty+ set newValue ServerlessCache {..}+ = ServerlessCache {readerEndpoint = Prelude.pure newValue, ..}+instance Property "SecurityGroupIds" ServerlessCache where+ type PropertyType "SecurityGroupIds" ServerlessCache = ValueList Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {securityGroupIds = Prelude.pure newValue, ..}+instance Property "ServerlessCacheName" ServerlessCache where+ type PropertyType "ServerlessCacheName" ServerlessCache = Value Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {serverlessCacheName = newValue, ..}+instance Property "SnapshotArnsToRestore" ServerlessCache where+ type PropertyType "SnapshotArnsToRestore" ServerlessCache = ValueList Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache+ {snapshotArnsToRestore = Prelude.pure newValue, ..}+instance Property "SnapshotRetentionLimit" ServerlessCache where+ type PropertyType "SnapshotRetentionLimit" ServerlessCache = Value Prelude.Integer+ set newValue ServerlessCache {..}+ = ServerlessCache+ {snapshotRetentionLimit = Prelude.pure newValue, ..}+instance Property "SubnetIds" ServerlessCache where+ type PropertyType "SubnetIds" ServerlessCache = ValueList Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {subnetIds = Prelude.pure newValue, ..}+instance Property "Tags" ServerlessCache where+ type PropertyType "Tags" ServerlessCache = [Tag]+ set newValue ServerlessCache {..}+ = ServerlessCache {tags = Prelude.pure newValue, ..}+instance Property "UserGroupId" ServerlessCache where+ type PropertyType "UserGroupId" ServerlessCache = Value Prelude.Text+ set newValue ServerlessCache {..}+ = ServerlessCache {userGroupId = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/ServerlessCache/CacheUsageLimitsProperty.hs view
@@ -0,0 +1,49 @@+module Stratosphere.ElastiCache.ServerlessCache.CacheUsageLimitsProperty (+ module Exports, CacheUsageLimitsProperty(..),+ mkCacheUsageLimitsProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.ServerlessCache.DataStorageProperty as Exports+import {-# SOURCE #-} Stratosphere.ElastiCache.ServerlessCache.ECPUPerSecondProperty as Exports+import Stratosphere.ResourceProperties+data CacheUsageLimitsProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-cacheusagelimits.html>+ CacheUsageLimitsProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-cacheusagelimits.html#cfn-elasticache-serverlesscache-cacheusagelimits-datastorage>+ dataStorage :: (Prelude.Maybe DataStorageProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-cacheusagelimits.html#cfn-elasticache-serverlesscache-cacheusagelimits-ecpupersecond>+ eCPUPerSecond :: (Prelude.Maybe ECPUPerSecondProperty)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkCacheUsageLimitsProperty :: CacheUsageLimitsProperty+mkCacheUsageLimitsProperty+ = CacheUsageLimitsProperty+ {haddock_workaround_ = (), dataStorage = Prelude.Nothing,+ eCPUPerSecond = Prelude.Nothing}+instance ToResourceProperties CacheUsageLimitsProperty where+ toResourceProperties CacheUsageLimitsProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ServerlessCache.CacheUsageLimits",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "DataStorage" Prelude.<$> dataStorage,+ (JSON..=) "ECPUPerSecond" Prelude.<$> eCPUPerSecond])}+instance JSON.ToJSON CacheUsageLimitsProperty where+ toJSON CacheUsageLimitsProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "DataStorage" Prelude.<$> dataStorage,+ (JSON..=) "ECPUPerSecond" Prelude.<$> eCPUPerSecond]))+instance Property "DataStorage" CacheUsageLimitsProperty where+ type PropertyType "DataStorage" CacheUsageLimitsProperty = DataStorageProperty+ set newValue CacheUsageLimitsProperty {..}+ = CacheUsageLimitsProperty+ {dataStorage = Prelude.pure newValue, ..}+instance Property "ECPUPerSecond" CacheUsageLimitsProperty where+ type PropertyType "ECPUPerSecond" CacheUsageLimitsProperty = ECPUPerSecondProperty+ set newValue CacheUsageLimitsProperty {..}+ = CacheUsageLimitsProperty+ {eCPUPerSecond = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/ServerlessCache/CacheUsageLimitsProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.ServerlessCache.CacheUsageLimitsProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data CacheUsageLimitsProperty :: Prelude.Type+instance ToResourceProperties CacheUsageLimitsProperty+instance Prelude.Eq CacheUsageLimitsProperty+instance Prelude.Show CacheUsageLimitsProperty+instance JSON.ToJSON CacheUsageLimitsProperty
+ gen/Stratosphere/ElastiCache/ServerlessCache/DataStorageProperty.hs view
@@ -0,0 +1,55 @@+module Stratosphere.ElastiCache.ServerlessCache.DataStorageProperty (+ DataStorageProperty(..), mkDataStorageProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data DataStorageProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html>+ DataStorageProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html#cfn-elasticache-serverlesscache-datastorage-maximum>+ maximum :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html#cfn-elasticache-serverlesscache-datastorage-minimum>+ minimum :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-datastorage.html#cfn-elasticache-serverlesscache-datastorage-unit>+ unit :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkDataStorageProperty :: Value Prelude.Text -> DataStorageProperty+mkDataStorageProperty unit+ = DataStorageProperty+ {haddock_workaround_ = (), unit = unit, maximum = Prelude.Nothing,+ minimum = Prelude.Nothing}+instance ToResourceProperties DataStorageProperty where+ toResourceProperties DataStorageProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ServerlessCache.DataStorage",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Unit" JSON..= unit]+ (Prelude.catMaybes+ [(JSON..=) "Maximum" Prelude.<$> maximum,+ (JSON..=) "Minimum" Prelude.<$> minimum]))}+instance JSON.ToJSON DataStorageProperty where+ toJSON DataStorageProperty {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Unit" JSON..= unit]+ (Prelude.catMaybes+ [(JSON..=) "Maximum" Prelude.<$> maximum,+ (JSON..=) "Minimum" Prelude.<$> minimum])))+instance Property "Maximum" DataStorageProperty where+ type PropertyType "Maximum" DataStorageProperty = Value Prelude.Integer+ set newValue DataStorageProperty {..}+ = DataStorageProperty {maximum = Prelude.pure newValue, ..}+instance Property "Minimum" DataStorageProperty where+ type PropertyType "Minimum" DataStorageProperty = Value Prelude.Integer+ set newValue DataStorageProperty {..}+ = DataStorageProperty {minimum = Prelude.pure newValue, ..}+instance Property "Unit" DataStorageProperty where+ type PropertyType "Unit" DataStorageProperty = Value Prelude.Text+ set newValue DataStorageProperty {..}+ = DataStorageProperty {unit = newValue, ..}
+ gen/Stratosphere/ElastiCache/ServerlessCache/DataStorageProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.ServerlessCache.DataStorageProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data DataStorageProperty :: Prelude.Type+instance ToResourceProperties DataStorageProperty+instance Prelude.Eq DataStorageProperty+instance Prelude.Show DataStorageProperty+instance JSON.ToJSON DataStorageProperty
+ gen/Stratosphere/ElastiCache/ServerlessCache/ECPUPerSecondProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.ElastiCache.ServerlessCache.ECPUPerSecondProperty (+ ECPUPerSecondProperty(..), mkECPUPerSecondProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data ECPUPerSecondProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-ecpupersecond.html>+ ECPUPerSecondProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-ecpupersecond.html#cfn-elasticache-serverlesscache-ecpupersecond-maximum>+ maximum :: (Prelude.Maybe (Value Prelude.Integer)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-ecpupersecond.html#cfn-elasticache-serverlesscache-ecpupersecond-minimum>+ minimum :: (Prelude.Maybe (Value Prelude.Integer))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkECPUPerSecondProperty :: ECPUPerSecondProperty+mkECPUPerSecondProperty+ = ECPUPerSecondProperty+ {haddock_workaround_ = (), maximum = Prelude.Nothing,+ minimum = Prelude.Nothing}+instance ToResourceProperties ECPUPerSecondProperty where+ toResourceProperties ECPUPerSecondProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ServerlessCache.ECPUPerSecond",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "Maximum" Prelude.<$> maximum,+ (JSON..=) "Minimum" Prelude.<$> minimum])}+instance JSON.ToJSON ECPUPerSecondProperty where+ toJSON ECPUPerSecondProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "Maximum" Prelude.<$> maximum,+ (JSON..=) "Minimum" Prelude.<$> minimum]))+instance Property "Maximum" ECPUPerSecondProperty where+ type PropertyType "Maximum" ECPUPerSecondProperty = Value Prelude.Integer+ set newValue ECPUPerSecondProperty {..}+ = ECPUPerSecondProperty {maximum = Prelude.pure newValue, ..}+instance Property "Minimum" ECPUPerSecondProperty where+ type PropertyType "Minimum" ECPUPerSecondProperty = Value Prelude.Integer+ set newValue ECPUPerSecondProperty {..}+ = ECPUPerSecondProperty {minimum = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/ServerlessCache/ECPUPerSecondProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.ServerlessCache.ECPUPerSecondProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data ECPUPerSecondProperty :: Prelude.Type+instance ToResourceProperties ECPUPerSecondProperty+instance Prelude.Eq ECPUPerSecondProperty+instance Prelude.Show ECPUPerSecondProperty+instance JSON.ToJSON ECPUPerSecondProperty
+ gen/Stratosphere/ElastiCache/ServerlessCache/EndpointProperty.hs view
@@ -0,0 +1,45 @@+module Stratosphere.ElastiCache.ServerlessCache.EndpointProperty (+ EndpointProperty(..), mkEndpointProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data EndpointProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-endpoint.html>+ EndpointProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-endpoint.html#cfn-elasticache-serverlesscache-endpoint-address>+ address :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-serverlesscache-endpoint.html#cfn-elasticache-serverlesscache-endpoint-port>+ port :: (Prelude.Maybe (Value Prelude.Text))}+ deriving stock (Prelude.Eq, Prelude.Show)+mkEndpointProperty :: EndpointProperty+mkEndpointProperty+ = EndpointProperty+ {haddock_workaround_ = (), address = Prelude.Nothing,+ port = Prelude.Nothing}+instance ToResourceProperties EndpointProperty where+ toResourceProperties EndpointProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::ServerlessCache.Endpoint",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "Address" Prelude.<$> address,+ (JSON..=) "Port" Prelude.<$> port])}+instance JSON.ToJSON EndpointProperty where+ toJSON EndpointProperty {..}+ = JSON.object+ (Prelude.fromList+ (Prelude.catMaybes+ [(JSON..=) "Address" Prelude.<$> address,+ (JSON..=) "Port" Prelude.<$> port]))+instance Property "Address" EndpointProperty where+ type PropertyType "Address" EndpointProperty = Value Prelude.Text+ set newValue EndpointProperty {..}+ = EndpointProperty {address = Prelude.pure newValue, ..}+instance Property "Port" EndpointProperty where+ type PropertyType "Port" EndpointProperty = Value Prelude.Text+ set newValue EndpointProperty {..}+ = EndpointProperty {port = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/ServerlessCache/EndpointProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.ServerlessCache.EndpointProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data EndpointProperty :: Prelude.Type+instance ToResourceProperties EndpointProperty+instance Prelude.Eq EndpointProperty+instance Prelude.Show EndpointProperty+instance JSON.ToJSON EndpointProperty
+ gen/Stratosphere/ElastiCache/SubnetGroup.hs view
@@ -0,0 +1,64 @@+module Stratosphere.ElastiCache.SubnetGroup (+ SubnetGroup(..), mkSubnetGroup+ ) 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 SubnetGroup+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html>+ SubnetGroup {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-cachesubnetgroupname>+ cacheSubnetGroupName :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-description>+ description :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-subnetids>+ subnetIds :: (ValueList Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-subnetgroup.html#cfn-elasticache-subnetgroup-tags>+ tags :: (Prelude.Maybe [Tag])}+ deriving stock (Prelude.Eq, Prelude.Show)+mkSubnetGroup ::+ Value Prelude.Text -> ValueList Prelude.Text -> SubnetGroup+mkSubnetGroup description subnetIds+ = SubnetGroup+ {haddock_workaround_ = (), description = description,+ subnetIds = subnetIds, cacheSubnetGroupName = Prelude.Nothing,+ tags = Prelude.Nothing}+instance ToResourceProperties SubnetGroup where+ toResourceProperties SubnetGroup {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::SubnetGroup",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Description" JSON..= description, "SubnetIds" JSON..= subnetIds]+ (Prelude.catMaybes+ [(JSON..=) "CacheSubnetGroupName" Prelude.<$> cacheSubnetGroupName,+ (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON SubnetGroup where+ toJSON SubnetGroup {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Description" JSON..= description, "SubnetIds" JSON..= subnetIds]+ (Prelude.catMaybes+ [(JSON..=) "CacheSubnetGroupName" Prelude.<$> cacheSubnetGroupName,+ (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "CacheSubnetGroupName" SubnetGroup where+ type PropertyType "CacheSubnetGroupName" SubnetGroup = Value Prelude.Text+ set newValue SubnetGroup {..}+ = SubnetGroup {cacheSubnetGroupName = Prelude.pure newValue, ..}+instance Property "Description" SubnetGroup where+ type PropertyType "Description" SubnetGroup = Value Prelude.Text+ set newValue SubnetGroup {..}+ = SubnetGroup {description = newValue, ..}+instance Property "SubnetIds" SubnetGroup where+ type PropertyType "SubnetIds" SubnetGroup = ValueList Prelude.Text+ set newValue SubnetGroup {..}+ = SubnetGroup {subnetIds = newValue, ..}+instance Property "Tags" SubnetGroup where+ type PropertyType "Tags" SubnetGroup = [Tag]+ set newValue SubnetGroup {..}+ = SubnetGroup {tags = Prelude.pure newValue, ..}
+ gen/Stratosphere/ElastiCache/User.hs view
@@ -0,0 +1,95 @@+module Stratosphere.ElastiCache.User (+ module Exports, User(..), mkUser+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import {-# SOURCE #-} Stratosphere.ElastiCache.User.AuthenticationModeProperty as Exports+import Stratosphere.ResourceProperties+import Stratosphere.Tag+import Stratosphere.Value+data User+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html>+ User {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-accessstring>+ accessString :: (Prelude.Maybe (Value Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-authenticationmode>+ authenticationMode :: (Prelude.Maybe AuthenticationModeProperty),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-engine>+ engine :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-nopasswordrequired>+ noPasswordRequired :: (Prelude.Maybe (Value Prelude.Bool)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-passwords>+ passwords :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-tags>+ tags :: (Prelude.Maybe [Tag]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-userid>+ userId :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-user.html#cfn-elasticache-user-username>+ userName :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkUser ::+ Value Prelude.Text+ -> Value Prelude.Text -> Value Prelude.Text -> User+mkUser engine userId userName+ = User+ {haddock_workaround_ = (), engine = engine, userId = userId,+ userName = userName, accessString = Prelude.Nothing,+ authenticationMode = Prelude.Nothing,+ noPasswordRequired = Prelude.Nothing, passwords = Prelude.Nothing,+ tags = Prelude.Nothing}+instance ToResourceProperties User where+ toResourceProperties User {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::User", supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Engine" JSON..= engine, "UserId" JSON..= userId,+ "UserName" JSON..= userName]+ (Prelude.catMaybes+ [(JSON..=) "AccessString" Prelude.<$> accessString,+ (JSON..=) "AuthenticationMode" Prelude.<$> authenticationMode,+ (JSON..=) "NoPasswordRequired" Prelude.<$> noPasswordRequired,+ (JSON..=) "Passwords" Prelude.<$> passwords,+ (JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON User where+ toJSON User {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Engine" JSON..= engine, "UserId" JSON..= userId,+ "UserName" JSON..= userName]+ (Prelude.catMaybes+ [(JSON..=) "AccessString" Prelude.<$> accessString,+ (JSON..=) "AuthenticationMode" Prelude.<$> authenticationMode,+ (JSON..=) "NoPasswordRequired" Prelude.<$> noPasswordRequired,+ (JSON..=) "Passwords" Prelude.<$> passwords,+ (JSON..=) "Tags" Prelude.<$> tags])))+instance Property "AccessString" User where+ type PropertyType "AccessString" User = Value Prelude.Text+ set newValue User {..}+ = User {accessString = Prelude.pure newValue, ..}+instance Property "AuthenticationMode" User where+ type PropertyType "AuthenticationMode" User = AuthenticationModeProperty+ set newValue User {..}+ = User {authenticationMode = Prelude.pure newValue, ..}+instance Property "Engine" User where+ type PropertyType "Engine" User = Value Prelude.Text+ set newValue User {..} = User {engine = newValue, ..}+instance Property "NoPasswordRequired" User where+ type PropertyType "NoPasswordRequired" User = Value Prelude.Bool+ set newValue User {..}+ = User {noPasswordRequired = Prelude.pure newValue, ..}+instance Property "Passwords" User where+ type PropertyType "Passwords" User = ValueList Prelude.Text+ set newValue User {..}+ = User {passwords = Prelude.pure newValue, ..}+instance Property "Tags" User where+ type PropertyType "Tags" User = [Tag]+ set newValue User {..} = User {tags = Prelude.pure newValue, ..}+instance Property "UserId" User where+ type PropertyType "UserId" User = Value Prelude.Text+ set newValue User {..} = User {userId = newValue, ..}+instance Property "UserName" User where+ type PropertyType "UserName" User = Value Prelude.Text+ set newValue User {..} = User {userName = newValue, ..}
+ gen/Stratosphere/ElastiCache/User/AuthenticationModeProperty.hs view
@@ -0,0 +1,47 @@+module Stratosphere.ElastiCache.User.AuthenticationModeProperty (+ AuthenticationModeProperty(..), mkAuthenticationModeProperty+ ) where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.Property+import Stratosphere.ResourceProperties+import Stratosphere.Value+data AuthenticationModeProperty+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-user-authenticationmode.html>+ AuthenticationModeProperty {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-user-authenticationmode.html#cfn-elasticache-user-authenticationmode-passwords>+ passwords :: (Prelude.Maybe (ValueList Prelude.Text)),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticache-user-authenticationmode.html#cfn-elasticache-user-authenticationmode-type>+ type' :: (Value Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkAuthenticationModeProperty ::+ Value Prelude.Text -> AuthenticationModeProperty+mkAuthenticationModeProperty type'+ = AuthenticationModeProperty+ {haddock_workaround_ = (), type' = type',+ passwords = Prelude.Nothing}+instance ToResourceProperties AuthenticationModeProperty where+ toResourceProperties AuthenticationModeProperty {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::User.AuthenticationMode",+ supportsTags = Prelude.False,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Type" JSON..= type']+ (Prelude.catMaybes [(JSON..=) "Passwords" Prelude.<$> passwords]))}+instance JSON.ToJSON AuthenticationModeProperty where+ toJSON AuthenticationModeProperty {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Type" JSON..= type']+ (Prelude.catMaybes [(JSON..=) "Passwords" Prelude.<$> passwords])))+instance Property "Passwords" AuthenticationModeProperty where+ type PropertyType "Passwords" AuthenticationModeProperty = ValueList Prelude.Text+ set newValue AuthenticationModeProperty {..}+ = AuthenticationModeProperty+ {passwords = Prelude.pure newValue, ..}+instance Property "Type" AuthenticationModeProperty where+ type PropertyType "Type" AuthenticationModeProperty = Value Prelude.Text+ set newValue AuthenticationModeProperty {..}+ = AuthenticationModeProperty {type' = newValue, ..}
+ gen/Stratosphere/ElastiCache/User/AuthenticationModeProperty.hs-boot view
@@ -0,0 +1,9 @@+module Stratosphere.ElastiCache.User.AuthenticationModeProperty where+import qualified Data.Aeson as JSON+import qualified Stratosphere.Prelude as Prelude+import Stratosphere.ResourceProperties+data AuthenticationModeProperty :: Prelude.Type+instance ToResourceProperties AuthenticationModeProperty+instance Prelude.Eq AuthenticationModeProperty+instance Prelude.Show AuthenticationModeProperty+instance JSON.ToJSON AuthenticationModeProperty
+ gen/Stratosphere/ElastiCache/UserGroup.hs view
@@ -0,0 +1,61 @@+module Stratosphere.ElastiCache.UserGroup (+ UserGroup(..), mkUserGroup+ ) 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 UserGroup+ = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html>+ UserGroup {haddock_workaround_ :: (),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-engine>+ engine :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-tags>+ tags :: (Prelude.Maybe [Tag]),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-usergroupid>+ userGroupId :: (Value Prelude.Text),+ -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-usergroup.html#cfn-elasticache-usergroup-userids>+ userIds :: (ValueList Prelude.Text)}+ deriving stock (Prelude.Eq, Prelude.Show)+mkUserGroup ::+ Value Prelude.Text+ -> Value Prelude.Text -> ValueList Prelude.Text -> UserGroup+mkUserGroup engine userGroupId userIds+ = UserGroup+ {haddock_workaround_ = (), engine = engine,+ userGroupId = userGroupId, userIds = userIds,+ tags = Prelude.Nothing}+instance ToResourceProperties UserGroup where+ toResourceProperties UserGroup {..}+ = ResourceProperties+ {awsType = "AWS::ElastiCache::UserGroup",+ supportsTags = Prelude.True,+ properties = Prelude.fromList+ ((Prelude.<>)+ ["Engine" JSON..= engine, "UserGroupId" JSON..= userGroupId,+ "UserIds" JSON..= userIds]+ (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags]))}+instance JSON.ToJSON UserGroup where+ toJSON UserGroup {..}+ = JSON.object+ (Prelude.fromList+ ((Prelude.<>)+ ["Engine" JSON..= engine, "UserGroupId" JSON..= userGroupId,+ "UserIds" JSON..= userIds]+ (Prelude.catMaybes [(JSON..=) "Tags" Prelude.<$> tags])))+instance Property "Engine" UserGroup where+ type PropertyType "Engine" UserGroup = Value Prelude.Text+ set newValue UserGroup {..} = UserGroup {engine = newValue, ..}+instance Property "Tags" UserGroup where+ type PropertyType "Tags" UserGroup = [Tag]+ set newValue UserGroup {..}+ = UserGroup {tags = Prelude.pure newValue, ..}+instance Property "UserGroupId" UserGroup where+ type PropertyType "UserGroupId" UserGroup = Value Prelude.Text+ set newValue UserGroup {..}+ = UserGroup {userGroupId = newValue, ..}+instance Property "UserIds" UserGroup where+ type PropertyType "UserIds" UserGroup = ValueList Prelude.Text+ set newValue UserGroup {..} = UserGroup {userIds = newValue, ..}
+ stratosphere-elasticache.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-elasticache+version: 1.0.0+synopsis: Stratosphere integration for AWS ElastiCache.+description: Integration into stratosphere to generate resources and properties for AWS ElastiCache+category: AWS, Cloud, ElastiCache+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.ElastiCache.CacheCluster+ Stratosphere.ElastiCache.CacheCluster.CloudWatchLogsDestinationDetailsProperty+ Stratosphere.ElastiCache.CacheCluster.DestinationDetailsProperty+ Stratosphere.ElastiCache.CacheCluster.KinesisFirehoseDestinationDetailsProperty+ Stratosphere.ElastiCache.CacheCluster.LogDeliveryConfigurationRequestProperty+ Stratosphere.ElastiCache.GlobalReplicationGroup+ Stratosphere.ElastiCache.GlobalReplicationGroup.GlobalReplicationGroupMemberProperty+ Stratosphere.ElastiCache.GlobalReplicationGroup.RegionalConfigurationProperty+ Stratosphere.ElastiCache.GlobalReplicationGroup.ReshardingConfigurationProperty+ Stratosphere.ElastiCache.ParameterGroup+ Stratosphere.ElastiCache.ReplicationGroup+ Stratosphere.ElastiCache.ReplicationGroup.CloudWatchLogsDestinationDetailsProperty+ Stratosphere.ElastiCache.ReplicationGroup.DestinationDetailsProperty+ Stratosphere.ElastiCache.ReplicationGroup.KinesisFirehoseDestinationDetailsProperty+ Stratosphere.ElastiCache.ReplicationGroup.LogDeliveryConfigurationRequestProperty+ Stratosphere.ElastiCache.ReplicationGroup.NodeGroupConfigurationProperty+ Stratosphere.ElastiCache.SecurityGroup+ Stratosphere.ElastiCache.SecurityGroupIngress+ Stratosphere.ElastiCache.ServerlessCache+ Stratosphere.ElastiCache.ServerlessCache.CacheUsageLimitsProperty+ Stratosphere.ElastiCache.ServerlessCache.DataStorageProperty+ Stratosphere.ElastiCache.ServerlessCache.ECPUPerSecondProperty+ Stratosphere.ElastiCache.ServerlessCache.EndpointProperty+ Stratosphere.ElastiCache.SubnetGroup+ Stratosphere.ElastiCache.User+ Stratosphere.ElastiCache.User.AuthenticationModeProperty+ Stratosphere.ElastiCache.UserGroup+ other-modules:+ Paths_stratosphere_elasticache+ 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