packages feed

amazonka-redshift 0.3.6 → 1.0.0

raw patch · 76 files changed

+14776/−10931 lines, 76 filesdep +amazonka-redshiftdep +amazonka-testdep +bytestringdep ~amazonka-coredep ~basePVP ok

version bump matches the API change (PVP)

Dependencies added: amazonka-redshift, amazonka-test, bytestring, lens, tasty, tasty-hunit, text, time, unordered-containers

Dependency ranges changed: amazonka-core, base

API changes (from Hackage documentation)

- Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: acsgiCIDRIP :: Lens' AuthorizeClusterSecurityGroupIngress (Maybe Text)
- Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: acsgirClusterSecurityGroup :: Lens' AuthorizeClusterSecurityGroupIngressResponse (Maybe ClusterSecurityGroup)
- Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance FromXML AuthorizeClusterSecurityGroupIngressResponse
- Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Ord AuthorizeClusterSecurityGroupIngress
- Network.AWS.Redshift.AuthorizeSnapshotAccess: asarSnapshot :: Lens' AuthorizeSnapshotAccessResponse (Maybe Snapshot)
- Network.AWS.Redshift.AuthorizeSnapshotAccess: instance FromXML AuthorizeSnapshotAccessResponse
- Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Ord AuthorizeSnapshotAccess
- Network.AWS.Redshift.CopyClusterSnapshot: ccsrSnapshot :: Lens' CopyClusterSnapshotResponse (Maybe Snapshot)
- Network.AWS.Redshift.CopyClusterSnapshot: instance FromXML CopyClusterSnapshotResponse
- Network.AWS.Redshift.CopyClusterSnapshot: instance Ord CopyClusterSnapshot
- Network.AWS.Redshift.CreateCluster: ccElasticIp :: Lens' CreateCluster (Maybe Text)
- Network.AWS.Redshift.CreateCluster: ccHsmClientCertificateIdentifier :: Lens' CreateCluster (Maybe Text)
- Network.AWS.Redshift.CreateCluster: ccHsmConfigurationIdentifier :: Lens' CreateCluster (Maybe Text)
- Network.AWS.Redshift.CreateCluster: ccKmsKeyId :: Lens' CreateCluster (Maybe Text)
- Network.AWS.Redshift.CreateCluster: ccVpcSecurityGroupIds :: Lens' CreateCluster [Text]
- Network.AWS.Redshift.CreateCluster: ccrCluster :: Lens' CreateClusterResponse (Maybe Cluster)
- Network.AWS.Redshift.CreateCluster: instance FromXML CreateClusterResponse
- Network.AWS.Redshift.CreateClusterParameterGroup: ccpgrClusterParameterGroup :: Lens' CreateClusterParameterGroupResponse (Maybe ClusterParameterGroup)
- Network.AWS.Redshift.CreateClusterParameterGroup: instance FromXML CreateClusterParameterGroupResponse
- Network.AWS.Redshift.CreateClusterSecurityGroup: ccsg1ClusterSecurityGroupName :: Lens' CreateClusterSecurityGroup Text
- Network.AWS.Redshift.CreateClusterSecurityGroup: ccsg1Description :: Lens' CreateClusterSecurityGroup Text
- Network.AWS.Redshift.CreateClusterSecurityGroup: ccsg1Tags :: Lens' CreateClusterSecurityGroup [Tag]
- Network.AWS.Redshift.CreateClusterSecurityGroup: ccsgrClusterSecurityGroup :: Lens' CreateClusterSecurityGroupResponse (Maybe ClusterSecurityGroup)
- Network.AWS.Redshift.CreateClusterSecurityGroup: instance FromXML CreateClusterSecurityGroupResponse
- Network.AWS.Redshift.CreateClusterSnapshot: ccsr1Snapshot :: Lens' CreateClusterSnapshotResponse (Maybe Snapshot)
- Network.AWS.Redshift.CreateClusterSnapshot: instance FromXML CreateClusterSnapshotResponse
- Network.AWS.Redshift.CreateClusterSubnetGroup: ccsgrClusterSubnetGroup :: Lens' CreateClusterSubnetGroupResponse (Maybe ClusterSubnetGroup)
- Network.AWS.Redshift.CreateClusterSubnetGroup: instance FromXML CreateClusterSubnetGroupResponse
- Network.AWS.Redshift.CreateEventSubscription: cesSnsTopicArn :: Lens' CreateEventSubscription Text
- Network.AWS.Redshift.CreateEventSubscription: cesrEventSubscription :: Lens' CreateEventSubscriptionResponse (Maybe EventSubscription)
- Network.AWS.Redshift.CreateEventSubscription: instance FromXML CreateEventSubscriptionResponse
- Network.AWS.Redshift.CreateHsmClientCertificate: chccHsmClientCertificateIdentifier :: Lens' CreateHsmClientCertificate Text
- Network.AWS.Redshift.CreateHsmClientCertificate: chccTags :: Lens' CreateHsmClientCertificate [Tag]
- Network.AWS.Redshift.CreateHsmClientCertificate: chccrHsmClientCertificate :: Lens' CreateHsmClientCertificateResponse (Maybe HsmClientCertificate)
- Network.AWS.Redshift.CreateHsmClientCertificate: createHsmClientCertificate :: Text -> CreateHsmClientCertificate
- Network.AWS.Redshift.CreateHsmClientCertificate: createHsmClientCertificateResponse :: CreateHsmClientCertificateResponse
- Network.AWS.Redshift.CreateHsmClientCertificate: data CreateHsmClientCertificate
- Network.AWS.Redshift.CreateHsmClientCertificate: data CreateHsmClientCertificateResponse
- Network.AWS.Redshift.CreateHsmClientCertificate: instance AWSRequest CreateHsmClientCertificate
- Network.AWS.Redshift.CreateHsmClientCertificate: instance Eq CreateHsmClientCertificate
- Network.AWS.Redshift.CreateHsmClientCertificate: instance Eq CreateHsmClientCertificateResponse
- Network.AWS.Redshift.CreateHsmClientCertificate: instance FromXML CreateHsmClientCertificateResponse
- Network.AWS.Redshift.CreateHsmClientCertificate: instance Read CreateHsmClientCertificate
- Network.AWS.Redshift.CreateHsmClientCertificate: instance Read CreateHsmClientCertificateResponse
- Network.AWS.Redshift.CreateHsmClientCertificate: instance Show CreateHsmClientCertificate
- Network.AWS.Redshift.CreateHsmClientCertificate: instance Show CreateHsmClientCertificateResponse
- Network.AWS.Redshift.CreateHsmClientCertificate: instance ToHeaders CreateHsmClientCertificate
- Network.AWS.Redshift.CreateHsmClientCertificate: instance ToPath CreateHsmClientCertificate
- Network.AWS.Redshift.CreateHsmClientCertificate: instance ToQuery CreateHsmClientCertificate
- Network.AWS.Redshift.CreateHsmConfiguration: chcDescription :: Lens' CreateHsmConfiguration Text
- Network.AWS.Redshift.CreateHsmConfiguration: chcHsmConfigurationIdentifier :: Lens' CreateHsmConfiguration Text
- Network.AWS.Redshift.CreateHsmConfiguration: chcHsmIpAddress :: Lens' CreateHsmConfiguration Text
- Network.AWS.Redshift.CreateHsmConfiguration: chcHsmPartitionName :: Lens' CreateHsmConfiguration Text
- Network.AWS.Redshift.CreateHsmConfiguration: chcHsmPartitionPassword :: Lens' CreateHsmConfiguration Text
- Network.AWS.Redshift.CreateHsmConfiguration: chcHsmServerPublicCertificate :: Lens' CreateHsmConfiguration Text
- Network.AWS.Redshift.CreateHsmConfiguration: chcTags :: Lens' CreateHsmConfiguration [Tag]
- Network.AWS.Redshift.CreateHsmConfiguration: chcrHsmConfiguration :: Lens' CreateHsmConfigurationResponse (Maybe HsmConfiguration)
- Network.AWS.Redshift.CreateHsmConfiguration: createHsmConfiguration :: Text -> Text -> Text -> Text -> Text -> Text -> CreateHsmConfiguration
- Network.AWS.Redshift.CreateHsmConfiguration: createHsmConfigurationResponse :: CreateHsmConfigurationResponse
- Network.AWS.Redshift.CreateHsmConfiguration: data CreateHsmConfiguration
- Network.AWS.Redshift.CreateHsmConfiguration: data CreateHsmConfigurationResponse
- Network.AWS.Redshift.CreateHsmConfiguration: instance AWSRequest CreateHsmConfiguration
- Network.AWS.Redshift.CreateHsmConfiguration: instance Eq CreateHsmConfiguration
- Network.AWS.Redshift.CreateHsmConfiguration: instance Eq CreateHsmConfigurationResponse
- Network.AWS.Redshift.CreateHsmConfiguration: instance FromXML CreateHsmConfigurationResponse
- Network.AWS.Redshift.CreateHsmConfiguration: instance Read CreateHsmConfiguration
- Network.AWS.Redshift.CreateHsmConfiguration: instance Read CreateHsmConfigurationResponse
- Network.AWS.Redshift.CreateHsmConfiguration: instance Show CreateHsmConfiguration
- Network.AWS.Redshift.CreateHsmConfiguration: instance Show CreateHsmConfigurationResponse
- Network.AWS.Redshift.CreateHsmConfiguration: instance ToHeaders CreateHsmConfiguration
- Network.AWS.Redshift.CreateHsmConfiguration: instance ToPath CreateHsmConfiguration
- Network.AWS.Redshift.CreateHsmConfiguration: instance ToQuery CreateHsmConfiguration
- Network.AWS.Redshift.CreateTags: instance Ord CreateTagsResponse
- Network.AWS.Redshift.DeleteCluster: dc1ClusterIdentifier :: Lens' DeleteCluster Text
- Network.AWS.Redshift.DeleteCluster: dc1FinalClusterSnapshotIdentifier :: Lens' DeleteCluster (Maybe Text)
- Network.AWS.Redshift.DeleteCluster: dc1SkipFinalClusterSnapshot :: Lens' DeleteCluster (Maybe Bool)
- Network.AWS.Redshift.DeleteCluster: dcrCluster :: Lens' DeleteClusterResponse (Maybe Cluster)
- Network.AWS.Redshift.DeleteCluster: instance FromXML DeleteClusterResponse
- Network.AWS.Redshift.DeleteCluster: instance Ord DeleteCluster
- Network.AWS.Redshift.DeleteClusterParameterGroup: dcpg1ParameterGroupName :: Lens' DeleteClusterParameterGroup Text
- Network.AWS.Redshift.DeleteClusterParameterGroup: instance IsString DeleteClusterParameterGroup
- Network.AWS.Redshift.DeleteClusterParameterGroup: instance Monoid DeleteClusterParameterGroup
- Network.AWS.Redshift.DeleteClusterParameterGroup: instance Ord DeleteClusterParameterGroup
- Network.AWS.Redshift.DeleteClusterParameterGroup: instance Ord DeleteClusterParameterGroupResponse
- Network.AWS.Redshift.DeleteClusterSecurityGroup: dcsg1ClusterSecurityGroupName :: Lens' DeleteClusterSecurityGroup Text
- Network.AWS.Redshift.DeleteClusterSecurityGroup: instance IsString DeleteClusterSecurityGroup
- Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Monoid DeleteClusterSecurityGroup
- Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Ord DeleteClusterSecurityGroup
- Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Ord DeleteClusterSecurityGroupResponse
- Network.AWS.Redshift.DeleteClusterSnapshot: dcsrSnapshot :: Lens' DeleteClusterSnapshotResponse (Maybe Snapshot)
- Network.AWS.Redshift.DeleteClusterSnapshot: instance FromXML DeleteClusterSnapshotResponse
- Network.AWS.Redshift.DeleteClusterSnapshot: instance Ord DeleteClusterSnapshot
- Network.AWS.Redshift.DeleteClusterSubnetGroup: instance IsString DeleteClusterSubnetGroup
- Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Monoid DeleteClusterSubnetGroup
- Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Ord DeleteClusterSubnetGroup
- Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Ord DeleteClusterSubnetGroupResponse
- Network.AWS.Redshift.DeleteEventSubscription: instance IsString DeleteEventSubscription
- Network.AWS.Redshift.DeleteEventSubscription: instance Monoid DeleteEventSubscription
- Network.AWS.Redshift.DeleteEventSubscription: instance Ord DeleteEventSubscription
- Network.AWS.Redshift.DeleteEventSubscription: instance Ord DeleteEventSubscriptionResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: data DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: data DeleteHsmClientCertificateResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: deleteHsmClientCertificate :: Text -> DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: deleteHsmClientCertificateResponse :: DeleteHsmClientCertificateResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: dhcc1HsmClientCertificateIdentifier :: Lens' DeleteHsmClientCertificate Text
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance AWSRequest DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Constructor C1_0DeleteHsmClientCertificateResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Datatype D1DeleteHsmClientCertificateResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Eq DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Eq DeleteHsmClientCertificateResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Generic DeleteHsmClientCertificateResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance IsString DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Monoid DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Ord DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Ord DeleteHsmClientCertificateResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Read DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Read DeleteHsmClientCertificateResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Show DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance Show DeleteHsmClientCertificateResponse
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance ToHeaders DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance ToPath DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmClientCertificate: instance ToQuery DeleteHsmClientCertificate
- Network.AWS.Redshift.DeleteHsmConfiguration: data DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: data DeleteHsmConfigurationResponse
- Network.AWS.Redshift.DeleteHsmConfiguration: deleteHsmConfiguration :: Text -> DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: deleteHsmConfigurationResponse :: DeleteHsmConfigurationResponse
- Network.AWS.Redshift.DeleteHsmConfiguration: dhcHsmConfigurationIdentifier :: Lens' DeleteHsmConfiguration Text
- Network.AWS.Redshift.DeleteHsmConfiguration: instance AWSRequest DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Constructor C1_0DeleteHsmConfigurationResponse
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Datatype D1DeleteHsmConfigurationResponse
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Eq DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Eq DeleteHsmConfigurationResponse
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Generic DeleteHsmConfigurationResponse
- Network.AWS.Redshift.DeleteHsmConfiguration: instance IsString DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Monoid DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Ord DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Ord DeleteHsmConfigurationResponse
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Read DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Read DeleteHsmConfigurationResponse
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Show DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: instance Show DeleteHsmConfigurationResponse
- Network.AWS.Redshift.DeleteHsmConfiguration: instance ToHeaders DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: instance ToPath DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteHsmConfiguration: instance ToQuery DeleteHsmConfiguration
- Network.AWS.Redshift.DeleteTags: dt1ResourceName :: Lens' DeleteTags Text
- Network.AWS.Redshift.DeleteTags: dt1TagKeys :: Lens' DeleteTags [Text]
- Network.AWS.Redshift.DeleteTags: instance Ord DeleteTags
- Network.AWS.Redshift.DeleteTags: instance Ord DeleteTagsResponse
- Network.AWS.Redshift.DescribeClusterParameterGroups: dcpgrMarker :: Lens' DescribeClusterParameterGroupsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeClusterParameterGroups: dcpgrParameterGroups :: Lens' DescribeClusterParameterGroupsResponse [ClusterParameterGroup]
- Network.AWS.Redshift.DescribeClusterParameterGroups: instance FromXML DescribeClusterParameterGroupsResponse
- Network.AWS.Redshift.DescribeClusterParameterGroups: instance Ord DescribeClusterParameterGroups
- Network.AWS.Redshift.DescribeClusterParameters: dcp1Marker :: Lens' DescribeClusterParameters (Maybe Text)
- Network.AWS.Redshift.DescribeClusterParameters: dcp1MaxRecords :: Lens' DescribeClusterParameters (Maybe Int)
- Network.AWS.Redshift.DescribeClusterParameters: dcp1ParameterGroupName :: Lens' DescribeClusterParameters Text
- Network.AWS.Redshift.DescribeClusterParameters: dcp1Source :: Lens' DescribeClusterParameters (Maybe Text)
- Network.AWS.Redshift.DescribeClusterParameters: dcprMarker :: Lens' DescribeClusterParametersResponse (Maybe Text)
- Network.AWS.Redshift.DescribeClusterParameters: dcprParameters :: Lens' DescribeClusterParametersResponse [Parameter]
- Network.AWS.Redshift.DescribeClusterParameters: instance FromXML DescribeClusterParametersResponse
- Network.AWS.Redshift.DescribeClusterParameters: instance Ord DescribeClusterParameters
- Network.AWS.Redshift.DescribeClusterSecurityGroups: dcsgr1ClusterSecurityGroups :: Lens' DescribeClusterSecurityGroupsResponse [ClusterSecurityGroup]
- Network.AWS.Redshift.DescribeClusterSecurityGroups: dcsgr1Marker :: Lens' DescribeClusterSecurityGroupsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSecurityGroups: instance FromXML DescribeClusterSecurityGroupsResponse
- Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Ord DescribeClusterSecurityGroups
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1ClusterIdentifier :: Lens' DescribeClusterSnapshots (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1EndTime :: Lens' DescribeClusterSnapshots (Maybe UTCTime)
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1Marker :: Lens' DescribeClusterSnapshots (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1MaxRecords :: Lens' DescribeClusterSnapshots (Maybe Int)
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1OwnerAccount :: Lens' DescribeClusterSnapshots (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1SnapshotIdentifier :: Lens' DescribeClusterSnapshots (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1SnapshotType :: Lens' DescribeClusterSnapshots (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1StartTime :: Lens' DescribeClusterSnapshots (Maybe UTCTime)
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1TagKeys :: Lens' DescribeClusterSnapshots [Text]
- Network.AWS.Redshift.DescribeClusterSnapshots: dcs1TagValues :: Lens' DescribeClusterSnapshots [Text]
- Network.AWS.Redshift.DescribeClusterSnapshots: dcsrMarker :: Lens' DescribeClusterSnapshotsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSnapshots: dcsrSnapshots :: Lens' DescribeClusterSnapshotsResponse [Snapshot]
- Network.AWS.Redshift.DescribeClusterSnapshots: instance FromXML DescribeClusterSnapshotsResponse
- Network.AWS.Redshift.DescribeClusterSnapshots: instance Ord DescribeClusterSnapshots
- Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsg1ClusterSubnetGroupName :: Lens' DescribeClusterSubnetGroups (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsg1Marker :: Lens' DescribeClusterSubnetGroups (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsg1MaxRecords :: Lens' DescribeClusterSubnetGroups (Maybe Int)
- Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsg1TagKeys :: Lens' DescribeClusterSubnetGroups [Text]
- Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsg1TagValues :: Lens' DescribeClusterSubnetGroups [Text]
- Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgrClusterSubnetGroups :: Lens' DescribeClusterSubnetGroupsResponse [ClusterSubnetGroup]
- Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgrMarker :: Lens' DescribeClusterSubnetGroupsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeClusterSubnetGroups: instance FromXML DescribeClusterSubnetGroupsResponse
- Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Ord DescribeClusterSubnetGroups
- Network.AWS.Redshift.DescribeClusterVersions: dcvrClusterVersions :: Lens' DescribeClusterVersionsResponse [ClusterVersion]
- Network.AWS.Redshift.DescribeClusterVersions: dcvrMarker :: Lens' DescribeClusterVersionsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeClusterVersions: instance FromXML DescribeClusterVersionsResponse
- Network.AWS.Redshift.DescribeClusterVersions: instance Ord DescribeClusterVersions
- Network.AWS.Redshift.DescribeClusters: dcrClusters :: Lens' DescribeClustersResponse [Cluster]
- Network.AWS.Redshift.DescribeClusters: dcrMarker :: Lens' DescribeClustersResponse (Maybe Text)
- Network.AWS.Redshift.DescribeClusters: instance FromXML DescribeClustersResponse
- Network.AWS.Redshift.DescribeClusters: instance Ord DescribeClusters
- Network.AWS.Redshift.DescribeDefaultClusterParameters: ddcprDefaultClusterParameters :: Lens' DescribeDefaultClusterParametersResponse DefaultClusterParameters
- Network.AWS.Redshift.DescribeDefaultClusterParameters: instance FromXML DescribeDefaultClusterParametersResponse
- Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Ord DescribeDefaultClusterParameters
- Network.AWS.Redshift.DescribeEventCategories: decrEventCategoriesMapList :: Lens' DescribeEventCategoriesResponse [EventCategoriesMap]
- Network.AWS.Redshift.DescribeEventCategories: instance FromXML DescribeEventCategoriesResponse
- Network.AWS.Redshift.DescribeEventCategories: instance IsList DescribeEventCategoriesResponse
- Network.AWS.Redshift.DescribeEventCategories: instance Monoid DescribeEventCategories
- Network.AWS.Redshift.DescribeEventCategories: instance Monoid DescribeEventCategoriesResponse
- Network.AWS.Redshift.DescribeEventCategories: instance Ord DescribeEventCategories
- Network.AWS.Redshift.DescribeEventCategories: instance Semigroup DescribeEventCategoriesResponse
- Network.AWS.Redshift.DescribeEventSubscriptions: des1Marker :: Lens' DescribeEventSubscriptions (Maybe Text)
- Network.AWS.Redshift.DescribeEventSubscriptions: des1MaxRecords :: Lens' DescribeEventSubscriptions (Maybe Int)
- Network.AWS.Redshift.DescribeEventSubscriptions: des1SubscriptionName :: Lens' DescribeEventSubscriptions (Maybe Text)
- Network.AWS.Redshift.DescribeEventSubscriptions: desrEventSubscriptionsList :: Lens' DescribeEventSubscriptionsResponse [EventSubscription]
- Network.AWS.Redshift.DescribeEventSubscriptions: desrMarker :: Lens' DescribeEventSubscriptionsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeEventSubscriptions: instance FromXML DescribeEventSubscriptionsResponse
- Network.AWS.Redshift.DescribeEventSubscriptions: instance Ord DescribeEventSubscriptions
- Network.AWS.Redshift.DescribeEvents: derEvents :: Lens' DescribeEventsResponse [Event]
- Network.AWS.Redshift.DescribeEvents: derMarker :: Lens' DescribeEventsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeEvents: instance FromXML DescribeEventsResponse
- Network.AWS.Redshift.DescribeHsmClientCertificates: data DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: data DescribeHsmClientCertificatesResponse
- Network.AWS.Redshift.DescribeHsmClientCertificates: describeHsmClientCertificates :: DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: describeHsmClientCertificatesResponse :: DescribeHsmClientCertificatesResponse
- Network.AWS.Redshift.DescribeHsmClientCertificates: dhccHsmClientCertificateIdentifier :: Lens' DescribeHsmClientCertificates (Maybe Text)
- Network.AWS.Redshift.DescribeHsmClientCertificates: dhccMarker :: Lens' DescribeHsmClientCertificates (Maybe Text)
- Network.AWS.Redshift.DescribeHsmClientCertificates: dhccMaxRecords :: Lens' DescribeHsmClientCertificates (Maybe Int)
- Network.AWS.Redshift.DescribeHsmClientCertificates: dhccTagKeys :: Lens' DescribeHsmClientCertificates [Text]
- Network.AWS.Redshift.DescribeHsmClientCertificates: dhccTagValues :: Lens' DescribeHsmClientCertificates [Text]
- Network.AWS.Redshift.DescribeHsmClientCertificates: dhccrHsmClientCertificates :: Lens' DescribeHsmClientCertificatesResponse [HsmClientCertificate]
- Network.AWS.Redshift.DescribeHsmClientCertificates: dhccrMarker :: Lens' DescribeHsmClientCertificatesResponse (Maybe Text)
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance AWSPager DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance AWSRequest DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance Eq DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance Eq DescribeHsmClientCertificatesResponse
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance FromXML DescribeHsmClientCertificatesResponse
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance Ord DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance Read DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance Read DescribeHsmClientCertificatesResponse
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance Show DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance Show DescribeHsmClientCertificatesResponse
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance ToHeaders DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance ToPath DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmClientCertificates: instance ToQuery DescribeHsmClientCertificates
- Network.AWS.Redshift.DescribeHsmConfigurations: data DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: data DescribeHsmConfigurationsResponse
- Network.AWS.Redshift.DescribeHsmConfigurations: describeHsmConfigurations :: DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: describeHsmConfigurationsResponse :: DescribeHsmConfigurationsResponse
- Network.AWS.Redshift.DescribeHsmConfigurations: dhc1HsmConfigurationIdentifier :: Lens' DescribeHsmConfigurations (Maybe Text)
- Network.AWS.Redshift.DescribeHsmConfigurations: dhc1Marker :: Lens' DescribeHsmConfigurations (Maybe Text)
- Network.AWS.Redshift.DescribeHsmConfigurations: dhc1MaxRecords :: Lens' DescribeHsmConfigurations (Maybe Int)
- Network.AWS.Redshift.DescribeHsmConfigurations: dhc1TagKeys :: Lens' DescribeHsmConfigurations [Text]
- Network.AWS.Redshift.DescribeHsmConfigurations: dhc1TagValues :: Lens' DescribeHsmConfigurations [Text]
- Network.AWS.Redshift.DescribeHsmConfigurations: dhcrHsmConfigurations :: Lens' DescribeHsmConfigurationsResponse [HsmConfiguration]
- Network.AWS.Redshift.DescribeHsmConfigurations: dhcrMarker :: Lens' DescribeHsmConfigurationsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeHsmConfigurations: instance AWSPager DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: instance AWSRequest DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: instance Eq DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: instance Eq DescribeHsmConfigurationsResponse
- Network.AWS.Redshift.DescribeHsmConfigurations: instance FromXML DescribeHsmConfigurationsResponse
- Network.AWS.Redshift.DescribeHsmConfigurations: instance Ord DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: instance Read DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: instance Read DescribeHsmConfigurationsResponse
- Network.AWS.Redshift.DescribeHsmConfigurations: instance Show DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: instance Show DescribeHsmConfigurationsResponse
- Network.AWS.Redshift.DescribeHsmConfigurations: instance ToHeaders DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: instance ToPath DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeHsmConfigurations: instance ToQuery DescribeHsmConfigurations
- Network.AWS.Redshift.DescribeLoggingStatus: data DescribeLoggingStatusResponse
- Network.AWS.Redshift.DescribeLoggingStatus: describeLoggingStatusResponse :: DescribeLoggingStatusResponse
- Network.AWS.Redshift.DescribeLoggingStatus: dlsrBucketName :: Lens' DescribeLoggingStatusResponse (Maybe Text)
- Network.AWS.Redshift.DescribeLoggingStatus: dlsrLastFailureMessage :: Lens' DescribeLoggingStatusResponse (Maybe Text)
- Network.AWS.Redshift.DescribeLoggingStatus: dlsrLastFailureTime :: Lens' DescribeLoggingStatusResponse (Maybe UTCTime)
- Network.AWS.Redshift.DescribeLoggingStatus: dlsrLastSuccessfulDeliveryTime :: Lens' DescribeLoggingStatusResponse (Maybe UTCTime)
- Network.AWS.Redshift.DescribeLoggingStatus: dlsrLoggingEnabled :: Lens' DescribeLoggingStatusResponse (Maybe Bool)
- Network.AWS.Redshift.DescribeLoggingStatus: dlsrS3KeyPrefix :: Lens' DescribeLoggingStatusResponse (Maybe Text)
- Network.AWS.Redshift.DescribeLoggingStatus: instance Eq DescribeLoggingStatusResponse
- Network.AWS.Redshift.DescribeLoggingStatus: instance FromXML DescribeLoggingStatusResponse
- Network.AWS.Redshift.DescribeLoggingStatus: instance IsString DescribeLoggingStatus
- Network.AWS.Redshift.DescribeLoggingStatus: instance Monoid DescribeLoggingStatus
- Network.AWS.Redshift.DescribeLoggingStatus: instance Ord DescribeLoggingStatus
- Network.AWS.Redshift.DescribeLoggingStatus: instance Ord DescribeLoggingStatusResponse
- Network.AWS.Redshift.DescribeLoggingStatus: instance Read DescribeLoggingStatusResponse
- Network.AWS.Redshift.DescribeLoggingStatus: instance Show DescribeLoggingStatusResponse
- Network.AWS.Redshift.DescribeOrderableClusterOptions: docorMarker :: Lens' DescribeOrderableClusterOptionsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeOrderableClusterOptions: docorOrderableClusterOptions :: Lens' DescribeOrderableClusterOptionsResponse [OrderableClusterOption]
- Network.AWS.Redshift.DescribeOrderableClusterOptions: instance FromXML DescribeOrderableClusterOptionsResponse
- Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Ord DescribeOrderableClusterOptions
- Network.AWS.Redshift.DescribeReservedNodeOfferings: drnorMarker :: Lens' DescribeReservedNodeOfferingsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeReservedNodeOfferings: drnorReservedNodeOfferings :: Lens' DescribeReservedNodeOfferingsResponse [ReservedNodeOffering]
- Network.AWS.Redshift.DescribeReservedNodeOfferings: instance FromXML DescribeReservedNodeOfferingsResponse
- Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Ord DescribeReservedNodeOfferings
- Network.AWS.Redshift.DescribeReservedNodes: drnrMarker :: Lens' DescribeReservedNodesResponse (Maybe Text)
- Network.AWS.Redshift.DescribeReservedNodes: drnrReservedNodes :: Lens' DescribeReservedNodesResponse [ReservedNode]
- Network.AWS.Redshift.DescribeReservedNodes: instance FromXML DescribeReservedNodesResponse
- Network.AWS.Redshift.DescribeReservedNodes: instance Ord DescribeReservedNodes
- Network.AWS.Redshift.DescribeResize: drrAvgResizeRateInMegaBytesPerSecond :: Lens' DescribeResizeResponse (Maybe Double)
- Network.AWS.Redshift.DescribeResize: drrElapsedTimeInSeconds :: Lens' DescribeResizeResponse (Maybe Integer)
- Network.AWS.Redshift.DescribeResize: drrEstimatedTimeToCompletionInSeconds :: Lens' DescribeResizeResponse (Maybe Integer)
- Network.AWS.Redshift.DescribeResize: drrImportTablesCompleted :: Lens' DescribeResizeResponse [Text]
- Network.AWS.Redshift.DescribeResize: drrImportTablesInProgress :: Lens' DescribeResizeResponse [Text]
- Network.AWS.Redshift.DescribeResize: drrImportTablesNotStarted :: Lens' DescribeResizeResponse [Text]
- Network.AWS.Redshift.DescribeResize: drrProgressInMegaBytes :: Lens' DescribeResizeResponse (Maybe Integer)
- Network.AWS.Redshift.DescribeResize: drrStatus :: Lens' DescribeResizeResponse (Maybe Text)
- Network.AWS.Redshift.DescribeResize: drrTargetClusterType :: Lens' DescribeResizeResponse (Maybe Text)
- Network.AWS.Redshift.DescribeResize: drrTargetNodeType :: Lens' DescribeResizeResponse (Maybe Text)
- Network.AWS.Redshift.DescribeResize: drrTargetNumberOfNodes :: Lens' DescribeResizeResponse (Maybe Int)
- Network.AWS.Redshift.DescribeResize: drrTotalResizeDataInMegaBytes :: Lens' DescribeResizeResponse (Maybe Integer)
- Network.AWS.Redshift.DescribeResize: instance FromXML DescribeResizeResponse
- Network.AWS.Redshift.DescribeResize: instance IsString DescribeResize
- Network.AWS.Redshift.DescribeResize: instance Monoid DescribeResize
- Network.AWS.Redshift.DescribeResize: instance Ord DescribeResize
- Network.AWS.Redshift.DescribeResize: instance Ord DescribeResizeResponse
- Network.AWS.Redshift.DescribeTags: dtrMarker :: Lens' DescribeTagsResponse (Maybe Text)
- Network.AWS.Redshift.DescribeTags: dtrTaggedResources :: Lens' DescribeTagsResponse [TaggedResource]
- Network.AWS.Redshift.DescribeTags: instance FromXML DescribeTagsResponse
- Network.AWS.Redshift.DescribeTags: instance Ord DescribeTags
- Network.AWS.Redshift.DisableLogging: data DisableLoggingResponse
- Network.AWS.Redshift.DisableLogging: disableLoggingResponse :: DisableLoggingResponse
- Network.AWS.Redshift.DisableLogging: dlrBucketName :: Lens' DisableLoggingResponse (Maybe Text)
- Network.AWS.Redshift.DisableLogging: dlrLastFailureMessage :: Lens' DisableLoggingResponse (Maybe Text)
- Network.AWS.Redshift.DisableLogging: dlrLastFailureTime :: Lens' DisableLoggingResponse (Maybe UTCTime)
- Network.AWS.Redshift.DisableLogging: dlrLastSuccessfulDeliveryTime :: Lens' DisableLoggingResponse (Maybe UTCTime)
- Network.AWS.Redshift.DisableLogging: dlrLoggingEnabled :: Lens' DisableLoggingResponse (Maybe Bool)
- Network.AWS.Redshift.DisableLogging: dlrS3KeyPrefix :: Lens' DisableLoggingResponse (Maybe Text)
- Network.AWS.Redshift.DisableLogging: instance Eq DisableLoggingResponse
- Network.AWS.Redshift.DisableLogging: instance FromXML DisableLoggingResponse
- Network.AWS.Redshift.DisableLogging: instance IsString DisableLogging
- Network.AWS.Redshift.DisableLogging: instance Monoid DisableLogging
- Network.AWS.Redshift.DisableLogging: instance Ord DisableLogging
- Network.AWS.Redshift.DisableLogging: instance Ord DisableLoggingResponse
- Network.AWS.Redshift.DisableLogging: instance Read DisableLoggingResponse
- Network.AWS.Redshift.DisableLogging: instance Show DisableLoggingResponse
- Network.AWS.Redshift.DisableSnapshotCopy: dscrCluster :: Lens' DisableSnapshotCopyResponse (Maybe Cluster)
- Network.AWS.Redshift.DisableSnapshotCopy: instance FromXML DisableSnapshotCopyResponse
- Network.AWS.Redshift.DisableSnapshotCopy: instance IsString DisableSnapshotCopy
- Network.AWS.Redshift.DisableSnapshotCopy: instance Monoid DisableSnapshotCopy
- Network.AWS.Redshift.DisableSnapshotCopy: instance Ord DisableSnapshotCopy
- Network.AWS.Redshift.EnableLogging: data EnableLoggingResponse
- Network.AWS.Redshift.EnableLogging: elrBucketName :: Lens' EnableLoggingResponse (Maybe Text)
- Network.AWS.Redshift.EnableLogging: elrLastFailureMessage :: Lens' EnableLoggingResponse (Maybe Text)
- Network.AWS.Redshift.EnableLogging: elrLastFailureTime :: Lens' EnableLoggingResponse (Maybe UTCTime)
- Network.AWS.Redshift.EnableLogging: elrLastSuccessfulDeliveryTime :: Lens' EnableLoggingResponse (Maybe UTCTime)
- Network.AWS.Redshift.EnableLogging: elrLoggingEnabled :: Lens' EnableLoggingResponse (Maybe Bool)
- Network.AWS.Redshift.EnableLogging: elrS3KeyPrefix :: Lens' EnableLoggingResponse (Maybe Text)
- Network.AWS.Redshift.EnableLogging: enableLoggingResponse :: EnableLoggingResponse
- Network.AWS.Redshift.EnableLogging: instance Eq EnableLoggingResponse
- Network.AWS.Redshift.EnableLogging: instance FromXML EnableLoggingResponse
- Network.AWS.Redshift.EnableLogging: instance Ord EnableLogging
- Network.AWS.Redshift.EnableLogging: instance Ord EnableLoggingResponse
- Network.AWS.Redshift.EnableLogging: instance Read EnableLoggingResponse
- Network.AWS.Redshift.EnableLogging: instance Show EnableLoggingResponse
- Network.AWS.Redshift.EnableSnapshotCopy: escrCluster :: Lens' EnableSnapshotCopyResponse (Maybe Cluster)
- Network.AWS.Redshift.EnableSnapshotCopy: instance FromXML EnableSnapshotCopyResponse
- Network.AWS.Redshift.EnableSnapshotCopy: instance Ord EnableSnapshotCopy
- Network.AWS.Redshift.ModifyCluster: instance FromXML ModifyClusterResponse
- Network.AWS.Redshift.ModifyCluster: instance Ord ModifyCluster
- Network.AWS.Redshift.ModifyCluster: mcHsmClientCertificateIdentifier :: Lens' ModifyCluster (Maybe Text)
- Network.AWS.Redshift.ModifyCluster: mcHsmConfigurationIdentifier :: Lens' ModifyCluster (Maybe Text)
- Network.AWS.Redshift.ModifyCluster: mcVpcSecurityGroupIds :: Lens' ModifyCluster [Text]
- Network.AWS.Redshift.ModifyCluster: mcrCluster :: Lens' ModifyClusterResponse (Maybe Cluster)
- Network.AWS.Redshift.ModifyClusterParameterGroup: data ModifyClusterParameterGroupResponse
- Network.AWS.Redshift.ModifyClusterParameterGroup: instance Eq ModifyClusterParameterGroupResponse
- Network.AWS.Redshift.ModifyClusterParameterGroup: instance FromXML ModifyClusterParameterGroupResponse
- Network.AWS.Redshift.ModifyClusterParameterGroup: instance Ord ModifyClusterParameterGroupResponse
- Network.AWS.Redshift.ModifyClusterParameterGroup: instance Read ModifyClusterParameterGroupResponse
- Network.AWS.Redshift.ModifyClusterParameterGroup: instance Show ModifyClusterParameterGroupResponse
- Network.AWS.Redshift.ModifyClusterParameterGroup: mcpgrParameterGroupName :: Lens' ModifyClusterParameterGroupResponse (Maybe Text)
- Network.AWS.Redshift.ModifyClusterParameterGroup: mcpgrParameterGroupStatus :: Lens' ModifyClusterParameterGroupResponse (Maybe Text)
- Network.AWS.Redshift.ModifyClusterParameterGroup: modifyClusterParameterGroupResponse :: ModifyClusterParameterGroupResponse
- Network.AWS.Redshift.ModifyClusterSubnetGroup: instance FromXML ModifyClusterSubnetGroupResponse
- Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Ord ModifyClusterSubnetGroup
- Network.AWS.Redshift.ModifyClusterSubnetGroup: mcsgrClusterSubnetGroup :: Lens' ModifyClusterSubnetGroupResponse (Maybe ClusterSubnetGroup)
- Network.AWS.Redshift.ModifyEventSubscription: instance FromXML ModifyEventSubscriptionResponse
- Network.AWS.Redshift.ModifyEventSubscription: instance Ord ModifyEventSubscription
- Network.AWS.Redshift.ModifyEventSubscription: mesSnsTopicArn :: Lens' ModifyEventSubscription (Maybe Text)
- Network.AWS.Redshift.ModifyEventSubscription: mesrEventSubscription :: Lens' ModifyEventSubscriptionResponse (Maybe EventSubscription)
- Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance FromXML ModifySnapshotCopyRetentionPeriodResponse
- Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Ord ModifySnapshotCopyRetentionPeriod
- Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: mscrprCluster :: Lens' ModifySnapshotCopyRetentionPeriodResponse (Maybe Cluster)
- Network.AWS.Redshift.PurchaseReservedNodeOffering: instance FromXML PurchaseReservedNodeOfferingResponse
- Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Ord PurchaseReservedNodeOffering
- Network.AWS.Redshift.PurchaseReservedNodeOffering: prnorReservedNode :: Lens' PurchaseReservedNodeOfferingResponse (Maybe ReservedNode)
- Network.AWS.Redshift.RebootCluster: instance FromXML RebootClusterResponse
- Network.AWS.Redshift.RebootCluster: instance IsString RebootCluster
- Network.AWS.Redshift.RebootCluster: instance Monoid RebootCluster
- Network.AWS.Redshift.RebootCluster: instance Ord RebootCluster
- Network.AWS.Redshift.RebootCluster: rcrCluster :: Lens' RebootClusterResponse (Maybe Cluster)
- Network.AWS.Redshift.ResetClusterParameterGroup: data ResetClusterParameterGroupResponse
- Network.AWS.Redshift.ResetClusterParameterGroup: instance Eq ResetClusterParameterGroupResponse
- Network.AWS.Redshift.ResetClusterParameterGroup: instance FromXML ResetClusterParameterGroupResponse
- Network.AWS.Redshift.ResetClusterParameterGroup: instance Ord ResetClusterParameterGroupResponse
- Network.AWS.Redshift.ResetClusterParameterGroup: instance Read ResetClusterParameterGroupResponse
- Network.AWS.Redshift.ResetClusterParameterGroup: instance Show ResetClusterParameterGroupResponse
- Network.AWS.Redshift.ResetClusterParameterGroup: rcpgrParameterGroupName :: Lens' ResetClusterParameterGroupResponse (Maybe Text)
- Network.AWS.Redshift.ResetClusterParameterGroup: rcpgrParameterGroupStatus :: Lens' ResetClusterParameterGroupResponse (Maybe Text)
- Network.AWS.Redshift.ResetClusterParameterGroup: resetClusterParameterGroupResponse :: ResetClusterParameterGroupResponse
- Network.AWS.Redshift.RestoreFromClusterSnapshot: instance FromXML RestoreFromClusterSnapshotResponse
- Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Ord RestoreFromClusterSnapshot
- Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsElasticIp :: Lens' RestoreFromClusterSnapshot (Maybe Text)
- Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsHsmClientCertificateIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)
- Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsHsmConfigurationIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)
- Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsKmsKeyId :: Lens' RestoreFromClusterSnapshot (Maybe Text)
- Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsVpcSecurityGroupIds :: Lens' RestoreFromClusterSnapshot [Text]
- Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsrCluster :: Lens' RestoreFromClusterSnapshotResponse (Maybe Cluster)
- Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance FromXML RevokeClusterSecurityGroupIngressResponse
- Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Ord RevokeClusterSecurityGroupIngress
- Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: rcsgiCIDRIP :: Lens' RevokeClusterSecurityGroupIngress (Maybe Text)
- Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: rcsgirClusterSecurityGroup :: Lens' RevokeClusterSecurityGroupIngressResponse (Maybe ClusterSecurityGroup)
- Network.AWS.Redshift.RevokeSnapshotAccess: instance FromXML RevokeSnapshotAccessResponse
- Network.AWS.Redshift.RevokeSnapshotAccess: instance Ord RevokeSnapshotAccess
- Network.AWS.Redshift.RevokeSnapshotAccess: rsarSnapshot :: Lens' RevokeSnapshotAccessResponse (Maybe Snapshot)
- Network.AWS.Redshift.RotateEncryptionKey: instance FromXML RotateEncryptionKeyResponse
- Network.AWS.Redshift.RotateEncryptionKey: instance IsString RotateEncryptionKey
- Network.AWS.Redshift.RotateEncryptionKey: instance Monoid RotateEncryptionKey
- Network.AWS.Redshift.RotateEncryptionKey: instance Ord RotateEncryptionKey
- Network.AWS.Redshift.RotateEncryptionKey: rekrCluster :: Lens' RotateEncryptionKeyResponse (Maybe Cluster)
- Network.AWS.Redshift.Types: STCluster :: SourceType
- Network.AWS.Redshift.Types: STClusterParameterGroup :: SourceType
- Network.AWS.Redshift.Types: STClusterSecurityGroup :: SourceType
- Network.AWS.Redshift.Types: STClusterSnapshot :: SourceType
- Network.AWS.Redshift.Types: cElasticIpStatus :: Lens' Cluster (Maybe ElasticIpStatus)
- Network.AWS.Redshift.Types: cHsmStatus :: Lens' Cluster (Maybe HsmStatus)
- Network.AWS.Redshift.Types: cKmsKeyId :: Lens' Cluster (Maybe Text)
- Network.AWS.Redshift.Types: cVpcId :: Lens' Cluster (Maybe Text)
- Network.AWS.Redshift.Types: cVpcSecurityGroups :: Lens' Cluster [VpcSecurityGroupMembership]
- Network.AWS.Redshift.Types: csg1ClusterSubnetGroupName :: Lens' ClusterSubnetGroup (Maybe Text)
- Network.AWS.Redshift.Types: csg1Description :: Lens' ClusterSubnetGroup (Maybe Text)
- Network.AWS.Redshift.Types: csg1SubnetGroupStatus :: Lens' ClusterSubnetGroup (Maybe Text)
- Network.AWS.Redshift.Types: csg1Subnets :: Lens' ClusterSubnetGroup [Subnet]
- Network.AWS.Redshift.Types: csg1Tags :: Lens' ClusterSubnetGroup [Tag]
- Network.AWS.Redshift.Types: csg1VpcId :: Lens' ClusterSubnetGroup (Maybe Text)
- Network.AWS.Redshift.Types: csgClusterSecurityGroupName :: Lens' ClusterSecurityGroup (Maybe Text)
- Network.AWS.Redshift.Types: csgEC2SecurityGroups :: Lens' ClusterSecurityGroup [EC2SecurityGroup]
- Network.AWS.Redshift.Types: csgIPRanges :: Lens' ClusterSecurityGroup [IPRange]
- Network.AWS.Redshift.Types: data ElasticIpStatus
- Network.AWS.Redshift.Types: data HsmClientCertificate
- Network.AWS.Redshift.Types: data HsmConfiguration
- Network.AWS.Redshift.Types: data HsmStatus
- Network.AWS.Redshift.Types: data RESTError :: *
- Network.AWS.Redshift.Types: data VpcSecurityGroupMembership
- Network.AWS.Redshift.Types: ecsgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)
- Network.AWS.Redshift.Types: ecsgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)
- Network.AWS.Redshift.Types: ecsgStatus :: Lens' EC2SecurityGroup (Maybe Text)
- Network.AWS.Redshift.Types: ecsgTags :: Lens' EC2SecurityGroup [Tag]
- Network.AWS.Redshift.Types: eisElasticIp :: Lens' ElasticIpStatus (Maybe Text)
- Network.AWS.Redshift.Types: elasticIpStatus :: ElasticIpStatus
- Network.AWS.Redshift.Types: esCustomerAwsId :: Lens' EventSubscription (Maybe Text)
- Network.AWS.Redshift.Types: esSnsTopicArn :: Lens' EventSubscription (Maybe Text)
- Network.AWS.Redshift.Types: hcHsmConfigurationIdentifier :: Lens' HsmConfiguration (Maybe Text)
- Network.AWS.Redshift.Types: hcHsmIpAddress :: Lens' HsmConfiguration (Maybe Text)
- Network.AWS.Redshift.Types: hcHsmPartitionName :: Lens' HsmConfiguration (Maybe Text)
- Network.AWS.Redshift.Types: hccHsmClientCertificateIdentifier :: Lens' HsmClientCertificate (Maybe Text)
- Network.AWS.Redshift.Types: hccHsmClientCertificatePublicKey :: Lens' HsmClientCertificate (Maybe Text)
- Network.AWS.Redshift.Types: hsHsmClientCertificateIdentifier :: Lens' HsmStatus (Maybe Text)
- Network.AWS.Redshift.Types: hsHsmConfigurationIdentifier :: Lens' HsmStatus (Maybe Text)
- Network.AWS.Redshift.Types: instance Constructor C1_0SourceType
- Network.AWS.Redshift.Types: instance Constructor C1_1SourceType
- Network.AWS.Redshift.Types: instance Constructor C1_2SourceType
- Network.AWS.Redshift.Types: instance Constructor C1_3SourceType
- Network.AWS.Redshift.Types: instance Datatype D1SourceType
- Network.AWS.Redshift.Types: instance Enum SourceType
- Network.AWS.Redshift.Types: instance Eq AccountWithRestoreAccess
- Network.AWS.Redshift.Types: instance Eq AvailabilityZone
- Network.AWS.Redshift.Types: instance Eq Cluster
- Network.AWS.Redshift.Types: instance Eq ClusterNode
- Network.AWS.Redshift.Types: instance Eq ClusterParameterGroup
- Network.AWS.Redshift.Types: instance Eq ClusterParameterGroupNameMessage
- Network.AWS.Redshift.Types: instance Eq ClusterParameterGroupStatus
- Network.AWS.Redshift.Types: instance Eq ClusterSecurityGroup
- Network.AWS.Redshift.Types: instance Eq ClusterSecurityGroupMembership
- Network.AWS.Redshift.Types: instance Eq ClusterSnapshotCopyStatus
- Network.AWS.Redshift.Types: instance Eq ClusterSubnetGroup
- Network.AWS.Redshift.Types: instance Eq ClusterVersion
- Network.AWS.Redshift.Types: instance Eq DefaultClusterParameters
- Network.AWS.Redshift.Types: instance Eq EC2SecurityGroup
- Network.AWS.Redshift.Types: instance Eq ElasticIpStatus
- Network.AWS.Redshift.Types: instance Eq Endpoint
- Network.AWS.Redshift.Types: instance Eq Event
- Network.AWS.Redshift.Types: instance Eq EventCategoriesMap
- Network.AWS.Redshift.Types: instance Eq EventInfoMap
- Network.AWS.Redshift.Types: instance Eq EventSubscription
- Network.AWS.Redshift.Types: instance Eq HsmClientCertificate
- Network.AWS.Redshift.Types: instance Eq HsmConfiguration
- Network.AWS.Redshift.Types: instance Eq HsmStatus
- Network.AWS.Redshift.Types: instance Eq IPRange
- Network.AWS.Redshift.Types: instance Eq LoggingStatus
- Network.AWS.Redshift.Types: instance Eq OrderableClusterOption
- Network.AWS.Redshift.Types: instance Eq Parameter
- Network.AWS.Redshift.Types: instance Eq PendingModifiedValues
- Network.AWS.Redshift.Types: instance Eq RecurringCharge
- Network.AWS.Redshift.Types: instance Eq ReservedNode
- Network.AWS.Redshift.Types: instance Eq ReservedNodeOffering
- Network.AWS.Redshift.Types: instance Eq RestoreStatus
- Network.AWS.Redshift.Types: instance Eq Snapshot
- Network.AWS.Redshift.Types: instance Eq SourceType
- Network.AWS.Redshift.Types: instance Eq Subnet
- Network.AWS.Redshift.Types: instance Eq Tag
- Network.AWS.Redshift.Types: instance Eq TaggedResource
- Network.AWS.Redshift.Types: instance Eq VpcSecurityGroupMembership
- Network.AWS.Redshift.Types: instance FromText SourceType
- Network.AWS.Redshift.Types: instance FromXML AccountWithRestoreAccess
- Network.AWS.Redshift.Types: instance FromXML AvailabilityZone
- Network.AWS.Redshift.Types: instance FromXML Cluster
- Network.AWS.Redshift.Types: instance FromXML ClusterNode
- Network.AWS.Redshift.Types: instance FromXML ClusterParameterGroup
- Network.AWS.Redshift.Types: instance FromXML ClusterParameterGroupNameMessage
- Network.AWS.Redshift.Types: instance FromXML ClusterParameterGroupStatus
- Network.AWS.Redshift.Types: instance FromXML ClusterSecurityGroup
- Network.AWS.Redshift.Types: instance FromXML ClusterSecurityGroupMembership
- Network.AWS.Redshift.Types: instance FromXML ClusterSnapshotCopyStatus
- Network.AWS.Redshift.Types: instance FromXML ClusterSubnetGroup
- Network.AWS.Redshift.Types: instance FromXML ClusterVersion
- Network.AWS.Redshift.Types: instance FromXML DefaultClusterParameters
- Network.AWS.Redshift.Types: instance FromXML EC2SecurityGroup
- Network.AWS.Redshift.Types: instance FromXML ElasticIpStatus
- Network.AWS.Redshift.Types: instance FromXML Endpoint
- Network.AWS.Redshift.Types: instance FromXML Event
- Network.AWS.Redshift.Types: instance FromXML EventCategoriesMap
- Network.AWS.Redshift.Types: instance FromXML EventInfoMap
- Network.AWS.Redshift.Types: instance FromXML EventSubscription
- Network.AWS.Redshift.Types: instance FromXML HsmClientCertificate
- Network.AWS.Redshift.Types: instance FromXML HsmConfiguration
- Network.AWS.Redshift.Types: instance FromXML HsmStatus
- Network.AWS.Redshift.Types: instance FromXML IPRange
- Network.AWS.Redshift.Types: instance FromXML LoggingStatus
- Network.AWS.Redshift.Types: instance FromXML OrderableClusterOption
- Network.AWS.Redshift.Types: instance FromXML Parameter
- Network.AWS.Redshift.Types: instance FromXML PendingModifiedValues
- Network.AWS.Redshift.Types: instance FromXML RecurringCharge
- Network.AWS.Redshift.Types: instance FromXML ReservedNode
- Network.AWS.Redshift.Types: instance FromXML ReservedNodeOffering
- Network.AWS.Redshift.Types: instance FromXML RestoreStatus
- Network.AWS.Redshift.Types: instance FromXML Snapshot
- Network.AWS.Redshift.Types: instance FromXML SourceType
- Network.AWS.Redshift.Types: instance FromXML Subnet
- Network.AWS.Redshift.Types: instance FromXML Tag
- Network.AWS.Redshift.Types: instance FromXML TaggedResource
- Network.AWS.Redshift.Types: instance FromXML VpcSecurityGroupMembership
- Network.AWS.Redshift.Types: instance Generic SourceType
- Network.AWS.Redshift.Types: instance Hashable SourceType
- Network.AWS.Redshift.Types: instance Monoid AccountWithRestoreAccess
- Network.AWS.Redshift.Types: instance Monoid AvailabilityZone
- Network.AWS.Redshift.Types: instance Ord AccountWithRestoreAccess
- Network.AWS.Redshift.Types: instance Ord AvailabilityZone
- Network.AWS.Redshift.Types: instance Ord ClusterNode
- Network.AWS.Redshift.Types: instance Ord ClusterParameterGroupNameMessage
- Network.AWS.Redshift.Types: instance Ord ClusterParameterGroupStatus
- Network.AWS.Redshift.Types: instance Ord ClusterSecurityGroupMembership
- Network.AWS.Redshift.Types: instance Ord ClusterSnapshotCopyStatus
- Network.AWS.Redshift.Types: instance Ord ClusterVersion
- Network.AWS.Redshift.Types: instance Ord ElasticIpStatus
- Network.AWS.Redshift.Types: instance Ord Endpoint
- Network.AWS.Redshift.Types: instance Ord EventInfoMap
- Network.AWS.Redshift.Types: instance Ord HsmStatus
- Network.AWS.Redshift.Types: instance Ord LoggingStatus
- Network.AWS.Redshift.Types: instance Ord Parameter
- Network.AWS.Redshift.Types: instance Ord PendingModifiedValues
- Network.AWS.Redshift.Types: instance Ord RecurringCharge
- Network.AWS.Redshift.Types: instance Ord RestoreStatus
- Network.AWS.Redshift.Types: instance Ord SourceType
- Network.AWS.Redshift.Types: instance Ord Tag
- Network.AWS.Redshift.Types: instance Ord VpcSecurityGroupMembership
- Network.AWS.Redshift.Types: instance Read AccountWithRestoreAccess
- Network.AWS.Redshift.Types: instance Read AvailabilityZone
- Network.AWS.Redshift.Types: instance Read Cluster
- Network.AWS.Redshift.Types: instance Read ClusterNode
- Network.AWS.Redshift.Types: instance Read ClusterParameterGroup
- Network.AWS.Redshift.Types: instance Read ClusterParameterGroupNameMessage
- Network.AWS.Redshift.Types: instance Read ClusterParameterGroupStatus
- Network.AWS.Redshift.Types: instance Read ClusterSecurityGroup
- Network.AWS.Redshift.Types: instance Read ClusterSecurityGroupMembership
- Network.AWS.Redshift.Types: instance Read ClusterSnapshotCopyStatus
- Network.AWS.Redshift.Types: instance Read ClusterSubnetGroup
- Network.AWS.Redshift.Types: instance Read ClusterVersion
- Network.AWS.Redshift.Types: instance Read DefaultClusterParameters
- Network.AWS.Redshift.Types: instance Read EC2SecurityGroup
- Network.AWS.Redshift.Types: instance Read ElasticIpStatus
- Network.AWS.Redshift.Types: instance Read Endpoint
- Network.AWS.Redshift.Types: instance Read Event
- Network.AWS.Redshift.Types: instance Read EventCategoriesMap
- Network.AWS.Redshift.Types: instance Read EventInfoMap
- Network.AWS.Redshift.Types: instance Read EventSubscription
- Network.AWS.Redshift.Types: instance Read HsmClientCertificate
- Network.AWS.Redshift.Types: instance Read HsmConfiguration
- Network.AWS.Redshift.Types: instance Read HsmStatus
- Network.AWS.Redshift.Types: instance Read IPRange
- Network.AWS.Redshift.Types: instance Read LoggingStatus
- Network.AWS.Redshift.Types: instance Read OrderableClusterOption
- Network.AWS.Redshift.Types: instance Read Parameter
- Network.AWS.Redshift.Types: instance Read PendingModifiedValues
- Network.AWS.Redshift.Types: instance Read RecurringCharge
- Network.AWS.Redshift.Types: instance Read ReservedNode
- Network.AWS.Redshift.Types: instance Read ReservedNodeOffering
- Network.AWS.Redshift.Types: instance Read RestoreStatus
- Network.AWS.Redshift.Types: instance Read Snapshot
- Network.AWS.Redshift.Types: instance Read SourceType
- Network.AWS.Redshift.Types: instance Read Subnet
- Network.AWS.Redshift.Types: instance Read Tag
- Network.AWS.Redshift.Types: instance Read TaggedResource
- Network.AWS.Redshift.Types: instance Read VpcSecurityGroupMembership
- Network.AWS.Redshift.Types: instance Show AccountWithRestoreAccess
- Network.AWS.Redshift.Types: instance Show AvailabilityZone
- Network.AWS.Redshift.Types: instance Show Cluster
- Network.AWS.Redshift.Types: instance Show ClusterNode
- Network.AWS.Redshift.Types: instance Show ClusterParameterGroup
- Network.AWS.Redshift.Types: instance Show ClusterParameterGroupNameMessage
- Network.AWS.Redshift.Types: instance Show ClusterParameterGroupStatus
- Network.AWS.Redshift.Types: instance Show ClusterSecurityGroup
- Network.AWS.Redshift.Types: instance Show ClusterSecurityGroupMembership
- Network.AWS.Redshift.Types: instance Show ClusterSnapshotCopyStatus
- Network.AWS.Redshift.Types: instance Show ClusterSubnetGroup
- Network.AWS.Redshift.Types: instance Show ClusterVersion
- Network.AWS.Redshift.Types: instance Show DefaultClusterParameters
- Network.AWS.Redshift.Types: instance Show EC2SecurityGroup
- Network.AWS.Redshift.Types: instance Show ElasticIpStatus
- Network.AWS.Redshift.Types: instance Show Endpoint
- Network.AWS.Redshift.Types: instance Show Event
- Network.AWS.Redshift.Types: instance Show EventCategoriesMap
- Network.AWS.Redshift.Types: instance Show EventInfoMap
- Network.AWS.Redshift.Types: instance Show EventSubscription
- Network.AWS.Redshift.Types: instance Show HsmClientCertificate
- Network.AWS.Redshift.Types: instance Show HsmConfiguration
- Network.AWS.Redshift.Types: instance Show HsmStatus
- Network.AWS.Redshift.Types: instance Show IPRange
- Network.AWS.Redshift.Types: instance Show LoggingStatus
- Network.AWS.Redshift.Types: instance Show OrderableClusterOption
- Network.AWS.Redshift.Types: instance Show Parameter
- Network.AWS.Redshift.Types: instance Show PendingModifiedValues
- Network.AWS.Redshift.Types: instance Show RecurringCharge
- Network.AWS.Redshift.Types: instance Show ReservedNode
- Network.AWS.Redshift.Types: instance Show ReservedNodeOffering
- Network.AWS.Redshift.Types: instance Show RestoreStatus
- Network.AWS.Redshift.Types: instance Show Snapshot
- Network.AWS.Redshift.Types: instance Show SourceType
- Network.AWS.Redshift.Types: instance Show Subnet
- Network.AWS.Redshift.Types: instance Show Tag
- Network.AWS.Redshift.Types: instance Show TaggedResource
- Network.AWS.Redshift.Types: instance Show VpcSecurityGroupMembership
- Network.AWS.Redshift.Types: instance ToByteString SourceType
- Network.AWS.Redshift.Types: instance ToHeader SourceType
- Network.AWS.Redshift.Types: instance ToQuery AccountWithRestoreAccess
- Network.AWS.Redshift.Types: instance ToQuery AvailabilityZone
- Network.AWS.Redshift.Types: instance ToQuery Cluster
- Network.AWS.Redshift.Types: instance ToQuery ClusterNode
- Network.AWS.Redshift.Types: instance ToQuery ClusterParameterGroup
- Network.AWS.Redshift.Types: instance ToQuery ClusterParameterGroupNameMessage
- Network.AWS.Redshift.Types: instance ToQuery ClusterParameterGroupStatus
- Network.AWS.Redshift.Types: instance ToQuery ClusterSecurityGroup
- Network.AWS.Redshift.Types: instance ToQuery ClusterSecurityGroupMembership
- Network.AWS.Redshift.Types: instance ToQuery ClusterSnapshotCopyStatus
- Network.AWS.Redshift.Types: instance ToQuery ClusterSubnetGroup
- Network.AWS.Redshift.Types: instance ToQuery ClusterVersion
- Network.AWS.Redshift.Types: instance ToQuery DefaultClusterParameters
- Network.AWS.Redshift.Types: instance ToQuery EC2SecurityGroup
- Network.AWS.Redshift.Types: instance ToQuery ElasticIpStatus
- Network.AWS.Redshift.Types: instance ToQuery Endpoint
- Network.AWS.Redshift.Types: instance ToQuery Event
- Network.AWS.Redshift.Types: instance ToQuery EventCategoriesMap
- Network.AWS.Redshift.Types: instance ToQuery EventInfoMap
- Network.AWS.Redshift.Types: instance ToQuery EventSubscription
- Network.AWS.Redshift.Types: instance ToQuery HsmClientCertificate
- Network.AWS.Redshift.Types: instance ToQuery HsmConfiguration
- Network.AWS.Redshift.Types: instance ToQuery HsmStatus
- Network.AWS.Redshift.Types: instance ToQuery IPRange
- Network.AWS.Redshift.Types: instance ToQuery LoggingStatus
- Network.AWS.Redshift.Types: instance ToQuery OrderableClusterOption
- Network.AWS.Redshift.Types: instance ToQuery Parameter
- Network.AWS.Redshift.Types: instance ToQuery PendingModifiedValues
- Network.AWS.Redshift.Types: instance ToQuery RecurringCharge
- Network.AWS.Redshift.Types: instance ToQuery ReservedNode
- Network.AWS.Redshift.Types: instance ToQuery ReservedNodeOffering
- Network.AWS.Redshift.Types: instance ToQuery RestoreStatus
- Network.AWS.Redshift.Types: instance ToQuery Snapshot
- Network.AWS.Redshift.Types: instance ToQuery SourceType
- Network.AWS.Redshift.Types: instance ToQuery Subnet
- Network.AWS.Redshift.Types: instance ToQuery Tag
- Network.AWS.Redshift.Types: instance ToQuery TaggedResource
- Network.AWS.Redshift.Types: instance ToQuery VpcSecurityGroupMembership
- Network.AWS.Redshift.Types: instance ToText SourceType
- Network.AWS.Redshift.Types: iprCIDRIP :: Lens' IPRange (Maybe Text)
- Network.AWS.Redshift.Types: iprStatus :: Lens' IPRange (Maybe Text)
- Network.AWS.Redshift.Types: iprTags :: Lens' IPRange [Tag]
- Network.AWS.Redshift.Types: iprange :: IPRange
- Network.AWS.Redshift.Types: ns :: Text
- Network.AWS.Redshift.Types: sKmsKeyId :: Lens' Snapshot (Maybe Text)
- Network.AWS.Redshift.Types: sVpcId :: Lens' Snapshot (Maybe Text)
- Network.AWS.Redshift.Types: vsgmVpcSecurityGroupId :: Lens' VpcSecurityGroupMembership (Maybe Text)
+ Network.AWS.Redshift: Cluster :: SourceType
+ Network.AWS.Redshift: ClusterParameterGroup :: SourceType
+ Network.AWS.Redshift: ClusterSecurityGroup :: SourceType
+ Network.AWS.Redshift: ClusterSnapshot :: SourceType
+ Network.AWS.Redshift: Dynamic :: ParameterApplyType
+ Network.AWS.Redshift: Static :: ParameterApplyType
+ Network.AWS.Redshift: _AccessToSnapshotDeniedFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _AuthorizationAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _AuthorizationNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _AuthorizationQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _BucketNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterParameterGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterParameterGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterParameterGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSecurityGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSecurityGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSecurityGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSnapshotAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSnapshotNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSnapshotQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSubnetGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSubnetGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSubnetGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ClusterSubnetQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _CopyToRegionDisabledFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _EventSubscriptionQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _HSMClientCertificateAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _HSMClientCertificateNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _HSMClientCertificateQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _HSMConfigurationAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _HSMConfigurationNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _HSMConfigurationQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _IncompatibleOrderableOptions :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InsufficientClusterCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InsufficientS3BucketPolicyFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidClusterParameterGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidClusterSecurityGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidClusterSnapshotStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidClusterStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidClusterSubnetGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidClusterSubnetStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidElasticIPFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidHSMClientCertificateStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidHSMConfigurationStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidRestoreFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidS3BucketNameFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidS3KeyPrefixFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidSnapshotCopyGrantStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidSubnet :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidSubscriptionStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidTagFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _InvalidVPCNetworkStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _NumberOfNodesPerClusterLimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _NumberOfNodesQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ReservedNodeAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ReservedNodeNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ReservedNodeOfferingNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ReservedNodeQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ResizeNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _ResourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SNSInvalidTopicFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SNSNoAuthorizationFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SNSTopicARNNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SnapshotCopyAlreadyDisabledFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SnapshotCopyAlreadyEnabledFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SnapshotCopyDisabledFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SnapshotCopyGrantAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SnapshotCopyGrantNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SnapshotCopyGrantQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SubnetAlreadyInUse :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SubscriptionAlreadyExistFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SubscriptionCategoryNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SubscriptionEventIdNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SubscriptionNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _SubscriptionSeverityNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _TagLimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _UnauthorizedOperation :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _UnknownSnapshotCopyRegionFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _UnsupportedOperationFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: _UnsupportedOptionFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift: accountWithRestoreAccess :: AccountWithRestoreAccess
+ Network.AWS.Redshift: availabilityZone :: AvailabilityZone
+ Network.AWS.Redshift: awraAccountId :: Lens' AccountWithRestoreAccess (Maybe Text)
+ Network.AWS.Redshift: azName :: Lens' AvailabilityZone (Maybe Text)
+ Network.AWS.Redshift: cAllowVersionUpgrade :: Lens' Cluster (Maybe Bool)
+ Network.AWS.Redshift: cAutomatedSnapshotRetentionPeriod :: Lens' Cluster (Maybe Int)
+ Network.AWS.Redshift: cAvailabilityZone :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cClusterCreateTime :: Lens' Cluster (Maybe UTCTime)
+ Network.AWS.Redshift: cClusterIdentifier :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cClusterNodes :: Lens' Cluster [ClusterNode]
+ Network.AWS.Redshift: cClusterParameterGroups :: Lens' Cluster [ClusterParameterGroupStatus]
+ Network.AWS.Redshift: cClusterPublicKey :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cClusterRevisionNumber :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cClusterSecurityGroups :: Lens' Cluster [ClusterSecurityGroupMembership]
+ Network.AWS.Redshift: cClusterSnapshotCopyStatus :: Lens' Cluster (Maybe ClusterSnapshotCopyStatus)
+ Network.AWS.Redshift: cClusterStatus :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cClusterSubnetGroupName :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cClusterVersion :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cDBName :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cElasticIPStatus :: Lens' Cluster (Maybe ElasticIPStatus)
+ Network.AWS.Redshift: cEncrypted :: Lens' Cluster (Maybe Bool)
+ Network.AWS.Redshift: cEndpoint :: Lens' Cluster (Maybe Endpoint)
+ Network.AWS.Redshift: cHSMStatus :: Lens' Cluster (Maybe HSMStatus)
+ Network.AWS.Redshift: cKMSKeyId :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cMasterUsername :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cModifyStatus :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cNodeType :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cNumberOfNodes :: Lens' Cluster (Maybe Int)
+ Network.AWS.Redshift: cPendingModifiedValues :: Lens' Cluster (Maybe PendingModifiedValues)
+ Network.AWS.Redshift: cPreferredMaintenanceWindow :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cPubliclyAccessible :: Lens' Cluster (Maybe Bool)
+ Network.AWS.Redshift: cRestoreStatus :: Lens' Cluster (Maybe RestoreStatus)
+ Network.AWS.Redshift: cTags :: Lens' Cluster [Tag]
+ Network.AWS.Redshift: cVPCId :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift: cVPCSecurityGroups :: Lens' Cluster [VPCSecurityGroupMembership]
+ Network.AWS.Redshift: cluClusterSecurityGroupName :: Lens' ClusterSecurityGroup (Maybe Text)
+ Network.AWS.Redshift: cluDescription :: Lens' ClusterSecurityGroup (Maybe Text)
+ Network.AWS.Redshift: cluEC2SecurityGroups :: Lens' ClusterSecurityGroup [EC2SecurityGroup]
+ Network.AWS.Redshift: cluIPRanges :: Lens' ClusterSecurityGroup [IPRange]
+ Network.AWS.Redshift: cluTags :: Lens' ClusterSecurityGroup [Tag]
+ Network.AWS.Redshift: cluster :: Cluster
+ Network.AWS.Redshift: clusterAvailable :: Wait DescribeClusters
+ Network.AWS.Redshift: clusterDeleted :: Wait DescribeClusters
+ Network.AWS.Redshift: clusterNode :: ClusterNode
+ Network.AWS.Redshift: clusterParameterGroup :: ClusterParameterGroup
+ Network.AWS.Redshift: clusterParameterGroupNameMessage :: ClusterParameterGroupNameMessage
+ Network.AWS.Redshift: clusterParameterGroupStatus :: ClusterParameterGroupStatus
+ Network.AWS.Redshift: clusterParameterStatus :: ClusterParameterStatus
+ Network.AWS.Redshift: clusterSecurityGroup :: ClusterSecurityGroup
+ Network.AWS.Redshift: clusterSecurityGroupMembership :: ClusterSecurityGroupMembership
+ Network.AWS.Redshift: clusterSnapshotCopyStatus :: ClusterSnapshotCopyStatus
+ Network.AWS.Redshift: clusterSubnetGroup :: ClusterSubnetGroup
+ Network.AWS.Redshift: clusterVersion :: ClusterVersion
+ Network.AWS.Redshift: cnNodeRole :: Lens' ClusterNode (Maybe Text)
+ Network.AWS.Redshift: cnPrivateIPAddress :: Lens' ClusterNode (Maybe Text)
+ Network.AWS.Redshift: cnPublicIPAddress :: Lens' ClusterNode (Maybe Text)
+ Network.AWS.Redshift: cpgDescription :: Lens' ClusterParameterGroup (Maybe Text)
+ Network.AWS.Redshift: cpgParameterGroupFamily :: Lens' ClusterParameterGroup (Maybe Text)
+ Network.AWS.Redshift: cpgParameterGroupName :: Lens' ClusterParameterGroup (Maybe Text)
+ Network.AWS.Redshift: cpgTags :: Lens' ClusterParameterGroup [Tag]
+ Network.AWS.Redshift: cpgnmParameterGroupName :: Lens' ClusterParameterGroupNameMessage (Maybe Text)
+ Network.AWS.Redshift: cpgnmParameterGroupStatus :: Lens' ClusterParameterGroupNameMessage (Maybe Text)
+ Network.AWS.Redshift: cpgsClusterParameterStatusList :: Lens' ClusterParameterGroupStatus [ClusterParameterStatus]
+ Network.AWS.Redshift: cpgsParameterApplyStatus :: Lens' ClusterParameterGroupStatus (Maybe Text)
+ Network.AWS.Redshift: cpgsParameterGroupName :: Lens' ClusterParameterGroupStatus (Maybe Text)
+ Network.AWS.Redshift: cpsParameterApplyErrorDescription :: Lens' ClusterParameterStatus (Maybe Text)
+ Network.AWS.Redshift: cpsParameterApplyStatus :: Lens' ClusterParameterStatus (Maybe Text)
+ Network.AWS.Redshift: cpsParameterName :: Lens' ClusterParameterStatus (Maybe Text)
+ Network.AWS.Redshift: cscsDestinationRegion :: Lens' ClusterSnapshotCopyStatus (Maybe Text)
+ Network.AWS.Redshift: cscsRetentionPeriod :: Lens' ClusterSnapshotCopyStatus (Maybe Integer)
+ Network.AWS.Redshift: cscsSnapshotCopyGrantName :: Lens' ClusterSnapshotCopyStatus (Maybe Text)
+ Network.AWS.Redshift: csgClusterSubnetGroupName :: Lens' ClusterSubnetGroup (Maybe Text)
+ Network.AWS.Redshift: csgDescription :: Lens' ClusterSubnetGroup (Maybe Text)
+ Network.AWS.Redshift: csgSubnetGroupStatus :: Lens' ClusterSubnetGroup (Maybe Text)
+ Network.AWS.Redshift: csgSubnets :: Lens' ClusterSubnetGroup [Subnet]
+ Network.AWS.Redshift: csgTags :: Lens' ClusterSubnetGroup [Tag]
+ Network.AWS.Redshift: csgVPCId :: Lens' ClusterSubnetGroup (Maybe Text)
+ Network.AWS.Redshift: csgmClusterSecurityGroupName :: Lens' ClusterSecurityGroupMembership (Maybe Text)
+ Network.AWS.Redshift: csgmStatus :: Lens' ClusterSecurityGroupMembership (Maybe Text)
+ Network.AWS.Redshift: cvClusterParameterGroupFamily :: Lens' ClusterVersion (Maybe Text)
+ Network.AWS.Redshift: cvClusterVersion :: Lens' ClusterVersion (Maybe Text)
+ Network.AWS.Redshift: cvDescription :: Lens' ClusterVersion (Maybe Text)
+ Network.AWS.Redshift: data AccountWithRestoreAccess
+ Network.AWS.Redshift: data AvailabilityZone
+ Network.AWS.Redshift: data Cluster
+ Network.AWS.Redshift: data ClusterNode
+ Network.AWS.Redshift: data ClusterParameterGroup
+ Network.AWS.Redshift: data ClusterParameterGroupNameMessage
+ Network.AWS.Redshift: data ClusterParameterGroupStatus
+ Network.AWS.Redshift: data ClusterParameterStatus
+ Network.AWS.Redshift: data ClusterSecurityGroup
+ Network.AWS.Redshift: data ClusterSecurityGroupMembership
+ Network.AWS.Redshift: data ClusterSnapshotCopyStatus
+ Network.AWS.Redshift: data ClusterSubnetGroup
+ Network.AWS.Redshift: data ClusterVersion
+ Network.AWS.Redshift: data DefaultClusterParameters
+ Network.AWS.Redshift: data EC2SecurityGroup
+ Network.AWS.Redshift: data ElasticIPStatus
+ Network.AWS.Redshift: data Endpoint
+ Network.AWS.Redshift: data Event
+ Network.AWS.Redshift: data EventCategoriesMap
+ Network.AWS.Redshift: data EventInfoMap
+ Network.AWS.Redshift: data EventSubscription
+ Network.AWS.Redshift: data HSMClientCertificate
+ Network.AWS.Redshift: data HSMConfiguration
+ Network.AWS.Redshift: data HSMStatus
+ Network.AWS.Redshift: data IPRange
+ Network.AWS.Redshift: data LoggingStatus
+ Network.AWS.Redshift: data OrderableClusterOption
+ Network.AWS.Redshift: data Parameter
+ Network.AWS.Redshift: data ParameterApplyType
+ Network.AWS.Redshift: data PendingModifiedValues
+ Network.AWS.Redshift: data RecurringCharge
+ Network.AWS.Redshift: data Redshift
+ Network.AWS.Redshift: data ReservedNode
+ Network.AWS.Redshift: data ReservedNodeOffering
+ Network.AWS.Redshift: data RestoreStatus
+ Network.AWS.Redshift: data Snapshot
+ Network.AWS.Redshift: data SnapshotCopyGrant
+ Network.AWS.Redshift: data SourceType
+ Network.AWS.Redshift: data Subnet
+ Network.AWS.Redshift: data Tag
+ Network.AWS.Redshift: data TaggedResource
+ Network.AWS.Redshift: data VPCSecurityGroupMembership
+ Network.AWS.Redshift: dcpMarker :: Lens' DefaultClusterParameters (Maybe Text)
+ Network.AWS.Redshift: dcpParameterGroupFamily :: Lens' DefaultClusterParameters (Maybe Text)
+ Network.AWS.Redshift: dcpParameters :: Lens' DefaultClusterParameters [Parameter]
+ Network.AWS.Redshift: defaultClusterParameters :: DefaultClusterParameters
+ Network.AWS.Redshift: eAddress :: Lens' Endpoint (Maybe Text)
+ Network.AWS.Redshift: eDate :: Lens' Event (Maybe UTCTime)
+ Network.AWS.Redshift: eEventCategories :: Lens' Event [Text]
+ Network.AWS.Redshift: eEventId :: Lens' Event (Maybe Text)
+ Network.AWS.Redshift: eMessage :: Lens' Event (Maybe Text)
+ Network.AWS.Redshift: ePort :: Lens' Endpoint (Maybe Int)
+ Network.AWS.Redshift: eSeverity :: Lens' Event (Maybe Text)
+ Network.AWS.Redshift: eSourceIdentifier :: Lens' Event (Maybe Text)
+ Network.AWS.Redshift: eSourceType :: Lens' Event (Maybe SourceType)
+ Network.AWS.Redshift: ec2SecurityGroup :: EC2SecurityGroup
+ Network.AWS.Redshift: ecmEvents :: Lens' EventCategoriesMap [EventInfoMap]
+ Network.AWS.Redshift: ecmSourceType :: Lens' EventCategoriesMap (Maybe Text)
+ Network.AWS.Redshift: eimEventCategories :: Lens' EventInfoMap [Text]
+ Network.AWS.Redshift: eimEventDescription :: Lens' EventInfoMap (Maybe Text)
+ Network.AWS.Redshift: eimEventId :: Lens' EventInfoMap (Maybe Text)
+ Network.AWS.Redshift: eimSeverity :: Lens' EventInfoMap (Maybe Text)
+ Network.AWS.Redshift: eisElasticIP :: Lens' ElasticIPStatus (Maybe Text)
+ Network.AWS.Redshift: eisStatus :: Lens' ElasticIPStatus (Maybe Text)
+ Network.AWS.Redshift: elasticIPStatus :: ElasticIPStatus
+ Network.AWS.Redshift: endpoint :: Endpoint
+ Network.AWS.Redshift: esCustSubscriptionId :: Lens' EventSubscription (Maybe Text)
+ Network.AWS.Redshift: esCustomerAWSId :: Lens' EventSubscription (Maybe Text)
+ Network.AWS.Redshift: esEnabled :: Lens' EventSubscription (Maybe Bool)
+ Network.AWS.Redshift: esEventCategoriesList :: Lens' EventSubscription [Text]
+ Network.AWS.Redshift: esSNSTopicARN :: Lens' EventSubscription (Maybe Text)
+ Network.AWS.Redshift: esSeverity :: Lens' EventSubscription (Maybe Text)
+ Network.AWS.Redshift: esSourceIdsList :: Lens' EventSubscription [Text]
+ Network.AWS.Redshift: esSourceType :: Lens' EventSubscription (Maybe Text)
+ Network.AWS.Redshift: esStatus :: Lens' EventSubscription (Maybe Text)
+ Network.AWS.Redshift: esSubscriptionCreationTime :: Lens' EventSubscription (Maybe UTCTime)
+ Network.AWS.Redshift: esTags :: Lens' EventSubscription [Tag]
+ Network.AWS.Redshift: esgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)
+ Network.AWS.Redshift: esgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)
+ Network.AWS.Redshift: esgStatus :: Lens' EC2SecurityGroup (Maybe Text)
+ Network.AWS.Redshift: esgTags :: Lens' EC2SecurityGroup [Tag]
+ Network.AWS.Redshift: event :: Event
+ Network.AWS.Redshift: eventCategoriesMap :: EventCategoriesMap
+ Network.AWS.Redshift: eventInfoMap :: EventInfoMap
+ Network.AWS.Redshift: eventSubscription :: EventSubscription
+ Network.AWS.Redshift: hcDescription :: Lens' HSMConfiguration (Maybe Text)
+ Network.AWS.Redshift: hcHSMConfigurationIdentifier :: Lens' HSMConfiguration (Maybe Text)
+ Network.AWS.Redshift: hcHSMIPAddress :: Lens' HSMConfiguration (Maybe Text)
+ Network.AWS.Redshift: hcHSMPartitionName :: Lens' HSMConfiguration (Maybe Text)
+ Network.AWS.Redshift: hcTags :: Lens' HSMConfiguration [Tag]
+ Network.AWS.Redshift: hccHSMClientCertificateIdentifier :: Lens' HSMClientCertificate (Maybe Text)
+ Network.AWS.Redshift: hccHSMClientCertificatePublicKey :: Lens' HSMClientCertificate (Maybe Text)
+ Network.AWS.Redshift: hccTags :: Lens' HSMClientCertificate [Tag]
+ Network.AWS.Redshift: hsHSMClientCertificateIdentifier :: Lens' HSMStatus (Maybe Text)
+ Network.AWS.Redshift: hsHSMConfigurationIdentifier :: Lens' HSMStatus (Maybe Text)
+ Network.AWS.Redshift: hsStatus :: Lens' HSMStatus (Maybe Text)
+ Network.AWS.Redshift: hsmClientCertificate :: HSMClientCertificate
+ Network.AWS.Redshift: hsmConfiguration :: HSMConfiguration
+ Network.AWS.Redshift: hsmStatus :: HSMStatus
+ Network.AWS.Redshift: ipRange :: IPRange
+ Network.AWS.Redshift: irCIdRIP :: Lens' IPRange (Maybe Text)
+ Network.AWS.Redshift: irStatus :: Lens' IPRange (Maybe Text)
+ Network.AWS.Redshift: irTags :: Lens' IPRange [Tag]
+ Network.AWS.Redshift: loggingStatus :: LoggingStatus
+ Network.AWS.Redshift: lsBucketName :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift: lsLastFailureMessage :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift: lsLastFailureTime :: Lens' LoggingStatus (Maybe UTCTime)
+ Network.AWS.Redshift: lsLastSuccessfulDeliveryTime :: Lens' LoggingStatus (Maybe UTCTime)
+ Network.AWS.Redshift: lsLoggingEnabled :: Lens' LoggingStatus (Maybe Bool)
+ Network.AWS.Redshift: lsS3KeyPrefix :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift: ocoAvailabilityZones :: Lens' OrderableClusterOption [AvailabilityZone]
+ Network.AWS.Redshift: ocoClusterType :: Lens' OrderableClusterOption (Maybe Text)
+ Network.AWS.Redshift: ocoClusterVersion :: Lens' OrderableClusterOption (Maybe Text)
+ Network.AWS.Redshift: ocoNodeType :: Lens' OrderableClusterOption (Maybe Text)
+ Network.AWS.Redshift: orderableClusterOption :: OrderableClusterOption
+ Network.AWS.Redshift: pAllowedValues :: Lens' Parameter (Maybe Text)
+ Network.AWS.Redshift: pApplyType :: Lens' Parameter (Maybe ParameterApplyType)
+ Network.AWS.Redshift: pDataType :: Lens' Parameter (Maybe Text)
+ Network.AWS.Redshift: pDescription :: Lens' Parameter (Maybe Text)
+ Network.AWS.Redshift: pIsModifiable :: Lens' Parameter (Maybe Bool)
+ Network.AWS.Redshift: pMinimumEngineVersion :: Lens' Parameter (Maybe Text)
+ Network.AWS.Redshift: pParameterName :: Lens' Parameter (Maybe Text)
+ Network.AWS.Redshift: pParameterValue :: Lens' Parameter (Maybe Text)
+ Network.AWS.Redshift: pSource :: Lens' Parameter (Maybe Text)
+ Network.AWS.Redshift: parameter :: Parameter
+ Network.AWS.Redshift: pendingModifiedValues :: PendingModifiedValues
+ Network.AWS.Redshift: pmvAutomatedSnapshotRetentionPeriod :: Lens' PendingModifiedValues (Maybe Int)
+ Network.AWS.Redshift: pmvClusterIdentifier :: Lens' PendingModifiedValues (Maybe Text)
+ Network.AWS.Redshift: pmvClusterType :: Lens' PendingModifiedValues (Maybe Text)
+ Network.AWS.Redshift: pmvClusterVersion :: Lens' PendingModifiedValues (Maybe Text)
+ Network.AWS.Redshift: pmvMasterUserPassword :: Lens' PendingModifiedValues (Maybe Text)
+ Network.AWS.Redshift: pmvNodeType :: Lens' PendingModifiedValues (Maybe Text)
+ Network.AWS.Redshift: pmvNumberOfNodes :: Lens' PendingModifiedValues (Maybe Int)
+ Network.AWS.Redshift: rcRecurringChargeAmount :: Lens' RecurringCharge (Maybe Double)
+ Network.AWS.Redshift: rcRecurringChargeFrequency :: Lens' RecurringCharge (Maybe Text)
+ Network.AWS.Redshift: recurringCharge :: RecurringCharge
+ Network.AWS.Redshift: reservedNode :: ReservedNode
+ Network.AWS.Redshift: reservedNodeOffering :: ReservedNodeOffering
+ Network.AWS.Redshift: restoreStatus :: RestoreStatus
+ Network.AWS.Redshift: rnCurrencyCode :: Lens' ReservedNode (Maybe Text)
+ Network.AWS.Redshift: rnDuration :: Lens' ReservedNode (Maybe Int)
+ Network.AWS.Redshift: rnFixedPrice :: Lens' ReservedNode (Maybe Double)
+ Network.AWS.Redshift: rnNodeCount :: Lens' ReservedNode (Maybe Int)
+ Network.AWS.Redshift: rnNodeType :: Lens' ReservedNode (Maybe Text)
+ Network.AWS.Redshift: rnOfferingType :: Lens' ReservedNode (Maybe Text)
+ Network.AWS.Redshift: rnRecurringCharges :: Lens' ReservedNode [RecurringCharge]
+ Network.AWS.Redshift: rnReservedNodeId :: Lens' ReservedNode (Maybe Text)
+ Network.AWS.Redshift: rnReservedNodeOfferingId :: Lens' ReservedNode (Maybe Text)
+ Network.AWS.Redshift: rnStartTime :: Lens' ReservedNode (Maybe UTCTime)
+ Network.AWS.Redshift: rnState :: Lens' ReservedNode (Maybe Text)
+ Network.AWS.Redshift: rnUsagePrice :: Lens' ReservedNode (Maybe Double)
+ Network.AWS.Redshift: rnoCurrencyCode :: Lens' ReservedNodeOffering (Maybe Text)
+ Network.AWS.Redshift: rnoDuration :: Lens' ReservedNodeOffering (Maybe Int)
+ Network.AWS.Redshift: rnoFixedPrice :: Lens' ReservedNodeOffering (Maybe Double)
+ Network.AWS.Redshift: rnoNodeType :: Lens' ReservedNodeOffering (Maybe Text)
+ Network.AWS.Redshift: rnoOfferingType :: Lens' ReservedNodeOffering (Maybe Text)
+ Network.AWS.Redshift: rnoRecurringCharges :: Lens' ReservedNodeOffering [RecurringCharge]
+ Network.AWS.Redshift: rnoReservedNodeOfferingId :: Lens' ReservedNodeOffering (Maybe Text)
+ Network.AWS.Redshift: rnoUsagePrice :: Lens' ReservedNodeOffering (Maybe Double)
+ Network.AWS.Redshift: rsCurrentRestoreRateInMegaBytesPerSecond :: Lens' RestoreStatus (Maybe Double)
+ Network.AWS.Redshift: rsElapsedTimeInSeconds :: Lens' RestoreStatus (Maybe Integer)
+ Network.AWS.Redshift: rsEstimatedTimeToCompletionInSeconds :: Lens' RestoreStatus (Maybe Integer)
+ Network.AWS.Redshift: rsProgressInMegaBytes :: Lens' RestoreStatus (Maybe Integer)
+ Network.AWS.Redshift: rsSnapshotSizeInMegaBytes :: Lens' RestoreStatus (Maybe Integer)
+ Network.AWS.Redshift: rsStatus :: Lens' RestoreStatus (Maybe Text)
+ Network.AWS.Redshift: sAccountsWithRestoreAccess :: Lens' Snapshot [AccountWithRestoreAccess]
+ Network.AWS.Redshift: sActualIncrementalBackupSizeInMegaBytes :: Lens' Snapshot (Maybe Double)
+ Network.AWS.Redshift: sAvailabilityZone :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sBackupProgressInMegaBytes :: Lens' Snapshot (Maybe Double)
+ Network.AWS.Redshift: sClusterCreateTime :: Lens' Snapshot (Maybe UTCTime)
+ Network.AWS.Redshift: sClusterIdentifier :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sClusterVersion :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sCurrentBackupRateInMegaBytesPerSecond :: Lens' Snapshot (Maybe Double)
+ Network.AWS.Redshift: sDBName :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sElapsedTimeInSeconds :: Lens' Snapshot (Maybe Integer)
+ Network.AWS.Redshift: sEncrypted :: Lens' Snapshot (Maybe Bool)
+ Network.AWS.Redshift: sEncryptedWithHSM :: Lens' Snapshot (Maybe Bool)
+ Network.AWS.Redshift: sEstimatedSecondsToCompletion :: Lens' Snapshot (Maybe Integer)
+ Network.AWS.Redshift: sKMSKeyId :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sMasterUsername :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sNodeType :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sNumberOfNodes :: Lens' Snapshot (Maybe Int)
+ Network.AWS.Redshift: sOwnerAccount :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sPort :: Lens' Snapshot (Maybe Int)
+ Network.AWS.Redshift: sRestorableNodeTypes :: Lens' Snapshot [Text]
+ Network.AWS.Redshift: sSnapshotCreateTime :: Lens' Snapshot (Maybe UTCTime)
+ Network.AWS.Redshift: sSnapshotIdentifier :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sSnapshotType :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sSourceRegion :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sStatus :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: sSubnetAvailabilityZone :: Lens' Subnet (Maybe AvailabilityZone)
+ Network.AWS.Redshift: sSubnetIdentifier :: Lens' Subnet (Maybe Text)
+ Network.AWS.Redshift: sSubnetStatus :: Lens' Subnet (Maybe Text)
+ Network.AWS.Redshift: sTags :: Lens' Snapshot [Tag]
+ Network.AWS.Redshift: sTotalBackupSizeInMegaBytes :: Lens' Snapshot (Maybe Double)
+ Network.AWS.Redshift: sVPCId :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift: scgKMSKeyId :: Lens' SnapshotCopyGrant (Maybe Text)
+ Network.AWS.Redshift: scgSnapshotCopyGrantName :: Lens' SnapshotCopyGrant (Maybe Text)
+ Network.AWS.Redshift: scgTags :: Lens' SnapshotCopyGrant [Tag]
+ Network.AWS.Redshift: snapshot :: Snapshot
+ Network.AWS.Redshift: snapshotAvailable :: Wait DescribeClusterSnapshots
+ Network.AWS.Redshift: snapshotCopyGrant :: SnapshotCopyGrant
+ Network.AWS.Redshift: subnet :: Subnet
+ Network.AWS.Redshift: tag :: Tag
+ Network.AWS.Redshift: tagKey :: Lens' Tag (Maybe Text)
+ Network.AWS.Redshift: tagValue :: Lens' Tag (Maybe Text)
+ Network.AWS.Redshift: taggedResource :: TaggedResource
+ Network.AWS.Redshift: trResourceName :: Lens' TaggedResource (Maybe Text)
+ Network.AWS.Redshift: trResourceType :: Lens' TaggedResource (Maybe Text)
+ Network.AWS.Redshift: trTag :: Lens' TaggedResource (Maybe Tag)
+ Network.AWS.Redshift: vpcSecurityGroupMembership :: VPCSecurityGroupMembership
+ Network.AWS.Redshift: vsgmStatus :: Lens' VPCSecurityGroupMembership (Maybe Text)
+ Network.AWS.Redshift: vsgmVPCSecurityGroupId :: Lens' VPCSecurityGroupMembership (Maybe Text)
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: acsgiCIdRIP :: Lens' AuthorizeClusterSecurityGroupIngress (Maybe Text)
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: acsgirsClusterSecurityGroup :: Lens' AuthorizeClusterSecurityGroupIngressResponse (Maybe ClusterSecurityGroup)
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: acsgirsStatus :: Lens' AuthorizeClusterSecurityGroupIngressResponse Int
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Constructor C1_0AuthorizeClusterSecurityGroupIngress
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Constructor C1_0AuthorizeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Data AuthorizeClusterSecurityGroupIngress
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Data AuthorizeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Datatype D1AuthorizeClusterSecurityGroupIngress
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Datatype D1AuthorizeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Generic AuthorizeClusterSecurityGroupIngress
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Generic AuthorizeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Selector S1_0_0AuthorizeClusterSecurityGroupIngress
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Selector S1_0_0AuthorizeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Selector S1_0_1AuthorizeClusterSecurityGroupIngress
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Selector S1_0_1AuthorizeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Selector S1_0_2AuthorizeClusterSecurityGroupIngress
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Selector S1_0_3AuthorizeClusterSecurityGroupIngress
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Typeable AuthorizeClusterSecurityGroupIngress
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: instance Typeable AuthorizeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: asarsSnapshot :: Lens' AuthorizeSnapshotAccessResponse (Maybe Snapshot)
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: asarsStatus :: Lens' AuthorizeSnapshotAccessResponse Int
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Constructor C1_0AuthorizeSnapshotAccess
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Constructor C1_0AuthorizeSnapshotAccessResponse
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Data AuthorizeSnapshotAccess
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Data AuthorizeSnapshotAccessResponse
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Datatype D1AuthorizeSnapshotAccess
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Datatype D1AuthorizeSnapshotAccessResponse
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Generic AuthorizeSnapshotAccess
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Generic AuthorizeSnapshotAccessResponse
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Selector S1_0_0AuthorizeSnapshotAccess
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Selector S1_0_0AuthorizeSnapshotAccessResponse
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Selector S1_0_1AuthorizeSnapshotAccess
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Selector S1_0_1AuthorizeSnapshotAccessResponse
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Selector S1_0_2AuthorizeSnapshotAccess
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Typeable AuthorizeSnapshotAccess
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: instance Typeable AuthorizeSnapshotAccessResponse
+ Network.AWS.Redshift.CopyClusterSnapshot: ccsrsSnapshot :: Lens' CopyClusterSnapshotResponse (Maybe Snapshot)
+ Network.AWS.Redshift.CopyClusterSnapshot: ccsrsStatus :: Lens' CopyClusterSnapshotResponse Int
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Constructor C1_0CopyClusterSnapshot
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Constructor C1_0CopyClusterSnapshotResponse
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Data CopyClusterSnapshot
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Data CopyClusterSnapshotResponse
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Datatype D1CopyClusterSnapshot
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Datatype D1CopyClusterSnapshotResponse
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Generic CopyClusterSnapshot
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Generic CopyClusterSnapshotResponse
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Selector S1_0_0CopyClusterSnapshot
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Selector S1_0_0CopyClusterSnapshotResponse
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Selector S1_0_1CopyClusterSnapshot
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Selector S1_0_1CopyClusterSnapshotResponse
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Selector S1_0_2CopyClusterSnapshot
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Typeable CopyClusterSnapshot
+ Network.AWS.Redshift.CopyClusterSnapshot: instance Typeable CopyClusterSnapshotResponse
+ Network.AWS.Redshift.CreateCluster: ccElasticIP :: Lens' CreateCluster (Maybe Text)
+ Network.AWS.Redshift.CreateCluster: ccHSMClientCertificateIdentifier :: Lens' CreateCluster (Maybe Text)
+ Network.AWS.Redshift.CreateCluster: ccHSMConfigurationIdentifier :: Lens' CreateCluster (Maybe Text)
+ Network.AWS.Redshift.CreateCluster: ccKMSKeyId :: Lens' CreateCluster (Maybe Text)
+ Network.AWS.Redshift.CreateCluster: ccVPCSecurityGroupIds :: Lens' CreateCluster [Text]
+ Network.AWS.Redshift.CreateCluster: ccrsCluster :: Lens' CreateClusterResponse (Maybe Cluster)
+ Network.AWS.Redshift.CreateCluster: ccrsStatus :: Lens' CreateClusterResponse Int
+ Network.AWS.Redshift.CreateCluster: instance Constructor C1_0CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Constructor C1_0CreateClusterResponse
+ Network.AWS.Redshift.CreateCluster: instance Data CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Data CreateClusterResponse
+ Network.AWS.Redshift.CreateCluster: instance Datatype D1CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Datatype D1CreateClusterResponse
+ Network.AWS.Redshift.CreateCluster: instance Generic CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Generic CreateClusterResponse
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_0CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_0CreateClusterResponse
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_10CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_11CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_12CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_13CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_14CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_15CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_16CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_17CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_18CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_19CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_1CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_1CreateClusterResponse
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_20CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_21CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_22CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_23CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_2CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_3CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_4CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_5CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_6CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_7CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_8CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Selector S1_0_9CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Typeable CreateCluster
+ Network.AWS.Redshift.CreateCluster: instance Typeable CreateClusterResponse
+ Network.AWS.Redshift.CreateClusterParameterGroup: ccpgrsClusterParameterGroup :: Lens' CreateClusterParameterGroupResponse (Maybe ClusterParameterGroup)
+ Network.AWS.Redshift.CreateClusterParameterGroup: ccpgrsStatus :: Lens' CreateClusterParameterGroupResponse Int
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Constructor C1_0CreateClusterParameterGroup
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Constructor C1_0CreateClusterParameterGroupResponse
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Data CreateClusterParameterGroup
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Data CreateClusterParameterGroupResponse
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Datatype D1CreateClusterParameterGroup
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Datatype D1CreateClusterParameterGroupResponse
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Generic CreateClusterParameterGroup
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Generic CreateClusterParameterGroupResponse
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Selector S1_0_0CreateClusterParameterGroup
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Selector S1_0_0CreateClusterParameterGroupResponse
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Selector S1_0_1CreateClusterParameterGroup
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Selector S1_0_1CreateClusterParameterGroupResponse
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Selector S1_0_2CreateClusterParameterGroup
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Selector S1_0_3CreateClusterParameterGroup
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Typeable CreateClusterParameterGroup
+ Network.AWS.Redshift.CreateClusterParameterGroup: instance Typeable CreateClusterParameterGroupResponse
+ Network.AWS.Redshift.CreateClusterSecurityGroup: creClusterSecurityGroupName :: Lens' CreateClusterSecurityGroup Text
+ Network.AWS.Redshift.CreateClusterSecurityGroup: creDescription :: Lens' CreateClusterSecurityGroup Text
+ Network.AWS.Redshift.CreateClusterSecurityGroup: creTags :: Lens' CreateClusterSecurityGroup [Tag]
+ Network.AWS.Redshift.CreateClusterSecurityGroup: crsClusterSecurityGroup :: Lens' CreateClusterSecurityGroupResponse (Maybe ClusterSecurityGroup)
+ Network.AWS.Redshift.CreateClusterSecurityGroup: crsStatus :: Lens' CreateClusterSecurityGroupResponse Int
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Constructor C1_0CreateClusterSecurityGroup
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Constructor C1_0CreateClusterSecurityGroupResponse
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Data CreateClusterSecurityGroup
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Data CreateClusterSecurityGroupResponse
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Datatype D1CreateClusterSecurityGroup
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Datatype D1CreateClusterSecurityGroupResponse
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Generic CreateClusterSecurityGroup
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Generic CreateClusterSecurityGroupResponse
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Selector S1_0_0CreateClusterSecurityGroup
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Selector S1_0_0CreateClusterSecurityGroupResponse
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Selector S1_0_1CreateClusterSecurityGroup
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Selector S1_0_1CreateClusterSecurityGroupResponse
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Selector S1_0_2CreateClusterSecurityGroup
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Typeable CreateClusterSecurityGroup
+ Network.AWS.Redshift.CreateClusterSecurityGroup: instance Typeable CreateClusterSecurityGroupResponse
+ Network.AWS.Redshift.CreateClusterSnapshot: crersSnapshot :: Lens' CreateClusterSnapshotResponse (Maybe Snapshot)
+ Network.AWS.Redshift.CreateClusterSnapshot: crersStatus :: Lens' CreateClusterSnapshotResponse Int
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Constructor C1_0CreateClusterSnapshot
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Constructor C1_0CreateClusterSnapshotResponse
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Data CreateClusterSnapshot
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Data CreateClusterSnapshotResponse
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Datatype D1CreateClusterSnapshot
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Datatype D1CreateClusterSnapshotResponse
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Generic CreateClusterSnapshot
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Generic CreateClusterSnapshotResponse
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Selector S1_0_0CreateClusterSnapshot
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Selector S1_0_0CreateClusterSnapshotResponse
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Selector S1_0_1CreateClusterSnapshot
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Selector S1_0_1CreateClusterSnapshotResponse
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Selector S1_0_2CreateClusterSnapshot
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Typeable CreateClusterSnapshot
+ Network.AWS.Redshift.CreateClusterSnapshot: instance Typeable CreateClusterSnapshotResponse
+ Network.AWS.Redshift.CreateClusterSubnetGroup: ccsgrsClusterSubnetGroup :: Lens' CreateClusterSubnetGroupResponse (Maybe ClusterSubnetGroup)
+ Network.AWS.Redshift.CreateClusterSubnetGroup: ccsgrsStatus :: Lens' CreateClusterSubnetGroupResponse Int
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Constructor C1_0CreateClusterSubnetGroup
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Constructor C1_0CreateClusterSubnetGroupResponse
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Data CreateClusterSubnetGroup
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Data CreateClusterSubnetGroupResponse
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Datatype D1CreateClusterSubnetGroup
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Datatype D1CreateClusterSubnetGroupResponse
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Generic CreateClusterSubnetGroup
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Generic CreateClusterSubnetGroupResponse
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Selector S1_0_0CreateClusterSubnetGroup
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Selector S1_0_0CreateClusterSubnetGroupResponse
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Selector S1_0_1CreateClusterSubnetGroup
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Selector S1_0_1CreateClusterSubnetGroupResponse
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Selector S1_0_2CreateClusterSubnetGroup
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Selector S1_0_3CreateClusterSubnetGroup
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Typeable CreateClusterSubnetGroup
+ Network.AWS.Redshift.CreateClusterSubnetGroup: instance Typeable CreateClusterSubnetGroupResponse
+ Network.AWS.Redshift.CreateEventSubscription: cesSNSTopicARN :: Lens' CreateEventSubscription Text
+ Network.AWS.Redshift.CreateEventSubscription: cesrsEventSubscription :: Lens' CreateEventSubscriptionResponse (Maybe EventSubscription)
+ Network.AWS.Redshift.CreateEventSubscription: cesrsStatus :: Lens' CreateEventSubscriptionResponse Int
+ Network.AWS.Redshift.CreateEventSubscription: instance Constructor C1_0CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Constructor C1_0CreateEventSubscriptionResponse
+ Network.AWS.Redshift.CreateEventSubscription: instance Data CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Data CreateEventSubscriptionResponse
+ Network.AWS.Redshift.CreateEventSubscription: instance Datatype D1CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Datatype D1CreateEventSubscriptionResponse
+ Network.AWS.Redshift.CreateEventSubscription: instance Generic CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Generic CreateEventSubscriptionResponse
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_0CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_0CreateEventSubscriptionResponse
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_1CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_1CreateEventSubscriptionResponse
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_2CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_3CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_4CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_5CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_6CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Selector S1_0_7CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Typeable CreateEventSubscription
+ Network.AWS.Redshift.CreateEventSubscription: instance Typeable CreateEventSubscriptionResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: chccHSMClientCertificateIdentifier :: Lens' CreateHSMClientCertificate Text
+ Network.AWS.Redshift.CreateHSMClientCertificate: chccTags :: Lens' CreateHSMClientCertificate [Tag]
+ Network.AWS.Redshift.CreateHSMClientCertificate: chccrsHSMClientCertificate :: Lens' CreateHSMClientCertificateResponse (Maybe HSMClientCertificate)
+ Network.AWS.Redshift.CreateHSMClientCertificate: chccrsStatus :: Lens' CreateHSMClientCertificateResponse Int
+ Network.AWS.Redshift.CreateHSMClientCertificate: createHSMClientCertificate :: Text -> CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: createHSMClientCertificateResponse :: Int -> CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: data CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: data CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance AWSRequest CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Constructor C1_0CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Constructor C1_0CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Data CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Data CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Datatype D1CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Datatype D1CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Eq CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Eq CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Generic CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Generic CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Read CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Read CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Selector S1_0_0CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Selector S1_0_0CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Selector S1_0_1CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Selector S1_0_1CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Show CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Show CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance ToHeaders CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance ToPath CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance ToQuery CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Typeable CreateHSMClientCertificate
+ Network.AWS.Redshift.CreateHSMClientCertificate: instance Typeable CreateHSMClientCertificateResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: chcDescription :: Lens' CreateHSMConfiguration Text
+ Network.AWS.Redshift.CreateHSMConfiguration: chcHSMConfigurationIdentifier :: Lens' CreateHSMConfiguration Text
+ Network.AWS.Redshift.CreateHSMConfiguration: chcHSMIPAddress :: Lens' CreateHSMConfiguration Text
+ Network.AWS.Redshift.CreateHSMConfiguration: chcHSMPartitionName :: Lens' CreateHSMConfiguration Text
+ Network.AWS.Redshift.CreateHSMConfiguration: chcHSMPartitionPassword :: Lens' CreateHSMConfiguration Text
+ Network.AWS.Redshift.CreateHSMConfiguration: chcHSMServerPublicCertificate :: Lens' CreateHSMConfiguration Text
+ Network.AWS.Redshift.CreateHSMConfiguration: chcTags :: Lens' CreateHSMConfiguration [Tag]
+ Network.AWS.Redshift.CreateHSMConfiguration: chcrsHSMConfiguration :: Lens' CreateHSMConfigurationResponse (Maybe HSMConfiguration)
+ Network.AWS.Redshift.CreateHSMConfiguration: chcrsStatus :: Lens' CreateHSMConfigurationResponse Int
+ Network.AWS.Redshift.CreateHSMConfiguration: createHSMConfiguration :: Text -> Text -> Text -> Text -> Text -> Text -> CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: createHSMConfigurationResponse :: Int -> CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: data CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: data CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance AWSRequest CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Constructor C1_0CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Constructor C1_0CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Data CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Data CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Datatype D1CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Datatype D1CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Eq CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Eq CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Generic CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Generic CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Read CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Read CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Selector S1_0_0CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Selector S1_0_0CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Selector S1_0_1CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Selector S1_0_1CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Selector S1_0_2CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Selector S1_0_3CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Selector S1_0_4CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Selector S1_0_5CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Selector S1_0_6CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Show CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Show CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateHSMConfiguration: instance ToHeaders CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance ToPath CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance ToQuery CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Typeable CreateHSMConfiguration
+ Network.AWS.Redshift.CreateHSMConfiguration: instance Typeable CreateHSMConfigurationResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: createSnapshotCopyGrant :: Text -> CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: createSnapshotCopyGrantResponse :: Int -> CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: cscgKMSKeyId :: Lens' CreateSnapshotCopyGrant (Maybe Text)
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: cscgSnapshotCopyGrantName :: Lens' CreateSnapshotCopyGrant Text
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: cscgTags :: Lens' CreateSnapshotCopyGrant [Tag]
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: cscgrsSnapshotCopyGrant :: Lens' CreateSnapshotCopyGrantResponse (Maybe SnapshotCopyGrant)
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: cscgrsStatus :: Lens' CreateSnapshotCopyGrantResponse Int
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: data CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: data CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance AWSRequest CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Constructor C1_0CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Constructor C1_0CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Data CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Data CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Datatype D1CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Datatype D1CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Eq CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Eq CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Generic CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Generic CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Read CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Read CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Selector S1_0_0CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Selector S1_0_0CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Selector S1_0_1CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Selector S1_0_1CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Selector S1_0_2CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Show CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Show CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance ToHeaders CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance ToPath CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance ToQuery CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Typeable CreateSnapshotCopyGrant
+ Network.AWS.Redshift.CreateSnapshotCopyGrant: instance Typeable CreateSnapshotCopyGrantResponse
+ Network.AWS.Redshift.CreateTags: instance Constructor C1_0CreateTags
+ Network.AWS.Redshift.CreateTags: instance Data CreateTags
+ Network.AWS.Redshift.CreateTags: instance Data CreateTagsResponse
+ Network.AWS.Redshift.CreateTags: instance Datatype D1CreateTags
+ Network.AWS.Redshift.CreateTags: instance Generic CreateTags
+ Network.AWS.Redshift.CreateTags: instance Selector S1_0_0CreateTags
+ Network.AWS.Redshift.CreateTags: instance Selector S1_0_1CreateTags
+ Network.AWS.Redshift.CreateTags: instance Typeable CreateTags
+ Network.AWS.Redshift.CreateTags: instance Typeable CreateTagsResponse
+ Network.AWS.Redshift.DeleteCluster: dClusterIdentifier :: Lens' DeleteCluster Text
+ Network.AWS.Redshift.DeleteCluster: dFinalClusterSnapshotIdentifier :: Lens' DeleteCluster (Maybe Text)
+ Network.AWS.Redshift.DeleteCluster: dSkipFinalClusterSnapshot :: Lens' DeleteCluster (Maybe Bool)
+ Network.AWS.Redshift.DeleteCluster: drsCluster :: Lens' DeleteClusterResponse (Maybe Cluster)
+ Network.AWS.Redshift.DeleteCluster: drsStatus :: Lens' DeleteClusterResponse Int
+ Network.AWS.Redshift.DeleteCluster: instance Constructor C1_0DeleteCluster
+ Network.AWS.Redshift.DeleteCluster: instance Constructor C1_0DeleteClusterResponse
+ Network.AWS.Redshift.DeleteCluster: instance Data DeleteCluster
+ Network.AWS.Redshift.DeleteCluster: instance Data DeleteClusterResponse
+ Network.AWS.Redshift.DeleteCluster: instance Datatype D1DeleteCluster
+ Network.AWS.Redshift.DeleteCluster: instance Datatype D1DeleteClusterResponse
+ Network.AWS.Redshift.DeleteCluster: instance Generic DeleteCluster
+ Network.AWS.Redshift.DeleteCluster: instance Generic DeleteClusterResponse
+ Network.AWS.Redshift.DeleteCluster: instance Selector S1_0_0DeleteCluster
+ Network.AWS.Redshift.DeleteCluster: instance Selector S1_0_0DeleteClusterResponse
+ Network.AWS.Redshift.DeleteCluster: instance Selector S1_0_1DeleteCluster
+ Network.AWS.Redshift.DeleteCluster: instance Selector S1_0_1DeleteClusterResponse
+ Network.AWS.Redshift.DeleteCluster: instance Selector S1_0_2DeleteCluster
+ Network.AWS.Redshift.DeleteCluster: instance Typeable DeleteCluster
+ Network.AWS.Redshift.DeleteCluster: instance Typeable DeleteClusterResponse
+ Network.AWS.Redshift.DeleteClusterParameterGroup: dParameterGroupName :: Lens' DeleteClusterParameterGroup Text
+ Network.AWS.Redshift.DeleteClusterParameterGroup: instance Constructor C1_0DeleteClusterParameterGroup
+ Network.AWS.Redshift.DeleteClusterParameterGroup: instance Data DeleteClusterParameterGroup
+ Network.AWS.Redshift.DeleteClusterParameterGroup: instance Data DeleteClusterParameterGroupResponse
+ Network.AWS.Redshift.DeleteClusterParameterGroup: instance Datatype D1DeleteClusterParameterGroup
+ Network.AWS.Redshift.DeleteClusterParameterGroup: instance Generic DeleteClusterParameterGroup
+ Network.AWS.Redshift.DeleteClusterParameterGroup: instance Selector S1_0_0DeleteClusterParameterGroup
+ Network.AWS.Redshift.DeleteClusterParameterGroup: instance Typeable DeleteClusterParameterGroup
+ Network.AWS.Redshift.DeleteClusterParameterGroup: instance Typeable DeleteClusterParameterGroupResponse
+ Network.AWS.Redshift.DeleteClusterSecurityGroup: dClusterSecurityGroupName :: Lens' DeleteClusterSecurityGroup Text
+ Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Constructor C1_0DeleteClusterSecurityGroup
+ Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Data DeleteClusterSecurityGroup
+ Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Data DeleteClusterSecurityGroupResponse
+ Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Datatype D1DeleteClusterSecurityGroup
+ Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Generic DeleteClusterSecurityGroup
+ Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Selector S1_0_0DeleteClusterSecurityGroup
+ Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Typeable DeleteClusterSecurityGroup
+ Network.AWS.Redshift.DeleteClusterSecurityGroup: instance Typeable DeleteClusterSecurityGroupResponse
+ Network.AWS.Redshift.DeleteClusterSnapshot: dcsrsSnapshot :: Lens' DeleteClusterSnapshotResponse (Maybe Snapshot)
+ Network.AWS.Redshift.DeleteClusterSnapshot: dcsrsStatus :: Lens' DeleteClusterSnapshotResponse Int
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Constructor C1_0DeleteClusterSnapshot
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Constructor C1_0DeleteClusterSnapshotResponse
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Data DeleteClusterSnapshot
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Data DeleteClusterSnapshotResponse
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Datatype D1DeleteClusterSnapshot
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Datatype D1DeleteClusterSnapshotResponse
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Generic DeleteClusterSnapshot
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Generic DeleteClusterSnapshotResponse
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Selector S1_0_0DeleteClusterSnapshot
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Selector S1_0_0DeleteClusterSnapshotResponse
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Selector S1_0_1DeleteClusterSnapshot
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Selector S1_0_1DeleteClusterSnapshotResponse
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Typeable DeleteClusterSnapshot
+ Network.AWS.Redshift.DeleteClusterSnapshot: instance Typeable DeleteClusterSnapshotResponse
+ Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Constructor C1_0DeleteClusterSubnetGroup
+ Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Data DeleteClusterSubnetGroup
+ Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Data DeleteClusterSubnetGroupResponse
+ Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Datatype D1DeleteClusterSubnetGroup
+ Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Generic DeleteClusterSubnetGroup
+ Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Selector S1_0_0DeleteClusterSubnetGroup
+ Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Typeable DeleteClusterSubnetGroup
+ Network.AWS.Redshift.DeleteClusterSubnetGroup: instance Typeable DeleteClusterSubnetGroupResponse
+ Network.AWS.Redshift.DeleteEventSubscription: instance Constructor C1_0DeleteEventSubscription
+ Network.AWS.Redshift.DeleteEventSubscription: instance Data DeleteEventSubscription
+ Network.AWS.Redshift.DeleteEventSubscription: instance Data DeleteEventSubscriptionResponse
+ Network.AWS.Redshift.DeleteEventSubscription: instance Datatype D1DeleteEventSubscription
+ Network.AWS.Redshift.DeleteEventSubscription: instance Generic DeleteEventSubscription
+ Network.AWS.Redshift.DeleteEventSubscription: instance Selector S1_0_0DeleteEventSubscription
+ Network.AWS.Redshift.DeleteEventSubscription: instance Typeable DeleteEventSubscription
+ Network.AWS.Redshift.DeleteEventSubscription: instance Typeable DeleteEventSubscriptionResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: data DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: data DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: deleteHSMClientCertificate :: Text -> DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: deleteHSMClientCertificateResponse :: DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: dhsmccHSMClientCertificateIdentifier :: Lens' DeleteHSMClientCertificate Text
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance AWSRequest DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Constructor C1_0DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Constructor C1_0DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Data DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Data DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Datatype D1DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Datatype D1DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Eq DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Eq DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Generic DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Generic DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Read DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Read DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Selector S1_0_0DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Show DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Show DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance ToHeaders DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance ToPath DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance ToQuery DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Typeable DeleteHSMClientCertificate
+ Network.AWS.Redshift.DeleteHSMClientCertificate: instance Typeable DeleteHSMClientCertificateResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: data DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: data DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: deleteHSMConfiguration :: Text -> DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: deleteHSMConfigurationResponse :: DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: dhcHSMConfigurationIdentifier :: Lens' DeleteHSMConfiguration Text
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance AWSRequest DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Constructor C1_0DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Constructor C1_0DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Data DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Data DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Datatype D1DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Datatype D1DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Eq DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Eq DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Generic DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Generic DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Read DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Read DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Selector S1_0_0DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Show DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Show DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance ToHeaders DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance ToPath DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance ToQuery DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Typeable DeleteHSMConfiguration
+ Network.AWS.Redshift.DeleteHSMConfiguration: instance Typeable DeleteHSMConfigurationResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: data DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: data DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: deleteSnapshotCopyGrant :: Text -> DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: deleteSnapshotCopyGrantResponse :: DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: dscgSnapshotCopyGrantName :: Lens' DeleteSnapshotCopyGrant Text
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance AWSRequest DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Constructor C1_0DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Constructor C1_0DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Data DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Data DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Datatype D1DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Datatype D1DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Eq DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Eq DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Generic DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Generic DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Read DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Read DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Selector S1_0_0DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Show DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Show DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance ToHeaders DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance ToPath DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance ToQuery DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Typeable DeleteSnapshotCopyGrant
+ Network.AWS.Redshift.DeleteSnapshotCopyGrant: instance Typeable DeleteSnapshotCopyGrantResponse
+ Network.AWS.Redshift.DeleteTags: dResourceName :: Lens' DeleteTags Text
+ Network.AWS.Redshift.DeleteTags: dTagKeys :: Lens' DeleteTags [Text]
+ Network.AWS.Redshift.DeleteTags: instance Constructor C1_0DeleteTags
+ Network.AWS.Redshift.DeleteTags: instance Data DeleteTags
+ Network.AWS.Redshift.DeleteTags: instance Data DeleteTagsResponse
+ Network.AWS.Redshift.DeleteTags: instance Datatype D1DeleteTags
+ Network.AWS.Redshift.DeleteTags: instance Generic DeleteTags
+ Network.AWS.Redshift.DeleteTags: instance Selector S1_0_0DeleteTags
+ Network.AWS.Redshift.DeleteTags: instance Selector S1_0_1DeleteTags
+ Network.AWS.Redshift.DeleteTags: instance Typeable DeleteTags
+ Network.AWS.Redshift.DeleteTags: instance Typeable DeleteTagsResponse
+ Network.AWS.Redshift.DescribeClusterParameterGroups: dcpgrsMarker :: Lens' DescribeClusterParameterGroupsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterParameterGroups: dcpgrsParameterGroups :: Lens' DescribeClusterParameterGroupsResponse [ClusterParameterGroup]
+ Network.AWS.Redshift.DescribeClusterParameterGroups: dcpgrsStatus :: Lens' DescribeClusterParameterGroupsResponse Int
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Constructor C1_0DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Constructor C1_0DescribeClusterParameterGroupsResponse
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Data DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Data DescribeClusterParameterGroupsResponse
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Datatype D1DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Datatype D1DescribeClusterParameterGroupsResponse
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Generic DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Generic DescribeClusterParameterGroupsResponse
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Selector S1_0_0DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Selector S1_0_0DescribeClusterParameterGroupsResponse
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Selector S1_0_1DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Selector S1_0_1DescribeClusterParameterGroupsResponse
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Selector S1_0_2DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Selector S1_0_2DescribeClusterParameterGroupsResponse
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Selector S1_0_3DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Selector S1_0_4DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Typeable DescribeClusterParameterGroups
+ Network.AWS.Redshift.DescribeClusterParameterGroups: instance Typeable DescribeClusterParameterGroupsResponse
+ Network.AWS.Redshift.DescribeClusterParameters: dcprsMarker :: Lens' DescribeClusterParametersResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterParameters: dcprsParameters :: Lens' DescribeClusterParametersResponse [Parameter]
+ Network.AWS.Redshift.DescribeClusterParameters: dcprsStatus :: Lens' DescribeClusterParametersResponse Int
+ Network.AWS.Redshift.DescribeClusterParameters: dcpsMarker :: Lens' DescribeClusterParameters (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterParameters: dcpsMaxRecords :: Lens' DescribeClusterParameters (Maybe Int)
+ Network.AWS.Redshift.DescribeClusterParameters: dcpsParameterGroupName :: Lens' DescribeClusterParameters Text
+ Network.AWS.Redshift.DescribeClusterParameters: dcpsSource :: Lens' DescribeClusterParameters (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterParameters: instance Constructor C1_0DescribeClusterParameters
+ Network.AWS.Redshift.DescribeClusterParameters: instance Constructor C1_0DescribeClusterParametersResponse
+ Network.AWS.Redshift.DescribeClusterParameters: instance Data DescribeClusterParameters
+ Network.AWS.Redshift.DescribeClusterParameters: instance Data DescribeClusterParametersResponse
+ Network.AWS.Redshift.DescribeClusterParameters: instance Datatype D1DescribeClusterParameters
+ Network.AWS.Redshift.DescribeClusterParameters: instance Datatype D1DescribeClusterParametersResponse
+ Network.AWS.Redshift.DescribeClusterParameters: instance Generic DescribeClusterParameters
+ Network.AWS.Redshift.DescribeClusterParameters: instance Generic DescribeClusterParametersResponse
+ Network.AWS.Redshift.DescribeClusterParameters: instance Selector S1_0_0DescribeClusterParameters
+ Network.AWS.Redshift.DescribeClusterParameters: instance Selector S1_0_0DescribeClusterParametersResponse
+ Network.AWS.Redshift.DescribeClusterParameters: instance Selector S1_0_1DescribeClusterParameters
+ Network.AWS.Redshift.DescribeClusterParameters: instance Selector S1_0_1DescribeClusterParametersResponse
+ Network.AWS.Redshift.DescribeClusterParameters: instance Selector S1_0_2DescribeClusterParameters
+ Network.AWS.Redshift.DescribeClusterParameters: instance Selector S1_0_2DescribeClusterParametersResponse
+ Network.AWS.Redshift.DescribeClusterParameters: instance Selector S1_0_3DescribeClusterParameters
+ Network.AWS.Redshift.DescribeClusterParameters: instance Typeable DescribeClusterParameters
+ Network.AWS.Redshift.DescribeClusterParameters: instance Typeable DescribeClusterParametersResponse
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: dcsgsrsClusterSecurityGroups :: Lens' DescribeClusterSecurityGroupsResponse [ClusterSecurityGroup]
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: dcsgsrsMarker :: Lens' DescribeClusterSecurityGroupsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: dcsgsrsStatus :: Lens' DescribeClusterSecurityGroupsResponse Int
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Constructor C1_0DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Constructor C1_0DescribeClusterSecurityGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Data DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Data DescribeClusterSecurityGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Datatype D1DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Datatype D1DescribeClusterSecurityGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Generic DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Generic DescribeClusterSecurityGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Selector S1_0_0DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Selector S1_0_0DescribeClusterSecurityGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Selector S1_0_1DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Selector S1_0_1DescribeClusterSecurityGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Selector S1_0_2DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Selector S1_0_2DescribeClusterSecurityGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Selector S1_0_3DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Selector S1_0_4DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Typeable DescribeClusterSecurityGroups
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: instance Typeable DescribeClusterSecurityGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssClusterIdentifier :: Lens' DescribeClusterSnapshots (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssEndTime :: Lens' DescribeClusterSnapshots (Maybe UTCTime)
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssMarker :: Lens' DescribeClusterSnapshots (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssMaxRecords :: Lens' DescribeClusterSnapshots (Maybe Int)
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssOwnerAccount :: Lens' DescribeClusterSnapshots (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssSnapshotIdentifier :: Lens' DescribeClusterSnapshots (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssSnapshotType :: Lens' DescribeClusterSnapshots (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssStartTime :: Lens' DescribeClusterSnapshots (Maybe UTCTime)
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssTagKeys :: Lens' DescribeClusterSnapshots [Text]
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssTagValues :: Lens' DescribeClusterSnapshots [Text]
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssrsMarker :: Lens' DescribeClusterSnapshotsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssrsSnapshots :: Lens' DescribeClusterSnapshotsResponse [Snapshot]
+ Network.AWS.Redshift.DescribeClusterSnapshots: dcssrsStatus :: Lens' DescribeClusterSnapshotsResponse Int
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Constructor C1_0DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Constructor C1_0DescribeClusterSnapshotsResponse
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Data DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Data DescribeClusterSnapshotsResponse
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Datatype D1DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Datatype D1DescribeClusterSnapshotsResponse
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Generic DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Generic DescribeClusterSnapshotsResponse
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_0DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_0DescribeClusterSnapshotsResponse
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_1DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_1DescribeClusterSnapshotsResponse
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_2DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_2DescribeClusterSnapshotsResponse
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_3DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_4DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_5DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_6DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_7DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_8DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Selector S1_0_9DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Typeable DescribeClusterSnapshots
+ Network.AWS.Redshift.DescribeClusterSnapshots: instance Typeable DescribeClusterSnapshotsResponse
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgrsClusterSubnetGroups :: Lens' DescribeClusterSubnetGroupsResponse [ClusterSubnetGroup]
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgrsMarker :: Lens' DescribeClusterSubnetGroupsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgrsStatus :: Lens' DescribeClusterSubnetGroupsResponse Int
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgsClusterSubnetGroupName :: Lens' DescribeClusterSubnetGroups (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgsMarker :: Lens' DescribeClusterSubnetGroups (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgsMaxRecords :: Lens' DescribeClusterSubnetGroups (Maybe Int)
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgsTagKeys :: Lens' DescribeClusterSubnetGroups [Text]
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: dcsgsTagValues :: Lens' DescribeClusterSubnetGroups [Text]
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Constructor C1_0DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Constructor C1_0DescribeClusterSubnetGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Data DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Data DescribeClusterSubnetGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Datatype D1DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Datatype D1DescribeClusterSubnetGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Generic DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Generic DescribeClusterSubnetGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Selector S1_0_0DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Selector S1_0_0DescribeClusterSubnetGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Selector S1_0_1DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Selector S1_0_1DescribeClusterSubnetGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Selector S1_0_2DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Selector S1_0_2DescribeClusterSubnetGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Selector S1_0_3DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Selector S1_0_4DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Typeable DescribeClusterSubnetGroups
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: instance Typeable DescribeClusterSubnetGroupsResponse
+ Network.AWS.Redshift.DescribeClusterVersions: dcvrsClusterVersions :: Lens' DescribeClusterVersionsResponse [ClusterVersion]
+ Network.AWS.Redshift.DescribeClusterVersions: dcvrsMarker :: Lens' DescribeClusterVersionsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeClusterVersions: dcvrsStatus :: Lens' DescribeClusterVersionsResponse Int
+ Network.AWS.Redshift.DescribeClusterVersions: instance Constructor C1_0DescribeClusterVersions
+ Network.AWS.Redshift.DescribeClusterVersions: instance Constructor C1_0DescribeClusterVersionsResponse
+ Network.AWS.Redshift.DescribeClusterVersions: instance Data DescribeClusterVersions
+ Network.AWS.Redshift.DescribeClusterVersions: instance Data DescribeClusterVersionsResponse
+ Network.AWS.Redshift.DescribeClusterVersions: instance Datatype D1DescribeClusterVersions
+ Network.AWS.Redshift.DescribeClusterVersions: instance Datatype D1DescribeClusterVersionsResponse
+ Network.AWS.Redshift.DescribeClusterVersions: instance Generic DescribeClusterVersions
+ Network.AWS.Redshift.DescribeClusterVersions: instance Generic DescribeClusterVersionsResponse
+ Network.AWS.Redshift.DescribeClusterVersions: instance Selector S1_0_0DescribeClusterVersions
+ Network.AWS.Redshift.DescribeClusterVersions: instance Selector S1_0_0DescribeClusterVersionsResponse
+ Network.AWS.Redshift.DescribeClusterVersions: instance Selector S1_0_1DescribeClusterVersions
+ Network.AWS.Redshift.DescribeClusterVersions: instance Selector S1_0_1DescribeClusterVersionsResponse
+ Network.AWS.Redshift.DescribeClusterVersions: instance Selector S1_0_2DescribeClusterVersions
+ Network.AWS.Redshift.DescribeClusterVersions: instance Selector S1_0_2DescribeClusterVersionsResponse
+ Network.AWS.Redshift.DescribeClusterVersions: instance Selector S1_0_3DescribeClusterVersions
+ Network.AWS.Redshift.DescribeClusterVersions: instance Typeable DescribeClusterVersions
+ Network.AWS.Redshift.DescribeClusterVersions: instance Typeable DescribeClusterVersionsResponse
+ Network.AWS.Redshift.DescribeClusters: dcrsClusters :: Lens' DescribeClustersResponse [Cluster]
+ Network.AWS.Redshift.DescribeClusters: dcrsMarker :: Lens' DescribeClustersResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeClusters: dcrsStatus :: Lens' DescribeClustersResponse Int
+ Network.AWS.Redshift.DescribeClusters: instance Constructor C1_0DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Constructor C1_0DescribeClustersResponse
+ Network.AWS.Redshift.DescribeClusters: instance Data DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Data DescribeClustersResponse
+ Network.AWS.Redshift.DescribeClusters: instance Datatype D1DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Datatype D1DescribeClustersResponse
+ Network.AWS.Redshift.DescribeClusters: instance Generic DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Generic DescribeClustersResponse
+ Network.AWS.Redshift.DescribeClusters: instance Selector S1_0_0DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Selector S1_0_0DescribeClustersResponse
+ Network.AWS.Redshift.DescribeClusters: instance Selector S1_0_1DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Selector S1_0_1DescribeClustersResponse
+ Network.AWS.Redshift.DescribeClusters: instance Selector S1_0_2DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Selector S1_0_2DescribeClustersResponse
+ Network.AWS.Redshift.DescribeClusters: instance Selector S1_0_3DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Selector S1_0_4DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Typeable DescribeClusters
+ Network.AWS.Redshift.DescribeClusters: instance Typeable DescribeClustersResponse
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: ddcprsDefaultClusterParameters :: Lens' DescribeDefaultClusterParametersResponse DefaultClusterParameters
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: ddcprsStatus :: Lens' DescribeDefaultClusterParametersResponse Int
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Constructor C1_0DescribeDefaultClusterParameters
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Constructor C1_0DescribeDefaultClusterParametersResponse
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Data DescribeDefaultClusterParameters
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Data DescribeDefaultClusterParametersResponse
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Datatype D1DescribeDefaultClusterParameters
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Datatype D1DescribeDefaultClusterParametersResponse
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Generic DescribeDefaultClusterParameters
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Generic DescribeDefaultClusterParametersResponse
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Selector S1_0_0DescribeDefaultClusterParameters
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Selector S1_0_0DescribeDefaultClusterParametersResponse
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Selector S1_0_1DescribeDefaultClusterParameters
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Selector S1_0_1DescribeDefaultClusterParametersResponse
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Selector S1_0_2DescribeDefaultClusterParameters
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Typeable DescribeDefaultClusterParameters
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: instance Typeable DescribeDefaultClusterParametersResponse
+ Network.AWS.Redshift.DescribeEventCategories: decrsEventCategoriesMapList :: Lens' DescribeEventCategoriesResponse [EventCategoriesMap]
+ Network.AWS.Redshift.DescribeEventCategories: decrsStatus :: Lens' DescribeEventCategoriesResponse Int
+ Network.AWS.Redshift.DescribeEventCategories: instance Constructor C1_0DescribeEventCategories
+ Network.AWS.Redshift.DescribeEventCategories: instance Constructor C1_0DescribeEventCategoriesResponse
+ Network.AWS.Redshift.DescribeEventCategories: instance Data DescribeEventCategories
+ Network.AWS.Redshift.DescribeEventCategories: instance Data DescribeEventCategoriesResponse
+ Network.AWS.Redshift.DescribeEventCategories: instance Datatype D1DescribeEventCategories
+ Network.AWS.Redshift.DescribeEventCategories: instance Datatype D1DescribeEventCategoriesResponse
+ Network.AWS.Redshift.DescribeEventCategories: instance Generic DescribeEventCategories
+ Network.AWS.Redshift.DescribeEventCategories: instance Generic DescribeEventCategoriesResponse
+ Network.AWS.Redshift.DescribeEventCategories: instance Selector S1_0_0DescribeEventCategories
+ Network.AWS.Redshift.DescribeEventCategories: instance Selector S1_0_0DescribeEventCategoriesResponse
+ Network.AWS.Redshift.DescribeEventCategories: instance Selector S1_0_1DescribeEventCategoriesResponse
+ Network.AWS.Redshift.DescribeEventCategories: instance Typeable DescribeEventCategories
+ Network.AWS.Redshift.DescribeEventCategories: instance Typeable DescribeEventCategoriesResponse
+ Network.AWS.Redshift.DescribeEventSubscriptions: dMarker :: Lens' DescribeEventSubscriptions (Maybe Text)
+ Network.AWS.Redshift.DescribeEventSubscriptions: dMaxRecords :: Lens' DescribeEventSubscriptions (Maybe Int)
+ Network.AWS.Redshift.DescribeEventSubscriptions: dSubscriptionName :: Lens' DescribeEventSubscriptions (Maybe Text)
+ Network.AWS.Redshift.DescribeEventSubscriptions: desrsEventSubscriptionsList :: Lens' DescribeEventSubscriptionsResponse [EventSubscription]
+ Network.AWS.Redshift.DescribeEventSubscriptions: desrsMarker :: Lens' DescribeEventSubscriptionsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeEventSubscriptions: desrsStatus :: Lens' DescribeEventSubscriptionsResponse Int
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Constructor C1_0DescribeEventSubscriptions
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Constructor C1_0DescribeEventSubscriptionsResponse
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Data DescribeEventSubscriptions
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Data DescribeEventSubscriptionsResponse
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Datatype D1DescribeEventSubscriptions
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Datatype D1DescribeEventSubscriptionsResponse
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Generic DescribeEventSubscriptions
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Generic DescribeEventSubscriptionsResponse
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Selector S1_0_0DescribeEventSubscriptions
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Selector S1_0_0DescribeEventSubscriptionsResponse
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Selector S1_0_1DescribeEventSubscriptions
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Selector S1_0_1DescribeEventSubscriptionsResponse
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Selector S1_0_2DescribeEventSubscriptions
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Selector S1_0_2DescribeEventSubscriptionsResponse
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Typeable DescribeEventSubscriptions
+ Network.AWS.Redshift.DescribeEventSubscriptions: instance Typeable DescribeEventSubscriptionsResponse
+ Network.AWS.Redshift.DescribeEvents: dersEvents :: Lens' DescribeEventsResponse [Event]
+ Network.AWS.Redshift.DescribeEvents: dersMarker :: Lens' DescribeEventsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeEvents: dersStatus :: Lens' DescribeEventsResponse Int
+ Network.AWS.Redshift.DescribeEvents: instance Constructor C1_0DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Constructor C1_0DescribeEventsResponse
+ Network.AWS.Redshift.DescribeEvents: instance Data DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Data DescribeEventsResponse
+ Network.AWS.Redshift.DescribeEvents: instance Datatype D1DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Datatype D1DescribeEventsResponse
+ Network.AWS.Redshift.DescribeEvents: instance Generic DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Generic DescribeEventsResponse
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_0DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_0DescribeEventsResponse
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_1DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_1DescribeEventsResponse
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_2DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_2DescribeEventsResponse
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_3DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_4DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_5DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Selector S1_0_6DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Typeable DescribeEvents
+ Network.AWS.Redshift.DescribeEvents: instance Typeable DescribeEventsResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: data DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: data DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: describeHSMClientCertificates :: DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: describeHSMClientCertificatesResponse :: Int -> DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: dhccHSMClientCertificateIdentifier :: Lens' DescribeHSMClientCertificates (Maybe Text)
+ Network.AWS.Redshift.DescribeHSMClientCertificates: dhccMarker :: Lens' DescribeHSMClientCertificates (Maybe Text)
+ Network.AWS.Redshift.DescribeHSMClientCertificates: dhccMaxRecords :: Lens' DescribeHSMClientCertificates (Maybe Int)
+ Network.AWS.Redshift.DescribeHSMClientCertificates: dhccTagKeys :: Lens' DescribeHSMClientCertificates [Text]
+ Network.AWS.Redshift.DescribeHSMClientCertificates: dhccTagValues :: Lens' DescribeHSMClientCertificates [Text]
+ Network.AWS.Redshift.DescribeHSMClientCertificates: dhccrsHSMClientCertificates :: Lens' DescribeHSMClientCertificatesResponse [HSMClientCertificate]
+ Network.AWS.Redshift.DescribeHSMClientCertificates: dhccrsMarker :: Lens' DescribeHSMClientCertificatesResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeHSMClientCertificates: dhccrsStatus :: Lens' DescribeHSMClientCertificatesResponse Int
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance AWSPager DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance AWSRequest DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Constructor C1_0DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Constructor C1_0DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Data DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Data DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Datatype D1DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Datatype D1DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Eq DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Eq DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Generic DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Generic DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Read DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Read DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Selector S1_0_0DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Selector S1_0_0DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Selector S1_0_1DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Selector S1_0_1DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Selector S1_0_2DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Selector S1_0_2DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Selector S1_0_3DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Selector S1_0_4DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Show DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Show DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance ToHeaders DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance ToPath DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance ToQuery DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Typeable DescribeHSMClientCertificates
+ Network.AWS.Redshift.DescribeHSMClientCertificates: instance Typeable DescribeHSMClientCertificatesResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: data DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: data DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: describeHSMConfigurations :: DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: describeHSMConfigurationsResponse :: Int -> DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: dhcrsHSMConfigurations :: Lens' DescribeHSMConfigurationsResponse [HSMConfiguration]
+ Network.AWS.Redshift.DescribeHSMConfigurations: dhcrsMarker :: Lens' DescribeHSMConfigurationsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeHSMConfigurations: dhcrsStatus :: Lens' DescribeHSMConfigurationsResponse Int
+ Network.AWS.Redshift.DescribeHSMConfigurations: dhsmcHSMConfigurationIdentifier :: Lens' DescribeHSMConfigurations (Maybe Text)
+ Network.AWS.Redshift.DescribeHSMConfigurations: dhsmcMarker :: Lens' DescribeHSMConfigurations (Maybe Text)
+ Network.AWS.Redshift.DescribeHSMConfigurations: dhsmcMaxRecords :: Lens' DescribeHSMConfigurations (Maybe Int)
+ Network.AWS.Redshift.DescribeHSMConfigurations: dhsmcTagKeys :: Lens' DescribeHSMConfigurations [Text]
+ Network.AWS.Redshift.DescribeHSMConfigurations: dhsmcTagValues :: Lens' DescribeHSMConfigurations [Text]
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance AWSPager DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance AWSRequest DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Constructor C1_0DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Constructor C1_0DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Data DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Data DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Datatype D1DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Datatype D1DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Eq DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Eq DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Generic DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Generic DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Read DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Read DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Selector S1_0_0DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Selector S1_0_0DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Selector S1_0_1DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Selector S1_0_1DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Selector S1_0_2DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Selector S1_0_2DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Selector S1_0_3DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Selector S1_0_4DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Show DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Show DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance ToHeaders DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance ToPath DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance ToQuery DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Typeable DescribeHSMConfigurations
+ Network.AWS.Redshift.DescribeHSMConfigurations: instance Typeable DescribeHSMConfigurationsResponse
+ Network.AWS.Redshift.DescribeLoggingStatus: data LoggingStatus
+ Network.AWS.Redshift.DescribeLoggingStatus: instance Constructor C1_0DescribeLoggingStatus
+ Network.AWS.Redshift.DescribeLoggingStatus: instance Data DescribeLoggingStatus
+ Network.AWS.Redshift.DescribeLoggingStatus: instance Datatype D1DescribeLoggingStatus
+ Network.AWS.Redshift.DescribeLoggingStatus: instance Generic DescribeLoggingStatus
+ Network.AWS.Redshift.DescribeLoggingStatus: instance Selector S1_0_0DescribeLoggingStatus
+ Network.AWS.Redshift.DescribeLoggingStatus: instance Typeable DescribeLoggingStatus
+ Network.AWS.Redshift.DescribeLoggingStatus: loggingStatus :: LoggingStatus
+ Network.AWS.Redshift.DescribeLoggingStatus: lsBucketName :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift.DescribeLoggingStatus: lsLastFailureMessage :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift.DescribeLoggingStatus: lsLastFailureTime :: Lens' LoggingStatus (Maybe UTCTime)
+ Network.AWS.Redshift.DescribeLoggingStatus: lsLastSuccessfulDeliveryTime :: Lens' LoggingStatus (Maybe UTCTime)
+ Network.AWS.Redshift.DescribeLoggingStatus: lsLoggingEnabled :: Lens' LoggingStatus (Maybe Bool)
+ Network.AWS.Redshift.DescribeLoggingStatus: lsS3KeyPrefix :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: docorsMarker :: Lens' DescribeOrderableClusterOptionsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: docorsOrderableClusterOptions :: Lens' DescribeOrderableClusterOptionsResponse [OrderableClusterOption]
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: docorsStatus :: Lens' DescribeOrderableClusterOptionsResponse Int
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Constructor C1_0DescribeOrderableClusterOptions
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Constructor C1_0DescribeOrderableClusterOptionsResponse
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Data DescribeOrderableClusterOptions
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Data DescribeOrderableClusterOptionsResponse
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Datatype D1DescribeOrderableClusterOptions
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Datatype D1DescribeOrderableClusterOptionsResponse
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Generic DescribeOrderableClusterOptions
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Generic DescribeOrderableClusterOptionsResponse
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Selector S1_0_0DescribeOrderableClusterOptions
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Selector S1_0_0DescribeOrderableClusterOptionsResponse
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Selector S1_0_1DescribeOrderableClusterOptions
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Selector S1_0_1DescribeOrderableClusterOptionsResponse
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Selector S1_0_2DescribeOrderableClusterOptions
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Selector S1_0_2DescribeOrderableClusterOptionsResponse
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Selector S1_0_3DescribeOrderableClusterOptions
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Typeable DescribeOrderableClusterOptions
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: instance Typeable DescribeOrderableClusterOptionsResponse
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: drnorsMarker :: Lens' DescribeReservedNodeOfferingsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: drnorsReservedNodeOfferings :: Lens' DescribeReservedNodeOfferingsResponse [ReservedNodeOffering]
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: drnorsStatus :: Lens' DescribeReservedNodeOfferingsResponse Int
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Constructor C1_0DescribeReservedNodeOfferings
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Constructor C1_0DescribeReservedNodeOfferingsResponse
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Data DescribeReservedNodeOfferings
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Data DescribeReservedNodeOfferingsResponse
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Datatype D1DescribeReservedNodeOfferings
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Datatype D1DescribeReservedNodeOfferingsResponse
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Generic DescribeReservedNodeOfferings
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Generic DescribeReservedNodeOfferingsResponse
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Selector S1_0_0DescribeReservedNodeOfferings
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Selector S1_0_0DescribeReservedNodeOfferingsResponse
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Selector S1_0_1DescribeReservedNodeOfferings
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Selector S1_0_1DescribeReservedNodeOfferingsResponse
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Selector S1_0_2DescribeReservedNodeOfferings
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Selector S1_0_2DescribeReservedNodeOfferingsResponse
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Typeable DescribeReservedNodeOfferings
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: instance Typeable DescribeReservedNodeOfferingsResponse
+ Network.AWS.Redshift.DescribeReservedNodes: drnrsMarker :: Lens' DescribeReservedNodesResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeReservedNodes: drnrsReservedNodes :: Lens' DescribeReservedNodesResponse [ReservedNode]
+ Network.AWS.Redshift.DescribeReservedNodes: drnrsStatus :: Lens' DescribeReservedNodesResponse Int
+ Network.AWS.Redshift.DescribeReservedNodes: instance Constructor C1_0DescribeReservedNodes
+ Network.AWS.Redshift.DescribeReservedNodes: instance Constructor C1_0DescribeReservedNodesResponse
+ Network.AWS.Redshift.DescribeReservedNodes: instance Data DescribeReservedNodes
+ Network.AWS.Redshift.DescribeReservedNodes: instance Data DescribeReservedNodesResponse
+ Network.AWS.Redshift.DescribeReservedNodes: instance Datatype D1DescribeReservedNodes
+ Network.AWS.Redshift.DescribeReservedNodes: instance Datatype D1DescribeReservedNodesResponse
+ Network.AWS.Redshift.DescribeReservedNodes: instance Generic DescribeReservedNodes
+ Network.AWS.Redshift.DescribeReservedNodes: instance Generic DescribeReservedNodesResponse
+ Network.AWS.Redshift.DescribeReservedNodes: instance Selector S1_0_0DescribeReservedNodes
+ Network.AWS.Redshift.DescribeReservedNodes: instance Selector S1_0_0DescribeReservedNodesResponse
+ Network.AWS.Redshift.DescribeReservedNodes: instance Selector S1_0_1DescribeReservedNodes
+ Network.AWS.Redshift.DescribeReservedNodes: instance Selector S1_0_1DescribeReservedNodesResponse
+ Network.AWS.Redshift.DescribeReservedNodes: instance Selector S1_0_2DescribeReservedNodes
+ Network.AWS.Redshift.DescribeReservedNodes: instance Selector S1_0_2DescribeReservedNodesResponse
+ Network.AWS.Redshift.DescribeReservedNodes: instance Typeable DescribeReservedNodes
+ Network.AWS.Redshift.DescribeReservedNodes: instance Typeable DescribeReservedNodesResponse
+ Network.AWS.Redshift.DescribeResize: drrsAvgResizeRateInMegaBytesPerSecond :: Lens' DescribeResizeResponse (Maybe Double)
+ Network.AWS.Redshift.DescribeResize: drrsElapsedTimeInSeconds :: Lens' DescribeResizeResponse (Maybe Integer)
+ Network.AWS.Redshift.DescribeResize: drrsEstimatedTimeToCompletionInSeconds :: Lens' DescribeResizeResponse (Maybe Integer)
+ Network.AWS.Redshift.DescribeResize: drrsImportTablesCompleted :: Lens' DescribeResizeResponse [Text]
+ Network.AWS.Redshift.DescribeResize: drrsImportTablesInProgress :: Lens' DescribeResizeResponse [Text]
+ Network.AWS.Redshift.DescribeResize: drrsImportTablesNotStarted :: Lens' DescribeResizeResponse [Text]
+ Network.AWS.Redshift.DescribeResize: drrsProgressInMegaBytes :: Lens' DescribeResizeResponse (Maybe Integer)
+ Network.AWS.Redshift.DescribeResize: drrsStatus :: Lens' DescribeResizeResponse Int
+ Network.AWS.Redshift.DescribeResize: drrsTargetClusterType :: Lens' DescribeResizeResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeResize: drrsTargetNodeType :: Lens' DescribeResizeResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeResize: drrsTargetNumberOfNodes :: Lens' DescribeResizeResponse (Maybe Int)
+ Network.AWS.Redshift.DescribeResize: drrsTotalResizeDataInMegaBytes :: Lens' DescribeResizeResponse (Maybe Integer)
+ Network.AWS.Redshift.DescribeResize: instance Constructor C1_0DescribeResize
+ Network.AWS.Redshift.DescribeResize: instance Constructor C1_0DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Data DescribeResize
+ Network.AWS.Redshift.DescribeResize: instance Data DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Datatype D1DescribeResize
+ Network.AWS.Redshift.DescribeResize: instance Datatype D1DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Generic DescribeResize
+ Network.AWS.Redshift.DescribeResize: instance Generic DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_0DescribeResize
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_0DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_10DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_11DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_1DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_2DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_3DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_4DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_5DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_6DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_7DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_8DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Selector S1_0_9DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: instance Typeable DescribeResize
+ Network.AWS.Redshift.DescribeResize: instance Typeable DescribeResizeResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: data DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: data DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: describeSnapshotCopyGrants :: DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: describeSnapshotCopyGrantsResponse :: Int -> DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: dscgrsMarker :: Lens' DescribeSnapshotCopyGrantsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: dscgrsSnapshotCopyGrants :: Lens' DescribeSnapshotCopyGrantsResponse [SnapshotCopyGrant]
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: dscgrsStatus :: Lens' DescribeSnapshotCopyGrantsResponse Int
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: dscgsMarker :: Lens' DescribeSnapshotCopyGrants (Maybe Text)
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: dscgsMaxRecords :: Lens' DescribeSnapshotCopyGrants (Maybe Int)
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: dscgsSnapshotCopyGrantName :: Lens' DescribeSnapshotCopyGrants (Maybe Text)
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: dscgsTagKeys :: Lens' DescribeSnapshotCopyGrants [Text]
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: dscgsTagValues :: Lens' DescribeSnapshotCopyGrants [Text]
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance AWSRequest DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Constructor C1_0DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Constructor C1_0DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Data DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Data DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Datatype D1DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Datatype D1DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Eq DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Eq DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Generic DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Generic DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Read DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Read DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Selector S1_0_0DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Selector S1_0_0DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Selector S1_0_1DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Selector S1_0_1DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Selector S1_0_2DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Selector S1_0_2DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Selector S1_0_3DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Selector S1_0_4DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Show DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Show DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance ToHeaders DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance ToPath DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance ToQuery DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Typeable DescribeSnapshotCopyGrants
+ Network.AWS.Redshift.DescribeSnapshotCopyGrants: instance Typeable DescribeSnapshotCopyGrantsResponse
+ Network.AWS.Redshift.DescribeTags: dtrsMarker :: Lens' DescribeTagsResponse (Maybe Text)
+ Network.AWS.Redshift.DescribeTags: dtrsStatus :: Lens' DescribeTagsResponse Int
+ Network.AWS.Redshift.DescribeTags: dtrsTaggedResources :: Lens' DescribeTagsResponse [TaggedResource]
+ Network.AWS.Redshift.DescribeTags: instance Constructor C1_0DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Constructor C1_0DescribeTagsResponse
+ Network.AWS.Redshift.DescribeTags: instance Data DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Data DescribeTagsResponse
+ Network.AWS.Redshift.DescribeTags: instance Datatype D1DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Datatype D1DescribeTagsResponse
+ Network.AWS.Redshift.DescribeTags: instance Generic DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Generic DescribeTagsResponse
+ Network.AWS.Redshift.DescribeTags: instance Selector S1_0_0DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Selector S1_0_0DescribeTagsResponse
+ Network.AWS.Redshift.DescribeTags: instance Selector S1_0_1DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Selector S1_0_1DescribeTagsResponse
+ Network.AWS.Redshift.DescribeTags: instance Selector S1_0_2DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Selector S1_0_2DescribeTagsResponse
+ Network.AWS.Redshift.DescribeTags: instance Selector S1_0_3DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Selector S1_0_4DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Selector S1_0_5DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Typeable DescribeTags
+ Network.AWS.Redshift.DescribeTags: instance Typeable DescribeTagsResponse
+ Network.AWS.Redshift.DisableLogging: data LoggingStatus
+ Network.AWS.Redshift.DisableLogging: instance Constructor C1_0DisableLogging
+ Network.AWS.Redshift.DisableLogging: instance Data DisableLogging
+ Network.AWS.Redshift.DisableLogging: instance Datatype D1DisableLogging
+ Network.AWS.Redshift.DisableLogging: instance Generic DisableLogging
+ Network.AWS.Redshift.DisableLogging: instance Selector S1_0_0DisableLogging
+ Network.AWS.Redshift.DisableLogging: instance Typeable DisableLogging
+ Network.AWS.Redshift.DisableLogging: loggingStatus :: LoggingStatus
+ Network.AWS.Redshift.DisableLogging: lsBucketName :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift.DisableLogging: lsLastFailureMessage :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift.DisableLogging: lsLastFailureTime :: Lens' LoggingStatus (Maybe UTCTime)
+ Network.AWS.Redshift.DisableLogging: lsLastSuccessfulDeliveryTime :: Lens' LoggingStatus (Maybe UTCTime)
+ Network.AWS.Redshift.DisableLogging: lsLoggingEnabled :: Lens' LoggingStatus (Maybe Bool)
+ Network.AWS.Redshift.DisableLogging: lsS3KeyPrefix :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift.DisableSnapshotCopy: dscrsCluster :: Lens' DisableSnapshotCopyResponse (Maybe Cluster)
+ Network.AWS.Redshift.DisableSnapshotCopy: dscrsStatus :: Lens' DisableSnapshotCopyResponse Int
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Constructor C1_0DisableSnapshotCopy
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Constructor C1_0DisableSnapshotCopyResponse
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Data DisableSnapshotCopy
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Data DisableSnapshotCopyResponse
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Datatype D1DisableSnapshotCopy
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Datatype D1DisableSnapshotCopyResponse
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Generic DisableSnapshotCopy
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Generic DisableSnapshotCopyResponse
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Selector S1_0_0DisableSnapshotCopy
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Selector S1_0_0DisableSnapshotCopyResponse
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Selector S1_0_1DisableSnapshotCopyResponse
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Typeable DisableSnapshotCopy
+ Network.AWS.Redshift.DisableSnapshotCopy: instance Typeable DisableSnapshotCopyResponse
+ Network.AWS.Redshift.EnableLogging: data LoggingStatus
+ Network.AWS.Redshift.EnableLogging: instance Constructor C1_0EnableLogging
+ Network.AWS.Redshift.EnableLogging: instance Data EnableLogging
+ Network.AWS.Redshift.EnableLogging: instance Datatype D1EnableLogging
+ Network.AWS.Redshift.EnableLogging: instance Generic EnableLogging
+ Network.AWS.Redshift.EnableLogging: instance Selector S1_0_0EnableLogging
+ Network.AWS.Redshift.EnableLogging: instance Selector S1_0_1EnableLogging
+ Network.AWS.Redshift.EnableLogging: instance Selector S1_0_2EnableLogging
+ Network.AWS.Redshift.EnableLogging: instance Typeable EnableLogging
+ Network.AWS.Redshift.EnableLogging: loggingStatus :: LoggingStatus
+ Network.AWS.Redshift.EnableLogging: lsBucketName :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift.EnableLogging: lsLastFailureMessage :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift.EnableLogging: lsLastFailureTime :: Lens' LoggingStatus (Maybe UTCTime)
+ Network.AWS.Redshift.EnableLogging: lsLastSuccessfulDeliveryTime :: Lens' LoggingStatus (Maybe UTCTime)
+ Network.AWS.Redshift.EnableLogging: lsLoggingEnabled :: Lens' LoggingStatus (Maybe Bool)
+ Network.AWS.Redshift.EnableLogging: lsS3KeyPrefix :: Lens' LoggingStatus (Maybe Text)
+ Network.AWS.Redshift.EnableSnapshotCopy: escSnapshotCopyGrantName :: Lens' EnableSnapshotCopy (Maybe Text)
+ Network.AWS.Redshift.EnableSnapshotCopy: escrsCluster :: Lens' EnableSnapshotCopyResponse (Maybe Cluster)
+ Network.AWS.Redshift.EnableSnapshotCopy: escrsStatus :: Lens' EnableSnapshotCopyResponse Int
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Constructor C1_0EnableSnapshotCopy
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Constructor C1_0EnableSnapshotCopyResponse
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Data EnableSnapshotCopy
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Data EnableSnapshotCopyResponse
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Datatype D1EnableSnapshotCopy
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Datatype D1EnableSnapshotCopyResponse
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Generic EnableSnapshotCopy
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Generic EnableSnapshotCopyResponse
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Selector S1_0_0EnableSnapshotCopy
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Selector S1_0_0EnableSnapshotCopyResponse
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Selector S1_0_1EnableSnapshotCopy
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Selector S1_0_1EnableSnapshotCopyResponse
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Selector S1_0_2EnableSnapshotCopy
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Selector S1_0_3EnableSnapshotCopy
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Typeable EnableSnapshotCopy
+ Network.AWS.Redshift.EnableSnapshotCopy: instance Typeable EnableSnapshotCopyResponse
+ Network.AWS.Redshift.ModifyCluster: instance Constructor C1_0ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Constructor C1_0ModifyClusterResponse
+ Network.AWS.Redshift.ModifyCluster: instance Data ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Data ModifyClusterResponse
+ Network.AWS.Redshift.ModifyCluster: instance Datatype D1ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Datatype D1ModifyClusterResponse
+ Network.AWS.Redshift.ModifyCluster: instance Generic ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Generic ModifyClusterResponse
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_0ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_0ModifyClusterResponse
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_10ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_11ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_12ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_13ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_14ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_1ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_1ModifyClusterResponse
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_2ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_3ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_4ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_5ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_6ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_7ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_8ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Selector S1_0_9ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Typeable ModifyCluster
+ Network.AWS.Redshift.ModifyCluster: instance Typeable ModifyClusterResponse
+ Network.AWS.Redshift.ModifyCluster: mcHSMClientCertificateIdentifier :: Lens' ModifyCluster (Maybe Text)
+ Network.AWS.Redshift.ModifyCluster: mcHSMConfigurationIdentifier :: Lens' ModifyCluster (Maybe Text)
+ Network.AWS.Redshift.ModifyCluster: mcVPCSecurityGroupIds :: Lens' ModifyCluster [Text]
+ Network.AWS.Redshift.ModifyCluster: mcrsCluster :: Lens' ModifyClusterResponse (Maybe Cluster)
+ Network.AWS.Redshift.ModifyCluster: mcrsStatus :: Lens' ModifyClusterResponse Int
+ Network.AWS.Redshift.ModifyClusterParameterGroup: clusterParameterGroupNameMessage :: ClusterParameterGroupNameMessage
+ Network.AWS.Redshift.ModifyClusterParameterGroup: cpgnmParameterGroupName :: Lens' ClusterParameterGroupNameMessage (Maybe Text)
+ Network.AWS.Redshift.ModifyClusterParameterGroup: cpgnmParameterGroupStatus :: Lens' ClusterParameterGroupNameMessage (Maybe Text)
+ Network.AWS.Redshift.ModifyClusterParameterGroup: data ClusterParameterGroupNameMessage
+ Network.AWS.Redshift.ModifyClusterParameterGroup: instance Constructor C1_0ModifyClusterParameterGroup
+ Network.AWS.Redshift.ModifyClusterParameterGroup: instance Data ModifyClusterParameterGroup
+ Network.AWS.Redshift.ModifyClusterParameterGroup: instance Datatype D1ModifyClusterParameterGroup
+ Network.AWS.Redshift.ModifyClusterParameterGroup: instance Generic ModifyClusterParameterGroup
+ Network.AWS.Redshift.ModifyClusterParameterGroup: instance Selector S1_0_0ModifyClusterParameterGroup
+ Network.AWS.Redshift.ModifyClusterParameterGroup: instance Selector S1_0_1ModifyClusterParameterGroup
+ Network.AWS.Redshift.ModifyClusterParameterGroup: instance Typeable ModifyClusterParameterGroup
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Constructor C1_0ModifyClusterSubnetGroup
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Constructor C1_0ModifyClusterSubnetGroupResponse
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Data ModifyClusterSubnetGroup
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Data ModifyClusterSubnetGroupResponse
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Datatype D1ModifyClusterSubnetGroup
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Datatype D1ModifyClusterSubnetGroupResponse
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Generic ModifyClusterSubnetGroup
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Generic ModifyClusterSubnetGroupResponse
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Selector S1_0_0ModifyClusterSubnetGroup
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Selector S1_0_0ModifyClusterSubnetGroupResponse
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Selector S1_0_1ModifyClusterSubnetGroup
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Selector S1_0_1ModifyClusterSubnetGroupResponse
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Selector S1_0_2ModifyClusterSubnetGroup
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Typeable ModifyClusterSubnetGroup
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: instance Typeable ModifyClusterSubnetGroupResponse
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: mcsgrsClusterSubnetGroup :: Lens' ModifyClusterSubnetGroupResponse (Maybe ClusterSubnetGroup)
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: mcsgrsStatus :: Lens' ModifyClusterSubnetGroupResponse Int
+ Network.AWS.Redshift.ModifyEventSubscription: instance Constructor C1_0ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Constructor C1_0ModifyEventSubscriptionResponse
+ Network.AWS.Redshift.ModifyEventSubscription: instance Data ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Data ModifyEventSubscriptionResponse
+ Network.AWS.Redshift.ModifyEventSubscription: instance Datatype D1ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Datatype D1ModifyEventSubscriptionResponse
+ Network.AWS.Redshift.ModifyEventSubscription: instance Generic ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Generic ModifyEventSubscriptionResponse
+ Network.AWS.Redshift.ModifyEventSubscription: instance Selector S1_0_0ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Selector S1_0_0ModifyEventSubscriptionResponse
+ Network.AWS.Redshift.ModifyEventSubscription: instance Selector S1_0_1ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Selector S1_0_1ModifyEventSubscriptionResponse
+ Network.AWS.Redshift.ModifyEventSubscription: instance Selector S1_0_2ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Selector S1_0_3ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Selector S1_0_4ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Selector S1_0_5ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Selector S1_0_6ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Typeable ModifyEventSubscription
+ Network.AWS.Redshift.ModifyEventSubscription: instance Typeable ModifyEventSubscriptionResponse
+ Network.AWS.Redshift.ModifyEventSubscription: mesSNSTopicARN :: Lens' ModifyEventSubscription (Maybe Text)
+ Network.AWS.Redshift.ModifyEventSubscription: mesrsEventSubscription :: Lens' ModifyEventSubscriptionResponse (Maybe EventSubscription)
+ Network.AWS.Redshift.ModifyEventSubscription: mesrsStatus :: Lens' ModifyEventSubscriptionResponse Int
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Constructor C1_0ModifySnapshotCopyRetentionPeriod
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Constructor C1_0ModifySnapshotCopyRetentionPeriodResponse
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Data ModifySnapshotCopyRetentionPeriod
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Data ModifySnapshotCopyRetentionPeriodResponse
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Datatype D1ModifySnapshotCopyRetentionPeriod
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Datatype D1ModifySnapshotCopyRetentionPeriodResponse
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Generic ModifySnapshotCopyRetentionPeriod
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Generic ModifySnapshotCopyRetentionPeriodResponse
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Selector S1_0_0ModifySnapshotCopyRetentionPeriod
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Selector S1_0_0ModifySnapshotCopyRetentionPeriodResponse
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Selector S1_0_1ModifySnapshotCopyRetentionPeriod
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Selector S1_0_1ModifySnapshotCopyRetentionPeriodResponse
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Typeable ModifySnapshotCopyRetentionPeriod
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: instance Typeable ModifySnapshotCopyRetentionPeriodResponse
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: mscrprsCluster :: Lens' ModifySnapshotCopyRetentionPeriodResponse (Maybe Cluster)
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: mscrprsStatus :: Lens' ModifySnapshotCopyRetentionPeriodResponse Int
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Constructor C1_0PurchaseReservedNodeOffering
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Constructor C1_0PurchaseReservedNodeOfferingResponse
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Data PurchaseReservedNodeOffering
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Data PurchaseReservedNodeOfferingResponse
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Datatype D1PurchaseReservedNodeOffering
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Datatype D1PurchaseReservedNodeOfferingResponse
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Generic PurchaseReservedNodeOffering
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Generic PurchaseReservedNodeOfferingResponse
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Selector S1_0_0PurchaseReservedNodeOffering
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Selector S1_0_0PurchaseReservedNodeOfferingResponse
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Selector S1_0_1PurchaseReservedNodeOffering
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Selector S1_0_1PurchaseReservedNodeOfferingResponse
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Typeable PurchaseReservedNodeOffering
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: instance Typeable PurchaseReservedNodeOfferingResponse
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: prnorsReservedNode :: Lens' PurchaseReservedNodeOfferingResponse (Maybe ReservedNode)
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: prnorsStatus :: Lens' PurchaseReservedNodeOfferingResponse Int
+ Network.AWS.Redshift.RebootCluster: instance Constructor C1_0RebootCluster
+ Network.AWS.Redshift.RebootCluster: instance Constructor C1_0RebootClusterResponse
+ Network.AWS.Redshift.RebootCluster: instance Data RebootCluster
+ Network.AWS.Redshift.RebootCluster: instance Data RebootClusterResponse
+ Network.AWS.Redshift.RebootCluster: instance Datatype D1RebootCluster
+ Network.AWS.Redshift.RebootCluster: instance Datatype D1RebootClusterResponse
+ Network.AWS.Redshift.RebootCluster: instance Generic RebootCluster
+ Network.AWS.Redshift.RebootCluster: instance Generic RebootClusterResponse
+ Network.AWS.Redshift.RebootCluster: instance Selector S1_0_0RebootCluster
+ Network.AWS.Redshift.RebootCluster: instance Selector S1_0_0RebootClusterResponse
+ Network.AWS.Redshift.RebootCluster: instance Selector S1_0_1RebootClusterResponse
+ Network.AWS.Redshift.RebootCluster: instance Typeable RebootCluster
+ Network.AWS.Redshift.RebootCluster: instance Typeable RebootClusterResponse
+ Network.AWS.Redshift.RebootCluster: rcrsCluster :: Lens' RebootClusterResponse (Maybe Cluster)
+ Network.AWS.Redshift.RebootCluster: rcrsStatus :: Lens' RebootClusterResponse Int
+ Network.AWS.Redshift.ResetClusterParameterGroup: clusterParameterGroupNameMessage :: ClusterParameterGroupNameMessage
+ Network.AWS.Redshift.ResetClusterParameterGroup: cpgnmParameterGroupName :: Lens' ClusterParameterGroupNameMessage (Maybe Text)
+ Network.AWS.Redshift.ResetClusterParameterGroup: cpgnmParameterGroupStatus :: Lens' ClusterParameterGroupNameMessage (Maybe Text)
+ Network.AWS.Redshift.ResetClusterParameterGroup: data ClusterParameterGroupNameMessage
+ Network.AWS.Redshift.ResetClusterParameterGroup: instance Constructor C1_0ResetClusterParameterGroup
+ Network.AWS.Redshift.ResetClusterParameterGroup: instance Data ResetClusterParameterGroup
+ Network.AWS.Redshift.ResetClusterParameterGroup: instance Datatype D1ResetClusterParameterGroup
+ Network.AWS.Redshift.ResetClusterParameterGroup: instance Generic ResetClusterParameterGroup
+ Network.AWS.Redshift.ResetClusterParameterGroup: instance Selector S1_0_0ResetClusterParameterGroup
+ Network.AWS.Redshift.ResetClusterParameterGroup: instance Selector S1_0_1ResetClusterParameterGroup
+ Network.AWS.Redshift.ResetClusterParameterGroup: instance Selector S1_0_2ResetClusterParameterGroup
+ Network.AWS.Redshift.ResetClusterParameterGroup: instance Typeable ResetClusterParameterGroup
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Constructor C1_0RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Constructor C1_0RestoreFromClusterSnapshotResponse
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Data RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Data RestoreFromClusterSnapshotResponse
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Datatype D1RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Datatype D1RestoreFromClusterSnapshotResponse
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Generic RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Generic RestoreFromClusterSnapshotResponse
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_0RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_0RestoreFromClusterSnapshotResponse
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_10RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_11RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_12RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_13RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_14RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_15RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_16RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_17RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_18RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_1RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_1RestoreFromClusterSnapshotResponse
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_2RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_3RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_4RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_5RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_6RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_7RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_8RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Selector S1_0_9RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Typeable RestoreFromClusterSnapshot
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: instance Typeable RestoreFromClusterSnapshotResponse
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsElasticIP :: Lens' RestoreFromClusterSnapshot (Maybe Text)
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsHSMClientCertificateIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsHSMConfigurationIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsKMSKeyId :: Lens' RestoreFromClusterSnapshot (Maybe Text)
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsNodeType :: Lens' RestoreFromClusterSnapshot (Maybe Text)
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsVPCSecurityGroupIds :: Lens' RestoreFromClusterSnapshot [Text]
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsrsCluster :: Lens' RestoreFromClusterSnapshotResponse (Maybe Cluster)
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: rfcsrsStatus :: Lens' RestoreFromClusterSnapshotResponse Int
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Constructor C1_0RevokeClusterSecurityGroupIngress
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Constructor C1_0RevokeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Data RevokeClusterSecurityGroupIngress
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Data RevokeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Datatype D1RevokeClusterSecurityGroupIngress
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Datatype D1RevokeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Generic RevokeClusterSecurityGroupIngress
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Generic RevokeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Selector S1_0_0RevokeClusterSecurityGroupIngress
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Selector S1_0_0RevokeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Selector S1_0_1RevokeClusterSecurityGroupIngress
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Selector S1_0_1RevokeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Selector S1_0_2RevokeClusterSecurityGroupIngress
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Selector S1_0_3RevokeClusterSecurityGroupIngress
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Typeable RevokeClusterSecurityGroupIngress
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: instance Typeable RevokeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: rcsgiCIdRIP :: Lens' RevokeClusterSecurityGroupIngress (Maybe Text)
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: rcsgirsClusterSecurityGroup :: Lens' RevokeClusterSecurityGroupIngressResponse (Maybe ClusterSecurityGroup)
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: rcsgirsStatus :: Lens' RevokeClusterSecurityGroupIngressResponse Int
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Constructor C1_0RevokeSnapshotAccess
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Constructor C1_0RevokeSnapshotAccessResponse
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Data RevokeSnapshotAccess
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Data RevokeSnapshotAccessResponse
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Datatype D1RevokeSnapshotAccess
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Datatype D1RevokeSnapshotAccessResponse
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Generic RevokeSnapshotAccess
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Generic RevokeSnapshotAccessResponse
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Selector S1_0_0RevokeSnapshotAccess
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Selector S1_0_0RevokeSnapshotAccessResponse
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Selector S1_0_1RevokeSnapshotAccess
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Selector S1_0_1RevokeSnapshotAccessResponse
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Selector S1_0_2RevokeSnapshotAccess
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Typeable RevokeSnapshotAccess
+ Network.AWS.Redshift.RevokeSnapshotAccess: instance Typeable RevokeSnapshotAccessResponse
+ Network.AWS.Redshift.RevokeSnapshotAccess: rsarsSnapshot :: Lens' RevokeSnapshotAccessResponse (Maybe Snapshot)
+ Network.AWS.Redshift.RevokeSnapshotAccess: rsarsStatus :: Lens' RevokeSnapshotAccessResponse Int
+ Network.AWS.Redshift.RotateEncryptionKey: instance Constructor C1_0RotateEncryptionKey
+ Network.AWS.Redshift.RotateEncryptionKey: instance Constructor C1_0RotateEncryptionKeyResponse
+ Network.AWS.Redshift.RotateEncryptionKey: instance Data RotateEncryptionKey
+ Network.AWS.Redshift.RotateEncryptionKey: instance Data RotateEncryptionKeyResponse
+ Network.AWS.Redshift.RotateEncryptionKey: instance Datatype D1RotateEncryptionKey
+ Network.AWS.Redshift.RotateEncryptionKey: instance Datatype D1RotateEncryptionKeyResponse
+ Network.AWS.Redshift.RotateEncryptionKey: instance Generic RotateEncryptionKey
+ Network.AWS.Redshift.RotateEncryptionKey: instance Generic RotateEncryptionKeyResponse
+ Network.AWS.Redshift.RotateEncryptionKey: instance Selector S1_0_0RotateEncryptionKey
+ Network.AWS.Redshift.RotateEncryptionKey: instance Selector S1_0_0RotateEncryptionKeyResponse
+ Network.AWS.Redshift.RotateEncryptionKey: instance Selector S1_0_1RotateEncryptionKeyResponse
+ Network.AWS.Redshift.RotateEncryptionKey: instance Typeable RotateEncryptionKey
+ Network.AWS.Redshift.RotateEncryptionKey: instance Typeable RotateEncryptionKeyResponse
+ Network.AWS.Redshift.RotateEncryptionKey: rekrsCluster :: Lens' RotateEncryptionKeyResponse (Maybe Cluster)
+ Network.AWS.Redshift.RotateEncryptionKey: rekrsStatus :: Lens' RotateEncryptionKeyResponse Int
+ Network.AWS.Redshift.Types: Cluster :: SourceType
+ Network.AWS.Redshift.Types: ClusterParameterGroup :: SourceType
+ Network.AWS.Redshift.Types: ClusterSecurityGroup :: SourceType
+ Network.AWS.Redshift.Types: ClusterSnapshot :: SourceType
+ Network.AWS.Redshift.Types: Dynamic :: ParameterApplyType
+ Network.AWS.Redshift.Types: Static :: ParameterApplyType
+ Network.AWS.Redshift.Types: _AccessToSnapshotDeniedFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _AuthorizationAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _AuthorizationNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _AuthorizationQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _BucketNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterParameterGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterParameterGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterParameterGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSecurityGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSecurityGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSecurityGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSnapshotAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSnapshotNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSnapshotQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSubnetGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSubnetGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSubnetGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ClusterSubnetQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _CopyToRegionDisabledFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _EventSubscriptionQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _HSMClientCertificateAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _HSMClientCertificateNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _HSMClientCertificateQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _HSMConfigurationAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _HSMConfigurationNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _HSMConfigurationQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _IncompatibleOrderableOptions :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InsufficientClusterCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InsufficientS3BucketPolicyFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidClusterParameterGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidClusterSecurityGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidClusterSnapshotStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidClusterStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidClusterSubnetGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidClusterSubnetStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidElasticIPFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidHSMClientCertificateStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidHSMConfigurationStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidRestoreFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidS3BucketNameFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidS3KeyPrefixFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidSnapshotCopyGrantStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidSubnet :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidSubscriptionStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidTagFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _InvalidVPCNetworkStateFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _NumberOfNodesPerClusterLimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _NumberOfNodesQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ReservedNodeAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ReservedNodeNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ReservedNodeOfferingNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ReservedNodeQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ResizeNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _ResourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SNSInvalidTopicFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SNSNoAuthorizationFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SNSTopicARNNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SnapshotCopyAlreadyDisabledFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SnapshotCopyAlreadyEnabledFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SnapshotCopyDisabledFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SnapshotCopyGrantAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SnapshotCopyGrantNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SnapshotCopyGrantQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SubnetAlreadyInUse :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SubscriptionAlreadyExistFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SubscriptionCategoryNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SubscriptionEventIdNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SubscriptionNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _SubscriptionSeverityNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _TagLimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _UnauthorizedOperation :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _UnknownSnapshotCopyRegionFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _UnsupportedOperationFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: _UnsupportedOptionFault :: AsError a => Getting (First ServiceError) a ServiceError
+ Network.AWS.Redshift.Types: cElasticIPStatus :: Lens' Cluster (Maybe ElasticIPStatus)
+ Network.AWS.Redshift.Types: cHSMStatus :: Lens' Cluster (Maybe HSMStatus)
+ Network.AWS.Redshift.Types: cKMSKeyId :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift.Types: cVPCId :: Lens' Cluster (Maybe Text)
+ Network.AWS.Redshift.Types: cVPCSecurityGroups :: Lens' Cluster [VPCSecurityGroupMembership]
+ Network.AWS.Redshift.Types: cluClusterSecurityGroupName :: Lens' ClusterSecurityGroup (Maybe Text)
+ Network.AWS.Redshift.Types: cluDescription :: Lens' ClusterSecurityGroup (Maybe Text)
+ Network.AWS.Redshift.Types: cluEC2SecurityGroups :: Lens' ClusterSecurityGroup [EC2SecurityGroup]
+ Network.AWS.Redshift.Types: cluIPRanges :: Lens' ClusterSecurityGroup [IPRange]
+ Network.AWS.Redshift.Types: cluTags :: Lens' ClusterSecurityGroup [Tag]
+ Network.AWS.Redshift.Types: clusterParameterStatus :: ClusterParameterStatus
+ Network.AWS.Redshift.Types: cpgsClusterParameterStatusList :: Lens' ClusterParameterGroupStatus [ClusterParameterStatus]
+ Network.AWS.Redshift.Types: cpsParameterApplyErrorDescription :: Lens' ClusterParameterStatus (Maybe Text)
+ Network.AWS.Redshift.Types: cpsParameterApplyStatus :: Lens' ClusterParameterStatus (Maybe Text)
+ Network.AWS.Redshift.Types: cpsParameterName :: Lens' ClusterParameterStatus (Maybe Text)
+ Network.AWS.Redshift.Types: cscsSnapshotCopyGrantName :: Lens' ClusterSnapshotCopyStatus (Maybe Text)
+ Network.AWS.Redshift.Types: csgClusterSubnetGroupName :: Lens' ClusterSubnetGroup (Maybe Text)
+ Network.AWS.Redshift.Types: csgSubnetGroupStatus :: Lens' ClusterSubnetGroup (Maybe Text)
+ Network.AWS.Redshift.Types: csgSubnets :: Lens' ClusterSubnetGroup [Subnet]
+ Network.AWS.Redshift.Types: csgVPCId :: Lens' ClusterSubnetGroup (Maybe Text)
+ Network.AWS.Redshift.Types: data ClusterParameterStatus
+ Network.AWS.Redshift.Types: data ElasticIPStatus
+ Network.AWS.Redshift.Types: data HSMClientCertificate
+ Network.AWS.Redshift.Types: data HSMConfiguration
+ Network.AWS.Redshift.Types: data HSMStatus
+ Network.AWS.Redshift.Types: data ParameterApplyType
+ Network.AWS.Redshift.Types: data SnapshotCopyGrant
+ Network.AWS.Redshift.Types: data VPCSecurityGroupMembership
+ Network.AWS.Redshift.Types: eisElasticIP :: Lens' ElasticIPStatus (Maybe Text)
+ Network.AWS.Redshift.Types: elasticIPStatus :: ElasticIPStatus
+ Network.AWS.Redshift.Types: esCustomerAWSId :: Lens' EventSubscription (Maybe Text)
+ Network.AWS.Redshift.Types: esSNSTopicARN :: Lens' EventSubscription (Maybe Text)
+ Network.AWS.Redshift.Types: esgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)
+ Network.AWS.Redshift.Types: esgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)
+ Network.AWS.Redshift.Types: esgStatus :: Lens' EC2SecurityGroup (Maybe Text)
+ Network.AWS.Redshift.Types: esgTags :: Lens' EC2SecurityGroup [Tag]
+ Network.AWS.Redshift.Types: hcHSMConfigurationIdentifier :: Lens' HSMConfiguration (Maybe Text)
+ Network.AWS.Redshift.Types: hcHSMIPAddress :: Lens' HSMConfiguration (Maybe Text)
+ Network.AWS.Redshift.Types: hcHSMPartitionName :: Lens' HSMConfiguration (Maybe Text)
+ Network.AWS.Redshift.Types: hccHSMClientCertificateIdentifier :: Lens' HSMClientCertificate (Maybe Text)
+ Network.AWS.Redshift.Types: hccHSMClientCertificatePublicKey :: Lens' HSMClientCertificate (Maybe Text)
+ Network.AWS.Redshift.Types: hsHSMClientCertificateIdentifier :: Lens' HSMStatus (Maybe Text)
+ Network.AWS.Redshift.Types: hsHSMConfigurationIdentifier :: Lens' HSMStatus (Maybe Text)
+ Network.AWS.Redshift.Types: ipRange :: IPRange
+ Network.AWS.Redshift.Types: irCIdRIP :: Lens' IPRange (Maybe Text)
+ Network.AWS.Redshift.Types: irStatus :: Lens' IPRange (Maybe Text)
+ Network.AWS.Redshift.Types: irTags :: Lens' IPRange [Tag]
+ Network.AWS.Redshift.Types: pApplyType :: Lens' Parameter (Maybe ParameterApplyType)
+ Network.AWS.Redshift.Types: sKMSKeyId :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift.Types: sRestorableNodeTypes :: Lens' Snapshot [Text]
+ Network.AWS.Redshift.Types: sVPCId :: Lens' Snapshot (Maybe Text)
+ Network.AWS.Redshift.Types: scgKMSKeyId :: Lens' SnapshotCopyGrant (Maybe Text)
+ Network.AWS.Redshift.Types: scgSnapshotCopyGrantName :: Lens' SnapshotCopyGrant (Maybe Text)
+ Network.AWS.Redshift.Types: scgTags :: Lens' SnapshotCopyGrant [Tag]
+ Network.AWS.Redshift.Types: snapshotCopyGrant :: SnapshotCopyGrant
+ Network.AWS.Redshift.Types: vsgmVPCSecurityGroupId :: Lens' VPCSecurityGroupMembership (Maybe Text)
- Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: authorizeClusterSecurityGroupIngressResponse :: AuthorizeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress: authorizeClusterSecurityGroupIngressResponse :: Int -> AuthorizeClusterSecurityGroupIngressResponse
- Network.AWS.Redshift.AuthorizeSnapshotAccess: authorizeSnapshotAccessResponse :: AuthorizeSnapshotAccessResponse
+ Network.AWS.Redshift.AuthorizeSnapshotAccess: authorizeSnapshotAccessResponse :: Int -> AuthorizeSnapshotAccessResponse
- Network.AWS.Redshift.CopyClusterSnapshot: copyClusterSnapshotResponse :: CopyClusterSnapshotResponse
+ Network.AWS.Redshift.CopyClusterSnapshot: copyClusterSnapshotResponse :: Int -> CopyClusterSnapshotResponse
- Network.AWS.Redshift.CreateCluster: createClusterResponse :: CreateClusterResponse
+ Network.AWS.Redshift.CreateCluster: createClusterResponse :: Int -> CreateClusterResponse
- Network.AWS.Redshift.CreateClusterParameterGroup: createClusterParameterGroupResponse :: CreateClusterParameterGroupResponse
+ Network.AWS.Redshift.CreateClusterParameterGroup: createClusterParameterGroupResponse :: Int -> CreateClusterParameterGroupResponse
- Network.AWS.Redshift.CreateClusterSecurityGroup: createClusterSecurityGroupResponse :: CreateClusterSecurityGroupResponse
+ Network.AWS.Redshift.CreateClusterSecurityGroup: createClusterSecurityGroupResponse :: Int -> CreateClusterSecurityGroupResponse
- Network.AWS.Redshift.CreateClusterSnapshot: createClusterSnapshotResponse :: CreateClusterSnapshotResponse
+ Network.AWS.Redshift.CreateClusterSnapshot: createClusterSnapshotResponse :: Int -> CreateClusterSnapshotResponse
- Network.AWS.Redshift.CreateClusterSubnetGroup: createClusterSubnetGroupResponse :: CreateClusterSubnetGroupResponse
+ Network.AWS.Redshift.CreateClusterSubnetGroup: createClusterSubnetGroupResponse :: Int -> CreateClusterSubnetGroupResponse
- Network.AWS.Redshift.CreateEventSubscription: createEventSubscriptionResponse :: CreateEventSubscriptionResponse
+ Network.AWS.Redshift.CreateEventSubscription: createEventSubscriptionResponse :: Int -> CreateEventSubscriptionResponse
- Network.AWS.Redshift.DeleteCluster: deleteClusterResponse :: DeleteClusterResponse
+ Network.AWS.Redshift.DeleteCluster: deleteClusterResponse :: Int -> DeleteClusterResponse
- Network.AWS.Redshift.DeleteClusterSnapshot: deleteClusterSnapshotResponse :: DeleteClusterSnapshotResponse
+ Network.AWS.Redshift.DeleteClusterSnapshot: deleteClusterSnapshotResponse :: Int -> DeleteClusterSnapshotResponse
- Network.AWS.Redshift.DescribeClusterParameterGroups: describeClusterParameterGroupsResponse :: DescribeClusterParameterGroupsResponse
+ Network.AWS.Redshift.DescribeClusterParameterGroups: describeClusterParameterGroupsResponse :: Int -> DescribeClusterParameterGroupsResponse
- Network.AWS.Redshift.DescribeClusterParameters: describeClusterParametersResponse :: DescribeClusterParametersResponse
+ Network.AWS.Redshift.DescribeClusterParameters: describeClusterParametersResponse :: Int -> DescribeClusterParametersResponse
- Network.AWS.Redshift.DescribeClusterSecurityGroups: describeClusterSecurityGroupsResponse :: DescribeClusterSecurityGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSecurityGroups: describeClusterSecurityGroupsResponse :: Int -> DescribeClusterSecurityGroupsResponse
- Network.AWS.Redshift.DescribeClusterSnapshots: describeClusterSnapshotsResponse :: DescribeClusterSnapshotsResponse
+ Network.AWS.Redshift.DescribeClusterSnapshots: describeClusterSnapshotsResponse :: Int -> DescribeClusterSnapshotsResponse
- Network.AWS.Redshift.DescribeClusterSubnetGroups: describeClusterSubnetGroupsResponse :: DescribeClusterSubnetGroupsResponse
+ Network.AWS.Redshift.DescribeClusterSubnetGroups: describeClusterSubnetGroupsResponse :: Int -> DescribeClusterSubnetGroupsResponse
- Network.AWS.Redshift.DescribeClusterVersions: describeClusterVersionsResponse :: DescribeClusterVersionsResponse
+ Network.AWS.Redshift.DescribeClusterVersions: describeClusterVersionsResponse :: Int -> DescribeClusterVersionsResponse
- Network.AWS.Redshift.DescribeClusters: describeClustersResponse :: DescribeClustersResponse
+ Network.AWS.Redshift.DescribeClusters: describeClustersResponse :: Int -> DescribeClustersResponse
- Network.AWS.Redshift.DescribeDefaultClusterParameters: describeDefaultClusterParametersResponse :: DefaultClusterParameters -> DescribeDefaultClusterParametersResponse
+ Network.AWS.Redshift.DescribeDefaultClusterParameters: describeDefaultClusterParametersResponse :: Int -> DefaultClusterParameters -> DescribeDefaultClusterParametersResponse
- Network.AWS.Redshift.DescribeEventCategories: describeEventCategoriesResponse :: DescribeEventCategoriesResponse
+ Network.AWS.Redshift.DescribeEventCategories: describeEventCategoriesResponse :: Int -> DescribeEventCategoriesResponse
- Network.AWS.Redshift.DescribeEventSubscriptions: describeEventSubscriptionsResponse :: DescribeEventSubscriptionsResponse
+ Network.AWS.Redshift.DescribeEventSubscriptions: describeEventSubscriptionsResponse :: Int -> DescribeEventSubscriptionsResponse
- Network.AWS.Redshift.DescribeEvents: describeEventsResponse :: DescribeEventsResponse
+ Network.AWS.Redshift.DescribeEvents: describeEventsResponse :: Int -> DescribeEventsResponse
- Network.AWS.Redshift.DescribeOrderableClusterOptions: describeOrderableClusterOptionsResponse :: DescribeOrderableClusterOptionsResponse
+ Network.AWS.Redshift.DescribeOrderableClusterOptions: describeOrderableClusterOptionsResponse :: Int -> DescribeOrderableClusterOptionsResponse
- Network.AWS.Redshift.DescribeReservedNodeOfferings: describeReservedNodeOfferingsResponse :: DescribeReservedNodeOfferingsResponse
+ Network.AWS.Redshift.DescribeReservedNodeOfferings: describeReservedNodeOfferingsResponse :: Int -> DescribeReservedNodeOfferingsResponse
- Network.AWS.Redshift.DescribeReservedNodes: describeReservedNodesResponse :: DescribeReservedNodesResponse
+ Network.AWS.Redshift.DescribeReservedNodes: describeReservedNodesResponse :: Int -> DescribeReservedNodesResponse
- Network.AWS.Redshift.DescribeResize: describeResizeResponse :: DescribeResizeResponse
+ Network.AWS.Redshift.DescribeResize: describeResizeResponse :: Int -> DescribeResizeResponse
- Network.AWS.Redshift.DescribeTags: describeTagsResponse :: DescribeTagsResponse
+ Network.AWS.Redshift.DescribeTags: describeTagsResponse :: Int -> DescribeTagsResponse
- Network.AWS.Redshift.DisableSnapshotCopy: disableSnapshotCopyResponse :: DisableSnapshotCopyResponse
+ Network.AWS.Redshift.DisableSnapshotCopy: disableSnapshotCopyResponse :: Int -> DisableSnapshotCopyResponse
- Network.AWS.Redshift.EnableSnapshotCopy: enableSnapshotCopyResponse :: EnableSnapshotCopyResponse
+ Network.AWS.Redshift.EnableSnapshotCopy: enableSnapshotCopyResponse :: Int -> EnableSnapshotCopyResponse
- Network.AWS.Redshift.ModifyCluster: modifyClusterResponse :: ModifyClusterResponse
+ Network.AWS.Redshift.ModifyCluster: modifyClusterResponse :: Int -> ModifyClusterResponse
- Network.AWS.Redshift.ModifyClusterSubnetGroup: modifyClusterSubnetGroupResponse :: ModifyClusterSubnetGroupResponse
+ Network.AWS.Redshift.ModifyClusterSubnetGroup: modifyClusterSubnetGroupResponse :: Int -> ModifyClusterSubnetGroupResponse
- Network.AWS.Redshift.ModifyEventSubscription: modifyEventSubscriptionResponse :: ModifyEventSubscriptionResponse
+ Network.AWS.Redshift.ModifyEventSubscription: modifyEventSubscriptionResponse :: Int -> ModifyEventSubscriptionResponse
- Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: modifySnapshotCopyRetentionPeriodResponse :: ModifySnapshotCopyRetentionPeriodResponse
+ Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod: modifySnapshotCopyRetentionPeriodResponse :: Int -> ModifySnapshotCopyRetentionPeriodResponse
- Network.AWS.Redshift.PurchaseReservedNodeOffering: purchaseReservedNodeOfferingResponse :: PurchaseReservedNodeOfferingResponse
+ Network.AWS.Redshift.PurchaseReservedNodeOffering: purchaseReservedNodeOfferingResponse :: Int -> PurchaseReservedNodeOfferingResponse
- Network.AWS.Redshift.RebootCluster: rebootClusterResponse :: RebootClusterResponse
+ Network.AWS.Redshift.RebootCluster: rebootClusterResponse :: Int -> RebootClusterResponse
- Network.AWS.Redshift.RestoreFromClusterSnapshot: restoreFromClusterSnapshotResponse :: RestoreFromClusterSnapshotResponse
+ Network.AWS.Redshift.RestoreFromClusterSnapshot: restoreFromClusterSnapshotResponse :: Int -> RestoreFromClusterSnapshotResponse
- Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: revokeClusterSecurityGroupIngressResponse :: RevokeClusterSecurityGroupIngressResponse
+ Network.AWS.Redshift.RevokeClusterSecurityGroupIngress: revokeClusterSecurityGroupIngressResponse :: Int -> RevokeClusterSecurityGroupIngressResponse
- Network.AWS.Redshift.RevokeSnapshotAccess: revokeSnapshotAccessResponse :: RevokeSnapshotAccessResponse
+ Network.AWS.Redshift.RevokeSnapshotAccess: revokeSnapshotAccessResponse :: Int -> RevokeSnapshotAccessResponse
- Network.AWS.Redshift.RotateEncryptionKey: rotateEncryptionKeyResponse :: RotateEncryptionKeyResponse
+ Network.AWS.Redshift.RotateEncryptionKey: rotateEncryptionKeyResponse :: Int -> RotateEncryptionKeyResponse
- Network.AWS.Redshift.Types: csgDescription :: Lens' ClusterSecurityGroup (Maybe Text)
+ Network.AWS.Redshift.Types: csgDescription :: Lens' ClusterSubnetGroup (Maybe Text)
- Network.AWS.Redshift.Types: csgTags :: Lens' ClusterSecurityGroup [Tag]
+ Network.AWS.Redshift.Types: csgTags :: Lens' ClusterSubnetGroup [Tag]
- Network.AWS.Redshift.Types: eisStatus :: Lens' ElasticIpStatus (Maybe Text)
+ Network.AWS.Redshift.Types: eisStatus :: Lens' ElasticIPStatus (Maybe Text)
- Network.AWS.Redshift.Types: hcDescription :: Lens' HsmConfiguration (Maybe Text)
+ Network.AWS.Redshift.Types: hcDescription :: Lens' HSMConfiguration (Maybe Text)
- Network.AWS.Redshift.Types: hcTags :: Lens' HsmConfiguration [Tag]
+ Network.AWS.Redshift.Types: hcTags :: Lens' HSMConfiguration [Tag]
- Network.AWS.Redshift.Types: hccTags :: Lens' HsmClientCertificate [Tag]
+ Network.AWS.Redshift.Types: hccTags :: Lens' HSMClientCertificate [Tag]
- Network.AWS.Redshift.Types: hsStatus :: Lens' HsmStatus (Maybe Text)
+ Network.AWS.Redshift.Types: hsStatus :: Lens' HSMStatus (Maybe Text)
- Network.AWS.Redshift.Types: hsmClientCertificate :: HsmClientCertificate
+ Network.AWS.Redshift.Types: hsmClientCertificate :: HSMClientCertificate
- Network.AWS.Redshift.Types: hsmConfiguration :: HsmConfiguration
+ Network.AWS.Redshift.Types: hsmConfiguration :: HSMConfiguration
- Network.AWS.Redshift.Types: hsmStatus :: HsmStatus
+ Network.AWS.Redshift.Types: hsmStatus :: HSMStatus
- Network.AWS.Redshift.Types: vpcSecurityGroupMembership :: VpcSecurityGroupMembership
+ Network.AWS.Redshift.Types: vpcSecurityGroupMembership :: VPCSecurityGroupMembership
- Network.AWS.Redshift.Types: vsgmStatus :: Lens' VpcSecurityGroupMembership (Maybe Text)
+ Network.AWS.Redshift.Types: vsgmStatus :: Lens' VPCSecurityGroupMembership (Maybe Text)

Files

README.md view
@@ -1,23 +1,57 @@ # Amazon Redshift SDK -> _Warning:_ This is an experimental preview release which is still under heavy development and not intended for public consumption, _caveat emptor_!-+* [Version](#version) * [Description](#description) * [Contribute](#contribute) * [Licence](#licence) ++## Version++`1.0.0`++ ## Description -Amazon Redshift is a fast, fully managed, petabyte-scale data warehouse-service that makes it simple and cost-effective to efficiently analyze all-your data using your existing business intelligence tools. You can start-small for just $0.25 per hour with no commitments or upfront costs and scale-to a petabyte or more for $1,000 per terabyte per year, less than a tenth of-most other data warehousing solutions.+Amazon Redshift __Overview__ +This is an interface reference for Amazon Redshift. It contains+documentation for one of the programming or command line interfaces you+can use to manage Amazon Redshift clusters. Note that Amazon Redshift is+asynchronous, which means that some interfaces may require techniques,+such as polling or asynchronous callback handlers, to determine when a+command has been applied. In this reference, the parameter descriptions+indicate whether a change is applied immediately, on the next instance+reboot, or during the next maintenance window. For a summary of the+Amazon Redshift cluster management interfaces, go to+<http://docs.aws.amazon.com/redshift/latest/mgmt/using-aws-sdk.html Using the Amazon Redshift Management Interfaces>.++Amazon Redshift manages all the work of setting up, operating, and+scaling a data warehouse: provisioning capacity, monitoring and backing+up the cluster, and applying patches and upgrades to the Amazon Redshift+engine. You can focus on using your data to acquire new insights for+your business and customers.++If you are a first-time user of Amazon Redshift, we recommend that you+begin by reading the The+<http://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html Amazon Redshift Getting Started Guide>++If you are a database developer, the+<http://docs.aws.amazon.com/redshift/latest/dg/welcome.html Amazon Redshift Database Developer Guide>+explains how to design, build, query, and maintain the databases that+make up your data warehouse.+ Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-redshift) and the [AWS API Reference](http://docs.aws.amazon.com/redshift/latest/APIReference/Welcome.html). +The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).  ## Contribute 
amazonka-redshift.cabal view
@@ -1,30 +1,59 @@ name:                  amazonka-redshift-version:               0.3.6+version:               1.0.0 synopsis:              Amazon Redshift SDK. homepage:              https://github.com/brendanhay/amazonka license:               OtherLicense license-file:          LICENSE author:                Brendan Hay maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2014 Brendan Hay+copyright:             Copyright (c) 2013-2015 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple extra-source-files:    README.md cabal-version:         >= 1.10  description:-    Amazon Redshift is a fast, fully managed, petabyte-scale data warehouse-    service that makes it simple and cost-effective to efficiently analyze all-    your data using your existing business intelligence tools. You can start-    small for just $0.25 per hour with no commitments or upfront costs and scale-    to a petabyte or more for $1,000 per terabyte per year, less than a tenth of-    most other data warehousing solutions.+    Amazon Redshift __Overview__ +    This is an interface reference for Amazon Redshift. It contains+    documentation for one of the programming or command line interfaces you+    can use to manage Amazon Redshift clusters. Note that Amazon Redshift is+    asynchronous, which means that some interfaces may require techniques,+    such as polling or asynchronous callback handlers, to determine when a+    command has been applied. In this reference, the parameter descriptions+    indicate whether a change is applied immediately, on the next instance+    reboot, or during the next maintenance window. For a summary of the+    Amazon Redshift cluster management interfaces, go to+    <http://docs.aws.amazon.com/redshift/latest/mgmt/using-aws-sdk.html Using the Amazon Redshift Management Interfaces>.++    Amazon Redshift manages all the work of setting up, operating, and+    scaling a data warehouse: provisioning capacity, monitoring and backing+    up the cluster, and applying patches and upgrades to the Amazon Redshift+    engine. You can focus on using your data to acquire new insights for+    your business and customers.++    If you are a first-time user of Amazon Redshift, we recommend that you+    begin by reading the The+    <http://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html Amazon Redshift Getting Started Guide>++    If you are a database developer, the+    <http://docs.aws.amazon.com/redshift/latest/dg/welcome.html Amazon Redshift Database Developer Guide>+    explains how to design, build, query, and maintain the databases that+    make up your data warehouse.     .-    /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/Welcome.html AWS API Reference>+    The types from this library are intended to be used with+    <http://hackage.haskell.org/package/amazonka amazonka>, which provides+    mechanisms for specifying AuthN/AuthZ information and sending requests.     .-    /Warning:/ This is an experimental preview release which is still under-    heavy development and not intended for public consumption, caveat emptor!+    Use of lenses is required for constructing and manipulating types.+    This is due to the amount of nesting of AWS types and transparency regarding+    de/serialisation into more palatable Haskell values.+    The provided lenses should be compatible with any of the major lens libraries+    such as <http://hackage.haskell.org/package/lens lens> or+    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+    .+    See "Network.AWS.Redshift" and the <http://docs.aws.amazon.com/redshift/latest/APIReference/Welcome.html AWS API Reference>+    to get started.  source-repository head     type:     git@@ -47,8 +76,9 @@         , Network.AWS.Redshift.CreateClusterSnapshot         , Network.AWS.Redshift.CreateClusterSubnetGroup         , Network.AWS.Redshift.CreateEventSubscription-        , Network.AWS.Redshift.CreateHsmClientCertificate-        , Network.AWS.Redshift.CreateHsmConfiguration+        , Network.AWS.Redshift.CreateHSMClientCertificate+        , Network.AWS.Redshift.CreateHSMConfiguration+        , Network.AWS.Redshift.CreateSnapshotCopyGrant         , Network.AWS.Redshift.CreateTags         , Network.AWS.Redshift.DeleteCluster         , Network.AWS.Redshift.DeleteClusterParameterGroup@@ -56,8 +86,9 @@         , Network.AWS.Redshift.DeleteClusterSnapshot         , Network.AWS.Redshift.DeleteClusterSubnetGroup         , Network.AWS.Redshift.DeleteEventSubscription-        , Network.AWS.Redshift.DeleteHsmClientCertificate-        , Network.AWS.Redshift.DeleteHsmConfiguration+        , Network.AWS.Redshift.DeleteHSMClientCertificate+        , Network.AWS.Redshift.DeleteHSMConfiguration+        , Network.AWS.Redshift.DeleteSnapshotCopyGrant         , Network.AWS.Redshift.DeleteTags         , Network.AWS.Redshift.DescribeClusterParameterGroups         , Network.AWS.Redshift.DescribeClusterParameters@@ -70,13 +101,14 @@         , Network.AWS.Redshift.DescribeEventCategories         , Network.AWS.Redshift.DescribeEventSubscriptions         , Network.AWS.Redshift.DescribeEvents-        , Network.AWS.Redshift.DescribeHsmClientCertificates-        , Network.AWS.Redshift.DescribeHsmConfigurations+        , Network.AWS.Redshift.DescribeHSMClientCertificates+        , Network.AWS.Redshift.DescribeHSMConfigurations         , Network.AWS.Redshift.DescribeLoggingStatus         , Network.AWS.Redshift.DescribeOrderableClusterOptions         , Network.AWS.Redshift.DescribeReservedNodeOfferings         , Network.AWS.Redshift.DescribeReservedNodes         , Network.AWS.Redshift.DescribeResize+        , Network.AWS.Redshift.DescribeSnapshotCopyGrants         , Network.AWS.Redshift.DescribeTags         , Network.AWS.Redshift.DisableLogging         , Network.AWS.Redshift.DisableSnapshotCopy@@ -98,7 +130,37 @@         , Network.AWS.Redshift.Waiters      other-modules:+          Network.AWS.Redshift.Types.Product+        , Network.AWS.Redshift.Types.Sum      build-depends:-          amazonka-core == 0.3.6.*+          amazonka-core == 1.0.0.*         , base          >= 4.7     && < 5++test-suite amazonka-redshift-test+    type:              exitcode-stdio-1.0+    default-language:  Haskell2010+    hs-source-dirs:    test+    main-is:           Main.hs++    ghc-options:       -Wall -threaded++    -- This is not comprehensive if modules have manually been added.+    -- It exists to ensure cabal 'somewhat' detects test module changes.+    other-modules:+          Test.AWS.Redshift+        , Test.AWS.Gen.Redshift+        , Test.AWS.Redshift.Internal++    build-depends:+          amazonka-core == 1.0.0+        , amazonka-test == 1.0.0+        , amazonka-redshift == 1.0.0+        , base+        , bytestring+        , lens+        , tasty+        , tasty-hunit+        , text+        , time+        , unordered-containers
gen/Network/AWS/Redshift.hs view
@@ -1,137 +1,946 @@--- Module      : Network.AWS.Redshift--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Amazon Redshift is a fast, fully managed, petabyte-scale data warehouse--- service that makes it simple and cost-effective to efficiently analyze all--- your data using your existing business intelligence tools. You can start--- small for just $0.25 per hour with no commitments or upfront costs and scale--- to a petabyte or more for $1,000 per terabyte per year, less than a tenth of--- most other data warehousing solutions.-module Network.AWS.Redshift-    ( module Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress-    , module Network.AWS.Redshift.AuthorizeSnapshotAccess-    , module Network.AWS.Redshift.CopyClusterSnapshot-    , module Network.AWS.Redshift.CreateCluster-    , module Network.AWS.Redshift.CreateClusterParameterGroup-    , module Network.AWS.Redshift.CreateClusterSecurityGroup-    , module Network.AWS.Redshift.CreateClusterSnapshot-    , module Network.AWS.Redshift.CreateClusterSubnetGroup-    , module Network.AWS.Redshift.CreateEventSubscription-    , module Network.AWS.Redshift.CreateHsmClientCertificate-    , module Network.AWS.Redshift.CreateHsmConfiguration-    , module Network.AWS.Redshift.CreateTags-    , module Network.AWS.Redshift.DeleteCluster-    , module Network.AWS.Redshift.DeleteClusterParameterGroup-    , module Network.AWS.Redshift.DeleteClusterSecurityGroup-    , module Network.AWS.Redshift.DeleteClusterSnapshot-    , module Network.AWS.Redshift.DeleteClusterSubnetGroup-    , module Network.AWS.Redshift.DeleteEventSubscription-    , module Network.AWS.Redshift.DeleteHsmClientCertificate-    , module Network.AWS.Redshift.DeleteHsmConfiguration-    , module Network.AWS.Redshift.DeleteTags-    , module Network.AWS.Redshift.DescribeClusterParameterGroups-    , module Network.AWS.Redshift.DescribeClusterParameters-    , module Network.AWS.Redshift.DescribeClusterSecurityGroups-    , module Network.AWS.Redshift.DescribeClusterSnapshots-    , module Network.AWS.Redshift.DescribeClusterSubnetGroups-    , module Network.AWS.Redshift.DescribeClusterVersions-    , module Network.AWS.Redshift.DescribeClusters-    , module Network.AWS.Redshift.DescribeDefaultClusterParameters-    , module Network.AWS.Redshift.DescribeEventCategories-    , module Network.AWS.Redshift.DescribeEventSubscriptions-    , module Network.AWS.Redshift.DescribeEvents-    , module Network.AWS.Redshift.DescribeHsmClientCertificates-    , module Network.AWS.Redshift.DescribeHsmConfigurations-    , module Network.AWS.Redshift.DescribeLoggingStatus-    , module Network.AWS.Redshift.DescribeOrderableClusterOptions-    , module Network.AWS.Redshift.DescribeReservedNodeOfferings-    , module Network.AWS.Redshift.DescribeReservedNodes-    , module Network.AWS.Redshift.DescribeResize-    , module Network.AWS.Redshift.DescribeTags-    , module Network.AWS.Redshift.DisableLogging-    , module Network.AWS.Redshift.DisableSnapshotCopy-    , module Network.AWS.Redshift.EnableLogging-    , module Network.AWS.Redshift.EnableSnapshotCopy-    , module Network.AWS.Redshift.ModifyCluster-    , module Network.AWS.Redshift.ModifyClusterParameterGroup-    , module Network.AWS.Redshift.ModifyClusterSubnetGroup-    , module Network.AWS.Redshift.ModifyEventSubscription-    , module Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod-    , module Network.AWS.Redshift.PurchaseReservedNodeOffering-    , module Network.AWS.Redshift.RebootCluster-    , module Network.AWS.Redshift.ResetClusterParameterGroup-    , module Network.AWS.Redshift.RestoreFromClusterSnapshot-    , module Network.AWS.Redshift.RevokeClusterSecurityGroupIngress-    , module Network.AWS.Redshift.RevokeSnapshotAccess-    , module Network.AWS.Redshift.RotateEncryptionKey-    , module Network.AWS.Redshift.Types-    , module Network.AWS.Redshift.Waiters-    ) where--import Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress-import Network.AWS.Redshift.AuthorizeSnapshotAccess-import Network.AWS.Redshift.CopyClusterSnapshot-import Network.AWS.Redshift.CreateCluster-import Network.AWS.Redshift.CreateClusterParameterGroup-import Network.AWS.Redshift.CreateClusterSecurityGroup-import Network.AWS.Redshift.CreateClusterSnapshot-import Network.AWS.Redshift.CreateClusterSubnetGroup-import Network.AWS.Redshift.CreateEventSubscription-import Network.AWS.Redshift.CreateHsmClientCertificate-import Network.AWS.Redshift.CreateHsmConfiguration-import Network.AWS.Redshift.CreateTags-import Network.AWS.Redshift.DeleteCluster-import Network.AWS.Redshift.DeleteClusterParameterGroup-import Network.AWS.Redshift.DeleteClusterSecurityGroup-import Network.AWS.Redshift.DeleteClusterSnapshot-import Network.AWS.Redshift.DeleteClusterSubnetGroup-import Network.AWS.Redshift.DeleteEventSubscription-import Network.AWS.Redshift.DeleteHsmClientCertificate-import Network.AWS.Redshift.DeleteHsmConfiguration-import Network.AWS.Redshift.DeleteTags-import Network.AWS.Redshift.DescribeClusterParameterGroups-import Network.AWS.Redshift.DescribeClusterParameters-import Network.AWS.Redshift.DescribeClusterSecurityGroups-import Network.AWS.Redshift.DescribeClusterSnapshots-import Network.AWS.Redshift.DescribeClusterSubnetGroups-import Network.AWS.Redshift.DescribeClusterVersions-import Network.AWS.Redshift.DescribeClusters-import Network.AWS.Redshift.DescribeDefaultClusterParameters-import Network.AWS.Redshift.DescribeEventCategories-import Network.AWS.Redshift.DescribeEventSubscriptions-import Network.AWS.Redshift.DescribeEvents-import Network.AWS.Redshift.DescribeHsmClientCertificates-import Network.AWS.Redshift.DescribeHsmConfigurations-import Network.AWS.Redshift.DescribeLoggingStatus-import Network.AWS.Redshift.DescribeOrderableClusterOptions-import Network.AWS.Redshift.DescribeReservedNodeOfferings-import Network.AWS.Redshift.DescribeReservedNodes-import Network.AWS.Redshift.DescribeResize-import Network.AWS.Redshift.DescribeTags-import Network.AWS.Redshift.DisableLogging-import Network.AWS.Redshift.DisableSnapshotCopy-import Network.AWS.Redshift.EnableLogging-import Network.AWS.Redshift.EnableSnapshotCopy-import Network.AWS.Redshift.ModifyCluster-import Network.AWS.Redshift.ModifyClusterParameterGroup-import Network.AWS.Redshift.ModifyClusterSubnetGroup-import Network.AWS.Redshift.ModifyEventSubscription-import Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod-import Network.AWS.Redshift.PurchaseReservedNodeOffering-import Network.AWS.Redshift.RebootCluster-import Network.AWS.Redshift.ResetClusterParameterGroup-import Network.AWS.Redshift.RestoreFromClusterSnapshot-import Network.AWS.Redshift.RevokeClusterSecurityGroupIngress-import Network.AWS.Redshift.RevokeSnapshotAccess-import Network.AWS.Redshift.RotateEncryptionKey-import Network.AWS.Redshift.Types-import Network.AWS.Redshift.Waiters+{-# OPTIONS_GHC -fno-warn-unused-imports    #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Amazon Redshift __Overview__+--+-- This is an interface reference for Amazon Redshift. It contains+-- documentation for one of the programming or command line interfaces you+-- can use to manage Amazon Redshift clusters. Note that Amazon Redshift is+-- asynchronous, which means that some interfaces may require techniques,+-- such as polling or asynchronous callback handlers, to determine when a+-- command has been applied. In this reference, the parameter descriptions+-- indicate whether a change is applied immediately, on the next instance+-- reboot, or during the next maintenance window. For a summary of the+-- Amazon Redshift cluster management interfaces, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/using-aws-sdk.html Using the Amazon Redshift Management Interfaces>.+--+-- Amazon Redshift manages all the work of setting up, operating, and+-- scaling a data warehouse: provisioning capacity, monitoring and backing+-- up the cluster, and applying patches and upgrades to the Amazon Redshift+-- engine. You can focus on using your data to acquire new insights for+-- your business and customers.+--+-- If you are a first-time user of Amazon Redshift, we recommend that you+-- begin by reading the The+-- <http://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html Amazon Redshift Getting Started Guide>+--+-- If you are a database developer, the+-- <http://docs.aws.amazon.com/redshift/latest/dg/welcome.html Amazon Redshift Database Developer Guide>+-- explains how to design, build, query, and maintain the databases that+-- make up your data warehouse.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/Welcome.html AWS API Reference>+module Network.AWS.Redshift+    (+    -- * Service+      Redshift++    -- * Errors+    -- $errors++    -- ** LimitExceededFault+    , _LimitExceededFault++    -- ** ClusterSecurityGroupQuotaExceededFault+    , _ClusterSecurityGroupQuotaExceededFault++    -- ** CopyToRegionDisabledFault+    , _CopyToRegionDisabledFault++    -- ** AuthorizationQuotaExceededFault+    , _AuthorizationQuotaExceededFault++    -- ** SourceNotFoundFault+    , _SourceNotFoundFault++    -- ** InvalidS3KeyPrefixFault+    , _InvalidS3KeyPrefixFault++    -- ** AuthorizationAlreadyExistsFault+    , _AuthorizationAlreadyExistsFault++    -- ** InvalidClusterSecurityGroupStateFault+    , _InvalidClusterSecurityGroupStateFault++    -- ** ClusterSecurityGroupAlreadyExistsFault+    , _ClusterSecurityGroupAlreadyExistsFault++    -- ** InvalidElasticIPFault+    , _InvalidElasticIPFault++    -- ** ClusterSnapshotNotFoundFault+    , _ClusterSnapshotNotFoundFault++    -- ** HSMConfigurationNotFoundFault+    , _HSMConfigurationNotFoundFault++    -- ** InvalidHSMConfigurationStateFault+    , _InvalidHSMConfigurationStateFault++    -- ** ClusterSnapshotAlreadyExistsFault+    , _ClusterSnapshotAlreadyExistsFault++    -- ** HSMConfigurationAlreadyExistsFault+    , _HSMConfigurationAlreadyExistsFault++    -- ** SubscriptionCategoryNotFoundFault+    , _SubscriptionCategoryNotFoundFault++    -- ** SubscriptionNotFoundFault+    , _SubscriptionNotFoundFault++    -- ** InvalidSubnet+    , _InvalidSubnet++    -- ** InvalidS3BucketNameFault+    , _InvalidS3BucketNameFault++    -- ** ClusterQuotaExceededFault+    , _ClusterQuotaExceededFault++    -- ** SnapshotCopyAlreadyDisabledFault+    , _SnapshotCopyAlreadyDisabledFault++    -- ** ClusterParameterGroupNotFoundFault+    , _ClusterParameterGroupNotFoundFault++    -- ** HSMClientCertificateQuotaExceededFault+    , _HSMClientCertificateQuotaExceededFault++    -- ** SnapshotCopyGrantQuotaExceededFault+    , _SnapshotCopyGrantQuotaExceededFault++    -- ** SnapshotCopyAlreadyEnabledFault+    , _SnapshotCopyAlreadyEnabledFault++    -- ** ClusterParameterGroupAlreadyExistsFault+    , _ClusterParameterGroupAlreadyExistsFault++    -- ** NumberOfNodesPerClusterLimitExceededFault+    , _NumberOfNodesPerClusterLimitExceededFault++    -- ** SnapshotCopyDisabledFault+    , _SnapshotCopyDisabledFault++    -- ** ResizeNotFoundFault+    , _ResizeNotFoundFault++    -- ** ClusterParameterGroupQuotaExceededFault+    , _ClusterParameterGroupQuotaExceededFault++    -- ** SNSTopicARNNotFoundFault+    , _SNSTopicARNNotFoundFault++    -- ** HSMClientCertificateNotFoundFault+    , _HSMClientCertificateNotFoundFault++    -- ** SnapshotCopyGrantAlreadyExistsFault+    , _SnapshotCopyGrantAlreadyExistsFault++    -- ** ClusterNotFoundFault+    , _ClusterNotFoundFault++    -- ** SNSNoAuthorizationFault+    , _SNSNoAuthorizationFault++    -- ** SnapshotCopyGrantNotFoundFault+    , _SnapshotCopyGrantNotFoundFault++    -- ** InvalidClusterStateFault+    , _InvalidClusterStateFault++    -- ** InsufficientClusterCapacityFault+    , _InsufficientClusterCapacityFault++    -- ** HSMConfigurationQuotaExceededFault+    , _HSMConfigurationQuotaExceededFault++    -- ** ClusterSnapshotQuotaExceededFault+    , _ClusterSnapshotQuotaExceededFault++    -- ** SNSInvalidTopicFault+    , _SNSInvalidTopicFault++    -- ** UnsupportedOptionFault+    , _UnsupportedOptionFault++    -- ** SubscriptionAlreadyExistFault+    , _SubscriptionAlreadyExistFault++    -- ** InvalidVPCNetworkStateFault+    , _InvalidVPCNetworkStateFault++    -- ** ClusterSubnetGroupNotFoundFault+    , _ClusterSubnetGroupNotFoundFault++    -- ** BucketNotFoundFault+    , _BucketNotFoundFault++    -- ** InvalidSubscriptionStateFault+    , _InvalidSubscriptionStateFault++    -- ** UnsupportedOperationFault+    , _UnsupportedOperationFault++    -- ** AuthorizationNotFoundFault+    , _AuthorizationNotFoundFault++    -- ** InvalidClusterSubnetGroupStateFault+    , _InvalidClusterSubnetGroupStateFault++    -- ** InvalidClusterSnapshotStateFault+    , _InvalidClusterSnapshotStateFault++    -- ** ClusterSubnetGroupAlreadyExistsFault+    , _ClusterSubnetGroupAlreadyExistsFault++    -- ** ClusterSecurityGroupNotFoundFault+    , _ClusterSecurityGroupNotFoundFault++    -- ** IncompatibleOrderableOptions+    , _IncompatibleOrderableOptions++    -- ** ReservedNodeOfferingNotFoundFault+    , _ReservedNodeOfferingNotFoundFault++    -- ** InvalidClusterSubnetStateFault+    , _InvalidClusterSubnetStateFault++    -- ** ReservedNodeNotFoundFault+    , _ReservedNodeNotFoundFault++    -- ** EventSubscriptionQuotaExceededFault+    , _EventSubscriptionQuotaExceededFault++    -- ** InvalidClusterParameterGroupStateFault+    , _InvalidClusterParameterGroupStateFault++    -- ** ReservedNodeAlreadyExistsFault+    , _ReservedNodeAlreadyExistsFault++    -- ** ReservedNodeQuotaExceededFault+    , _ReservedNodeQuotaExceededFault++    -- ** SubscriptionEventIdNotFoundFault+    , _SubscriptionEventIdNotFoundFault++    -- ** ResourceNotFoundFault+    , _ResourceNotFoundFault++    -- ** InvalidSnapshotCopyGrantStateFault+    , _InvalidSnapshotCopyGrantStateFault++    -- ** InvalidRestoreFault+    , _InvalidRestoreFault++    -- ** UnknownSnapshotCopyRegionFault+    , _UnknownSnapshotCopyRegionFault++    -- ** AccessToSnapshotDeniedFault+    , _AccessToSnapshotDeniedFault++    -- ** ClusterAlreadyExistsFault+    , _ClusterAlreadyExistsFault++    -- ** HSMClientCertificateAlreadyExistsFault+    , _HSMClientCertificateAlreadyExistsFault++    -- ** InvalidHSMClientCertificateStateFault+    , _InvalidHSMClientCertificateStateFault++    -- ** NumberOfNodesQuotaExceededFault+    , _NumberOfNodesQuotaExceededFault++    -- ** TagLimitExceededFault+    , _TagLimitExceededFault++    -- ** ClusterSubnetQuotaExceededFault+    , _ClusterSubnetQuotaExceededFault++    -- ** SubnetAlreadyInUse+    , _SubnetAlreadyInUse++    -- ** InvalidTagFault+    , _InvalidTagFault++    -- ** InsufficientS3BucketPolicyFault+    , _InsufficientS3BucketPolicyFault++    -- ** ClusterSubnetGroupQuotaExceededFault+    , _ClusterSubnetGroupQuotaExceededFault++    -- ** SubscriptionSeverityNotFoundFault+    , _SubscriptionSeverityNotFoundFault++    -- ** UnauthorizedOperation+    , _UnauthorizedOperation++    -- * Waiters+    -- $waiters++    -- ** ClusterDeleted+    , clusterDeleted++    -- ** SnapshotAvailable+    , snapshotAvailable++    -- ** ClusterAvailable+    , clusterAvailable++    -- * Operations+    -- $operations++    -- ** DescribeClusters (Paginated)+    , module Network.AWS.Redshift.DescribeClusters++    -- ** DescribeTags+    , module Network.AWS.Redshift.DescribeTags++    -- ** ModifyEventSubscription+    , module Network.AWS.Redshift.ModifyEventSubscription++    -- ** DisableLogging+    , module Network.AWS.Redshift.DisableLogging++    -- ** PurchaseReservedNodeOffering+    , module Network.AWS.Redshift.PurchaseReservedNodeOffering++    -- ** DeleteClusterSubnetGroup+    , module Network.AWS.Redshift.DeleteClusterSubnetGroup++    -- ** DeleteClusterSnapshot+    , module Network.AWS.Redshift.DeleteClusterSnapshot++    -- ** DescribeEvents (Paginated)+    , module Network.AWS.Redshift.DescribeEvents++    -- ** DescribeReservedNodeOfferings (Paginated)+    , module Network.AWS.Redshift.DescribeReservedNodeOfferings++    -- ** DescribeClusterParameterGroups (Paginated)+    , module Network.AWS.Redshift.DescribeClusterParameterGroups++    -- ** CreateClusterSubnetGroup+    , module Network.AWS.Redshift.CreateClusterSubnetGroup++    -- ** DescribeReservedNodes (Paginated)+    , module Network.AWS.Redshift.DescribeReservedNodes++    -- ** EnableLogging+    , module Network.AWS.Redshift.EnableLogging++    -- ** CreateTags+    , module Network.AWS.Redshift.CreateTags++    -- ** DescribeClusterSecurityGroups (Paginated)+    , module Network.AWS.Redshift.DescribeClusterSecurityGroups++    -- ** DeleteClusterParameterGroup+    , module Network.AWS.Redshift.DeleteClusterParameterGroup++    -- ** DeleteTags+    , module Network.AWS.Redshift.DeleteTags++    -- ** EnableSnapshotCopy+    , module Network.AWS.Redshift.EnableSnapshotCopy++    -- ** ModifySnapshotCopyRetentionPeriod+    , module Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod++    -- ** DescribeClusterSnapshots (Paginated)+    , module Network.AWS.Redshift.DescribeClusterSnapshots++    -- ** DescribeClusterSubnetGroups (Paginated)+    , module Network.AWS.Redshift.DescribeClusterSubnetGroups++    -- ** AuthorizeSnapshotAccess+    , module Network.AWS.Redshift.AuthorizeSnapshotAccess++    -- ** CreateEventSubscription+    , module Network.AWS.Redshift.CreateEventSubscription++    -- ** RebootCluster+    , module Network.AWS.Redshift.RebootCluster++    -- ** DescribeOrderableClusterOptions (Paginated)+    , module Network.AWS.Redshift.DescribeOrderableClusterOptions++    -- ** DeleteCluster+    , module Network.AWS.Redshift.DeleteCluster++    -- ** DeleteEventSubscription+    , module Network.AWS.Redshift.DeleteEventSubscription++    -- ** DescribeDefaultClusterParameters (Paginated)+    , module Network.AWS.Redshift.DescribeDefaultClusterParameters++    -- ** CreateCluster+    , module Network.AWS.Redshift.CreateCluster++    -- ** CreateHSMClientCertificate+    , module Network.AWS.Redshift.CreateHSMClientCertificate++    -- ** ResetClusterParameterGroup+    , module Network.AWS.Redshift.ResetClusterParameterGroup++    -- ** DescribeEventSubscriptions (Paginated)+    , module Network.AWS.Redshift.DescribeEventSubscriptions++    -- ** DescribeHSMClientCertificates (Paginated)+    , module Network.AWS.Redshift.DescribeHSMClientCertificates++    -- ** ModifyClusterParameterGroup+    , module Network.AWS.Redshift.ModifyClusterParameterGroup++    -- ** RevokeClusterSecurityGroupIngress+    , module Network.AWS.Redshift.RevokeClusterSecurityGroupIngress++    -- ** AuthorizeClusterSecurityGroupIngress+    , module Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress++    -- ** CreateClusterSecurityGroup+    , module Network.AWS.Redshift.CreateClusterSecurityGroup++    -- ** DescribeResize+    , module Network.AWS.Redshift.DescribeResize++    -- ** DescribeEventCategories+    , module Network.AWS.Redshift.DescribeEventCategories++    -- ** DeleteHSMConfiguration+    , module Network.AWS.Redshift.DeleteHSMConfiguration++    -- ** DeleteClusterSecurityGroup+    , module Network.AWS.Redshift.DeleteClusterSecurityGroup++    -- ** CreateHSMConfiguration+    , module Network.AWS.Redshift.CreateHSMConfiguration++    -- ** ModifyCluster+    , module Network.AWS.Redshift.ModifyCluster++    -- ** CreateClusterSnapshot+    , module Network.AWS.Redshift.CreateClusterSnapshot++    -- ** DescribeLoggingStatus+    , module Network.AWS.Redshift.DescribeLoggingStatus++    -- ** DescribeClusterParameters (Paginated)+    , module Network.AWS.Redshift.DescribeClusterParameters++    -- ** DisableSnapshotCopy+    , module Network.AWS.Redshift.DisableSnapshotCopy++    -- ** RestoreFromClusterSnapshot+    , module Network.AWS.Redshift.RestoreFromClusterSnapshot++    -- ** DescribeHSMConfigurations (Paginated)+    , module Network.AWS.Redshift.DescribeHSMConfigurations++    -- ** CreateClusterParameterGroup+    , module Network.AWS.Redshift.CreateClusterParameterGroup++    -- ** RevokeSnapshotAccess+    , module Network.AWS.Redshift.RevokeSnapshotAccess++    -- ** DeleteHSMClientCertificate+    , module Network.AWS.Redshift.DeleteHSMClientCertificate++    -- ** CreateSnapshotCopyGrant+    , module Network.AWS.Redshift.CreateSnapshotCopyGrant++    -- ** CopyClusterSnapshot+    , module Network.AWS.Redshift.CopyClusterSnapshot++    -- ** DescribeClusterVersions (Paginated)+    , module Network.AWS.Redshift.DescribeClusterVersions++    -- ** ModifyClusterSubnetGroup+    , module Network.AWS.Redshift.ModifyClusterSubnetGroup++    -- ** DeleteSnapshotCopyGrant+    , module Network.AWS.Redshift.DeleteSnapshotCopyGrant++    -- ** DescribeSnapshotCopyGrants+    , module Network.AWS.Redshift.DescribeSnapshotCopyGrants++    -- ** RotateEncryptionKey+    , module Network.AWS.Redshift.RotateEncryptionKey++    -- * Types++    -- ** ParameterApplyType+    , ParameterApplyType (..)++    -- ** SourceType+    , SourceType (..)++    -- ** AccountWithRestoreAccess+    , AccountWithRestoreAccess+    , accountWithRestoreAccess+    , awraAccountId++    -- ** AvailabilityZone+    , AvailabilityZone+    , availabilityZone+    , azName++    -- ** Cluster+    , Cluster+    , cluster+    , cRestoreStatus+    , cClusterSnapshotCopyStatus+    , cClusterRevisionNumber+    , cMasterUsername+    , cPubliclyAccessible+    , cVPCId+    , cClusterSecurityGroups+    , cAutomatedSnapshotRetentionPeriod+    , cEncrypted+    , cClusterIdentifier+    , cNumberOfNodes+    , cClusterSubnetGroupName+    , cPreferredMaintenanceWindow+    , cModifyStatus+    , cClusterPublicKey+    , cClusterParameterGroups+    , cAvailabilityZone+    , cVPCSecurityGroups+    , cKMSKeyId+    , cHSMStatus+    , cElasticIPStatus+    , cClusterVersion+    , cNodeType+    , cEndpoint+    , cClusterCreateTime+    , cAllowVersionUpgrade+    , cPendingModifiedValues+    , cClusterStatus+    , cDBName+    , cTags+    , cClusterNodes++    -- ** ClusterNode+    , ClusterNode+    , clusterNode+    , cnNodeRole+    , cnPrivateIPAddress+    , cnPublicIPAddress++    -- ** ClusterParameterGroup+    , ClusterParameterGroup+    , clusterParameterGroup+    , cpgParameterGroupFamily+    , cpgDescription+    , cpgParameterGroupName+    , cpgTags++    -- ** ClusterParameterGroupNameMessage+    , ClusterParameterGroupNameMessage+    , clusterParameterGroupNameMessage+    , cpgnmParameterGroupStatus+    , cpgnmParameterGroupName++    -- ** ClusterParameterGroupStatus+    , ClusterParameterGroupStatus+    , clusterParameterGroupStatus+    , cpgsClusterParameterStatusList+    , cpgsParameterApplyStatus+    , cpgsParameterGroupName++    -- ** ClusterParameterStatus+    , ClusterParameterStatus+    , clusterParameterStatus+    , cpsParameterApplyErrorDescription+    , cpsParameterName+    , cpsParameterApplyStatus++    -- ** ClusterSecurityGroup+    , ClusterSecurityGroup+    , clusterSecurityGroup+    , cluClusterSecurityGroupName+    , cluIPRanges+    , cluEC2SecurityGroups+    , cluDescription+    , cluTags++    -- ** ClusterSecurityGroupMembership+    , ClusterSecurityGroupMembership+    , clusterSecurityGroupMembership+    , csgmStatus+    , csgmClusterSecurityGroupName++    -- ** ClusterSnapshotCopyStatus+    , ClusterSnapshotCopyStatus+    , clusterSnapshotCopyStatus+    , cscsRetentionPeriod+    , cscsDestinationRegion+    , cscsSnapshotCopyGrantName++    -- ** ClusterSubnetGroup+    , ClusterSubnetGroup+    , clusterSubnetGroup+    , csgVPCId+    , csgSubnets+    , csgClusterSubnetGroupName+    , csgSubnetGroupStatus+    , csgDescription+    , csgTags++    -- ** ClusterVersion+    , ClusterVersion+    , clusterVersion+    , cvClusterParameterGroupFamily+    , cvClusterVersion+    , cvDescription++    -- ** DefaultClusterParameters+    , DefaultClusterParameters+    , defaultClusterParameters+    , dcpParameters+    , dcpMarker+    , dcpParameterGroupFamily++    -- ** EC2SecurityGroup+    , EC2SecurityGroup+    , ec2SecurityGroup+    , esgStatus+    , esgEC2SecurityGroupOwnerId+    , esgEC2SecurityGroupName+    , esgTags++    -- ** ElasticIPStatus+    , ElasticIPStatus+    , elasticIPStatus+    , eisStatus+    , eisElasticIP++    -- ** Endpoint+    , Endpoint+    , endpoint+    , eAddress+    , ePort++    -- ** Event+    , Event+    , event+    , eSourceType+    , eSeverity+    , eSourceIdentifier+    , eDate+    , eEventCategories+    , eMessage+    , eEventId++    -- ** EventCategoriesMap+    , EventCategoriesMap+    , eventCategoriesMap+    , ecmSourceType+    , ecmEvents++    -- ** EventInfoMap+    , EventInfoMap+    , eventInfoMap+    , eimEventDescription+    , eimSeverity+    , eimEventCategories+    , eimEventId++    -- ** EventSubscription+    , EventSubscription+    , eventSubscription+    , esCustomerAWSId+    , esStatus+    , esCustSubscriptionId+    , esSNSTopicARN+    , esEnabled+    , esSourceType+    , esSeverity+    , esSubscriptionCreationTime+    , esEventCategoriesList+    , esSourceIdsList+    , esTags++    -- ** HSMClientCertificate+    , HSMClientCertificate+    , hsmClientCertificate+    , hccHSMClientCertificateIdentifier+    , hccHSMClientCertificatePublicKey+    , hccTags++    -- ** HSMConfiguration+    , HSMConfiguration+    , hsmConfiguration+    , hcHSMConfigurationIdentifier+    , hcHSMPartitionName+    , hcDescription+    , hcHSMIPAddress+    , hcTags++    -- ** HSMStatus+    , HSMStatus+    , hsmStatus+    , hsStatus+    , hsHSMConfigurationIdentifier+    , hsHSMClientCertificateIdentifier++    -- ** IPRange+    , IPRange+    , ipRange+    , irStatus+    , irCIdRIP+    , irTags++    -- ** LoggingStatus+    , LoggingStatus+    , loggingStatus+    , lsLastSuccessfulDeliveryTime+    , lsLastFailureTime+    , lsS3KeyPrefix+    , lsBucketName+    , lsLoggingEnabled+    , lsLastFailureMessage++    -- ** OrderableClusterOption+    , OrderableClusterOption+    , orderableClusterOption+    , ocoAvailabilityZones+    , ocoClusterType+    , ocoClusterVersion+    , ocoNodeType++    -- ** Parameter+    , Parameter+    , parameter+    , pApplyType+    , pParameterValue+    , pMinimumEngineVersion+    , pSource+    , pIsModifiable+    , pAllowedValues+    , pDataType+    , pParameterName+    , pDescription++    -- ** PendingModifiedValues+    , PendingModifiedValues+    , pendingModifiedValues+    , pmvMasterUserPassword+    , pmvAutomatedSnapshotRetentionPeriod+    , pmvClusterIdentifier+    , pmvNumberOfNodes+    , pmvClusterType+    , pmvClusterVersion+    , pmvNodeType++    -- ** RecurringCharge+    , RecurringCharge+    , recurringCharge+    , rcRecurringChargeFrequency+    , rcRecurringChargeAmount++    -- ** ReservedNode+    , ReservedNode+    , reservedNode+    , rnState+    , rnCurrencyCode+    , rnStartTime+    , rnNodeCount+    , rnReservedNodeOfferingId+    , rnReservedNodeId+    , rnOfferingType+    , rnUsagePrice+    , rnNodeType+    , rnRecurringCharges+    , rnFixedPrice+    , rnDuration++    -- ** ReservedNodeOffering+    , ReservedNodeOffering+    , reservedNodeOffering+    , rnoCurrencyCode+    , rnoReservedNodeOfferingId+    , rnoOfferingType+    , rnoUsagePrice+    , rnoNodeType+    , rnoRecurringCharges+    , rnoFixedPrice+    , rnoDuration++    -- ** RestoreStatus+    , RestoreStatus+    , restoreStatus+    , rsEstimatedTimeToCompletionInSeconds+    , rsStatus+    , rsCurrentRestoreRateInMegaBytesPerSecond+    , rsProgressInMegaBytes+    , rsElapsedTimeInSeconds+    , rsSnapshotSizeInMegaBytes++    -- ** Snapshot+    , Snapshot+    , snapshot+    , sRestorableNodeTypes+    , sStatus+    , sAccountsWithRestoreAccess+    , sSnapshotIdentifier+    , sEncryptedWithHSM+    , sMasterUsername+    , sSourceRegion+    , sVPCId+    , sBackupProgressInMegaBytes+    , sEncrypted+    , sClusterIdentifier+    , sNumberOfNodes+    , sSnapshotType+    , sAvailabilityZone+    , sKMSKeyId+    , sCurrentBackupRateInMegaBytesPerSecond+    , sSnapshotCreateTime+    , sClusterVersion+    , sOwnerAccount+    , sNodeType+    , sClusterCreateTime+    , sElapsedTimeInSeconds+    , sEstimatedSecondsToCompletion+    , sTotalBackupSizeInMegaBytes+    , sDBName+    , sTags+    , sActualIncrementalBackupSizeInMegaBytes+    , sPort++    -- ** SnapshotCopyGrant+    , SnapshotCopyGrant+    , snapshotCopyGrant+    , scgKMSKeyId+    , scgSnapshotCopyGrantName+    , scgTags++    -- ** Subnet+    , Subnet+    , subnet+    , sSubnetStatus+    , sSubnetIdentifier+    , sSubnetAvailabilityZone++    -- ** Tag+    , Tag+    , tag+    , tagValue+    , tagKey++    -- ** TaggedResource+    , TaggedResource+    , taggedResource+    , trResourceType+    , trTag+    , trResourceName++    -- ** VPCSecurityGroupMembership+    , VPCSecurityGroupMembership+    , vpcSecurityGroupMembership+    , vsgmStatus+    , vsgmVPCSecurityGroupId+    ) where++import           Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress+import           Network.AWS.Redshift.AuthorizeSnapshotAccess+import           Network.AWS.Redshift.CopyClusterSnapshot+import           Network.AWS.Redshift.CreateCluster+import           Network.AWS.Redshift.CreateClusterParameterGroup+import           Network.AWS.Redshift.CreateClusterSecurityGroup+import           Network.AWS.Redshift.CreateClusterSnapshot+import           Network.AWS.Redshift.CreateClusterSubnetGroup+import           Network.AWS.Redshift.CreateEventSubscription+import           Network.AWS.Redshift.CreateHSMClientCertificate+import           Network.AWS.Redshift.CreateHSMConfiguration+import           Network.AWS.Redshift.CreateSnapshotCopyGrant+import           Network.AWS.Redshift.CreateTags+import           Network.AWS.Redshift.DeleteCluster+import           Network.AWS.Redshift.DeleteClusterParameterGroup+import           Network.AWS.Redshift.DeleteClusterSecurityGroup+import           Network.AWS.Redshift.DeleteClusterSnapshot+import           Network.AWS.Redshift.DeleteClusterSubnetGroup+import           Network.AWS.Redshift.DeleteEventSubscription+import           Network.AWS.Redshift.DeleteHSMClientCertificate+import           Network.AWS.Redshift.DeleteHSMConfiguration+import           Network.AWS.Redshift.DeleteSnapshotCopyGrant+import           Network.AWS.Redshift.DeleteTags+import           Network.AWS.Redshift.DescribeClusterParameterGroups+import           Network.AWS.Redshift.DescribeClusterParameters+import           Network.AWS.Redshift.DescribeClusters+import           Network.AWS.Redshift.DescribeClusterSecurityGroups+import           Network.AWS.Redshift.DescribeClusterSnapshots+import           Network.AWS.Redshift.DescribeClusterSubnetGroups+import           Network.AWS.Redshift.DescribeClusterVersions+import           Network.AWS.Redshift.DescribeDefaultClusterParameters+import           Network.AWS.Redshift.DescribeEventCategories+import           Network.AWS.Redshift.DescribeEvents+import           Network.AWS.Redshift.DescribeEventSubscriptions+import           Network.AWS.Redshift.DescribeHSMClientCertificates+import           Network.AWS.Redshift.DescribeHSMConfigurations+import           Network.AWS.Redshift.DescribeLoggingStatus+import           Network.AWS.Redshift.DescribeOrderableClusterOptions+import           Network.AWS.Redshift.DescribeReservedNodeOfferings+import           Network.AWS.Redshift.DescribeReservedNodes+import           Network.AWS.Redshift.DescribeResize+import           Network.AWS.Redshift.DescribeSnapshotCopyGrants+import           Network.AWS.Redshift.DescribeTags+import           Network.AWS.Redshift.DisableLogging+import           Network.AWS.Redshift.DisableSnapshotCopy+import           Network.AWS.Redshift.EnableLogging+import           Network.AWS.Redshift.EnableSnapshotCopy+import           Network.AWS.Redshift.ModifyCluster+import           Network.AWS.Redshift.ModifyClusterParameterGroup+import           Network.AWS.Redshift.ModifyClusterSubnetGroup+import           Network.AWS.Redshift.ModifyEventSubscription+import           Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod+import           Network.AWS.Redshift.PurchaseReservedNodeOffering+import           Network.AWS.Redshift.RebootCluster+import           Network.AWS.Redshift.ResetClusterParameterGroup+import           Network.AWS.Redshift.RestoreFromClusterSnapshot+import           Network.AWS.Redshift.RevokeClusterSecurityGroupIngress+import           Network.AWS.Redshift.RevokeSnapshotAccess+import           Network.AWS.Redshift.RotateEncryptionKey+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'Redshift'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
gen/Network/AWS/Redshift/AuthorizeClusterSecurityGroupIngress.hs view
@@ -1,159 +1,185 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Adds an inbound (ingress) rule to an Amazon Redshift security group.--- Depending on whether the application accessing your cluster is running on the--- Internet or an EC2 instance, you can authorize inbound access to either a--- Classless Interdomain Routing (CIDR) IP address range or an EC2 security--- group. You can add as many as 20 ingress rules to an Amazon Redshift security--- group.+-- Adds an inbound (ingress) rule to an Amazon Redshift security group.+-- Depending on whether the application accessing your cluster is running+-- on the Internet or an EC2 instance, you can authorize inbound access to+-- either a Classless Interdomain Routing (CIDR) IP address range or an EC2+-- security group. You can add as many as 20 ingress rules to an Amazon+-- Redshift security group. ----- The EC2 security group must be defined in the AWS region where the cluster--- resides.  For an overview of CIDR blocks, see the Wikipedia article on <http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing>.+-- The EC2 security group must be defined in the AWS region where the+-- cluster resides. ----- You must also associate the security group with a cluster so that clients--- running on these IP addresses or the EC2 instance are authorized to connect--- to the cluster. For information about managing security groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Workingwith Security Groups> in the /Amazon Redshift Cluster Management Guide/.+-- For an overview of CIDR blocks, see the Wikipedia article on+-- <http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing Classless Inter-Domain Routing>. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_AuthorizeClusterSecurityGroupIngress.html>+-- You must also associate the security group with a cluster so that+-- clients running on these IP addresses or the EC2 instance are authorized+-- to connect to the cluster. For information about managing security+-- groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Working with Security Groups>+-- in the /Amazon Redshift Cluster Management Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_AuthorizeClusterSecurityGroupIngress.html AWS API Reference> for AuthorizeClusterSecurityGroupIngress. module Network.AWS.Redshift.AuthorizeClusterSecurityGroupIngress     (-    -- * Request-      AuthorizeClusterSecurityGroupIngress-    -- ** Request constructor-    , authorizeClusterSecurityGroupIngress-    -- ** Request lenses-    , acsgiCIDRIP-    , acsgiClusterSecurityGroupName-    , acsgiEC2SecurityGroupName+    -- * Creating a Request+      authorizeClusterSecurityGroupIngress+    , AuthorizeClusterSecurityGroupIngress+    -- * Request Lenses     , acsgiEC2SecurityGroupOwnerId+    , acsgiEC2SecurityGroupName+    , acsgiCIdRIP+    , acsgiClusterSecurityGroupName -    -- * Response-    , AuthorizeClusterSecurityGroupIngressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , authorizeClusterSecurityGroupIngressResponse-    -- ** Response lenses-    , acsgirClusterSecurityGroup+    , AuthorizeClusterSecurityGroupIngressResponse+    -- * Response Lenses+    , acsgirsClusterSecurityGroup+    , acsgirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data AuthorizeClusterSecurityGroupIngress = AuthorizeClusterSecurityGroupIngress-    { _acsgiCIDRIP                   :: Maybe Text-    , _acsgiClusterSecurityGroupName :: Text-    , _acsgiEC2SecurityGroupName     :: Maybe Text-    , _acsgiEC2SecurityGroupOwnerId  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'AuthorizeClusterSecurityGroupIngress' constructor.+-- | ??? ----- The fields accessible through corresponding lenses are:+-- /See:/ 'authorizeClusterSecurityGroupIngress' smart constructor.+data AuthorizeClusterSecurityGroupIngress = AuthorizeClusterSecurityGroupIngress'+    { _acsgiEC2SecurityGroupOwnerId  :: !(Maybe Text)+    , _acsgiEC2SecurityGroupName     :: !(Maybe Text)+    , _acsgiCIdRIP                   :: !(Maybe Text)+    , _acsgiClusterSecurityGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuthorizeClusterSecurityGroupIngress' with the minimum fields required to make a request. ----- * 'acsgiCIDRIP' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'acsgiClusterSecurityGroupName' @::@ 'Text'+-- * 'acsgiEC2SecurityGroupOwnerId' ----- * 'acsgiEC2SecurityGroupName' @::@ 'Maybe' 'Text'+-- * 'acsgiEC2SecurityGroupName' ----- * 'acsgiEC2SecurityGroupOwnerId' @::@ 'Maybe' 'Text'+-- * 'acsgiCIdRIP' ---authorizeClusterSecurityGroupIngress :: Text -- ^ 'acsgiClusterSecurityGroupName'-                                     -> AuthorizeClusterSecurityGroupIngress-authorizeClusterSecurityGroupIngress p1 = AuthorizeClusterSecurityGroupIngress-    { _acsgiClusterSecurityGroupName = p1-    , _acsgiCIDRIP                   = Nothing-    , _acsgiEC2SecurityGroupName     = Nothing-    , _acsgiEC2SecurityGroupOwnerId  = Nothing+-- * 'acsgiClusterSecurityGroupName'+authorizeClusterSecurityGroupIngress+    :: Text -- ^ 'acsgiClusterSecurityGroupName'+    -> AuthorizeClusterSecurityGroupIngress+authorizeClusterSecurityGroupIngress pClusterSecurityGroupName_ =+    AuthorizeClusterSecurityGroupIngress'+    { _acsgiEC2SecurityGroupOwnerId = Nothing+    , _acsgiEC2SecurityGroupName = Nothing+    , _acsgiCIdRIP = Nothing+    , _acsgiClusterSecurityGroupName = pClusterSecurityGroupName_     } +-- | The AWS account number of the owner of the security group specified by+-- the /EC2SecurityGroupName/ parameter. The AWS Access Key ID is not an+-- acceptable value.+--+-- Example: '111122223333'+acsgiEC2SecurityGroupOwnerId :: Lens' AuthorizeClusterSecurityGroupIngress (Maybe Text)+acsgiEC2SecurityGroupOwnerId = lens _acsgiEC2SecurityGroupOwnerId (\ s a -> s{_acsgiEC2SecurityGroupOwnerId = a});++-- | The EC2 security group to be added the Amazon Redshift security group.+acsgiEC2SecurityGroupName :: Lens' AuthorizeClusterSecurityGroupIngress (Maybe Text)+acsgiEC2SecurityGroupName = lens _acsgiEC2SecurityGroupName (\ s a -> s{_acsgiEC2SecurityGroupName = a});+ -- | The IP range to be added the Amazon Redshift security group.-acsgiCIDRIP :: Lens' AuthorizeClusterSecurityGroupIngress (Maybe Text)-acsgiCIDRIP = lens _acsgiCIDRIP (\s a -> s { _acsgiCIDRIP = a })+acsgiCIdRIP :: Lens' AuthorizeClusterSecurityGroupIngress (Maybe Text)+acsgiCIdRIP = lens _acsgiCIdRIP (\ s a -> s{_acsgiCIdRIP = a});  -- | The name of the security group to which the ingress rule is added. acsgiClusterSecurityGroupName :: Lens' AuthorizeClusterSecurityGroupIngress Text-acsgiClusterSecurityGroupName =-    lens _acsgiClusterSecurityGroupName-        (\s a -> s { _acsgiClusterSecurityGroupName = a })+acsgiClusterSecurityGroupName = lens _acsgiClusterSecurityGroupName (\ s a -> s{_acsgiClusterSecurityGroupName = a}); --- | The EC2 security group to be added the Amazon Redshift security group.-acsgiEC2SecurityGroupName :: Lens' AuthorizeClusterSecurityGroupIngress (Maybe Text)-acsgiEC2SecurityGroupName =-    lens _acsgiEC2SecurityGroupName-        (\s a -> s { _acsgiEC2SecurityGroupName = a })+instance AWSRequest+         AuthorizeClusterSecurityGroupIngress where+        type Sv AuthorizeClusterSecurityGroupIngress =+             Redshift+        type Rs AuthorizeClusterSecurityGroupIngress =+             AuthorizeClusterSecurityGroupIngressResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "AuthorizeClusterSecurityGroupIngressResult"+              (\ s h x ->+                 AuthorizeClusterSecurityGroupIngressResponse' <$>+                   (x .@? "ClusterSecurityGroup") <*>+                     (pure (fromEnum s))) --- | The AWS account number of the owner of the security group specified by the /EC2SecurityGroupName/ parameter. The AWS Access Key ID is not an acceptable value.------ Example: '111122223333'-acsgiEC2SecurityGroupOwnerId :: Lens' AuthorizeClusterSecurityGroupIngress (Maybe Text)-acsgiEC2SecurityGroupOwnerId =-    lens _acsgiEC2SecurityGroupOwnerId-        (\s a -> s { _acsgiEC2SecurityGroupOwnerId = a })+instance ToHeaders+         AuthorizeClusterSecurityGroupIngress where+        toHeaders = const mempty -newtype AuthorizeClusterSecurityGroupIngressResponse = AuthorizeClusterSecurityGroupIngressResponse-    { _acsgirClusterSecurityGroup :: Maybe ClusterSecurityGroup-    } deriving (Eq, Read, Show)+instance ToPath AuthorizeClusterSecurityGroupIngress+         where+        toPath = const "/" --- | 'AuthorizeClusterSecurityGroupIngressResponse' constructor.+instance ToQuery AuthorizeClusterSecurityGroupIngress+         where+        toQuery AuthorizeClusterSecurityGroupIngress'{..}+          = mconcat+              ["Action" =:+                 ("AuthorizeClusterSecurityGroupIngress" ::+                    ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "EC2SecurityGroupOwnerId" =:+                 _acsgiEC2SecurityGroupOwnerId,+               "EC2SecurityGroupName" =: _acsgiEC2SecurityGroupName,+               "CIDRIP" =: _acsgiCIdRIP,+               "ClusterSecurityGroupName" =:+                 _acsgiClusterSecurityGroupName]++-- | /See:/ 'authorizeClusterSecurityGroupIngressResponse' smart constructor.+data AuthorizeClusterSecurityGroupIngressResponse = AuthorizeClusterSecurityGroupIngressResponse'+    { _acsgirsClusterSecurityGroup :: !(Maybe ClusterSecurityGroup)+    , _acsgirsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuthorizeClusterSecurityGroupIngressResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'acsgirClusterSecurityGroup' @::@ 'Maybe' 'ClusterSecurityGroup'+-- * 'acsgirsClusterSecurityGroup' ---authorizeClusterSecurityGroupIngressResponse :: AuthorizeClusterSecurityGroupIngressResponse-authorizeClusterSecurityGroupIngressResponse = AuthorizeClusterSecurityGroupIngressResponse-    { _acsgirClusterSecurityGroup = Nothing+-- * 'acsgirsStatus'+authorizeClusterSecurityGroupIngressResponse+    :: Int -- ^ 'acsgirsStatus'+    -> AuthorizeClusterSecurityGroupIngressResponse+authorizeClusterSecurityGroupIngressResponse pStatus_ =+    AuthorizeClusterSecurityGroupIngressResponse'+    { _acsgirsClusterSecurityGroup = Nothing+    , _acsgirsStatus = pStatus_     } -acsgirClusterSecurityGroup :: Lens' AuthorizeClusterSecurityGroupIngressResponse (Maybe ClusterSecurityGroup)-acsgirClusterSecurityGroup =-    lens _acsgirClusterSecurityGroup-        (\s a -> s { _acsgirClusterSecurityGroup = a })--instance ToPath AuthorizeClusterSecurityGroupIngress where-    toPath = const "/"--instance ToQuery AuthorizeClusterSecurityGroupIngress where-    toQuery AuthorizeClusterSecurityGroupIngress{..} = mconcat-        [ "CIDRIP"                   =? _acsgiCIDRIP-        , "ClusterSecurityGroupName" =? _acsgiClusterSecurityGroupName-        , "EC2SecurityGroupName"     =? _acsgiEC2SecurityGroupName-        , "EC2SecurityGroupOwnerId"  =? _acsgiEC2SecurityGroupOwnerId-        ]--instance ToHeaders AuthorizeClusterSecurityGroupIngress--instance AWSRequest AuthorizeClusterSecurityGroupIngress where-    type Sv AuthorizeClusterSecurityGroupIngress = Redshift-    type Rs AuthorizeClusterSecurityGroupIngress = AuthorizeClusterSecurityGroupIngressResponse--    request  = post "AuthorizeClusterSecurityGroupIngress"-    response = xmlResponse+-- | Undocumented member.+acsgirsClusterSecurityGroup :: Lens' AuthorizeClusterSecurityGroupIngressResponse (Maybe ClusterSecurityGroup)+acsgirsClusterSecurityGroup = lens _acsgirsClusterSecurityGroup (\ s a -> s{_acsgirsClusterSecurityGroup = a}); -instance FromXML AuthorizeClusterSecurityGroupIngressResponse where-    parseXML = withElement "AuthorizeClusterSecurityGroupIngressResult" $ \x -> AuthorizeClusterSecurityGroupIngressResponse-        <$> x .@? "ClusterSecurityGroup"+-- | The response status code.+acsgirsStatus :: Lens' AuthorizeClusterSecurityGroupIngressResponse Int+acsgirsStatus = lens _acsgirsStatus (\ s a -> s{_acsgirsStatus = a});
gen/Network/AWS/Redshift/AuthorizeSnapshotAccess.hs view
@@ -1,139 +1,155 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.AuthorizeSnapshotAccess--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Authorizes the specified AWS customer account to restore the specified+-- Authorizes the specified AWS customer account to restore the specified -- snapshot. ----- For more information about working with snapshots, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon RedshiftSnapshots> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about working with snapshots, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon Redshift Snapshots>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_AuthorizeSnapshotAccess.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_AuthorizeSnapshotAccess.html AWS API Reference> for AuthorizeSnapshotAccess. module Network.AWS.Redshift.AuthorizeSnapshotAccess     (-    -- * Request-      AuthorizeSnapshotAccess-    -- ** Request constructor-    , authorizeSnapshotAccess-    -- ** Request lenses-    , asaAccountWithRestoreAccess+    -- * Creating a Request+      authorizeSnapshotAccess+    , AuthorizeSnapshotAccess+    -- * Request Lenses     , asaSnapshotClusterIdentifier     , asaSnapshotIdentifier+    , asaAccountWithRestoreAccess -    -- * Response-    , AuthorizeSnapshotAccessResponse-    -- ** Response constructor+    -- * Destructuring the Response     , authorizeSnapshotAccessResponse-    -- ** Response lenses-    , asarSnapshot+    , AuthorizeSnapshotAccessResponse+    -- * Response Lenses+    , asarsSnapshot+    , asarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data AuthorizeSnapshotAccess = AuthorizeSnapshotAccess-    { _asaAccountWithRestoreAccess  :: Text-    , _asaSnapshotClusterIdentifier :: Maybe Text-    , _asaSnapshotIdentifier        :: Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'AuthorizeSnapshotAccess' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'authorizeSnapshotAccess' smart constructor.+data AuthorizeSnapshotAccess = AuthorizeSnapshotAccess'+    { _asaSnapshotClusterIdentifier :: !(Maybe Text)+    , _asaSnapshotIdentifier        :: !Text+    , _asaAccountWithRestoreAccess  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AuthorizeSnapshotAccess' with the minimum fields required to make a request. ----- * 'asaAccountWithRestoreAccess' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'asaSnapshotClusterIdentifier' @::@ 'Maybe' 'Text'+-- * 'asaSnapshotClusterIdentifier' ----- * 'asaSnapshotIdentifier' @::@ 'Text'+-- * 'asaSnapshotIdentifier' ---authorizeSnapshotAccess :: Text -- ^ 'asaSnapshotIdentifier'-                        -> Text -- ^ 'asaAccountWithRestoreAccess'-                        -> AuthorizeSnapshotAccess-authorizeSnapshotAccess p1 p2 = AuthorizeSnapshotAccess-    { _asaSnapshotIdentifier        = p1-    , _asaAccountWithRestoreAccess  = p2-    , _asaSnapshotClusterIdentifier = Nothing+-- * 'asaAccountWithRestoreAccess'+authorizeSnapshotAccess+    :: Text -- ^ 'asaSnapshotIdentifier'+    -> Text -- ^ 'asaAccountWithRestoreAccess'+    -> AuthorizeSnapshotAccess+authorizeSnapshotAccess pSnapshotIdentifier_ pAccountWithRestoreAccess_ =+    AuthorizeSnapshotAccess'+    { _asaSnapshotClusterIdentifier = Nothing+    , _asaSnapshotIdentifier = pSnapshotIdentifier_+    , _asaAccountWithRestoreAccess = pAccountWithRestoreAccess_     } --- | The identifier of the AWS customer account authorized to restore the--- specified snapshot.-asaAccountWithRestoreAccess :: Lens' AuthorizeSnapshotAccess Text-asaAccountWithRestoreAccess =-    lens _asaAccountWithRestoreAccess-        (\s a -> s { _asaAccountWithRestoreAccess = a })---- | The identifier of the cluster the snapshot was created from. This parameter--- is required if your IAM user has a policy containing a snapshot resource--- element that specifies anything other than * for the cluster name.+-- | The identifier of the cluster the snapshot was created from. This+-- parameter is required if your IAM user has a policy containing a+-- snapshot resource element that specifies anything other than * for the+-- cluster name. asaSnapshotClusterIdentifier :: Lens' AuthorizeSnapshotAccess (Maybe Text)-asaSnapshotClusterIdentifier =-    lens _asaSnapshotClusterIdentifier-        (\s a -> s { _asaSnapshotClusterIdentifier = a })+asaSnapshotClusterIdentifier = lens _asaSnapshotClusterIdentifier (\ s a -> s{_asaSnapshotClusterIdentifier = a});  -- | The identifier of the snapshot the account is authorized to restore. asaSnapshotIdentifier :: Lens' AuthorizeSnapshotAccess Text-asaSnapshotIdentifier =-    lens _asaSnapshotIdentifier (\s a -> s { _asaSnapshotIdentifier = a })+asaSnapshotIdentifier = lens _asaSnapshotIdentifier (\ s a -> s{_asaSnapshotIdentifier = a}); -newtype AuthorizeSnapshotAccessResponse = AuthorizeSnapshotAccessResponse-    { _asarSnapshot :: Maybe Snapshot-    } deriving (Eq, Read, Show)+-- | The identifier of the AWS customer account authorized to restore the+-- specified snapshot.+asaAccountWithRestoreAccess :: Lens' AuthorizeSnapshotAccess Text+asaAccountWithRestoreAccess = lens _asaAccountWithRestoreAccess (\ s a -> s{_asaAccountWithRestoreAccess = a}); --- | 'AuthorizeSnapshotAccessResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'asarSnapshot' @::@ 'Maybe' 'Snapshot'----authorizeSnapshotAccessResponse :: AuthorizeSnapshotAccessResponse-authorizeSnapshotAccessResponse = AuthorizeSnapshotAccessResponse-    { _asarSnapshot = Nothing-    }+instance AWSRequest AuthorizeSnapshotAccess where+        type Sv AuthorizeSnapshotAccess = Redshift+        type Rs AuthorizeSnapshotAccess =+             AuthorizeSnapshotAccessResponse+        request = postQuery+        response+          = receiveXMLWrapper "AuthorizeSnapshotAccessResult"+              (\ s h x ->+                 AuthorizeSnapshotAccessResponse' <$>+                   (x .@? "Snapshot") <*> (pure (fromEnum s))) -asarSnapshot :: Lens' AuthorizeSnapshotAccessResponse (Maybe Snapshot)-asarSnapshot = lens _asarSnapshot (\s a -> s { _asarSnapshot = a })+instance ToHeaders AuthorizeSnapshotAccess where+        toHeaders = const mempty  instance ToPath AuthorizeSnapshotAccess where-    toPath = const "/"+        toPath = const "/"  instance ToQuery AuthorizeSnapshotAccess where-    toQuery AuthorizeSnapshotAccess{..} = mconcat-        [ "AccountWithRestoreAccess"  =? _asaAccountWithRestoreAccess-        , "SnapshotClusterIdentifier" =? _asaSnapshotClusterIdentifier-        , "SnapshotIdentifier"        =? _asaSnapshotIdentifier-        ]+        toQuery AuthorizeSnapshotAccess'{..}+          = mconcat+              ["Action" =:+                 ("AuthorizeSnapshotAccess" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SnapshotClusterIdentifier" =:+                 _asaSnapshotClusterIdentifier,+               "SnapshotIdentifier" =: _asaSnapshotIdentifier,+               "AccountWithRestoreAccess" =:+                 _asaAccountWithRestoreAccess] -instance ToHeaders AuthorizeSnapshotAccess+-- | /See:/ 'authorizeSnapshotAccessResponse' smart constructor.+data AuthorizeSnapshotAccessResponse = AuthorizeSnapshotAccessResponse'+    { _asarsSnapshot :: !(Maybe Snapshot)+    , _asarsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest AuthorizeSnapshotAccess where-    type Sv AuthorizeSnapshotAccess = Redshift-    type Rs AuthorizeSnapshotAccess = AuthorizeSnapshotAccessResponse+-- | Creates a value of 'AuthorizeSnapshotAccessResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'asarsSnapshot'+--+-- * 'asarsStatus'+authorizeSnapshotAccessResponse+    :: Int -- ^ 'asarsStatus'+    -> AuthorizeSnapshotAccessResponse+authorizeSnapshotAccessResponse pStatus_ =+    AuthorizeSnapshotAccessResponse'+    { _asarsSnapshot = Nothing+    , _asarsStatus = pStatus_+    } -    request  = post "AuthorizeSnapshotAccess"-    response = xmlResponse+-- | Undocumented member.+asarsSnapshot :: Lens' AuthorizeSnapshotAccessResponse (Maybe Snapshot)+asarsSnapshot = lens _asarsSnapshot (\ s a -> s{_asarsSnapshot = a}); -instance FromXML AuthorizeSnapshotAccessResponse where-    parseXML = withElement "AuthorizeSnapshotAccessResult" $ \x -> AuthorizeSnapshotAccessResponse-        <$> x .@? "Snapshot"+-- | The response status code.+asarsStatus :: Lens' AuthorizeSnapshotAccessResponse Int+asarsStatus = lens _asarsStatus (\ s a -> s{_asarsStatus = a});
gen/Network/AWS/Redshift/CopyClusterSnapshot.hs view
@@ -1,161 +1,179 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.CopyClusterSnapshot--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Copies the specified automated cluster snapshot to a new manual cluster+-- Copies the specified automated cluster snapshot to a new manual cluster -- snapshot. The source must be an automated snapshot and it must be in the -- available state. ----- When you delete a cluster, Amazon Redshift deletes any automated snapshots--- of the cluster. Also, when the retention period of the snapshot expires,--- Amazon Redshift automatically deletes it. If you want to keep an automated--- snapshot for a longer period, you can make a manual copy of the snapshot.--- Manual snapshots are retained until you delete them.+-- When you delete a cluster, Amazon Redshift deletes any automated+-- snapshots of the cluster. Also, when the retention period of the+-- snapshot expires, Amazon Redshift automatically deletes it. If you want+-- to keep an automated snapshot for a longer period, you can make a manual+-- copy of the snapshot. Manual snapshots are retained until you delete+-- them. ----- For more information about working with snapshots, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon RedshiftSnapshots> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about working with snapshots, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon Redshift Snapshots>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CopyClusterSnapshot.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CopyClusterSnapshot.html AWS API Reference> for CopyClusterSnapshot. module Network.AWS.Redshift.CopyClusterSnapshot     (-    -- * Request-      CopyClusterSnapshot-    -- ** Request constructor-    , copyClusterSnapshot-    -- ** Request lenses+    -- * Creating a Request+      copyClusterSnapshot+    , CopyClusterSnapshot+    -- * Request Lenses     , ccsSourceSnapshotClusterIdentifier     , ccsSourceSnapshotIdentifier     , ccsTargetSnapshotIdentifier -    -- * Response-    , CopyClusterSnapshotResponse-    -- ** Response constructor+    -- * Destructuring the Response     , copyClusterSnapshotResponse-    -- ** Response lenses-    , ccsrSnapshot+    , CopyClusterSnapshotResponse+    -- * Response Lenses+    , ccsrsSnapshot+    , ccsrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CopyClusterSnapshot = CopyClusterSnapshot-    { _ccsSourceSnapshotClusterIdentifier :: Maybe Text-    , _ccsSourceSnapshotIdentifier        :: Text-    , _ccsTargetSnapshotIdentifier        :: Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CopyClusterSnapshot' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'copyClusterSnapshot' smart constructor.+data CopyClusterSnapshot = CopyClusterSnapshot'+    { _ccsSourceSnapshotClusterIdentifier :: !(Maybe Text)+    , _ccsSourceSnapshotIdentifier        :: !Text+    , _ccsTargetSnapshotIdentifier        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CopyClusterSnapshot' with the minimum fields required to make a request. ----- * 'ccsSourceSnapshotClusterIdentifier' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ccsSourceSnapshotIdentifier' @::@ 'Text'+-- * 'ccsSourceSnapshotClusterIdentifier' ----- * 'ccsTargetSnapshotIdentifier' @::@ 'Text'+-- * 'ccsSourceSnapshotIdentifier' ---copyClusterSnapshot :: Text -- ^ 'ccsSourceSnapshotIdentifier'-                    -> Text -- ^ 'ccsTargetSnapshotIdentifier'-                    -> CopyClusterSnapshot-copyClusterSnapshot p1 p2 = CopyClusterSnapshot-    { _ccsSourceSnapshotIdentifier        = p1-    , _ccsTargetSnapshotIdentifier        = p2-    , _ccsSourceSnapshotClusterIdentifier = Nothing+-- * 'ccsTargetSnapshotIdentifier'+copyClusterSnapshot+    :: Text -- ^ 'ccsSourceSnapshotIdentifier'+    -> Text -- ^ 'ccsTargetSnapshotIdentifier'+    -> CopyClusterSnapshot+copyClusterSnapshot pSourceSnapshotIdentifier_ pTargetSnapshotIdentifier_ =+    CopyClusterSnapshot'+    { _ccsSourceSnapshotClusterIdentifier = Nothing+    , _ccsSourceSnapshotIdentifier = pSourceSnapshotIdentifier_+    , _ccsTargetSnapshotIdentifier = pTargetSnapshotIdentifier_     }  -- | The identifier of the cluster the source snapshot was created from. This--- parameter is required if your IAM user has a policy containing a snapshot--- resource element that specifies anything other than * for the cluster name.+-- parameter is required if your IAM user has a policy containing a+-- snapshot resource element that specifies anything other than * for the+-- cluster name. -- -- Constraints: ----- Must be the identifier for a valid cluster.+-- -   Must be the identifier for a valid cluster. ccsSourceSnapshotClusterIdentifier :: Lens' CopyClusterSnapshot (Maybe Text)-ccsSourceSnapshotClusterIdentifier =-    lens _ccsSourceSnapshotClusterIdentifier-        (\s a -> s { _ccsSourceSnapshotClusterIdentifier = a })+ccsSourceSnapshotClusterIdentifier = lens _ccsSourceSnapshotClusterIdentifier (\ s a -> s{_ccsSourceSnapshotClusterIdentifier = a});  -- | The identifier for the source snapshot. -- -- Constraints: ----- Must be the identifier for a valid automated snapshot whose state is 'available'.+-- -   Must be the identifier for a valid automated snapshot whose state is+--     'available'. ccsSourceSnapshotIdentifier :: Lens' CopyClusterSnapshot Text-ccsSourceSnapshotIdentifier =-    lens _ccsSourceSnapshotIdentifier-        (\s a -> s { _ccsSourceSnapshotIdentifier = a })+ccsSourceSnapshotIdentifier = lens _ccsSourceSnapshotIdentifier (\ s a -> s{_ccsSourceSnapshotIdentifier = a});  -- | The identifier given to the new manual snapshot. -- -- Constraints: ----- Cannot be null, empty, or blank. Must contain from 1 to 255 alphanumeric--- characters or hyphens. First character must be a letter. Cannot end with a--- hyphen or contain two consecutive hyphens. Must be unique for the AWS account--- that is making the request.+-- -   Cannot be null, empty, or blank.+-- -   Must contain from 1 to 255 alphanumeric characters or hyphens.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+-- -   Must be unique for the AWS account that is making the request. ccsTargetSnapshotIdentifier :: Lens' CopyClusterSnapshot Text-ccsTargetSnapshotIdentifier =-    lens _ccsTargetSnapshotIdentifier-        (\s a -> s { _ccsTargetSnapshotIdentifier = a })--newtype CopyClusterSnapshotResponse = CopyClusterSnapshotResponse-    { _ccsrSnapshot :: Maybe Snapshot-    } deriving (Eq, Read, Show)+ccsTargetSnapshotIdentifier = lens _ccsTargetSnapshotIdentifier (\ s a -> s{_ccsTargetSnapshotIdentifier = a}); --- | 'CopyClusterSnapshotResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ccsrSnapshot' @::@ 'Maybe' 'Snapshot'----copyClusterSnapshotResponse :: CopyClusterSnapshotResponse-copyClusterSnapshotResponse = CopyClusterSnapshotResponse-    { _ccsrSnapshot = Nothing-    }+instance AWSRequest CopyClusterSnapshot where+        type Sv CopyClusterSnapshot = Redshift+        type Rs CopyClusterSnapshot =+             CopyClusterSnapshotResponse+        request = postQuery+        response+          = receiveXMLWrapper "CopyClusterSnapshotResult"+              (\ s h x ->+                 CopyClusterSnapshotResponse' <$>+                   (x .@? "Snapshot") <*> (pure (fromEnum s))) -ccsrSnapshot :: Lens' CopyClusterSnapshotResponse (Maybe Snapshot)-ccsrSnapshot = lens _ccsrSnapshot (\s a -> s { _ccsrSnapshot = a })+instance ToHeaders CopyClusterSnapshot where+        toHeaders = const mempty  instance ToPath CopyClusterSnapshot where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CopyClusterSnapshot where-    toQuery CopyClusterSnapshot{..} = mconcat-        [ "SourceSnapshotClusterIdentifier" =? _ccsSourceSnapshotClusterIdentifier-        , "SourceSnapshotIdentifier"        =? _ccsSourceSnapshotIdentifier-        , "TargetSnapshotIdentifier"        =? _ccsTargetSnapshotIdentifier-        ]+        toQuery CopyClusterSnapshot'{..}+          = mconcat+              ["Action" =: ("CopyClusterSnapshot" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SourceSnapshotClusterIdentifier" =:+                 _ccsSourceSnapshotClusterIdentifier,+               "SourceSnapshotIdentifier" =:+                 _ccsSourceSnapshotIdentifier,+               "TargetSnapshotIdentifier" =:+                 _ccsTargetSnapshotIdentifier] -instance ToHeaders CopyClusterSnapshot+-- | /See:/ 'copyClusterSnapshotResponse' smart constructor.+data CopyClusterSnapshotResponse = CopyClusterSnapshotResponse'+    { _ccsrsSnapshot :: !(Maybe Snapshot)+    , _ccsrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CopyClusterSnapshot where-    type Sv CopyClusterSnapshot = Redshift-    type Rs CopyClusterSnapshot = CopyClusterSnapshotResponse+-- | Creates a value of 'CopyClusterSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccsrsSnapshot'+--+-- * 'ccsrsStatus'+copyClusterSnapshotResponse+    :: Int -- ^ 'ccsrsStatus'+    -> CopyClusterSnapshotResponse+copyClusterSnapshotResponse pStatus_ =+    CopyClusterSnapshotResponse'+    { _ccsrsSnapshot = Nothing+    , _ccsrsStatus = pStatus_+    } -    request  = post "CopyClusterSnapshot"-    response = xmlResponse+-- | Undocumented member.+ccsrsSnapshot :: Lens' CopyClusterSnapshotResponse (Maybe Snapshot)+ccsrsSnapshot = lens _ccsrsSnapshot (\ s a -> s{_ccsrsSnapshot = a}); -instance FromXML CopyClusterSnapshotResponse where-    parseXML = withElement "CopyClusterSnapshotResult" $ \x -> CopyClusterSnapshotResponse-        <$> x .@? "Snapshot"+-- | The response status code.+ccsrsStatus :: Lens' CopyClusterSnapshotResponse Int+ccsrsStatus = lens _ccsrsStatus (\ s a -> s{_ccsrsStatus = a});
gen/Network/AWS/Redshift/CreateCluster.hs view
@@ -1,288 +1,322 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.CreateCluster--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a new cluster. To create the cluster in virtual private cloud (VPC),--- you must provide cluster subnet group name. If you don't provide a cluster--- subnet group name or the cluster security group parameter, Amazon Redshift--- creates a non-VPC cluster, it associates the default cluster security group--- with the cluster. For more information about managing clusters, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html AmazonRedshift Clusters> in the /Amazon Redshift Cluster Management Guide/ .+-- Creates a new cluster. To create the cluster in virtual private cloud+-- (VPC), you must provide cluster subnet group name. If you don\'t provide+-- a cluster subnet group name or the cluster security group parameter,+-- Amazon Redshift creates a non-VPC cluster, it associates the default+-- cluster security group with the cluster. For more information about+-- managing clusters, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters>+-- in the /Amazon Redshift Cluster Management Guide/ . ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateCluster.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateCluster.html AWS API Reference> for CreateCluster. module Network.AWS.Redshift.CreateCluster     (-    -- * Request-      CreateCluster-    -- ** Request constructor-    , createCluster-    -- ** Request lenses-    , ccAllowVersionUpgrade-    , ccAutomatedSnapshotRetentionPeriod-    , ccAvailabilityZone-    , ccClusterIdentifier-    , ccClusterParameterGroupName+    -- * Creating a Request+      createCluster+    , CreateCluster+    -- * Request Lenses+    , ccPubliclyAccessible+    , ccHSMConfigurationIdentifier     , ccClusterSecurityGroups+    , ccAutomatedSnapshotRetentionPeriod+    , ccEncrypted+    , ccNumberOfNodes+    , ccHSMClientCertificateIdentifier     , ccClusterSubnetGroupName+    , ccElasticIP+    , ccPreferredMaintenanceWindow+    , ccAvailabilityZone+    , ccKMSKeyId+    , ccVPCSecurityGroupIds     , ccClusterType     , ccClusterVersion+    , ccAllowVersionUpgrade+    , ccClusterParameterGroupName     , ccDBName-    , ccElasticIp-    , ccEncrypted-    , ccHsmClientCertificateIdentifier-    , ccHsmConfigurationIdentifier-    , ccKmsKeyId-    , ccMasterUserPassword-    , ccMasterUsername-    , ccNodeType-    , ccNumberOfNodes-    , ccPort-    , ccPreferredMaintenanceWindow-    , ccPubliclyAccessible     , ccTags-    , ccVpcSecurityGroupIds+    , ccPort+    , ccClusterIdentifier+    , ccNodeType+    , ccMasterUsername+    , ccMasterUserPassword -    -- * Response-    , CreateClusterResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createClusterResponse-    -- ** Response lenses-    , ccrCluster+    , CreateClusterResponse+    -- * Response Lenses+    , ccrsCluster+    , ccrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CreateCluster = CreateCluster-    { _ccAllowVersionUpgrade              :: Maybe Bool-    , _ccAutomatedSnapshotRetentionPeriod :: Maybe Int-    , _ccAvailabilityZone                 :: Maybe Text-    , _ccClusterIdentifier                :: Text-    , _ccClusterParameterGroupName        :: Maybe Text-    , _ccClusterSecurityGroups            :: List "member" Text-    , _ccClusterSubnetGroupName           :: Maybe Text-    , _ccClusterType                      :: Maybe Text-    , _ccClusterVersion                   :: Maybe Text-    , _ccDBName                           :: Maybe Text-    , _ccElasticIp                        :: Maybe Text-    , _ccEncrypted                        :: Maybe Bool-    , _ccHsmClientCertificateIdentifier   :: Maybe Text-    , _ccHsmConfigurationIdentifier       :: Maybe Text-    , _ccKmsKeyId                         :: Maybe Text-    , _ccMasterUserPassword               :: Text-    , _ccMasterUsername                   :: Text-    , _ccNodeType                         :: Text-    , _ccNumberOfNodes                    :: Maybe Int-    , _ccPort                             :: Maybe Int-    , _ccPreferredMaintenanceWindow       :: Maybe Text-    , _ccPubliclyAccessible               :: Maybe Bool-    , _ccTags                             :: List "member" Tag-    , _ccVpcSecurityGroupIds              :: List "member" Text-    } deriving (Eq, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CreateCluster' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createCluster' smart constructor.+data CreateCluster = CreateCluster'+    { _ccPubliclyAccessible               :: !(Maybe Bool)+    , _ccHSMConfigurationIdentifier       :: !(Maybe Text)+    , _ccClusterSecurityGroups            :: !(Maybe [Text])+    , _ccAutomatedSnapshotRetentionPeriod :: !(Maybe Int)+    , _ccEncrypted                        :: !(Maybe Bool)+    , _ccNumberOfNodes                    :: !(Maybe Int)+    , _ccHSMClientCertificateIdentifier   :: !(Maybe Text)+    , _ccClusterSubnetGroupName           :: !(Maybe Text)+    , _ccElasticIP                        :: !(Maybe Text)+    , _ccPreferredMaintenanceWindow       :: !(Maybe Text)+    , _ccAvailabilityZone                 :: !(Maybe Text)+    , _ccKMSKeyId                         :: !(Maybe Text)+    , _ccVPCSecurityGroupIds              :: !(Maybe [Text])+    , _ccClusterType                      :: !(Maybe Text)+    , _ccClusterVersion                   :: !(Maybe Text)+    , _ccAllowVersionUpgrade              :: !(Maybe Bool)+    , _ccClusterParameterGroupName        :: !(Maybe Text)+    , _ccDBName                           :: !(Maybe Text)+    , _ccTags                             :: !(Maybe [Tag])+    , _ccPort                             :: !(Maybe Int)+    , _ccClusterIdentifier                :: !Text+    , _ccNodeType                         :: !Text+    , _ccMasterUsername                   :: !Text+    , _ccMasterUserPassword               :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateCluster' with the minimum fields required to make a request. ----- * 'ccAllowVersionUpgrade' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ccAutomatedSnapshotRetentionPeriod' @::@ 'Maybe' 'Int'+-- * 'ccPubliclyAccessible' ----- * 'ccAvailabilityZone' @::@ 'Maybe' 'Text'+-- * 'ccHSMConfigurationIdentifier' ----- * 'ccClusterIdentifier' @::@ 'Text'+-- * 'ccClusterSecurityGroups' ----- * 'ccClusterParameterGroupName' @::@ 'Maybe' 'Text'+-- * 'ccAutomatedSnapshotRetentionPeriod' ----- * 'ccClusterSecurityGroups' @::@ ['Text']+-- * 'ccEncrypted' ----- * 'ccClusterSubnetGroupName' @::@ 'Maybe' 'Text'+-- * 'ccNumberOfNodes' ----- * 'ccClusterType' @::@ 'Maybe' 'Text'+-- * 'ccHSMClientCertificateIdentifier' ----- * 'ccClusterVersion' @::@ 'Maybe' 'Text'+-- * 'ccClusterSubnetGroupName' ----- * 'ccDBName' @::@ 'Maybe' 'Text'+-- * 'ccElasticIP' ----- * 'ccElasticIp' @::@ 'Maybe' 'Text'+-- * 'ccPreferredMaintenanceWindow' ----- * 'ccEncrypted' @::@ 'Maybe' 'Bool'+-- * 'ccAvailabilityZone' ----- * 'ccHsmClientCertificateIdentifier' @::@ 'Maybe' 'Text'+-- * 'ccKMSKeyId' ----- * 'ccHsmConfigurationIdentifier' @::@ 'Maybe' 'Text'+-- * 'ccVPCSecurityGroupIds' ----- * 'ccKmsKeyId' @::@ 'Maybe' 'Text'+-- * 'ccClusterType' ----- * 'ccMasterUserPassword' @::@ 'Text'+-- * 'ccClusterVersion' ----- * 'ccMasterUsername' @::@ 'Text'+-- * 'ccAllowVersionUpgrade' ----- * 'ccNodeType' @::@ 'Text'+-- * 'ccClusterParameterGroupName' ----- * 'ccNumberOfNodes' @::@ 'Maybe' 'Int'+-- * 'ccDBName' ----- * 'ccPort' @::@ 'Maybe' 'Int'+-- * 'ccTags' ----- * 'ccPreferredMaintenanceWindow' @::@ 'Maybe' 'Text'+-- * 'ccPort' ----- * 'ccPubliclyAccessible' @::@ 'Maybe' 'Bool'+-- * 'ccClusterIdentifier' ----- * 'ccTags' @::@ ['Tag']+-- * 'ccNodeType' ----- * 'ccVpcSecurityGroupIds' @::@ ['Text']+-- * 'ccMasterUsername' ---createCluster :: Text -- ^ 'ccClusterIdentifier'-              -> Text -- ^ 'ccNodeType'-              -> Text -- ^ 'ccMasterUsername'-              -> Text -- ^ 'ccMasterUserPassword'-              -> CreateCluster-createCluster p1 p2 p3 p4 = CreateCluster-    { _ccClusterIdentifier                = p1-    , _ccNodeType                         = p2-    , _ccMasterUsername                   = p3-    , _ccMasterUserPassword               = p4-    , _ccDBName                           = Nothing-    , _ccClusterType                      = Nothing-    , _ccClusterSecurityGroups            = mempty-    , _ccVpcSecurityGroupIds              = mempty-    , _ccClusterSubnetGroupName           = Nothing-    , _ccAvailabilityZone                 = Nothing-    , _ccPreferredMaintenanceWindow       = Nothing-    , _ccClusterParameterGroupName        = Nothing+-- * 'ccMasterUserPassword'+createCluster+    :: Text -- ^ 'ccClusterIdentifier'+    -> Text -- ^ 'ccNodeType'+    -> Text -- ^ 'ccMasterUsername'+    -> Text -- ^ 'ccMasterUserPassword'+    -> CreateCluster+createCluster pClusterIdentifier_ pNodeType_ pMasterUsername_ pMasterUserPassword_ =+    CreateCluster'+    { _ccPubliclyAccessible = Nothing+    , _ccHSMConfigurationIdentifier = Nothing+    , _ccClusterSecurityGroups = Nothing     , _ccAutomatedSnapshotRetentionPeriod = Nothing-    , _ccPort                             = Nothing-    , _ccClusterVersion                   = Nothing-    , _ccAllowVersionUpgrade              = Nothing-    , _ccNumberOfNodes                    = Nothing-    , _ccPubliclyAccessible               = Nothing-    , _ccEncrypted                        = Nothing-    , _ccHsmClientCertificateIdentifier   = Nothing-    , _ccHsmConfigurationIdentifier       = Nothing-    , _ccElasticIp                        = Nothing-    , _ccTags                             = mempty-    , _ccKmsKeyId                         = Nothing+    , _ccEncrypted = Nothing+    , _ccNumberOfNodes = Nothing+    , _ccHSMClientCertificateIdentifier = Nothing+    , _ccClusterSubnetGroupName = Nothing+    , _ccElasticIP = Nothing+    , _ccPreferredMaintenanceWindow = Nothing+    , _ccAvailabilityZone = Nothing+    , _ccKMSKeyId = Nothing+    , _ccVPCSecurityGroupIds = Nothing+    , _ccClusterType = Nothing+    , _ccClusterVersion = Nothing+    , _ccAllowVersionUpgrade = Nothing+    , _ccClusterParameterGroupName = Nothing+    , _ccDBName = Nothing+    , _ccTags = Nothing+    , _ccPort = Nothing+    , _ccClusterIdentifier = pClusterIdentifier_+    , _ccNodeType = pNodeType_+    , _ccMasterUsername = pMasterUsername_+    , _ccMasterUserPassword = pMasterUserPassword_     } --- | If 'true', major version upgrades can be applied during the maintenance window--- to the Amazon Redshift engine that is running on the cluster.------ When a new major version of the Amazon Redshift engine is released, you can--- request that the service automatically apply upgrades during the maintenance--- window to the Amazon Redshift engine that is running on your cluster.+-- | If 'true', the cluster can be accessed from a public network.+ccPubliclyAccessible :: Lens' CreateCluster (Maybe Bool)+ccPubliclyAccessible = lens _ccPubliclyAccessible (\ s a -> s{_ccPubliclyAccessible = a});++-- | Specifies the name of the HSM configuration that contains the+-- information the Amazon Redshift cluster can use to retrieve and store+-- keys in an HSM.+ccHSMConfigurationIdentifier :: Lens' CreateCluster (Maybe Text)+ccHSMConfigurationIdentifier = lens _ccHSMConfigurationIdentifier (\ s a -> s{_ccHSMConfigurationIdentifier = a});++-- | A list of security groups to be associated with this cluster. ----- Default: 'true'-ccAllowVersionUpgrade :: Lens' CreateCluster (Maybe Bool)-ccAllowVersionUpgrade =-    lens _ccAllowVersionUpgrade (\s a -> s { _ccAllowVersionUpgrade = a })+-- Default: The default cluster security group for Amazon Redshift.+ccClusterSecurityGroups :: Lens' CreateCluster [Text]+ccClusterSecurityGroups = lens _ccClusterSecurityGroups (\ s a -> s{_ccClusterSecurityGroups = a}) . _Default . _Coerce; --- | The number of days that automated snapshots are retained. If the value is 0,--- automated snapshots are disabled. Even if automated snapshots are disabled,--- you can still create manual snapshots when you want with 'CreateClusterSnapshot'--- .+-- | The number of days that automated snapshots are retained. If the value+-- is 0, automated snapshots are disabled. Even if automated snapshots are+-- disabled, you can still create manual snapshots when you want with+-- CreateClusterSnapshot. -- -- Default: '1' -- -- Constraints: Must be a value from 0 to 35. ccAutomatedSnapshotRetentionPeriod :: Lens' CreateCluster (Maybe Int)-ccAutomatedSnapshotRetentionPeriod =-    lens _ccAutomatedSnapshotRetentionPeriod-        (\s a -> s { _ccAutomatedSnapshotRetentionPeriod = a })+ccAutomatedSnapshotRetentionPeriod = lens _ccAutomatedSnapshotRetentionPeriod (\ s a -> s{_ccAutomatedSnapshotRetentionPeriod = a}); --- | The EC2 Availability Zone (AZ) in which you want Amazon Redshift to--- provision the cluster. For example, if you have several EC2 instances running--- in a specific Availability Zone, then you might want the cluster to be--- provisioned in the same zone in order to decrease network latency.+-- | If 'true', the data in the cluster is encrypted at rest. ----- Default: A random, system-chosen Availability Zone in the region that is--- specified by the endpoint.+-- Default: false+ccEncrypted :: Lens' CreateCluster (Maybe Bool)+ccEncrypted = lens _ccEncrypted (\ s a -> s{_ccEncrypted = a});++-- | The number of compute nodes in the cluster. This parameter is required+-- when the __ClusterType__ parameter is specified as 'multi-node'. ----- Example: 'us-east-1d'+-- For information about determining how many nodes you need, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes Working with Clusters>+-- in the /Amazon Redshift Cluster Management Guide/. ----- Constraint: The specified Availability Zone must be in the same region as--- the current endpoint.-ccAvailabilityZone :: Lens' CreateCluster (Maybe Text)-ccAvailabilityZone =-    lens _ccAvailabilityZone (\s a -> s { _ccAvailabilityZone = a })+-- If you don\'t specify this parameter, you get a single-node cluster.+-- When requesting a multi-node cluster, you must specify the number of+-- nodes that you want in the cluster.+--+-- Default: '1'+--+-- Constraints: Value must be at least 1 and no more than 100.+ccNumberOfNodes :: Lens' CreateCluster (Maybe Int)+ccNumberOfNodes = lens _ccNumberOfNodes (\ s a -> s{_ccNumberOfNodes = a}); --- | A unique identifier for the cluster. You use this identifier to refer to the--- cluster for any subsequent cluster operations such as deleting or modifying.--- The identifier also appears in the Amazon Redshift console.+-- | Specifies the name of the HSM client certificate the Amazon Redshift+-- cluster uses to retrieve the data encryption keys stored in an HSM.+ccHSMClientCertificateIdentifier :: Lens' CreateCluster (Maybe Text)+ccHSMClientCertificateIdentifier = lens _ccHSMClientCertificateIdentifier (\ s a -> s{_ccHSMClientCertificateIdentifier = a});++-- | The name of a cluster subnet group to be associated with this cluster. ----- Constraints:+-- If this parameter is not provided the resulting cluster will be deployed+-- outside virtual private cloud (VPC).+ccClusterSubnetGroupName :: Lens' CreateCluster (Maybe Text)+ccClusterSubnetGroupName = lens _ccClusterSubnetGroupName (\ s a -> s{_ccClusterSubnetGroupName = a});++-- | The Elastic IP (EIP) address for the cluster. ----- Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic--- characters must be lowercase. First character must be a letter. Cannot end--- with a hyphen or contain two consecutive hyphens. Must be unique for all--- clusters within an AWS account.  Example: 'myexamplecluster'-ccClusterIdentifier :: Lens' CreateCluster Text-ccClusterIdentifier =-    lens _ccClusterIdentifier (\s a -> s { _ccClusterIdentifier = a })+-- Constraints: The cluster must be provisioned in EC2-VPC and+-- publicly-accessible through an Internet gateway. For more information+-- about provisioning clusters in EC2-VPC, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms Supported Platforms to Launch Your Cluster>+-- in the Amazon Redshift Cluster Management Guide.+ccElasticIP :: Lens' CreateCluster (Maybe Text)+ccElasticIP = lens _ccElasticIP (\ s a -> s{_ccElasticIP = a}); --- | The name of the parameter group to be associated with this cluster.+-- | The weekly time range (in UTC) during which automated cluster+-- maintenance can occur. ----- Default: The default Amazon Redshift cluster parameter group. For--- information about the default parameter group, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Working with AmazonRedshift Parameter Groups>+-- Format: 'ddd:hh24:mi-ddd:hh24:mi' ----- Constraints:+-- Default: A 30-minute window selected at random from an 8-hour block of+-- time per region, occurring on a random day of the week. For more+-- information about the time blocks for each region, see+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows Maintenance Windows>+-- in Amazon Redshift Cluster Management Guide. ----- Must be 1 to 255 alphanumeric characters or hyphens. First character must--- be a letter. Cannot end with a hyphen or contain two consecutive hyphens.-ccClusterParameterGroupName :: Lens' CreateCluster (Maybe Text)-ccClusterParameterGroupName =-    lens _ccClusterParameterGroupName-        (\s a -> s { _ccClusterParameterGroupName = a })+-- Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun+--+-- Constraints: Minimum 30-minute window.+ccPreferredMaintenanceWindow :: Lens' CreateCluster (Maybe Text)+ccPreferredMaintenanceWindow = lens _ccPreferredMaintenanceWindow (\ s a -> s{_ccPreferredMaintenanceWindow = a}); --- | A list of security groups to be associated with this cluster.+-- | The EC2 Availability Zone (AZ) in which you want Amazon Redshift to+-- provision the cluster. For example, if you have several EC2 instances+-- running in a specific Availability Zone, then you might want the cluster+-- to be provisioned in the same zone in order to decrease network latency. ----- Default: The default cluster security group for Amazon Redshift.-ccClusterSecurityGroups :: Lens' CreateCluster [Text]-ccClusterSecurityGroups =-    lens _ccClusterSecurityGroups (\s a -> s { _ccClusterSecurityGroups = a })-        . _List+-- Default: A random, system-chosen Availability Zone in the region that is+-- specified by the endpoint.+--+-- Example: 'us-east-1d'+--+-- Constraint: The specified Availability Zone must be in the same region+-- as the current endpoint.+ccAvailabilityZone :: Lens' CreateCluster (Maybe Text)+ccAvailabilityZone = lens _ccAvailabilityZone (\ s a -> s{_ccAvailabilityZone = a}); --- | The name of a cluster subnet group to be associated with this cluster.+-- | The AWS Key Management Service (KMS) key ID of the encryption key that+-- you want to use to encrypt data in the cluster.+ccKMSKeyId :: Lens' CreateCluster (Maybe Text)+ccKMSKeyId = lens _ccKMSKeyId (\ s a -> s{_ccKMSKeyId = a});++-- | A list of Virtual Private Cloud (VPC) security groups to be associated+-- with the cluster. ----- If this parameter is not provided the resulting cluster will be deployed--- outside virtual private cloud (VPC).-ccClusterSubnetGroupName :: Lens' CreateCluster (Maybe Text)-ccClusterSubnetGroupName =-    lens _ccClusterSubnetGroupName-        (\s a -> s { _ccClusterSubnetGroupName = a })+-- Default: The default VPC security group is associated with the cluster.+ccVPCSecurityGroupIds :: Lens' CreateCluster [Text]+ccVPCSecurityGroupIds = lens _ccVPCSecurityGroupIds (\ s a -> s{_ccVPCSecurityGroupIds = a}) . _Default . _Coerce; --- | The type of the cluster. When cluster type is specified as   'single-node',--- the NumberOfNodes parameter is not required.  'multi-node', the NumberOfNodes--- parameter is required.+-- | The type of the cluster. When cluster type is specified as --+-- -   'single-node', the __NumberOfNodes__ parameter is not required.+-- -   'multi-node', the __NumberOfNodes__ parameter is required.+-- -- Valid Values: 'multi-node' | 'single-node' -- -- Default: 'multi-node' ccClusterType :: Lens' CreateCluster (Maybe Text)-ccClusterType = lens _ccClusterType (\s a -> s { _ccClusterType = a })+ccClusterType = lens _ccClusterType (\ s a -> s{_ccClusterType = a}); --- | The version of the Amazon Redshift engine software that you want to deploy--- on the cluster.+-- | The version of the Amazon Redshift engine software that you want to+-- deploy on the cluster. -- -- The version selected runs on all the nodes in the cluster. --@@ -290,210 +324,209 @@ -- -- Example: '1.0' ccClusterVersion :: Lens' CreateCluster (Maybe Text)-ccClusterVersion = lens _ccClusterVersion (\s a -> s { _ccClusterVersion = a })---- | The name of the first database to be created when the cluster is created.------ To create additional databases after the cluster is created, connect to the--- cluster with a SQL client and use SQL commands to create a database. For more--- information, go to <http://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html Create a Database> in the Amazon Redshift Database--- Developer Guide.------ Default: 'dev'------ Constraints:------ Must contain 1 to 64 alphanumeric characters. Must contain only lowercase--- letters. Cannot be a word that is reserved by the service. A list of reserved--- words can be found in <http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html Reserved Words> in the Amazon Redshift Database--- Developer Guide.-ccDBName :: Lens' CreateCluster (Maybe Text)-ccDBName = lens _ccDBName (\s a -> s { _ccDBName = a })+ccClusterVersion = lens _ccClusterVersion (\ s a -> s{_ccClusterVersion = a}); --- | The Elastic IP (EIP) address for the cluster.+-- | If 'true', major version upgrades can be applied during the maintenance+-- window to the Amazon Redshift engine that is running on the cluster. ----- Constraints: The cluster must be provisioned in EC2-VPC and--- publicly-accessible through an Internet gateway. For more information about--- provisioning clusters in EC2-VPC, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms Supported Platforms to Launch YourCluster> in the Amazon Redshift Cluster Management Guide.-ccElasticIp :: Lens' CreateCluster (Maybe Text)-ccElasticIp = lens _ccElasticIp (\s a -> s { _ccElasticIp = a })---- | If 'true', the data in the cluster is encrypted at rest.+-- When a new major version of the Amazon Redshift engine is released, you+-- can request that the service automatically apply upgrades during the+-- maintenance window to the Amazon Redshift engine that is running on your+-- cluster. ----- Default: false-ccEncrypted :: Lens' CreateCluster (Maybe Bool)-ccEncrypted = lens _ccEncrypted (\s a -> s { _ccEncrypted = a })---- | Specifies the name of the HSM client certificate the Amazon Redshift cluster--- uses to retrieve the data encryption keys stored in an HSM.-ccHsmClientCertificateIdentifier :: Lens' CreateCluster (Maybe Text)-ccHsmClientCertificateIdentifier =-    lens _ccHsmClientCertificateIdentifier-        (\s a -> s { _ccHsmClientCertificateIdentifier = a })---- | Specifies the name of the HSM configuration that contains the information the--- Amazon Redshift cluster can use to retrieve and store keys in an HSM.-ccHsmConfigurationIdentifier :: Lens' CreateCluster (Maybe Text)-ccHsmConfigurationIdentifier =-    lens _ccHsmConfigurationIdentifier-        (\s a -> s { _ccHsmConfigurationIdentifier = a })---- | The AWS Key Management Service (KMS) key ID of the encryption key that you--- want to use to encrypt data in the cluster.-ccKmsKeyId :: Lens' CreateCluster (Maybe Text)-ccKmsKeyId = lens _ccKmsKeyId (\s a -> s { _ccKmsKeyId = a })+-- Default: 'true'+ccAllowVersionUpgrade :: Lens' CreateCluster (Maybe Bool)+ccAllowVersionUpgrade = lens _ccAllowVersionUpgrade (\ s a -> s{_ccAllowVersionUpgrade = a}); --- | The password associated with the master user account for the cluster that is--- being created.------ Constraints:+-- | The name of the parameter group to be associated with this cluster. ----- Must be between 8 and 64 characters in length. Must contain at least one--- uppercase letter. Must contain at least one lowercase letter. Must contain--- one number. Can be any printable ASCII character (ASCII code 33 to 126)--- except ' (single quote), " (double quote), \, /, @, or space.-ccMasterUserPassword :: Lens' CreateCluster Text-ccMasterUserPassword =-    lens _ccMasterUserPassword (\s a -> s { _ccMasterUserPassword = a })---- | The user name associated with the master user account for the cluster that--- is being created.+-- Default: The default Amazon Redshift cluster parameter group. For+-- information about the default parameter group, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Working with Amazon Redshift Parameter Groups> -- -- Constraints: ----- Must be 1 - 128 alphanumeric characters. First character must be a letter. Cannot be a reserved word. A list of reserved words can be found in--- <http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html Reserved Words> in the Amazon Redshift Database Developer Guide.-ccMasterUsername :: Lens' CreateCluster Text-ccMasterUsername = lens _ccMasterUsername (\s a -> s { _ccMasterUsername = a })---- | The node type to be provisioned for the cluster. For information about node--- types, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes  Working with Clusters> in the /Amazon Redshift Cluster ManagementGuide/.------ Valid Values: 'dw1.xlarge' | 'dw1.8xlarge' | 'dw2.large' | 'dw2.8xlarge'.-ccNodeType :: Lens' CreateCluster Text-ccNodeType = lens _ccNodeType (\s a -> s { _ccNodeType = a })+-- -   Must be 1 to 255 alphanumeric characters or hyphens.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+ccClusterParameterGroupName :: Lens' CreateCluster (Maybe Text)+ccClusterParameterGroupName = lens _ccClusterParameterGroupName (\ s a -> s{_ccClusterParameterGroupName = a}); --- | The number of compute nodes in the cluster. This parameter is required when--- the ClusterType parameter is specified as 'multi-node'.+-- | The name of the first database to be created when the cluster is+-- created. ----- For information about determining how many nodes you need, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes  Workingwith Clusters> in the /Amazon Redshift Cluster Management Guide/.+-- To create additional databases after the cluster is created, connect to+-- the cluster with a SQL client and use SQL commands to create a database.+-- For more information, go to+-- <http://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html Create a Database>+-- in the Amazon Redshift Database Developer Guide. ----- If you don't specify this parameter, you get a single-node cluster. When--- requesting a multi-node cluster, you must specify the number of nodes that--- you want in the cluster.+-- Default: 'dev' ----- Default: '1'+-- Constraints: ----- Constraints: Value must be at least 1 and no more than 100.-ccNumberOfNodes :: Lens' CreateCluster (Maybe Int)-ccNumberOfNodes = lens _ccNumberOfNodes (\s a -> s { _ccNumberOfNodes = a })+-- -   Must contain 1 to 64 alphanumeric characters.+-- -   Must contain only lowercase letters.+-- -   Cannot be a word that is reserved by the service. A list of reserved+--     words can be found in+--     <http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html Reserved Words>+--     in the Amazon Redshift Database Developer Guide.+ccDBName :: Lens' CreateCluster (Maybe Text)+ccDBName = lens _ccDBName (\ s a -> s{_ccDBName = a}); +-- | A list of tag instances.+ccTags :: Lens' CreateCluster [Tag]+ccTags = lens _ccTags (\ s a -> s{_ccTags = a}) . _Default . _Coerce;+ -- | The port number on which the cluster accepts incoming connections. -- -- The cluster is accessible only via the JDBC and ODBC connection strings.--- Part of the connection string requires the port on which the cluster will--- listen for incoming connections.+-- Part of the connection string requires the port on which the cluster+-- will listen for incoming connections. -- -- Default: '5439' -- -- Valid Values: '1150-65535' ccPort :: Lens' CreateCluster (Maybe Int)-ccPort = lens _ccPort (\s a -> s { _ccPort = a })+ccPort = lens _ccPort (\ s a -> s{_ccPort = a}); --- | The weekly time range (in UTC) during which automated cluster maintenance--- can occur.------ Format: 'ddd:hh24:mi-ddd:hh24:mi'+-- | A unique identifier for the cluster. You use this identifier to refer to+-- the cluster for any subsequent cluster operations such as deleting or+-- modifying. The identifier also appears in the Amazon Redshift console. ----- Default: A 30-minute window selected at random from an 8-hour block of time--- per region, occurring on a random day of the week. For more information about--- the time blocks for each region, see <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows Maintenance Windows> in Amazon Redshift--- Cluster Management Guide.+-- Constraints: ----- Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun+-- -   Must contain from 1 to 63 alphanumeric characters or hyphens.+-- -   Alphabetic characters must be lowercase.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+-- -   Must be unique for all clusters within an AWS account. ----- Constraints: Minimum 30-minute window.-ccPreferredMaintenanceWindow :: Lens' CreateCluster (Maybe Text)-ccPreferredMaintenanceWindow =-    lens _ccPreferredMaintenanceWindow-        (\s a -> s { _ccPreferredMaintenanceWindow = a })---- | If 'true', the cluster can be accessed from a public network.-ccPubliclyAccessible :: Lens' CreateCluster (Maybe Bool)-ccPubliclyAccessible =-    lens _ccPubliclyAccessible (\s a -> s { _ccPubliclyAccessible = a })---- | A list of tag instances.-ccTags :: Lens' CreateCluster [Tag]-ccTags = lens _ccTags (\s a -> s { _ccTags = a }) . _List+-- Example: 'myexamplecluster'+ccClusterIdentifier :: Lens' CreateCluster Text+ccClusterIdentifier = lens _ccClusterIdentifier (\ s a -> s{_ccClusterIdentifier = a}); --- | A list of Virtual Private Cloud (VPC) security groups to be associated with--- the cluster.+-- | The node type to be provisioned for the cluster. For information about+-- node types, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes Working with Clusters>+-- in the /Amazon Redshift Cluster Management Guide/. ----- Default: The default VPC security group is associated with the cluster.-ccVpcSecurityGroupIds :: Lens' CreateCluster [Text]-ccVpcSecurityGroupIds =-    lens _ccVpcSecurityGroupIds (\s a -> s { _ccVpcSecurityGroupIds = a })-        . _List--newtype CreateClusterResponse = CreateClusterResponse-    { _ccrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+-- Valid Values: 'ds1.xlarge' | 'ds1.8xlarge' | 'ds2.xlarge' |+-- 'ds2.8xlarge' | 'dc1.large' | 'dc1.8xlarge'.+ccNodeType :: Lens' CreateCluster Text+ccNodeType = lens _ccNodeType (\ s a -> s{_ccNodeType = a}); --- | 'CreateClusterResponse' constructor.+-- | The user name associated with the master user account for the cluster+-- that is being created. ----- The fields accessible through corresponding lenses are:+-- Constraints: ----- * 'ccrCluster' @::@ 'Maybe' 'Cluster'+-- -   Must be 1 - 128 alphanumeric characters.+-- -   First character must be a letter.+-- -   Cannot be a reserved word. A list of reserved words can be found in+--     <http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html Reserved Words>+--     in the Amazon Redshift Database Developer Guide.+ccMasterUsername :: Lens' CreateCluster Text+ccMasterUsername = lens _ccMasterUsername (\ s a -> s{_ccMasterUsername = a});++-- | The password associated with the master user account for the cluster+-- that is being created. ---createClusterResponse :: CreateClusterResponse-createClusterResponse = CreateClusterResponse-    { _ccrCluster = Nothing-    }+-- Constraints:+--+-- -   Must be between 8 and 64 characters in length.+-- -   Must contain at least one uppercase letter.+-- -   Must contain at least one lowercase letter.+-- -   Must contain one number.+-- -   Can be any printable ASCII character (ASCII code 33 to 126) except+--     \' (single quote), \" (double quote), \\, \/, \', or space.+ccMasterUserPassword :: Lens' CreateCluster Text+ccMasterUserPassword = lens _ccMasterUserPassword (\ s a -> s{_ccMasterUserPassword = a}); -ccrCluster :: Lens' CreateClusterResponse (Maybe Cluster)-ccrCluster = lens _ccrCluster (\s a -> s { _ccrCluster = a })+instance AWSRequest CreateCluster where+        type Sv CreateCluster = Redshift+        type Rs CreateCluster = CreateClusterResponse+        request = postQuery+        response+          = receiveXMLWrapper "CreateClusterResult"+              (\ s h x ->+                 CreateClusterResponse' <$>+                   (x .@? "Cluster") <*> (pure (fromEnum s))) +instance ToHeaders CreateCluster where+        toHeaders = const mempty+ instance ToPath CreateCluster where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateCluster where-    toQuery CreateCluster{..} = mconcat-        [ "AllowVersionUpgrade"              =? _ccAllowVersionUpgrade-        , "AutomatedSnapshotRetentionPeriod" =? _ccAutomatedSnapshotRetentionPeriod-        , "AvailabilityZone"                 =? _ccAvailabilityZone-        , "ClusterIdentifier"                =? _ccClusterIdentifier-        , "ClusterParameterGroupName"        =? _ccClusterParameterGroupName-        , "ClusterSecurityGroups"            =? _ccClusterSecurityGroups-        , "ClusterSubnetGroupName"           =? _ccClusterSubnetGroupName-        , "ClusterType"                      =? _ccClusterType-        , "ClusterVersion"                   =? _ccClusterVersion-        , "DBName"                           =? _ccDBName-        , "ElasticIp"                        =? _ccElasticIp-        , "Encrypted"                        =? _ccEncrypted-        , "HsmClientCertificateIdentifier"   =? _ccHsmClientCertificateIdentifier-        , "HsmConfigurationIdentifier"       =? _ccHsmConfigurationIdentifier-        , "KmsKeyId"                         =? _ccKmsKeyId-        , "MasterUserPassword"               =? _ccMasterUserPassword-        , "MasterUsername"                   =? _ccMasterUsername-        , "NodeType"                         =? _ccNodeType-        , "NumberOfNodes"                    =? _ccNumberOfNodes-        , "Port"                             =? _ccPort-        , "PreferredMaintenanceWindow"       =? _ccPreferredMaintenanceWindow-        , "PubliclyAccessible"               =? _ccPubliclyAccessible-        , "Tags"                             =? _ccTags-        , "VpcSecurityGroupIds"              =? _ccVpcSecurityGroupIds-        ]+        toQuery CreateCluster'{..}+          = mconcat+              ["Action" =: ("CreateCluster" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "PubliclyAccessible" =: _ccPubliclyAccessible,+               "HsmConfigurationIdentifier" =:+                 _ccHSMConfigurationIdentifier,+               "ClusterSecurityGroups" =:+                 toQuery+                   (toQueryList "ClusterSecurityGroupName" <$>+                      _ccClusterSecurityGroups),+               "AutomatedSnapshotRetentionPeriod" =:+                 _ccAutomatedSnapshotRetentionPeriod,+               "Encrypted" =: _ccEncrypted,+               "NumberOfNodes" =: _ccNumberOfNodes,+               "HsmClientCertificateIdentifier" =:+                 _ccHSMClientCertificateIdentifier,+               "ClusterSubnetGroupName" =:+                 _ccClusterSubnetGroupName,+               "ElasticIp" =: _ccElasticIP,+               "PreferredMaintenanceWindow" =:+                 _ccPreferredMaintenanceWindow,+               "AvailabilityZone" =: _ccAvailabilityZone,+               "KmsKeyId" =: _ccKMSKeyId,+               "VpcSecurityGroupIds" =:+                 toQuery+                   (toQueryList "VpcSecurityGroupId" <$>+                      _ccVPCSecurityGroupIds),+               "ClusterType" =: _ccClusterType,+               "ClusterVersion" =: _ccClusterVersion,+               "AllowVersionUpgrade" =: _ccAllowVersionUpgrade,+               "ClusterParameterGroupName" =:+                 _ccClusterParameterGroupName,+               "DBName" =: _ccDBName,+               "Tags" =: toQuery (toQueryList "Tag" <$> _ccTags),+               "Port" =: _ccPort,+               "ClusterIdentifier" =: _ccClusterIdentifier,+               "NodeType" =: _ccNodeType,+               "MasterUsername" =: _ccMasterUsername,+               "MasterUserPassword" =: _ccMasterUserPassword] -instance ToHeaders CreateCluster+-- | /See:/ 'createClusterResponse' smart constructor.+data CreateClusterResponse = CreateClusterResponse'+    { _ccrsCluster :: !(Maybe Cluster)+    , _ccrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateCluster where-    type Sv CreateCluster = Redshift-    type Rs CreateCluster = CreateClusterResponse+-- | Creates a value of 'CreateClusterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrsCluster'+--+-- * 'ccrsStatus'+createClusterResponse+    :: Int -- ^ 'ccrsStatus'+    -> CreateClusterResponse+createClusterResponse pStatus_ =+    CreateClusterResponse'+    { _ccrsCluster = Nothing+    , _ccrsStatus = pStatus_+    } -    request  = post "CreateCluster"-    response = xmlResponse+-- | Undocumented member.+ccrsCluster :: Lens' CreateClusterResponse (Maybe Cluster)+ccrsCluster = lens _ccrsCluster (\ s a -> s{_ccrsCluster = a}); -instance FromXML CreateClusterResponse where-    parseXML = withElement "CreateClusterResult" $ \x -> CreateClusterResponse-        <$> x .@? "Cluster"+-- | The response status code.+ccrsStatus :: Lens' CreateClusterResponse Int+ccrsStatus = lens _ccrsStatus (\ s a -> s{_ccrsStatus = a});
gen/Network/AWS/Redshift/CreateClusterParameterGroup.hs view
@@ -1,167 +1,186 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.CreateClusterParameterGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an Amazon Redshift parameter group.+-- Creates an Amazon Redshift parameter group. -- -- Creating parameter groups is independent of creating clusters. You can--- associate a cluster with a parameter group when you create the cluster. You--- can also associate an existing cluster with a parameter group after the--- cluster is created by using 'ModifyCluster'.+-- associate a cluster with a parameter group when you create the cluster.+-- You can also associate an existing cluster with a parameter group after+-- the cluster is created by using ModifyCluster. ----- Parameters in the parameter group define specific behavior that applies to--- the databases you create on the cluster. For more information about managing--- parameter groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon Redshift Parameter Groups> in the /AmazonRedshift Cluster Management Guide/.+-- Parameters in the parameter group define specific behavior that applies+-- to the databases you create on the cluster. For more information about+-- parameters and parameter groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon Redshift Parameter Groups>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterParameterGroup.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterParameterGroup.html AWS API Reference> for CreateClusterParameterGroup. module Network.AWS.Redshift.CreateClusterParameterGroup     (-    -- * Request-      CreateClusterParameterGroup-    -- ** Request constructor-    , createClusterParameterGroup-    -- ** Request lenses-    , ccpgDescription-    , ccpgParameterGroupFamily-    , ccpgParameterGroupName+    -- * Creating a Request+      createClusterParameterGroup+    , CreateClusterParameterGroup+    -- * Request Lenses     , ccpgTags+    , ccpgParameterGroupName+    , ccpgParameterGroupFamily+    , ccpgDescription -    -- * Response-    , CreateClusterParameterGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createClusterParameterGroupResponse-    -- ** Response lenses-    , ccpgrClusterParameterGroup+    , CreateClusterParameterGroupResponse+    -- * Response Lenses+    , ccpgrsClusterParameterGroup+    , ccpgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CreateClusterParameterGroup = CreateClusterParameterGroup-    { _ccpgDescription          :: Text-    , _ccpgParameterGroupFamily :: Text-    , _ccpgParameterGroupName   :: Text-    , _ccpgTags                 :: List "member" Tag-    } deriving (Eq, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CreateClusterParameterGroup' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createClusterParameterGroup' smart constructor.+data CreateClusterParameterGroup = CreateClusterParameterGroup'+    { _ccpgTags                 :: !(Maybe [Tag])+    , _ccpgParameterGroupName   :: !Text+    , _ccpgParameterGroupFamily :: !Text+    , _ccpgDescription          :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateClusterParameterGroup' with the minimum fields required to make a request. ----- * 'ccpgDescription' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ccpgParameterGroupFamily' @::@ 'Text'+-- * 'ccpgTags' ----- * 'ccpgParameterGroupName' @::@ 'Text'+-- * 'ccpgParameterGroupName' ----- * 'ccpgTags' @::@ ['Tag']+-- * 'ccpgParameterGroupFamily' ---createClusterParameterGroup :: Text -- ^ 'ccpgParameterGroupName'-                            -> Text -- ^ 'ccpgParameterGroupFamily'-                            -> Text -- ^ 'ccpgDescription'-                            -> CreateClusterParameterGroup-createClusterParameterGroup p1 p2 p3 = CreateClusterParameterGroup-    { _ccpgParameterGroupName   = p1-    , _ccpgParameterGroupFamily = p2-    , _ccpgDescription          = p3-    , _ccpgTags                 = mempty+-- * 'ccpgDescription'+createClusterParameterGroup+    :: Text -- ^ 'ccpgParameterGroupName'+    -> Text -- ^ 'ccpgParameterGroupFamily'+    -> Text -- ^ 'ccpgDescription'+    -> CreateClusterParameterGroup+createClusterParameterGroup pParameterGroupName_ pParameterGroupFamily_ pDescription_ =+    CreateClusterParameterGroup'+    { _ccpgTags = Nothing+    , _ccpgParameterGroupName = pParameterGroupName_+    , _ccpgParameterGroupFamily = pParameterGroupFamily_+    , _ccpgDescription = pDescription_     } --- | A description of the parameter group.-ccpgDescription :: Lens' CreateClusterParameterGroup Text-ccpgDescription = lens _ccpgDescription (\s a -> s { _ccpgDescription = a })---- | The Amazon Redshift engine version to which the cluster parameter group--- applies. The cluster engine version determines the set of parameters.------ To get a list of valid parameter group family names, you can call 'DescribeClusterParameterGroups'. By default, Amazon Redshift returns a list of all the parameter groups that--- are owned by your AWS account, including the default parameter groups for--- each Amazon Redshift engine version. The parameter group family names--- associated with the default parameter groups provide you the valid values.--- For example, a valid family name is "redshift-1.0".-ccpgParameterGroupFamily :: Lens' CreateClusterParameterGroup Text-ccpgParameterGroupFamily =-    lens _ccpgParameterGroupFamily-        (\s a -> s { _ccpgParameterGroupFamily = a })+-- | A list of tag instances.+ccpgTags :: Lens' CreateClusterParameterGroup [Tag]+ccpgTags = lens _ccpgTags (\ s a -> s{_ccpgTags = a}) . _Default . _Coerce;  -- | The name of the cluster parameter group. -- -- Constraints: ----- Must be 1 to 255 alphanumeric characters or hyphens First character must be--- a letter. Cannot end with a hyphen or contain two consecutive hyphens. Must--- be unique withing your AWS account.  This value is stored as a lower-case--- string.+-- -   Must be 1 to 255 alphanumeric characters or hyphens+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+-- -   Must be unique withing your AWS account.+--+-- This value is stored as a lower-case string. ccpgParameterGroupName :: Lens' CreateClusterParameterGroup Text-ccpgParameterGroupName =-    lens _ccpgParameterGroupName (\s a -> s { _ccpgParameterGroupName = a })+ccpgParameterGroupName = lens _ccpgParameterGroupName (\ s a -> s{_ccpgParameterGroupName = a}); --- | A list of tag instances.-ccpgTags :: Lens' CreateClusterParameterGroup [Tag]-ccpgTags = lens _ccpgTags (\s a -> s { _ccpgTags = a }) . _List+-- | The Amazon Redshift engine version to which the cluster parameter group+-- applies. The cluster engine version determines the set of parameters.+--+-- To get a list of valid parameter group family names, you can call+-- DescribeClusterParameterGroups. By default, Amazon Redshift returns a+-- list of all the parameter groups that are owned by your AWS account,+-- including the default parameter groups for each Amazon Redshift engine+-- version. The parameter group family names associated with the default+-- parameter groups provide you the valid values. For example, a valid+-- family name is \"redshift-1.0\".+ccpgParameterGroupFamily :: Lens' CreateClusterParameterGroup Text+ccpgParameterGroupFamily = lens _ccpgParameterGroupFamily (\ s a -> s{_ccpgParameterGroupFamily = a}); -newtype CreateClusterParameterGroupResponse = CreateClusterParameterGroupResponse-    { _ccpgrClusterParameterGroup :: Maybe ClusterParameterGroup-    } deriving (Eq, Read, Show)+-- | A description of the parameter group.+ccpgDescription :: Lens' CreateClusterParameterGroup Text+ccpgDescription = lens _ccpgDescription (\ s a -> s{_ccpgDescription = a}); --- | 'CreateClusterParameterGroupResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ccpgrClusterParameterGroup' @::@ 'Maybe' 'ClusterParameterGroup'----createClusterParameterGroupResponse :: CreateClusterParameterGroupResponse-createClusterParameterGroupResponse = CreateClusterParameterGroupResponse-    { _ccpgrClusterParameterGroup = Nothing-    }+instance AWSRequest CreateClusterParameterGroup where+        type Sv CreateClusterParameterGroup = Redshift+        type Rs CreateClusterParameterGroup =+             CreateClusterParameterGroupResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "CreateClusterParameterGroupResult"+              (\ s h x ->+                 CreateClusterParameterGroupResponse' <$>+                   (x .@? "ClusterParameterGroup") <*>+                     (pure (fromEnum s))) -ccpgrClusterParameterGroup :: Lens' CreateClusterParameterGroupResponse (Maybe ClusterParameterGroup)-ccpgrClusterParameterGroup =-    lens _ccpgrClusterParameterGroup-        (\s a -> s { _ccpgrClusterParameterGroup = a })+instance ToHeaders CreateClusterParameterGroup where+        toHeaders = const mempty  instance ToPath CreateClusterParameterGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateClusterParameterGroup where-    toQuery CreateClusterParameterGroup{..} = mconcat-        [ "Description"          =? _ccpgDescription-        , "ParameterGroupFamily" =? _ccpgParameterGroupFamily-        , "ParameterGroupName"   =? _ccpgParameterGroupName-        , "Tags"                 =? _ccpgTags-        ]+        toQuery CreateClusterParameterGroup'{..}+          = mconcat+              ["Action" =:+                 ("CreateClusterParameterGroup" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "Tags" =: toQuery (toQueryList "Tag" <$> _ccpgTags),+               "ParameterGroupName" =: _ccpgParameterGroupName,+               "ParameterGroupFamily" =: _ccpgParameterGroupFamily,+               "Description" =: _ccpgDescription] -instance ToHeaders CreateClusterParameterGroup+-- | /See:/ 'createClusterParameterGroupResponse' smart constructor.+data CreateClusterParameterGroupResponse = CreateClusterParameterGroupResponse'+    { _ccpgrsClusterParameterGroup :: !(Maybe ClusterParameterGroup)+    , _ccpgrsStatus                :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateClusterParameterGroup where-    type Sv CreateClusterParameterGroup = Redshift-    type Rs CreateClusterParameterGroup = CreateClusterParameterGroupResponse+-- | Creates a value of 'CreateClusterParameterGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccpgrsClusterParameterGroup'+--+-- * 'ccpgrsStatus'+createClusterParameterGroupResponse+    :: Int -- ^ 'ccpgrsStatus'+    -> CreateClusterParameterGroupResponse+createClusterParameterGroupResponse pStatus_ =+    CreateClusterParameterGroupResponse'+    { _ccpgrsClusterParameterGroup = Nothing+    , _ccpgrsStatus = pStatus_+    } -    request  = post "CreateClusterParameterGroup"-    response = xmlResponse+-- | Undocumented member.+ccpgrsClusterParameterGroup :: Lens' CreateClusterParameterGroupResponse (Maybe ClusterParameterGroup)+ccpgrsClusterParameterGroup = lens _ccpgrsClusterParameterGroup (\ s a -> s{_ccpgrsClusterParameterGroup = a}); -instance FromXML CreateClusterParameterGroupResponse where-    parseXML = withElement "CreateClusterParameterGroupResult" $ \x -> CreateClusterParameterGroupResponse-        <$> x .@? "ClusterParameterGroup"+-- | The response status code.+ccpgrsStatus :: Lens' CreateClusterParameterGroupResponse Int+ccpgrsStatus = lens _ccpgrsStatus (\ s a -> s{_ccpgrsStatus = a});
gen/Network/AWS/Redshift/CreateClusterSecurityGroup.hs view
@@ -1,142 +1,162 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.CreateClusterSecurityGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a new Amazon Redshift security group. You use security groups to+-- Creates a new Amazon Redshift security group. You use security groups to -- control access to non-VPC clusters. ----- For information about managing security groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Amazon RedshiftCluster Security Groups> in the /Amazon Redshift Cluster Management Guide/.+-- For information about managing security groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Amazon Redshift Cluster Security Groups>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSecurityGroup.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSecurityGroup.html AWS API Reference> for CreateClusterSecurityGroup. module Network.AWS.Redshift.CreateClusterSecurityGroup     (-    -- * Request-      CreateClusterSecurityGroup-    -- ** Request constructor-    , createClusterSecurityGroup-    -- ** Request lenses-    , ccsg1ClusterSecurityGroupName-    , ccsg1Description-    , ccsg1Tags+    -- * Creating a Request+      createClusterSecurityGroup+    , CreateClusterSecurityGroup+    -- * Request Lenses+    , creTags+    , creClusterSecurityGroupName+    , creDescription -    -- * Response-    , CreateClusterSecurityGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createClusterSecurityGroupResponse-    -- ** Response lenses-    , ccsgrClusterSecurityGroup+    , CreateClusterSecurityGroupResponse+    -- * Response Lenses+    , crsClusterSecurityGroup+    , crsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CreateClusterSecurityGroup = CreateClusterSecurityGroup-    { _ccsg1ClusterSecurityGroupName :: Text-    , _ccsg1Description              :: Text-    , _ccsg1Tags                     :: List "member" Tag-    } deriving (Eq, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CreateClusterSecurityGroup' constructor.+-- | ??? ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createClusterSecurityGroup' smart constructor.+data CreateClusterSecurityGroup = CreateClusterSecurityGroup'+    { _creTags                     :: !(Maybe [Tag])+    , _creClusterSecurityGroupName :: !Text+    , _creDescription              :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateClusterSecurityGroup' with the minimum fields required to make a request. ----- * 'ccsg1ClusterSecurityGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ccsg1Description' @::@ 'Text'+-- * 'creTags' ----- * 'ccsg1Tags' @::@ ['Tag']+-- * 'creClusterSecurityGroupName' ---createClusterSecurityGroup :: Text -- ^ 'ccsg1ClusterSecurityGroupName'-                           -> Text -- ^ 'ccsg1Description'-                           -> CreateClusterSecurityGroup-createClusterSecurityGroup p1 p2 = CreateClusterSecurityGroup-    { _ccsg1ClusterSecurityGroupName = p1-    , _ccsg1Description              = p2-    , _ccsg1Tags                     = mempty+-- * 'creDescription'+createClusterSecurityGroup+    :: Text -- ^ 'creClusterSecurityGroupName'+    -> Text -- ^ 'creDescription'+    -> CreateClusterSecurityGroup+createClusterSecurityGroup pClusterSecurityGroupName_ pDescription_ =+    CreateClusterSecurityGroup'+    { _creTags = Nothing+    , _creClusterSecurityGroupName = pClusterSecurityGroupName_+    , _creDescription = pDescription_     } +-- | A list of tag instances.+creTags :: Lens' CreateClusterSecurityGroup [Tag]+creTags = lens _creTags (\ s a -> s{_creTags = a}) . _Default . _Coerce;+ -- | The name for the security group. Amazon Redshift stores the value as a -- lowercase string. -- -- Constraints: ----- Must contain no more than 255 alphanumeric characters or hyphens. Must not--- be "Default". Must be unique for all security groups that are created by your--- AWS account.  Example: 'examplesecuritygroup'-ccsg1ClusterSecurityGroupName :: Lens' CreateClusterSecurityGroup Text-ccsg1ClusterSecurityGroupName =-    lens _ccsg1ClusterSecurityGroupName-        (\s a -> s { _ccsg1ClusterSecurityGroupName = a })+-- -   Must contain no more than 255 alphanumeric characters or hyphens.+-- -   Must not be \"Default\".+-- -   Must be unique for all security groups that are created by your AWS+--     account.+--+-- Example: 'examplesecuritygroup'+creClusterSecurityGroupName :: Lens' CreateClusterSecurityGroup Text+creClusterSecurityGroupName = lens _creClusterSecurityGroupName (\ s a -> s{_creClusterSecurityGroupName = a});  -- | A description for the security group.-ccsg1Description :: Lens' CreateClusterSecurityGroup Text-ccsg1Description = lens _ccsg1Description (\s a -> s { _ccsg1Description = a })---- | A list of tag instances.-ccsg1Tags :: Lens' CreateClusterSecurityGroup [Tag]-ccsg1Tags = lens _ccsg1Tags (\s a -> s { _ccsg1Tags = a }) . _List--newtype CreateClusterSecurityGroupResponse = CreateClusterSecurityGroupResponse-    { _ccsgrClusterSecurityGroup :: Maybe ClusterSecurityGroup-    } deriving (Eq, Read, Show)+creDescription :: Lens' CreateClusterSecurityGroup Text+creDescription = lens _creDescription (\ s a -> s{_creDescription = a}); --- | 'CreateClusterSecurityGroupResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ccsgrClusterSecurityGroup' @::@ 'Maybe' 'ClusterSecurityGroup'----createClusterSecurityGroupResponse :: CreateClusterSecurityGroupResponse-createClusterSecurityGroupResponse = CreateClusterSecurityGroupResponse-    { _ccsgrClusterSecurityGroup = Nothing-    }+instance AWSRequest CreateClusterSecurityGroup where+        type Sv CreateClusterSecurityGroup = Redshift+        type Rs CreateClusterSecurityGroup =+             CreateClusterSecurityGroupResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "CreateClusterSecurityGroupResult"+              (\ s h x ->+                 CreateClusterSecurityGroupResponse' <$>+                   (x .@? "ClusterSecurityGroup") <*>+                     (pure (fromEnum s))) -ccsgrClusterSecurityGroup :: Lens' CreateClusterSecurityGroupResponse (Maybe ClusterSecurityGroup)-ccsgrClusterSecurityGroup =-    lens _ccsgrClusterSecurityGroup-        (\s a -> s { _ccsgrClusterSecurityGroup = a })+instance ToHeaders CreateClusterSecurityGroup where+        toHeaders = const mempty  instance ToPath CreateClusterSecurityGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateClusterSecurityGroup where-    toQuery CreateClusterSecurityGroup{..} = mconcat-        [ "ClusterSecurityGroupName" =? _ccsg1ClusterSecurityGroupName-        , "Description"              =? _ccsg1Description-        , "Tags"                     =? _ccsg1Tags-        ]+        toQuery CreateClusterSecurityGroup'{..}+          = mconcat+              ["Action" =:+                 ("CreateClusterSecurityGroup" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "Tags" =: toQuery (toQueryList "Tag" <$> _creTags),+               "ClusterSecurityGroupName" =:+                 _creClusterSecurityGroupName,+               "Description" =: _creDescription] -instance ToHeaders CreateClusterSecurityGroup+-- | /See:/ 'createClusterSecurityGroupResponse' smart constructor.+data CreateClusterSecurityGroupResponse = CreateClusterSecurityGroupResponse'+    { _crsClusterSecurityGroup :: !(Maybe ClusterSecurityGroup)+    , _crsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateClusterSecurityGroup where-    type Sv CreateClusterSecurityGroup = Redshift-    type Rs CreateClusterSecurityGroup = CreateClusterSecurityGroupResponse+-- | Creates a value of 'CreateClusterSecurityGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crsClusterSecurityGroup'+--+-- * 'crsStatus'+createClusterSecurityGroupResponse+    :: Int -- ^ 'crsStatus'+    -> CreateClusterSecurityGroupResponse+createClusterSecurityGroupResponse pStatus_ =+    CreateClusterSecurityGroupResponse'+    { _crsClusterSecurityGroup = Nothing+    , _crsStatus = pStatus_+    } -    request  = post "CreateClusterSecurityGroup"-    response = xmlResponse+-- | Undocumented member.+crsClusterSecurityGroup :: Lens' CreateClusterSecurityGroupResponse (Maybe ClusterSecurityGroup)+crsClusterSecurityGroup = lens _crsClusterSecurityGroup (\ s a -> s{_crsClusterSecurityGroup = a}); -instance FromXML CreateClusterSecurityGroupResponse where-    parseXML = withElement "CreateClusterSecurityGroupResult" $ \x -> CreateClusterSecurityGroupResponse-        <$> x .@? "ClusterSecurityGroup"+-- | The response status code.+crsStatus :: Lens' CreateClusterSecurityGroupResponse Int+crsStatus = lens _crsStatus (\ s a -> s{_crsStatus = a});
gen/Network/AWS/Redshift/CreateClusterSnapshot.hs view
@@ -1,140 +1,158 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.CreateClusterSnapshot--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a manual snapshot of the specified cluster. The cluster must be in--- the 'available' state.+-- Creates a manual snapshot of the specified cluster. The cluster must be+-- in the 'available' state. ----- For more information about working with snapshots, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon RedshiftSnapshots> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about working with snapshots, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon Redshift Snapshots>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSnapshot.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSnapshot.html AWS API Reference> for CreateClusterSnapshot. module Network.AWS.Redshift.CreateClusterSnapshot     (-    -- * Request-      CreateClusterSnapshot-    -- ** Request constructor-    , createClusterSnapshot-    -- ** Request lenses-    , ccsClusterIdentifier-    , ccsSnapshotIdentifier+    -- * Creating a Request+      createClusterSnapshot+    , CreateClusterSnapshot+    -- * Request Lenses     , ccsTags+    , ccsSnapshotIdentifier+    , ccsClusterIdentifier -    -- * Response-    , CreateClusterSnapshotResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createClusterSnapshotResponse-    -- ** Response lenses-    , ccsr1Snapshot+    , CreateClusterSnapshotResponse+    -- * Response Lenses+    , crersSnapshot+    , crersStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CreateClusterSnapshot = CreateClusterSnapshot-    { _ccsClusterIdentifier  :: Text-    , _ccsSnapshotIdentifier :: Text-    , _ccsTags               :: List "member" Tag-    } deriving (Eq, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CreateClusterSnapshot' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createClusterSnapshot' smart constructor.+data CreateClusterSnapshot = CreateClusterSnapshot'+    { _ccsTags               :: !(Maybe [Tag])+    , _ccsSnapshotIdentifier :: !Text+    , _ccsClusterIdentifier  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateClusterSnapshot' with the minimum fields required to make a request. ----- * 'ccsClusterIdentifier' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ccsSnapshotIdentifier' @::@ 'Text'+-- * 'ccsTags' ----- * 'ccsTags' @::@ ['Tag']+-- * 'ccsSnapshotIdentifier' ---createClusterSnapshot :: Text -- ^ 'ccsSnapshotIdentifier'-                      -> Text -- ^ 'ccsClusterIdentifier'-                      -> CreateClusterSnapshot-createClusterSnapshot p1 p2 = CreateClusterSnapshot-    { _ccsSnapshotIdentifier = p1-    , _ccsClusterIdentifier  = p2-    , _ccsTags               = mempty+-- * 'ccsClusterIdentifier'+createClusterSnapshot+    :: Text -- ^ 'ccsSnapshotIdentifier'+    -> Text -- ^ 'ccsClusterIdentifier'+    -> CreateClusterSnapshot+createClusterSnapshot pSnapshotIdentifier_ pClusterIdentifier_ =+    CreateClusterSnapshot'+    { _ccsTags = Nothing+    , _ccsSnapshotIdentifier = pSnapshotIdentifier_+    , _ccsClusterIdentifier = pClusterIdentifier_     } --- | The cluster identifier for which you want a snapshot.-ccsClusterIdentifier :: Lens' CreateClusterSnapshot Text-ccsClusterIdentifier =-    lens _ccsClusterIdentifier (\s a -> s { _ccsClusterIdentifier = a })+-- | A list of tag instances.+ccsTags :: Lens' CreateClusterSnapshot [Tag]+ccsTags = lens _ccsTags (\ s a -> s{_ccsTags = a}) . _Default . _Coerce;  -- | A unique identifier for the snapshot that you are requesting. This -- identifier must be unique for all snapshots within the AWS account. -- -- Constraints: ----- Cannot be null, empty, or blank Must contain from 1 to 255 alphanumeric--- characters or hyphens First character must be a letter Cannot end with a--- hyphen or contain two consecutive hyphens  Example: 'my-snapshot-id'+-- -   Cannot be null, empty, or blank+-- -   Must contain from 1 to 255 alphanumeric characters or hyphens+-- -   First character must be a letter+-- -   Cannot end with a hyphen or contain two consecutive hyphens+--+-- Example: 'my-snapshot-id' ccsSnapshotIdentifier :: Lens' CreateClusterSnapshot Text-ccsSnapshotIdentifier =-    lens _ccsSnapshotIdentifier (\s a -> s { _ccsSnapshotIdentifier = a })---- | A list of tag instances.-ccsTags :: Lens' CreateClusterSnapshot [Tag]-ccsTags = lens _ccsTags (\s a -> s { _ccsTags = a }) . _List+ccsSnapshotIdentifier = lens _ccsSnapshotIdentifier (\ s a -> s{_ccsSnapshotIdentifier = a}); -newtype CreateClusterSnapshotResponse = CreateClusterSnapshotResponse-    { _ccsr1Snapshot :: Maybe Snapshot-    } deriving (Eq, Read, Show)+-- | The cluster identifier for which you want a snapshot.+ccsClusterIdentifier :: Lens' CreateClusterSnapshot Text+ccsClusterIdentifier = lens _ccsClusterIdentifier (\ s a -> s{_ccsClusterIdentifier = a}); --- | 'CreateClusterSnapshotResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ccsr1Snapshot' @::@ 'Maybe' 'Snapshot'----createClusterSnapshotResponse :: CreateClusterSnapshotResponse-createClusterSnapshotResponse = CreateClusterSnapshotResponse-    { _ccsr1Snapshot = Nothing-    }+instance AWSRequest CreateClusterSnapshot where+        type Sv CreateClusterSnapshot = Redshift+        type Rs CreateClusterSnapshot =+             CreateClusterSnapshotResponse+        request = postQuery+        response+          = receiveXMLWrapper "CreateClusterSnapshotResult"+              (\ s h x ->+                 CreateClusterSnapshotResponse' <$>+                   (x .@? "Snapshot") <*> (pure (fromEnum s))) -ccsr1Snapshot :: Lens' CreateClusterSnapshotResponse (Maybe Snapshot)-ccsr1Snapshot = lens _ccsr1Snapshot (\s a -> s { _ccsr1Snapshot = a })+instance ToHeaders CreateClusterSnapshot where+        toHeaders = const mempty  instance ToPath CreateClusterSnapshot where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateClusterSnapshot where-    toQuery CreateClusterSnapshot{..} = mconcat-        [ "ClusterIdentifier"  =? _ccsClusterIdentifier-        , "SnapshotIdentifier" =? _ccsSnapshotIdentifier-        , "Tags"               =? _ccsTags-        ]+        toQuery CreateClusterSnapshot'{..}+          = mconcat+              ["Action" =: ("CreateClusterSnapshot" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "Tags" =: toQuery (toQueryList "Tag" <$> _ccsTags),+               "SnapshotIdentifier" =: _ccsSnapshotIdentifier,+               "ClusterIdentifier" =: _ccsClusterIdentifier] -instance ToHeaders CreateClusterSnapshot+-- | /See:/ 'createClusterSnapshotResponse' smart constructor.+data CreateClusterSnapshotResponse = CreateClusterSnapshotResponse'+    { _crersSnapshot :: !(Maybe Snapshot)+    , _crersStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateClusterSnapshot where-    type Sv CreateClusterSnapshot = Redshift-    type Rs CreateClusterSnapshot = CreateClusterSnapshotResponse+-- | Creates a value of 'CreateClusterSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crersSnapshot'+--+-- * 'crersStatus'+createClusterSnapshotResponse+    :: Int -- ^ 'crersStatus'+    -> CreateClusterSnapshotResponse+createClusterSnapshotResponse pStatus_ =+    CreateClusterSnapshotResponse'+    { _crersSnapshot = Nothing+    , _crersStatus = pStatus_+    } -    request  = post "CreateClusterSnapshot"-    response = xmlResponse+-- | Undocumented member.+crersSnapshot :: Lens' CreateClusterSnapshotResponse (Maybe Snapshot)+crersSnapshot = lens _crersSnapshot (\ s a -> s{_crersSnapshot = a}); -instance FromXML CreateClusterSnapshotResponse where-    parseXML = withElement "CreateClusterSnapshotResult" $ \x -> CreateClusterSnapshotResponse-        <$> x .@? "Snapshot"+-- | The response status code.+crersStatus :: Lens' CreateClusterSnapshotResponse Int+crersStatus = lens _crersStatus (\ s a -> s{_crersStatus = a});
gen/Network/AWS/Redshift/CreateClusterSubnetGroup.hs view
@@ -1,153 +1,173 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.CreateClusterSubnetGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a new Amazon Redshift subnet group. You must provide a list of one--- or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC)--- when creating Amazon Redshift subnet group.+-- Creates a new Amazon Redshift subnet group. You must provide a list of+-- one or more subnets in your existing Amazon Virtual Private Cloud+-- (Amazon VPC) when creating Amazon Redshift subnet group. ----- For information about subnet groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html Amazon Redshift Cluster SubnetGroups> in the /Amazon Redshift Cluster Management Guide/.+-- For information about subnet groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html Amazon Redshift Cluster Subnet Groups>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSubnetGroup.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSubnetGroup.html AWS API Reference> for CreateClusterSubnetGroup. module Network.AWS.Redshift.CreateClusterSubnetGroup     (-    -- * Request-      CreateClusterSubnetGroup-    -- ** Request constructor-    , createClusterSubnetGroup-    -- ** Request lenses+    -- * Creating a Request+      createClusterSubnetGroup+    , CreateClusterSubnetGroup+    -- * Request Lenses+    , ccsgTags     , ccsgClusterSubnetGroupName     , ccsgDescription     , ccsgSubnetIds-    , ccsgTags -    -- * Response-    , CreateClusterSubnetGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createClusterSubnetGroupResponse-    -- ** Response lenses-    , ccsgrClusterSubnetGroup+    , CreateClusterSubnetGroupResponse+    -- * Response Lenses+    , ccsgrsClusterSubnetGroup+    , ccsgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CreateClusterSubnetGroup = CreateClusterSubnetGroup-    { _ccsgClusterSubnetGroupName :: Text-    , _ccsgDescription            :: Text-    , _ccsgSubnetIds              :: List "member" Text-    , _ccsgTags                   :: List "member" Tag-    } deriving (Eq, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CreateClusterSubnetGroup' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createClusterSubnetGroup' smart constructor.+data CreateClusterSubnetGroup = CreateClusterSubnetGroup'+    { _ccsgTags                   :: !(Maybe [Tag])+    , _ccsgClusterSubnetGroupName :: !Text+    , _ccsgDescription            :: !Text+    , _ccsgSubnetIds              :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateClusterSubnetGroup' with the minimum fields required to make a request. ----- * 'ccsgClusterSubnetGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ccsgDescription' @::@ 'Text'+-- * 'ccsgTags' ----- * 'ccsgSubnetIds' @::@ ['Text']+-- * 'ccsgClusterSubnetGroupName' ----- * 'ccsgTags' @::@ ['Tag']+-- * 'ccsgDescription' ---createClusterSubnetGroup :: Text -- ^ 'ccsgClusterSubnetGroupName'-                         -> Text -- ^ 'ccsgDescription'-                         -> CreateClusterSubnetGroup-createClusterSubnetGroup p1 p2 = CreateClusterSubnetGroup-    { _ccsgClusterSubnetGroupName = p1-    , _ccsgDescription            = p2-    , _ccsgSubnetIds              = mempty-    , _ccsgTags                   = mempty+-- * 'ccsgSubnetIds'+createClusterSubnetGroup+    :: Text -- ^ 'ccsgClusterSubnetGroupName'+    -> Text -- ^ 'ccsgDescription'+    -> CreateClusterSubnetGroup+createClusterSubnetGroup pClusterSubnetGroupName_ pDescription_ =+    CreateClusterSubnetGroup'+    { _ccsgTags = Nothing+    , _ccsgClusterSubnetGroupName = pClusterSubnetGroupName_+    , _ccsgDescription = pDescription_+    , _ccsgSubnetIds = mempty     } +-- | A list of tag instances.+ccsgTags :: Lens' CreateClusterSubnetGroup [Tag]+ccsgTags = lens _ccsgTags (\ s a -> s{_ccsgTags = a}) . _Default . _Coerce;+ -- | The name for the subnet group. Amazon Redshift stores the value as a -- lowercase string. -- -- Constraints: ----- Must contain no more than 255 alphanumeric characters or hyphens. Must not--- be "Default". Must be unique for all subnet groups that are created by your--- AWS account.  Example: 'examplesubnetgroup'+-- -   Must contain no more than 255 alphanumeric characters or hyphens.+-- -   Must not be \"Default\".+-- -   Must be unique for all subnet groups that are created by your AWS+--     account.+--+-- Example: 'examplesubnetgroup' ccsgClusterSubnetGroupName :: Lens' CreateClusterSubnetGroup Text-ccsgClusterSubnetGroupName =-    lens _ccsgClusterSubnetGroupName-        (\s a -> s { _ccsgClusterSubnetGroupName = a })+ccsgClusterSubnetGroupName = lens _ccsgClusterSubnetGroupName (\ s a -> s{_ccsgClusterSubnetGroupName = a});  -- | A description for the subnet group. ccsgDescription :: Lens' CreateClusterSubnetGroup Text-ccsgDescription = lens _ccsgDescription (\s a -> s { _ccsgDescription = a })+ccsgDescription = lens _ccsgDescription (\ s a -> s{_ccsgDescription = a});  -- | An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a -- single request. ccsgSubnetIds :: Lens' CreateClusterSubnetGroup [Text]-ccsgSubnetIds = lens _ccsgSubnetIds (\s a -> s { _ccsgSubnetIds = a }) . _List---- | A list of tag instances.-ccsgTags :: Lens' CreateClusterSubnetGroup [Tag]-ccsgTags = lens _ccsgTags (\s a -> s { _ccsgTags = a }) . _List--newtype CreateClusterSubnetGroupResponse = CreateClusterSubnetGroupResponse-    { _ccsgrClusterSubnetGroup :: Maybe ClusterSubnetGroup-    } deriving (Eq, Read, Show)+ccsgSubnetIds = lens _ccsgSubnetIds (\ s a -> s{_ccsgSubnetIds = a}) . _Coerce; --- | 'CreateClusterSubnetGroupResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ccsgrClusterSubnetGroup' @::@ 'Maybe' 'ClusterSubnetGroup'----createClusterSubnetGroupResponse :: CreateClusterSubnetGroupResponse-createClusterSubnetGroupResponse = CreateClusterSubnetGroupResponse-    { _ccsgrClusterSubnetGroup = Nothing-    }+instance AWSRequest CreateClusterSubnetGroup where+        type Sv CreateClusterSubnetGroup = Redshift+        type Rs CreateClusterSubnetGroup =+             CreateClusterSubnetGroupResponse+        request = postQuery+        response+          = receiveXMLWrapper "CreateClusterSubnetGroupResult"+              (\ s h x ->+                 CreateClusterSubnetGroupResponse' <$>+                   (x .@? "ClusterSubnetGroup") <*> (pure (fromEnum s))) -ccsgrClusterSubnetGroup :: Lens' CreateClusterSubnetGroupResponse (Maybe ClusterSubnetGroup)-ccsgrClusterSubnetGroup =-    lens _ccsgrClusterSubnetGroup (\s a -> s { _ccsgrClusterSubnetGroup = a })+instance ToHeaders CreateClusterSubnetGroup where+        toHeaders = const mempty  instance ToPath CreateClusterSubnetGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateClusterSubnetGroup where-    toQuery CreateClusterSubnetGroup{..} = mconcat-        [ "ClusterSubnetGroupName" =? _ccsgClusterSubnetGroupName-        , "Description"            =? _ccsgDescription-        , "SubnetIds"              =? _ccsgSubnetIds-        , "Tags"                   =? _ccsgTags-        ]+        toQuery CreateClusterSubnetGroup'{..}+          = mconcat+              ["Action" =:+                 ("CreateClusterSubnetGroup" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "Tags" =: toQuery (toQueryList "Tag" <$> _ccsgTags),+               "ClusterSubnetGroupName" =:+                 _ccsgClusterSubnetGroupName,+               "Description" =: _ccsgDescription,+               "SubnetIds" =:+                 toQueryList "SubnetIdentifier" _ccsgSubnetIds] -instance ToHeaders CreateClusterSubnetGroup+-- | /See:/ 'createClusterSubnetGroupResponse' smart constructor.+data CreateClusterSubnetGroupResponse = CreateClusterSubnetGroupResponse'+    { _ccsgrsClusterSubnetGroup :: !(Maybe ClusterSubnetGroup)+    , _ccsgrsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateClusterSubnetGroup where-    type Sv CreateClusterSubnetGroup = Redshift-    type Rs CreateClusterSubnetGroup = CreateClusterSubnetGroupResponse+-- | Creates a value of 'CreateClusterSubnetGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccsgrsClusterSubnetGroup'+--+-- * 'ccsgrsStatus'+createClusterSubnetGroupResponse+    :: Int -- ^ 'ccsgrsStatus'+    -> CreateClusterSubnetGroupResponse+createClusterSubnetGroupResponse pStatus_ =+    CreateClusterSubnetGroupResponse'+    { _ccsgrsClusterSubnetGroup = Nothing+    , _ccsgrsStatus = pStatus_+    } -    request  = post "CreateClusterSubnetGroup"-    response = xmlResponse+-- | Undocumented member.+ccsgrsClusterSubnetGroup :: Lens' CreateClusterSubnetGroupResponse (Maybe ClusterSubnetGroup)+ccsgrsClusterSubnetGroup = lens _ccsgrsClusterSubnetGroup (\ s a -> s{_ccsgrsClusterSubnetGroup = a}); -instance FromXML CreateClusterSubnetGroupResponse where-    parseXML = withElement "CreateClusterSubnetGroupResult" $ \x -> CreateClusterSubnetGroupResponse-        <$> x .@? "ClusterSubnetGroup"+-- | The response status code.+ccsgrsStatus :: Lens' CreateClusterSubnetGroupResponse Int+ccsgrsStatus = lens _ccsgrsStatus (\ s a -> s{_ccsgrsStatus = a});
gen/Network/AWS/Redshift/CreateEventSubscription.hs view
@@ -1,233 +1,252 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.CreateEventSubscription--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an Amazon Redshift event notification subscription. This action+-- Creates an Amazon Redshift event notification subscription. This action -- requires an ARN (Amazon Resource Name) of an Amazon SNS topic created by--- either the Amazon Redshift console, the Amazon SNS console, or the Amazon SNS--- API. To obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS--- and subscribe to the topic. The ARN is displayed in the SNS console.+-- either the Amazon Redshift console, the Amazon SNS console, or the+-- Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a+-- topic in Amazon SNS and subscribe to the topic. The ARN is displayed in+-- the SNS console. ----- You can specify the source type, and lists of Amazon Redshift source IDs,--- event categories, and event severities. Notifications will be sent for all--- events you want that match those criteria. For example, you can specify--- source type = cluster, source ID = my-cluster-1 and mycluster2, event--- categories = Availability, Backup, and severity = ERROR. The subscription--- will only send notifications for those ERROR events in the Availability and--- Backup categories for the specified clusters.+-- You can specify the source type, and lists of Amazon Redshift source+-- IDs, event categories, and event severities. Notifications will be sent+-- for all events you want that match those criteria. For example, you can+-- specify source type = cluster, source ID = my-cluster-1 and mycluster2,+-- event categories = Availability, Backup, and severity = ERROR. The+-- subscription will only send notifications for those ERROR events in the+-- Availability and Backup categories for the specified clusters. ----- If you specify both the source type and source IDs, such as source type =--- cluster and source identifier = my-cluster-1, notifications will be sent for--- all the cluster events for my-cluster-1. If you specify a source type but do--- not specify a source identifier, you will receive notice of the events for--- the objects of that type in your AWS account. If you do not specify either--- the SourceType nor the SourceIdentifier, you will be notified of events--- generated from all Amazon Redshift sources belonging to your AWS account. You--- must specify a source type if you specify a source ID.+-- If you specify both the source type and source IDs, such as source type+-- = cluster and source identifier = my-cluster-1, notifications will be+-- sent for all the cluster events for my-cluster-1. If you specify a+-- source type but do not specify a source identifier, you will receive+-- notice of the events for the objects of that type in your AWS account.+-- If you do not specify either the SourceType nor the SourceIdentifier,+-- you will be notified of events generated from all Amazon Redshift+-- sources belonging to your AWS account. You must specify a source type if+-- you specify a source ID. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateEventSubscription.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateEventSubscription.html AWS API Reference> for CreateEventSubscription. module Network.AWS.Redshift.CreateEventSubscription     (-    -- * Request-      CreateEventSubscription-    -- ** Request constructor-    , createEventSubscription-    -- ** Request lenses+    -- * Creating a Request+      createEventSubscription+    , CreateEventSubscription+    -- * Request Lenses     , cesEnabled-    , cesEventCategories+    , cesSourceType     , cesSeverity-    , cesSnsTopicArn+    , cesEventCategories     , cesSourceIds-    , cesSourceType-    , cesSubscriptionName     , cesTags+    , cesSubscriptionName+    , cesSNSTopicARN -    -- * Response-    , CreateEventSubscriptionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createEventSubscriptionResponse-    -- ** Response lenses-    , cesrEventSubscription+    , CreateEventSubscriptionResponse+    -- * Response Lenses+    , cesrsEventSubscription+    , cesrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CreateEventSubscription = CreateEventSubscription-    { _cesEnabled          :: Maybe Bool-    , _cesEventCategories  :: List "member" Text-    , _cesSeverity         :: Maybe Text-    , _cesSnsTopicArn      :: Text-    , _cesSourceIds        :: List "member" Text-    , _cesSourceType       :: Maybe Text-    , _cesSubscriptionName :: Text-    , _cesTags             :: List "member" Tag-    } deriving (Eq, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CreateEventSubscription' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createEventSubscription' smart constructor.+data CreateEventSubscription = CreateEventSubscription'+    { _cesEnabled          :: !(Maybe Bool)+    , _cesSourceType       :: !(Maybe Text)+    , _cesSeverity         :: !(Maybe Text)+    , _cesEventCategories  :: !(Maybe [Text])+    , _cesSourceIds        :: !(Maybe [Text])+    , _cesTags             :: !(Maybe [Tag])+    , _cesSubscriptionName :: !Text+    , _cesSNSTopicARN      :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateEventSubscription' with the minimum fields required to make a request. ----- * 'cesEnabled' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'cesEventCategories' @::@ ['Text']+-- * 'cesEnabled' ----- * 'cesSeverity' @::@ 'Maybe' 'Text'+-- * 'cesSourceType' ----- * 'cesSnsTopicArn' @::@ 'Text'+-- * 'cesSeverity' ----- * 'cesSourceIds' @::@ ['Text']+-- * 'cesEventCategories' ----- * 'cesSourceType' @::@ 'Maybe' 'Text'+-- * 'cesSourceIds' ----- * 'cesSubscriptionName' @::@ 'Text'+-- * 'cesTags' ----- * 'cesTags' @::@ ['Tag']+-- * 'cesSubscriptionName' ---createEventSubscription :: Text -- ^ 'cesSubscriptionName'-                        -> Text -- ^ 'cesSnsTopicArn'-                        -> CreateEventSubscription-createEventSubscription p1 p2 = CreateEventSubscription-    { _cesSubscriptionName = p1-    , _cesSnsTopicArn      = p2-    , _cesSourceType       = Nothing-    , _cesSourceIds        = mempty-    , _cesEventCategories  = mempty-    , _cesSeverity         = Nothing-    , _cesEnabled          = Nothing-    , _cesTags             = mempty+-- * 'cesSNSTopicARN'+createEventSubscription+    :: Text -- ^ 'cesSubscriptionName'+    -> Text -- ^ 'cesSNSTopicARN'+    -> CreateEventSubscription+createEventSubscription pSubscriptionName_ pSNSTopicARN_ =+    CreateEventSubscription'+    { _cesEnabled = Nothing+    , _cesSourceType = Nothing+    , _cesSeverity = Nothing+    , _cesEventCategories = Nothing+    , _cesSourceIds = Nothing+    , _cesTags = Nothing+    , _cesSubscriptionName = pSubscriptionName_+    , _cesSNSTopicARN = pSNSTopicARN_     } --- | A Boolean value; set to 'true' to activate the subscription, set to 'false' to--- create the subscription but not active it.+-- | A Boolean value; set to 'true' to activate the subscription, set to+-- 'false' to create the subscription but not active it. cesEnabled :: Lens' CreateEventSubscription (Maybe Bool)-cesEnabled = lens _cesEnabled (\s a -> s { _cesEnabled = a })+cesEnabled = lens _cesEnabled (\ s a -> s{_cesEnabled = a}); --- | Specifies the Amazon Redshift event categories to be published by the event--- notification subscription.+-- | The type of source that will be generating the events. For example, if+-- you want to be notified of events generated by a cluster, you would set+-- this parameter to cluster. If this value is not specified, events are+-- returned for all Amazon Redshift objects in your AWS account. You must+-- specify a source type in order to specify source IDs. ----- Values: Configuration, Management, Monitoring, Security-cesEventCategories :: Lens' CreateEventSubscription [Text]-cesEventCategories =-    lens _cesEventCategories (\s a -> s { _cesEventCategories = a })-        . _List+-- Valid values: cluster, cluster-parameter-group, cluster-security-group,+-- and cluster-snapshot.+cesSourceType :: Lens' CreateEventSubscription (Maybe Text)+cesSourceType = lens _cesSourceType (\ s a -> s{_cesSourceType = a}); --- | Specifies the Amazon Redshift event severity to be published by the event--- notification subscription.+-- | Specifies the Amazon Redshift event severity to be published by the+-- event notification subscription. -- -- Values: ERROR, INFO cesSeverity :: Lens' CreateEventSubscription (Maybe Text)-cesSeverity = lens _cesSeverity (\s a -> s { _cesSeverity = a })+cesSeverity = lens _cesSeverity (\ s a -> s{_cesSeverity = a}); --- | The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the--- event notifications. The ARN is created by Amazon SNS when you create a topic--- and subscribe to it.-cesSnsTopicArn :: Lens' CreateEventSubscription Text-cesSnsTopicArn = lens _cesSnsTopicArn (\s a -> s { _cesSnsTopicArn = a })+-- | Specifies the Amazon Redshift event categories to be published by the+-- event notification subscription.+--+-- Values: Configuration, Management, Monitoring, Security+cesEventCategories :: Lens' CreateEventSubscription [Text]+cesEventCategories = lens _cesEventCategories (\ s a -> s{_cesEventCategories = a}) . _Default . _Coerce; --- | A list of one or more identifiers of Amazon Redshift source objects. All of--- the objects must be of the same type as was specified in the source type--- parameter. The event subscription will return only events generated by the--- specified objects. If not specified, then events are returned for all objects--- within the source type specified.+-- | A list of one or more identifiers of Amazon Redshift source objects. All+-- of the objects must be of the same type as was specified in the source+-- type parameter. The event subscription will return only events generated+-- by the specified objects. If not specified, then events are returned for+-- all objects within the source type specified. -- -- Example: my-cluster-1, my-cluster-2 -- -- Example: my-snapshot-20131010 cesSourceIds :: Lens' CreateEventSubscription [Text]-cesSourceIds = lens _cesSourceIds (\s a -> s { _cesSourceIds = a }) . _List+cesSourceIds = lens _cesSourceIds (\ s a -> s{_cesSourceIds = a}) . _Default . _Coerce; --- | The type of source that will be generating the events. For example, if you--- want to be notified of events generated by a cluster, you would set this--- parameter to cluster. If this value is not specified, events are returned for--- all Amazon Redshift objects in your AWS account. You must specify a source--- type in order to specify source IDs.------ Valid values: cluster, cluster-parameter-group, cluster-security-group, and--- cluster-snapshot.-cesSourceType :: Lens' CreateEventSubscription (Maybe Text)-cesSourceType = lens _cesSourceType (\s a -> s { _cesSourceType = a })+-- | A list of tag instances.+cesTags :: Lens' CreateEventSubscription [Tag]+cesTags = lens _cesTags (\ s a -> s{_cesTags = a}) . _Default . _Coerce;  -- | The name of the event subscription to be created. -- -- Constraints: ----- Cannot be null, empty, or blank. Must contain from 1 to 255 alphanumeric--- characters or hyphens. First character must be a letter. Cannot end with a--- hyphen or contain two consecutive hyphens.+-- -   Cannot be null, empty, or blank.+-- -   Must contain from 1 to 255 alphanumeric characters or hyphens.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens. cesSubscriptionName :: Lens' CreateEventSubscription Text-cesSubscriptionName =-    lens _cesSubscriptionName (\s a -> s { _cesSubscriptionName = a })---- | A list of tag instances.-cesTags :: Lens' CreateEventSubscription [Tag]-cesTags = lens _cesTags (\s a -> s { _cesTags = a }) . _List+cesSubscriptionName = lens _cesSubscriptionName (\ s a -> s{_cesSubscriptionName = a}); -newtype CreateEventSubscriptionResponse = CreateEventSubscriptionResponse-    { _cesrEventSubscription :: Maybe EventSubscription-    } deriving (Eq, Read, Show)+-- | The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit+-- the event notifications. The ARN is created by Amazon SNS when you+-- create a topic and subscribe to it.+cesSNSTopicARN :: Lens' CreateEventSubscription Text+cesSNSTopicARN = lens _cesSNSTopicARN (\ s a -> s{_cesSNSTopicARN = a}); --- | 'CreateEventSubscriptionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'cesrEventSubscription' @::@ 'Maybe' 'EventSubscription'----createEventSubscriptionResponse :: CreateEventSubscriptionResponse-createEventSubscriptionResponse = CreateEventSubscriptionResponse-    { _cesrEventSubscription = Nothing-    }+instance AWSRequest CreateEventSubscription where+        type Sv CreateEventSubscription = Redshift+        type Rs CreateEventSubscription =+             CreateEventSubscriptionResponse+        request = postQuery+        response+          = receiveXMLWrapper "CreateEventSubscriptionResult"+              (\ s h x ->+                 CreateEventSubscriptionResponse' <$>+                   (x .@? "EventSubscription") <*> (pure (fromEnum s))) -cesrEventSubscription :: Lens' CreateEventSubscriptionResponse (Maybe EventSubscription)-cesrEventSubscription =-    lens _cesrEventSubscription (\s a -> s { _cesrEventSubscription = a })+instance ToHeaders CreateEventSubscription where+        toHeaders = const mempty  instance ToPath CreateEventSubscription where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateEventSubscription where-    toQuery CreateEventSubscription{..} = mconcat-        [ "Enabled"          =? _cesEnabled-        , "EventCategories"  =? _cesEventCategories-        , "Severity"         =? _cesSeverity-        , "SnsTopicArn"      =? _cesSnsTopicArn-        , "SourceIds"        =? _cesSourceIds-        , "SourceType"       =? _cesSourceType-        , "SubscriptionName" =? _cesSubscriptionName-        , "Tags"             =? _cesTags-        ]+        toQuery CreateEventSubscription'{..}+          = mconcat+              ["Action" =:+                 ("CreateEventSubscription" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "Enabled" =: _cesEnabled,+               "SourceType" =: _cesSourceType,+               "Severity" =: _cesSeverity,+               "EventCategories" =:+                 toQuery+                   (toQueryList "EventCategory" <$>+                      _cesEventCategories),+               "SourceIds" =:+                 toQuery (toQueryList "SourceId" <$> _cesSourceIds),+               "Tags" =: toQuery (toQueryList "Tag" <$> _cesTags),+               "SubscriptionName" =: _cesSubscriptionName,+               "SnsTopicArn" =: _cesSNSTopicARN] -instance ToHeaders CreateEventSubscription+-- | /See:/ 'createEventSubscriptionResponse' smart constructor.+data CreateEventSubscriptionResponse = CreateEventSubscriptionResponse'+    { _cesrsEventSubscription :: !(Maybe EventSubscription)+    , _cesrsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest CreateEventSubscription where-    type Sv CreateEventSubscription = Redshift-    type Rs CreateEventSubscription = CreateEventSubscriptionResponse+-- | Creates a value of 'CreateEventSubscriptionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cesrsEventSubscription'+--+-- * 'cesrsStatus'+createEventSubscriptionResponse+    :: Int -- ^ 'cesrsStatus'+    -> CreateEventSubscriptionResponse+createEventSubscriptionResponse pStatus_ =+    CreateEventSubscriptionResponse'+    { _cesrsEventSubscription = Nothing+    , _cesrsStatus = pStatus_+    } -    request  = post "CreateEventSubscription"-    response = xmlResponse+-- | Undocumented member.+cesrsEventSubscription :: Lens' CreateEventSubscriptionResponse (Maybe EventSubscription)+cesrsEventSubscription = lens _cesrsEventSubscription (\ s a -> s{_cesrsEventSubscription = a}); -instance FromXML CreateEventSubscriptionResponse where-    parseXML = withElement "CreateEventSubscriptionResult" $ \x -> CreateEventSubscriptionResponse-        <$> x .@? "EventSubscription"+-- | The response status code.+cesrsStatus :: Lens' CreateEventSubscriptionResponse Int+cesrsStatus = lens _cesrsStatus (\ s a -> s{_cesrsStatus = a});
+ gen/Network/AWS/Redshift/CreateHSMClientCertificate.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.CreateHSMClientCertificate+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an HSM client certificate that an Amazon Redshift cluster will+-- use to connect to the client\'s HSM in order to store and retrieve the+-- keys used to encrypt the cluster databases.+--+-- The command returns a public key, which you must store in the HSM. In+-- addition to creating the HSM certificate, you must create an Amazon+-- Redshift HSM configuration that provides a cluster the information+-- needed to store and use encryption keys in the HSM. For more+-- information, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html Hardware Security Modules>+-- in the Amazon Redshift Cluster Management Guide.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateHSMClientCertificate.html AWS API Reference> for CreateHSMClientCertificate.+module Network.AWS.Redshift.CreateHSMClientCertificate+    (+    -- * Creating a Request+      createHSMClientCertificate+    , CreateHSMClientCertificate+    -- * Request Lenses+    , chccTags+    , chccHSMClientCertificateIdentifier++    -- * Destructuring the Response+    , createHSMClientCertificateResponse+    , CreateHSMClientCertificateResponse+    -- * Response Lenses+    , chccrsHSMClientCertificate+    , chccrsStatus+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response++-- |+--+-- /See:/ 'createHSMClientCertificate' smart constructor.+data CreateHSMClientCertificate = CreateHSMClientCertificate'+    { _chccTags                           :: !(Maybe [Tag])+    , _chccHSMClientCertificateIdentifier :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateHSMClientCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'chccTags'+--+-- * 'chccHSMClientCertificateIdentifier'+createHSMClientCertificate+    :: Text -- ^ 'chccHSMClientCertificateIdentifier'+    -> CreateHSMClientCertificate+createHSMClientCertificate pHSMClientCertificateIdentifier_ =+    CreateHSMClientCertificate'+    { _chccTags = Nothing+    , _chccHSMClientCertificateIdentifier = pHSMClientCertificateIdentifier_+    }++-- | A list of tag instances.+chccTags :: Lens' CreateHSMClientCertificate [Tag]+chccTags = lens _chccTags (\ s a -> s{_chccTags = a}) . _Default . _Coerce;++-- | The identifier to be assigned to the new HSM client certificate that the+-- cluster will use to connect to the HSM to use the database encryption+-- keys.+chccHSMClientCertificateIdentifier :: Lens' CreateHSMClientCertificate Text+chccHSMClientCertificateIdentifier = lens _chccHSMClientCertificateIdentifier (\ s a -> s{_chccHSMClientCertificateIdentifier = a});++instance AWSRequest CreateHSMClientCertificate where+        type Sv CreateHSMClientCertificate = Redshift+        type Rs CreateHSMClientCertificate =+             CreateHSMClientCertificateResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "CreateHsmClientCertificateResult"+              (\ s h x ->+                 CreateHSMClientCertificateResponse' <$>+                   (x .@? "HsmClientCertificate") <*>+                     (pure (fromEnum s)))++instance ToHeaders CreateHSMClientCertificate where+        toHeaders = const mempty++instance ToPath CreateHSMClientCertificate where+        toPath = const "/"++instance ToQuery CreateHSMClientCertificate where+        toQuery CreateHSMClientCertificate'{..}+          = mconcat+              ["Action" =:+                 ("CreateHsmClientCertificate" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "Tags" =: toQuery (toQueryList "Tag" <$> _chccTags),+               "HsmClientCertificateIdentifier" =:+                 _chccHSMClientCertificateIdentifier]++-- | /See:/ 'createHSMClientCertificateResponse' smart constructor.+data CreateHSMClientCertificateResponse = CreateHSMClientCertificateResponse'+    { _chccrsHSMClientCertificate :: !(Maybe HSMClientCertificate)+    , _chccrsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateHSMClientCertificateResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'chccrsHSMClientCertificate'+--+-- * 'chccrsStatus'+createHSMClientCertificateResponse+    :: Int -- ^ 'chccrsStatus'+    -> CreateHSMClientCertificateResponse+createHSMClientCertificateResponse pStatus_ =+    CreateHSMClientCertificateResponse'+    { _chccrsHSMClientCertificate = Nothing+    , _chccrsStatus = pStatus_+    }++-- | Undocumented member.+chccrsHSMClientCertificate :: Lens' CreateHSMClientCertificateResponse (Maybe HSMClientCertificate)+chccrsHSMClientCertificate = lens _chccrsHSMClientCertificate (\ s a -> s{_chccrsHSMClientCertificate = a});++-- | The response status code.+chccrsStatus :: Lens' CreateHSMClientCertificateResponse Int+chccrsStatus = lens _chccrsStatus (\ s a -> s{_chccrsStatus = a});
+ gen/Network/AWS/Redshift/CreateHSMConfiguration.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.CreateHSMConfiguration+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an HSM configuration that contains the information required by+-- an Amazon Redshift cluster to store and use database encryption keys in+-- a Hardware Security Module (HSM). After creating the HSM configuration,+-- you can specify it as a parameter when creating a cluster. The cluster+-- will then store its encryption keys in the HSM.+--+-- In addition to creating an HSM configuration, you must also create an+-- HSM client certificate. For more information, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html Hardware Security Modules>+-- in the Amazon Redshift Cluster Management Guide.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateHSMConfiguration.html AWS API Reference> for CreateHSMConfiguration.+module Network.AWS.Redshift.CreateHSMConfiguration+    (+    -- * Creating a Request+      createHSMConfiguration+    , CreateHSMConfiguration+    -- * Request Lenses+    , chcTags+    , chcHSMConfigurationIdentifier+    , chcDescription+    , chcHSMIPAddress+    , chcHSMPartitionName+    , chcHSMPartitionPassword+    , chcHSMServerPublicCertificate++    -- * Destructuring the Response+    , createHSMConfigurationResponse+    , CreateHSMConfigurationResponse+    -- * Response Lenses+    , chcrsHSMConfiguration+    , chcrsStatus+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response++-- |+--+-- /See:/ 'createHSMConfiguration' smart constructor.+data CreateHSMConfiguration = CreateHSMConfiguration'+    { _chcTags                       :: !(Maybe [Tag])+    , _chcHSMConfigurationIdentifier :: !Text+    , _chcDescription                :: !Text+    , _chcHSMIPAddress               :: !Text+    , _chcHSMPartitionName           :: !Text+    , _chcHSMPartitionPassword       :: !Text+    , _chcHSMServerPublicCertificate :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateHSMConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'chcTags'+--+-- * 'chcHSMConfigurationIdentifier'+--+-- * 'chcDescription'+--+-- * 'chcHSMIPAddress'+--+-- * 'chcHSMPartitionName'+--+-- * 'chcHSMPartitionPassword'+--+-- * 'chcHSMServerPublicCertificate'+createHSMConfiguration+    :: Text -- ^ 'chcHSMConfigurationIdentifier'+    -> Text -- ^ 'chcDescription'+    -> Text -- ^ 'chcHSMIPAddress'+    -> Text -- ^ 'chcHSMPartitionName'+    -> Text -- ^ 'chcHSMPartitionPassword'+    -> Text -- ^ 'chcHSMServerPublicCertificate'+    -> CreateHSMConfiguration+createHSMConfiguration pHSMConfigurationIdentifier_ pDescription_ pHSMIPAddress_ pHSMPartitionName_ pHSMPartitionPassword_ pHSMServerPublicCertificate_ =+    CreateHSMConfiguration'+    { _chcTags = Nothing+    , _chcHSMConfigurationIdentifier = pHSMConfigurationIdentifier_+    , _chcDescription = pDescription_+    , _chcHSMIPAddress = pHSMIPAddress_+    , _chcHSMPartitionName = pHSMPartitionName_+    , _chcHSMPartitionPassword = pHSMPartitionPassword_+    , _chcHSMServerPublicCertificate = pHSMServerPublicCertificate_+    }++-- | A list of tag instances.+chcTags :: Lens' CreateHSMConfiguration [Tag]+chcTags = lens _chcTags (\ s a -> s{_chcTags = a}) . _Default . _Coerce;++-- | The identifier to be assigned to the new Amazon Redshift HSM+-- configuration.+chcHSMConfigurationIdentifier :: Lens' CreateHSMConfiguration Text+chcHSMConfigurationIdentifier = lens _chcHSMConfigurationIdentifier (\ s a -> s{_chcHSMConfigurationIdentifier = a});++-- | A text description of the HSM configuration to be created.+chcDescription :: Lens' CreateHSMConfiguration Text+chcDescription = lens _chcDescription (\ s a -> s{_chcDescription = a});++-- | The IP address that the Amazon Redshift cluster must use to access the+-- HSM.+chcHSMIPAddress :: Lens' CreateHSMConfiguration Text+chcHSMIPAddress = lens _chcHSMIPAddress (\ s a -> s{_chcHSMIPAddress = a});++-- | The name of the partition in the HSM where the Amazon Redshift clusters+-- will store their database encryption keys.+chcHSMPartitionName :: Lens' CreateHSMConfiguration Text+chcHSMPartitionName = lens _chcHSMPartitionName (\ s a -> s{_chcHSMPartitionName = a});++-- | The password required to access the HSM partition.+chcHSMPartitionPassword :: Lens' CreateHSMConfiguration Text+chcHSMPartitionPassword = lens _chcHSMPartitionPassword (\ s a -> s{_chcHSMPartitionPassword = a});++-- | The HSMs public certificate file. When using Cloud HSM, the file name is+-- server.pem.+chcHSMServerPublicCertificate :: Lens' CreateHSMConfiguration Text+chcHSMServerPublicCertificate = lens _chcHSMServerPublicCertificate (\ s a -> s{_chcHSMServerPublicCertificate = a});++instance AWSRequest CreateHSMConfiguration where+        type Sv CreateHSMConfiguration = Redshift+        type Rs CreateHSMConfiguration =+             CreateHSMConfigurationResponse+        request = postQuery+        response+          = receiveXMLWrapper "CreateHsmConfigurationResult"+              (\ s h x ->+                 CreateHSMConfigurationResponse' <$>+                   (x .@? "HsmConfiguration") <*> (pure (fromEnum s)))++instance ToHeaders CreateHSMConfiguration where+        toHeaders = const mempty++instance ToPath CreateHSMConfiguration where+        toPath = const "/"++instance ToQuery CreateHSMConfiguration where+        toQuery CreateHSMConfiguration'{..}+          = mconcat+              ["Action" =:+                 ("CreateHsmConfiguration" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "Tags" =: toQuery (toQueryList "Tag" <$> _chcTags),+               "HsmConfigurationIdentifier" =:+                 _chcHSMConfigurationIdentifier,+               "Description" =: _chcDescription,+               "HsmIpAddress" =: _chcHSMIPAddress,+               "HsmPartitionName" =: _chcHSMPartitionName,+               "HsmPartitionPassword" =: _chcHSMPartitionPassword,+               "HsmServerPublicCertificate" =:+                 _chcHSMServerPublicCertificate]++-- | /See:/ 'createHSMConfigurationResponse' smart constructor.+data CreateHSMConfigurationResponse = CreateHSMConfigurationResponse'+    { _chcrsHSMConfiguration :: !(Maybe HSMConfiguration)+    , _chcrsStatus           :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateHSMConfigurationResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'chcrsHSMConfiguration'+--+-- * 'chcrsStatus'+createHSMConfigurationResponse+    :: Int -- ^ 'chcrsStatus'+    -> CreateHSMConfigurationResponse+createHSMConfigurationResponse pStatus_ =+    CreateHSMConfigurationResponse'+    { _chcrsHSMConfiguration = Nothing+    , _chcrsStatus = pStatus_+    }++-- | Undocumented member.+chcrsHSMConfiguration :: Lens' CreateHSMConfigurationResponse (Maybe HSMConfiguration)+chcrsHSMConfiguration = lens _chcrsHSMConfiguration (\ s a -> s{_chcrsHSMConfiguration = a});++-- | The response status code.+chcrsStatus :: Lens' CreateHSMConfigurationResponse Int+chcrsStatus = lens _chcrsStatus (\ s a -> s{_chcrsStatus = a});
− gen/Network/AWS/Redshift/CreateHsmClientCertificate.hs
@@ -1,129 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.Redshift.CreateHsmClientCertificate--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an HSM client certificate that an Amazon Redshift cluster will use to--- connect to the client's HSM in order to store and retrieve the keys used to--- encrypt the cluster databases.------ The command returns a public key, which you must store in the HSM. In--- addition to creating the HSM certificate, you must create an Amazon Redshift--- HSM configuration that provides a cluster the information needed to store and--- use encryption keys in the HSM. For more information, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html Hardware SecurityModules> in the Amazon Redshift Cluster Management Guide.------ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateHsmClientCertificate.html>-module Network.AWS.Redshift.CreateHsmClientCertificate-    (-    -- * Request-      CreateHsmClientCertificate-    -- ** Request constructor-    , createHsmClientCertificate-    -- ** Request lenses-    , chccHsmClientCertificateIdentifier-    , chccTags--    -- * Response-    , CreateHsmClientCertificateResponse-    -- ** Response constructor-    , createHsmClientCertificateResponse-    -- ** Response lenses-    , chccrHsmClientCertificate-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CreateHsmClientCertificate = CreateHsmClientCertificate-    { _chccHsmClientCertificateIdentifier :: Text-    , _chccTags                           :: List "member" Tag-    } deriving (Eq, Read, Show)---- | 'CreateHsmClientCertificate' constructor.------ The fields accessible through corresponding lenses are:------ * 'chccHsmClientCertificateIdentifier' @::@ 'Text'------ * 'chccTags' @::@ ['Tag']----createHsmClientCertificate :: Text -- ^ 'chccHsmClientCertificateIdentifier'-                           -> CreateHsmClientCertificate-createHsmClientCertificate p1 = CreateHsmClientCertificate-    { _chccHsmClientCertificateIdentifier = p1-    , _chccTags                           = mempty-    }---- | The identifier to be assigned to the new HSM client certificate that the--- cluster will use to connect to the HSM to use the database encryption keys.-chccHsmClientCertificateIdentifier :: Lens' CreateHsmClientCertificate Text-chccHsmClientCertificateIdentifier =-    lens _chccHsmClientCertificateIdentifier-        (\s a -> s { _chccHsmClientCertificateIdentifier = a })---- | A list of tag instances.-chccTags :: Lens' CreateHsmClientCertificate [Tag]-chccTags = lens _chccTags (\s a -> s { _chccTags = a }) . _List--newtype CreateHsmClientCertificateResponse = CreateHsmClientCertificateResponse-    { _chccrHsmClientCertificate :: Maybe HsmClientCertificate-    } deriving (Eq, Read, Show)---- | 'CreateHsmClientCertificateResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'chccrHsmClientCertificate' @::@ 'Maybe' 'HsmClientCertificate'----createHsmClientCertificateResponse :: CreateHsmClientCertificateResponse-createHsmClientCertificateResponse = CreateHsmClientCertificateResponse-    { _chccrHsmClientCertificate = Nothing-    }--chccrHsmClientCertificate :: Lens' CreateHsmClientCertificateResponse (Maybe HsmClientCertificate)-chccrHsmClientCertificate =-    lens _chccrHsmClientCertificate-        (\s a -> s { _chccrHsmClientCertificate = a })--instance ToPath CreateHsmClientCertificate where-    toPath = const "/"--instance ToQuery CreateHsmClientCertificate where-    toQuery CreateHsmClientCertificate{..} = mconcat-        [ "HsmClientCertificateIdentifier" =? _chccHsmClientCertificateIdentifier-        , "Tags"                           =? _chccTags-        ]--instance ToHeaders CreateHsmClientCertificate--instance AWSRequest CreateHsmClientCertificate where-    type Sv CreateHsmClientCertificate = Redshift-    type Rs CreateHsmClientCertificate = CreateHsmClientCertificateResponse--    request  = post "CreateHsmClientCertificate"-    response = xmlResponse--instance FromXML CreateHsmClientCertificateResponse where-    parseXML = withElement "CreateHsmClientCertificateResult" $ \x -> CreateHsmClientCertificateResponse-        <$> x .@? "HsmClientCertificate"
− gen/Network/AWS/Redshift/CreateHsmConfiguration.hs
@@ -1,189 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.Redshift.CreateHsmConfiguration--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates an HSM configuration that contains the information required by an--- Amazon Redshift cluster to store and use database encryption keys in a--- Hardware Security Module (HSM). After creating the HSM configuration, you can--- specify it as a parameter when creating a cluster. The cluster will then--- store its encryption keys in the HSM.------ In addition to creating an HSM configuration, you must also create an HSM--- client certificate. For more information, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html Hardware Security Modules> in--- the Amazon Redshift Cluster Management Guide.------ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateHsmConfiguration.html>-module Network.AWS.Redshift.CreateHsmConfiguration-    (-    -- * Request-      CreateHsmConfiguration-    -- ** Request constructor-    , createHsmConfiguration-    -- ** Request lenses-    , chcDescription-    , chcHsmConfigurationIdentifier-    , chcHsmIpAddress-    , chcHsmPartitionName-    , chcHsmPartitionPassword-    , chcHsmServerPublicCertificate-    , chcTags--    -- * Response-    , CreateHsmConfigurationResponse-    -- ** Response constructor-    , createHsmConfigurationResponse-    -- ** Response lenses-    , chcrHsmConfiguration-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CreateHsmConfiguration = CreateHsmConfiguration-    { _chcDescription                :: Text-    , _chcHsmConfigurationIdentifier :: Text-    , _chcHsmIpAddress               :: Text-    , _chcHsmPartitionName           :: Text-    , _chcHsmPartitionPassword       :: Text-    , _chcHsmServerPublicCertificate :: Text-    , _chcTags                       :: List "member" Tag-    } deriving (Eq, Read, Show)---- | 'CreateHsmConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'chcDescription' @::@ 'Text'------ * 'chcHsmConfigurationIdentifier' @::@ 'Text'------ * 'chcHsmIpAddress' @::@ 'Text'------ * 'chcHsmPartitionName' @::@ 'Text'------ * 'chcHsmPartitionPassword' @::@ 'Text'------ * 'chcHsmServerPublicCertificate' @::@ 'Text'------ * 'chcTags' @::@ ['Tag']----createHsmConfiguration :: Text -- ^ 'chcHsmConfigurationIdentifier'-                       -> Text -- ^ 'chcDescription'-                       -> Text -- ^ 'chcHsmIpAddress'-                       -> Text -- ^ 'chcHsmPartitionName'-                       -> Text -- ^ 'chcHsmPartitionPassword'-                       -> Text -- ^ 'chcHsmServerPublicCertificate'-                       -> CreateHsmConfiguration-createHsmConfiguration p1 p2 p3 p4 p5 p6 = CreateHsmConfiguration-    { _chcHsmConfigurationIdentifier = p1-    , _chcDescription                = p2-    , _chcHsmIpAddress               = p3-    , _chcHsmPartitionName           = p4-    , _chcHsmPartitionPassword       = p5-    , _chcHsmServerPublicCertificate = p6-    , _chcTags                       = mempty-    }---- | A text description of the HSM configuration to be created.-chcDescription :: Lens' CreateHsmConfiguration Text-chcDescription = lens _chcDescription (\s a -> s { _chcDescription = a })---- | The identifier to be assigned to the new Amazon Redshift HSM configuration.-chcHsmConfigurationIdentifier :: Lens' CreateHsmConfiguration Text-chcHsmConfigurationIdentifier =-    lens _chcHsmConfigurationIdentifier-        (\s a -> s { _chcHsmConfigurationIdentifier = a })---- | The IP address that the Amazon Redshift cluster must use to access the HSM.-chcHsmIpAddress :: Lens' CreateHsmConfiguration Text-chcHsmIpAddress = lens _chcHsmIpAddress (\s a -> s { _chcHsmIpAddress = a })---- | The name of the partition in the HSM where the Amazon Redshift clusters will--- store their database encryption keys.-chcHsmPartitionName :: Lens' CreateHsmConfiguration Text-chcHsmPartitionName =-    lens _chcHsmPartitionName (\s a -> s { _chcHsmPartitionName = a })---- | The password required to access the HSM partition.-chcHsmPartitionPassword :: Lens' CreateHsmConfiguration Text-chcHsmPartitionPassword =-    lens _chcHsmPartitionPassword (\s a -> s { _chcHsmPartitionPassword = a })---- | The HSMs public certificate file. When using Cloud HSM, the file name is--- server.pem.-chcHsmServerPublicCertificate :: Lens' CreateHsmConfiguration Text-chcHsmServerPublicCertificate =-    lens _chcHsmServerPublicCertificate-        (\s a -> s { _chcHsmServerPublicCertificate = a })---- | A list of tag instances.-chcTags :: Lens' CreateHsmConfiguration [Tag]-chcTags = lens _chcTags (\s a -> s { _chcTags = a }) . _List--newtype CreateHsmConfigurationResponse = CreateHsmConfigurationResponse-    { _chcrHsmConfiguration :: Maybe HsmConfiguration-    } deriving (Eq, Read, Show)---- | 'CreateHsmConfigurationResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'chcrHsmConfiguration' @::@ 'Maybe' 'HsmConfiguration'----createHsmConfigurationResponse :: CreateHsmConfigurationResponse-createHsmConfigurationResponse = CreateHsmConfigurationResponse-    { _chcrHsmConfiguration = Nothing-    }--chcrHsmConfiguration :: Lens' CreateHsmConfigurationResponse (Maybe HsmConfiguration)-chcrHsmConfiguration =-    lens _chcrHsmConfiguration (\s a -> s { _chcrHsmConfiguration = a })--instance ToPath CreateHsmConfiguration where-    toPath = const "/"--instance ToQuery CreateHsmConfiguration where-    toQuery CreateHsmConfiguration{..} = mconcat-        [ "Description"                =? _chcDescription-        , "HsmConfigurationIdentifier" =? _chcHsmConfigurationIdentifier-        , "HsmIpAddress"               =? _chcHsmIpAddress-        , "HsmPartitionName"           =? _chcHsmPartitionName-        , "HsmPartitionPassword"       =? _chcHsmPartitionPassword-        , "HsmServerPublicCertificate" =? _chcHsmServerPublicCertificate-        , "Tags"                       =? _chcTags-        ]--instance ToHeaders CreateHsmConfiguration--instance AWSRequest CreateHsmConfiguration where-    type Sv CreateHsmConfiguration = Redshift-    type Rs CreateHsmConfiguration = CreateHsmConfigurationResponse--    request  = post "CreateHsmConfiguration"-    response = xmlResponse--instance FromXML CreateHsmConfigurationResponse where-    parseXML = withElement "CreateHsmConfigurationResult" $ \x -> CreateHsmConfigurationResponse-        <$> x .@? "HsmConfiguration"
+ gen/Network/AWS/Redshift/CreateSnapshotCopyGrant.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.CreateSnapshotCopyGrant+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a snapshot copy grant that permits Amazon Redshift to use a+-- customer master key (CMK) from AWS Key Management Service (AWS KMS) to+-- encrypt copied snapshots in a destination region.+--+-- For more information about managing snapshot copy grants, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html Amazon Redshift Database Encryption>+-- in the /Amazon Redshift Cluster Management Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateSnapshotCopyGrant.html AWS API Reference> for CreateSnapshotCopyGrant.+module Network.AWS.Redshift.CreateSnapshotCopyGrant+    (+    -- * Creating a Request+      createSnapshotCopyGrant+    , CreateSnapshotCopyGrant+    -- * Request Lenses+    , cscgKMSKeyId+    , cscgTags+    , cscgSnapshotCopyGrantName++    -- * Destructuring the Response+    , createSnapshotCopyGrantResponse+    , CreateSnapshotCopyGrantResponse+    -- * Response Lenses+    , cscgrsSnapshotCopyGrant+    , cscgrsStatus+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response++-- | The result of the 'CreateSnapshotCopyGrant' action.+--+-- /See:/ 'createSnapshotCopyGrant' smart constructor.+data CreateSnapshotCopyGrant = CreateSnapshotCopyGrant'+    { _cscgKMSKeyId              :: !(Maybe Text)+    , _cscgTags                  :: !(Maybe [Tag])+    , _cscgSnapshotCopyGrantName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateSnapshotCopyGrant' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cscgKMSKeyId'+--+-- * 'cscgTags'+--+-- * 'cscgSnapshotCopyGrantName'+createSnapshotCopyGrant+    :: Text -- ^ 'cscgSnapshotCopyGrantName'+    -> CreateSnapshotCopyGrant+createSnapshotCopyGrant pSnapshotCopyGrantName_ =+    CreateSnapshotCopyGrant'+    { _cscgKMSKeyId = Nothing+    , _cscgTags = Nothing+    , _cscgSnapshotCopyGrantName = pSnapshotCopyGrantName_+    }++-- | The unique identifier of the customer master key (CMK) to which to grant+-- Amazon Redshift permission. If no key is specified, the default key is+-- used.+cscgKMSKeyId :: Lens' CreateSnapshotCopyGrant (Maybe Text)+cscgKMSKeyId = lens _cscgKMSKeyId (\ s a -> s{_cscgKMSKeyId = a});++-- | A list of tag instances.+cscgTags :: Lens' CreateSnapshotCopyGrant [Tag]+cscgTags = lens _cscgTags (\ s a -> s{_cscgTags = a}) . _Default . _Coerce;++-- | The name of the snapshot copy grant. This name must be unique in the+-- region for the AWS account.+--+-- Constraints:+--+-- -   Must contain from 1 to 63 alphanumeric characters or hyphens.+-- -   Alphabetic characters must be lowercase.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+-- -   Must be unique for all clusters within an AWS account.+cscgSnapshotCopyGrantName :: Lens' CreateSnapshotCopyGrant Text+cscgSnapshotCopyGrantName = lens _cscgSnapshotCopyGrantName (\ s a -> s{_cscgSnapshotCopyGrantName = a});++instance AWSRequest CreateSnapshotCopyGrant where+        type Sv CreateSnapshotCopyGrant = Redshift+        type Rs CreateSnapshotCopyGrant =+             CreateSnapshotCopyGrantResponse+        request = postQuery+        response+          = receiveXMLWrapper "CreateSnapshotCopyGrantResult"+              (\ s h x ->+                 CreateSnapshotCopyGrantResponse' <$>+                   (x .@? "SnapshotCopyGrant") <*> (pure (fromEnum s)))++instance ToHeaders CreateSnapshotCopyGrant where+        toHeaders = const mempty++instance ToPath CreateSnapshotCopyGrant where+        toPath = const "/"++instance ToQuery CreateSnapshotCopyGrant where+        toQuery CreateSnapshotCopyGrant'{..}+          = mconcat+              ["Action" =:+                 ("CreateSnapshotCopyGrant" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "KmsKeyId" =: _cscgKMSKeyId,+               "Tags" =: toQuery (toQueryList "Tag" <$> _cscgTags),+               "SnapshotCopyGrantName" =:+                 _cscgSnapshotCopyGrantName]++-- | /See:/ 'createSnapshotCopyGrantResponse' smart constructor.+data CreateSnapshotCopyGrantResponse = CreateSnapshotCopyGrantResponse'+    { _cscgrsSnapshotCopyGrant :: !(Maybe SnapshotCopyGrant)+    , _cscgrsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateSnapshotCopyGrantResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cscgrsSnapshotCopyGrant'+--+-- * 'cscgrsStatus'+createSnapshotCopyGrantResponse+    :: Int -- ^ 'cscgrsStatus'+    -> CreateSnapshotCopyGrantResponse+createSnapshotCopyGrantResponse pStatus_ =+    CreateSnapshotCopyGrantResponse'+    { _cscgrsSnapshotCopyGrant = Nothing+    , _cscgrsStatus = pStatus_+    }++-- | Undocumented member.+cscgrsSnapshotCopyGrant :: Lens' CreateSnapshotCopyGrantResponse (Maybe SnapshotCopyGrant)+cscgrsSnapshotCopyGrant = lens _cscgrsSnapshotCopyGrant (\ s a -> s{_cscgrsSnapshotCopyGrant = a});++-- | The response status code.+cscgrsStatus :: Lens' CreateSnapshotCopyGrantResponse Int+cscgrsStatus = lens _cscgrsStatus (\ s a -> s{_cscgrsStatus = a});
gen/Network/AWS/Redshift/CreateTags.hs view
@@ -1,111 +1,118 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.CreateTags--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Adds one or more tags to a specified resource.+-- Adds one or more tags to a specified resource. ----- A resource can have up to 10 tags. If you try to create more than 10 tags--- for a resource, you will receive an error and the attempt will fail.+-- A resource can have up to 10 tags. If you try to create more than 10+-- tags for a resource, you will receive an error and the attempt will+-- fail. -- -- If you specify a key that already exists for the resource, the value for -- that key will be updated with the new value. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateTags.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateTags.html AWS API Reference> for CreateTags. module Network.AWS.Redshift.CreateTags     (-    -- * Request-      CreateTags-    -- ** Request constructor-    , createTags-    -- ** Request lenses+    -- * Creating a Request+      createTags+    , CreateTags+    -- * Request Lenses     , ctResourceName     , ctTags -    -- * Response-    , CreateTagsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , createTagsResponse+    , CreateTagsResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data CreateTags = CreateTags-    { _ctResourceName :: Text-    , _ctTags         :: List "member" Tag-    } deriving (Eq, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'CreateTags' constructor.+-- | Contains the output from the 'CreateTags' action. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'createTags' smart constructor.+data CreateTags = CreateTags'+    { _ctResourceName :: !Text+    , _ctTags         :: ![Tag]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateTags' with the minimum fields required to make a request. ----- * 'ctResourceName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ctTags' @::@ ['Tag']+-- * 'ctResourceName' ---createTags :: Text -- ^ 'ctResourceName'-           -> CreateTags-createTags p1 = CreateTags-    { _ctResourceName = p1-    , _ctTags         = mempty+-- * 'ctTags'+createTags+    :: Text -- ^ 'ctResourceName'+    -> CreateTags+createTags pResourceName_ =+    CreateTags'+    { _ctResourceName = pResourceName_+    , _ctTags = mempty     } --- | The Amazon Resource Name (ARN) to which you want to add the tag or tags. For--- example, 'arn:aws:redshift:us-east-1:123456789:cluster:t1'.+-- | The Amazon Resource Name (ARN) to which you want to add the tag or tags.+-- For example, 'arn:aws:redshift:us-east-1:123456789:cluster:t1'. ctResourceName :: Lens' CreateTags Text-ctResourceName = lens _ctResourceName (\s a -> s { _ctResourceName = a })+ctResourceName = lens _ctResourceName (\ s a -> s{_ctResourceName = a}); --- | One or more name/value pairs to add as tags to the specified resource. Each--- tag name is passed in with the parameter 'tag-key' and the corresponding value--- is passed in with the parameter 'tag-value'. The 'tag-key' and 'tag-value'--- parameters are separated by a colon (:). Separate multiple tags with a space.--- For example, '--tags "tag-key"="owner":"tag-value"="admin""tag-key"="environment":"tag-value"="test""tag-key"="version":"tag-value"="1.0"'.+-- | One or more name\/value pairs to add as tags to the specified resource.+-- Each tag name is passed in with the parameter 'Key' and the+-- corresponding value is passed in with the parameter 'Value'. The 'Key'+-- and 'Value' parameters are separated by a comma (,). Separate multiple+-- tags with a space. For example,+-- '--tags \"Key\"=\"owner\",\"Value\"=\"admin\" \"Key\"=\"environment\",\"Value\"=\"test\" \"Key\"=\"version\",\"Value\"=\"1.0\"'. ctTags :: Lens' CreateTags [Tag]-ctTags = lens _ctTags (\s a -> s { _ctTags = a }) . _List+ctTags = lens _ctTags (\ s a -> s{_ctTags = a}) . _Coerce; -data CreateTagsResponse = CreateTagsResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest CreateTags where+        type Sv CreateTags = Redshift+        type Rs CreateTags = CreateTagsResponse+        request = postQuery+        response = receiveNull CreateTagsResponse' --- | 'CreateTagsResponse' constructor.-createTagsResponse :: CreateTagsResponse-createTagsResponse = CreateTagsResponse+instance ToHeaders CreateTags where+        toHeaders = const mempty  instance ToPath CreateTags where-    toPath = const "/"+        toPath = const "/"  instance ToQuery CreateTags where-    toQuery CreateTags{..} = mconcat-        [ "ResourceName" =? _ctResourceName-        , "Tags"         =? _ctTags-        ]--instance ToHeaders CreateTags+        toQuery CreateTags'{..}+          = mconcat+              ["Action" =: ("CreateTags" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ResourceName" =: _ctResourceName,+               "Tags" =: toQueryList "Tag" _ctTags] -instance AWSRequest CreateTags where-    type Sv CreateTags = Redshift-    type Rs CreateTags = CreateTagsResponse+-- | /See:/ 'createTagsResponse' smart constructor.+data CreateTagsResponse =+    CreateTagsResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "CreateTags"-    response = nullResponse CreateTagsResponse+-- | Creates a value of 'CreateTagsResponse' with the minimum fields required to make a request.+--+createTagsResponse+    :: CreateTagsResponse+createTagsResponse = CreateTagsResponse'
gen/Network/AWS/Redshift/DeleteCluster.hs view
@@ -1,161 +1,184 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DeleteCluster--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes a previously provisioned cluster. A successful response from the web--- service indicates that the request was received correctly. Use 'DescribeClusters' to monitor the status of the deletion. The delete operation cannot be--- canceled or reverted once submitted. For more information about managing--- clusters, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters> in the /Amazon Redshift ClusterManagement Guide/ .+-- Deletes a previously provisioned cluster. A successful response from the+-- web service indicates that the request was received correctly. Use+-- DescribeClusters to monitor the status of the deletion. The delete+-- operation cannot be canceled or reverted once submitted. For more+-- information about managing clusters, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters>+-- in the /Amazon Redshift Cluster Management Guide/ . ----- If you want to shut down the cluster and retain it for future use, set /SkipFinalClusterSnapshot/ to 'false' and specify a name for /FinalClusterSnapshotIdentifier/. You can--- later restore this snapshot to resume using the cluster. If a final cluster--- snapshot is requested, the status of the cluster will be "final-snapshot"--- while the snapshot is being taken, then it's "deleting" once Amazon Redshift--- begins deleting the cluster.+-- If you want to shut down the cluster and retain it for future use, set+-- /SkipFinalClusterSnapshot/ to 'false' and specify a name for+-- /FinalClusterSnapshotIdentifier/. You can later restore this snapshot to+-- resume using the cluster. If a final cluster snapshot is requested, the+-- status of the cluster will be \"final-snapshot\" while the snapshot is+-- being taken, then it\'s \"deleting\" once Amazon Redshift begins+-- deleting the cluster. ----- For more information about managing clusters, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters>+-- For more information about managing clusters, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters> -- in the /Amazon Redshift Cluster Management Guide/ . ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteCluster.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteCluster.html AWS API Reference> for DeleteCluster. module Network.AWS.Redshift.DeleteCluster     (-    -- * Request-      DeleteCluster-    -- ** Request constructor-    , deleteCluster-    -- ** Request lenses-    , dc1ClusterIdentifier-    , dc1FinalClusterSnapshotIdentifier-    , dc1SkipFinalClusterSnapshot+    -- * Creating a Request+      deleteCluster+    , DeleteCluster+    -- * Request Lenses+    , dSkipFinalClusterSnapshot+    , dFinalClusterSnapshotIdentifier+    , dClusterIdentifier -    -- * Response-    , DeleteClusterResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteClusterResponse-    -- ** Response lenses-    , dcrCluster+    , DeleteClusterResponse+    -- * Response Lenses+    , drsCluster+    , drsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DeleteCluster = DeleteCluster-    { _dc1ClusterIdentifier              :: Text-    , _dc1FinalClusterSnapshotIdentifier :: Maybe Text-    , _dc1SkipFinalClusterSnapshot       :: Maybe Bool-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DeleteCluster' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deleteCluster' smart constructor.+data DeleteCluster = DeleteCluster'+    { _dSkipFinalClusterSnapshot       :: !(Maybe Bool)+    , _dFinalClusterSnapshotIdentifier :: !(Maybe Text)+    , _dClusterIdentifier              :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteCluster' with the minimum fields required to make a request. ----- * 'dc1ClusterIdentifier' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dc1FinalClusterSnapshotIdentifier' @::@ 'Maybe' 'Text'+-- * 'dSkipFinalClusterSnapshot' ----- * 'dc1SkipFinalClusterSnapshot' @::@ 'Maybe' 'Bool'+-- * 'dFinalClusterSnapshotIdentifier' ---deleteCluster :: Text -- ^ 'dc1ClusterIdentifier'-              -> DeleteCluster-deleteCluster p1 = DeleteCluster-    { _dc1ClusterIdentifier              = p1-    , _dc1SkipFinalClusterSnapshot       = Nothing-    , _dc1FinalClusterSnapshotIdentifier = Nothing+-- * 'dClusterIdentifier'+deleteCluster+    :: Text -- ^ 'dClusterIdentifier'+    -> DeleteCluster+deleteCluster pClusterIdentifier_ =+    DeleteCluster'+    { _dSkipFinalClusterSnapshot = Nothing+    , _dFinalClusterSnapshotIdentifier = Nothing+    , _dClusterIdentifier = pClusterIdentifier_     } --- | The identifier of the cluster to be deleted.+-- | Determines whether a final snapshot of the cluster is created before+-- Amazon Redshift deletes the cluster. If 'true', a final cluster snapshot+-- is not created. If 'false', a final cluster snapshot is created before+-- the cluster is deleted. ----- Constraints:+-- The /FinalClusterSnapshotIdentifier/ parameter must be specified if+-- /SkipFinalClusterSnapshot/ is 'false'. ----- Must contain lowercase characters. Must contain from 1 to 63 alphanumeric--- characters or hyphens. First character must be a letter. Cannot end with a--- hyphen or contain two consecutive hyphens.-dc1ClusterIdentifier :: Lens' DeleteCluster Text-dc1ClusterIdentifier =-    lens _dc1ClusterIdentifier (\s a -> s { _dc1ClusterIdentifier = a })+-- Default: 'false'+dSkipFinalClusterSnapshot :: Lens' DeleteCluster (Maybe Bool)+dSkipFinalClusterSnapshot = lens _dSkipFinalClusterSnapshot (\ s a -> s{_dSkipFinalClusterSnapshot = a});  -- | The identifier of the final snapshot that is to be created immediately--- before deleting the cluster. If this parameter is provided, /SkipFinalClusterSnapshot/ must be 'false'.+-- before deleting the cluster. If this parameter is provided,+-- /SkipFinalClusterSnapshot/ must be 'false'. -- -- Constraints: ----- Must be 1 to 255 alphanumeric characters. First character must be a letter.--- Cannot end with a hyphen or contain two consecutive hyphens.-dc1FinalClusterSnapshotIdentifier :: Lens' DeleteCluster (Maybe Text)-dc1FinalClusterSnapshotIdentifier =-    lens _dc1FinalClusterSnapshotIdentifier-        (\s a -> s { _dc1FinalClusterSnapshotIdentifier = a })---- | Determines whether a final snapshot of the cluster is created before Amazon--- Redshift deletes the cluster. If 'true', a final cluster snapshot is not--- created. If 'false', a final cluster snapshot is created before the cluster is--- deleted.------ The /FinalClusterSnapshotIdentifier/ parameter must be specified if /SkipFinalClusterSnapshot/ is 'false'. Default: 'false'-dc1SkipFinalClusterSnapshot :: Lens' DeleteCluster (Maybe Bool)-dc1SkipFinalClusterSnapshot =-    lens _dc1SkipFinalClusterSnapshot-        (\s a -> s { _dc1SkipFinalClusterSnapshot = a })--newtype DeleteClusterResponse = DeleteClusterResponse-    { _dcrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+-- -   Must be 1 to 255 alphanumeric characters.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+dFinalClusterSnapshotIdentifier :: Lens' DeleteCluster (Maybe Text)+dFinalClusterSnapshotIdentifier = lens _dFinalClusterSnapshotIdentifier (\ s a -> s{_dFinalClusterSnapshotIdentifier = a}); --- | 'DeleteClusterResponse' constructor.------ The fields accessible through corresponding lenses are:+-- | The identifier of the cluster to be deleted. ----- * 'dcrCluster' @::@ 'Maybe' 'Cluster'+-- Constraints: ---deleteClusterResponse :: DeleteClusterResponse-deleteClusterResponse = DeleteClusterResponse-    { _dcrCluster = Nothing-    }+-- -   Must contain lowercase characters.+-- -   Must contain from 1 to 63 alphanumeric characters or hyphens.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+dClusterIdentifier :: Lens' DeleteCluster Text+dClusterIdentifier = lens _dClusterIdentifier (\ s a -> s{_dClusterIdentifier = a}); -dcrCluster :: Lens' DeleteClusterResponse (Maybe Cluster)-dcrCluster = lens _dcrCluster (\s a -> s { _dcrCluster = a })+instance AWSRequest DeleteCluster where+        type Sv DeleteCluster = Redshift+        type Rs DeleteCluster = DeleteClusterResponse+        request = postQuery+        response+          = receiveXMLWrapper "DeleteClusterResult"+              (\ s h x ->+                 DeleteClusterResponse' <$>+                   (x .@? "Cluster") <*> (pure (fromEnum s))) +instance ToHeaders DeleteCluster where+        toHeaders = const mempty+ instance ToPath DeleteCluster where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteCluster where-    toQuery DeleteCluster{..} = mconcat-        [ "ClusterIdentifier"              =? _dc1ClusterIdentifier-        , "FinalClusterSnapshotIdentifier" =? _dc1FinalClusterSnapshotIdentifier-        , "SkipFinalClusterSnapshot"       =? _dc1SkipFinalClusterSnapshot-        ]+        toQuery DeleteCluster'{..}+          = mconcat+              ["Action" =: ("DeleteCluster" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SkipFinalClusterSnapshot" =:+                 _dSkipFinalClusterSnapshot,+               "FinalClusterSnapshotIdentifier" =:+                 _dFinalClusterSnapshotIdentifier,+               "ClusterIdentifier" =: _dClusterIdentifier] -instance ToHeaders DeleteCluster+-- | /See:/ 'deleteClusterResponse' smart constructor.+data DeleteClusterResponse = DeleteClusterResponse'+    { _drsCluster :: !(Maybe Cluster)+    , _drsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DeleteCluster where-    type Sv DeleteCluster = Redshift-    type Rs DeleteCluster = DeleteClusterResponse+-- | Creates a value of 'DeleteClusterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsCluster'+--+-- * 'drsStatus'+deleteClusterResponse+    :: Int -- ^ 'drsStatus'+    -> DeleteClusterResponse+deleteClusterResponse pStatus_ =+    DeleteClusterResponse'+    { _drsCluster = Nothing+    , _drsStatus = pStatus_+    } -    request  = post "DeleteCluster"-    response = xmlResponse+-- | Undocumented member.+drsCluster :: Lens' DeleteClusterResponse (Maybe Cluster)+drsCluster = lens _drsCluster (\ s a -> s{_drsCluster = a}); -instance FromXML DeleteClusterResponse where-    parseXML = withElement "DeleteClusterResult" $ \x -> DeleteClusterResponse-        <$> x .@? "Cluster"+-- | The response status code.+drsStatus :: Lens' DeleteClusterResponse Int+drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});
gen/Network/AWS/Redshift/DeleteClusterParameterGroup.hs view
@@ -1,97 +1,104 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DeleteClusterParameterGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes a specified Amazon Redshift parameter group. You cannot delete a--- parameter group if it is associated with a cluster.+-- Deletes a specified Amazon Redshift parameter group.+-- You cannot delete a parameter group if it is associated with a cluster. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteClusterParameterGroup.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteClusterParameterGroup.html AWS API Reference> for DeleteClusterParameterGroup. module Network.AWS.Redshift.DeleteClusterParameterGroup     (-    -- * Request-      DeleteClusterParameterGroup-    -- ** Request constructor-    , deleteClusterParameterGroup-    -- ** Request lenses-    , dcpg1ParameterGroupName+    -- * Creating a Request+      deleteClusterParameterGroup+    , DeleteClusterParameterGroup+    -- * Request Lenses+    , dParameterGroupName -    -- * Response-    , DeleteClusterParameterGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteClusterParameterGroupResponse+    , DeleteClusterParameterGroupResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--newtype DeleteClusterParameterGroup = DeleteClusterParameterGroup-    { _dcpg1ParameterGroupName :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DeleteClusterParameterGroup' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deleteClusterParameterGroup' smart constructor.+newtype DeleteClusterParameterGroup = DeleteClusterParameterGroup'+    { _dParameterGroupName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteClusterParameterGroup' with the minimum fields required to make a request. ----- * 'dcpg1ParameterGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteClusterParameterGroup :: Text -- ^ 'dcpg1ParameterGroupName'-                            -> DeleteClusterParameterGroup-deleteClusterParameterGroup p1 = DeleteClusterParameterGroup-    { _dcpg1ParameterGroupName = p1+-- * 'dParameterGroupName'+deleteClusterParameterGroup+    :: Text -- ^ 'dParameterGroupName'+    -> DeleteClusterParameterGroup+deleteClusterParameterGroup pParameterGroupName_ =+    DeleteClusterParameterGroup'+    { _dParameterGroupName = pParameterGroupName_     }  -- | The name of the parameter group to be deleted. -- -- Constraints: ----- Must be the name of an existing cluster parameter group. Cannot delete a--- default cluster parameter group.-dcpg1ParameterGroupName :: Lens' DeleteClusterParameterGroup Text-dcpg1ParameterGroupName =-    lens _dcpg1ParameterGroupName (\s a -> s { _dcpg1ParameterGroupName = a })+-- -   Must be the name of an existing cluster parameter group.+-- -   Cannot delete a default cluster parameter group.+dParameterGroupName :: Lens' DeleteClusterParameterGroup Text+dParameterGroupName = lens _dParameterGroupName (\ s a -> s{_dParameterGroupName = a}); -data DeleteClusterParameterGroupResponse = DeleteClusterParameterGroupResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteClusterParameterGroup where+        type Sv DeleteClusterParameterGroup = Redshift+        type Rs DeleteClusterParameterGroup =+             DeleteClusterParameterGroupResponse+        request = postQuery+        response+          = receiveNull DeleteClusterParameterGroupResponse' --- | 'DeleteClusterParameterGroupResponse' constructor.-deleteClusterParameterGroupResponse :: DeleteClusterParameterGroupResponse-deleteClusterParameterGroupResponse = DeleteClusterParameterGroupResponse+instance ToHeaders DeleteClusterParameterGroup where+        toHeaders = const mempty  instance ToPath DeleteClusterParameterGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteClusterParameterGroup where-    toQuery DeleteClusterParameterGroup{..} = mconcat-        [ "ParameterGroupName" =? _dcpg1ParameterGroupName-        ]--instance ToHeaders DeleteClusterParameterGroup+        toQuery DeleteClusterParameterGroup'{..}+          = mconcat+              ["Action" =:+                 ("DeleteClusterParameterGroup" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ParameterGroupName" =: _dParameterGroupName] -instance AWSRequest DeleteClusterParameterGroup where-    type Sv DeleteClusterParameterGroup = Redshift-    type Rs DeleteClusterParameterGroup = DeleteClusterParameterGroupResponse+-- | /See:/ 'deleteClusterParameterGroupResponse' smart constructor.+data DeleteClusterParameterGroupResponse =+    DeleteClusterParameterGroupResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteClusterParameterGroup"-    response = nullResponse DeleteClusterParameterGroupResponse+-- | Creates a value of 'DeleteClusterParameterGroupResponse' with the minimum fields required to make a request.+--+deleteClusterParameterGroupResponse+    :: DeleteClusterParameterGroupResponse+deleteClusterParameterGroupResponse = DeleteClusterParameterGroupResponse'
gen/Network/AWS/Redshift/DeleteClusterSecurityGroup.hs view
@@ -1,96 +1,106 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DeleteClusterSecurityGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes an Amazon Redshift security group.+-- Deletes an Amazon Redshift security group. ----- You cannot delete a security group that is associated with any clusters. You--- cannot delete the default security group.  For information about managing--- security groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Amazon Redshift Cluster Security Groups> in the /AmazonRedshift Cluster Management Guide/.+-- You cannot delete a security group that is associated with any clusters.+-- You cannot delete the default security group. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteClusterSecurityGroup.html>+-- For information about managing security groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Amazon Redshift Cluster Security Groups>+-- in the /Amazon Redshift Cluster Management Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteClusterSecurityGroup.html AWS API Reference> for DeleteClusterSecurityGroup. module Network.AWS.Redshift.DeleteClusterSecurityGroup     (-    -- * Request-      DeleteClusterSecurityGroup-    -- ** Request constructor-    , deleteClusterSecurityGroup-    -- ** Request lenses-    , dcsg1ClusterSecurityGroupName+    -- * Creating a Request+      deleteClusterSecurityGroup+    , DeleteClusterSecurityGroup+    -- * Request Lenses+    , dClusterSecurityGroupName -    -- * Response-    , DeleteClusterSecurityGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteClusterSecurityGroupResponse+    , DeleteClusterSecurityGroupResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--newtype DeleteClusterSecurityGroup = DeleteClusterSecurityGroup-    { _dcsg1ClusterSecurityGroupName :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DeleteClusterSecurityGroup' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deleteClusterSecurityGroup' smart constructor.+newtype DeleteClusterSecurityGroup = DeleteClusterSecurityGroup'+    { _dClusterSecurityGroupName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteClusterSecurityGroup' with the minimum fields required to make a request. ----- * 'dcsg1ClusterSecurityGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteClusterSecurityGroup :: Text -- ^ 'dcsg1ClusterSecurityGroupName'-                           -> DeleteClusterSecurityGroup-deleteClusterSecurityGroup p1 = DeleteClusterSecurityGroup-    { _dcsg1ClusterSecurityGroupName = p1+-- * 'dClusterSecurityGroupName'+deleteClusterSecurityGroup+    :: Text -- ^ 'dClusterSecurityGroupName'+    -> DeleteClusterSecurityGroup+deleteClusterSecurityGroup pClusterSecurityGroupName_ =+    DeleteClusterSecurityGroup'+    { _dClusterSecurityGroupName = pClusterSecurityGroupName_     }  -- | The name of the cluster security group to be deleted.-dcsg1ClusterSecurityGroupName :: Lens' DeleteClusterSecurityGroup Text-dcsg1ClusterSecurityGroupName =-    lens _dcsg1ClusterSecurityGroupName-        (\s a -> s { _dcsg1ClusterSecurityGroupName = a })+dClusterSecurityGroupName :: Lens' DeleteClusterSecurityGroup Text+dClusterSecurityGroupName = lens _dClusterSecurityGroupName (\ s a -> s{_dClusterSecurityGroupName = a}); -data DeleteClusterSecurityGroupResponse = DeleteClusterSecurityGroupResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteClusterSecurityGroup where+        type Sv DeleteClusterSecurityGroup = Redshift+        type Rs DeleteClusterSecurityGroup =+             DeleteClusterSecurityGroupResponse+        request = postQuery+        response+          = receiveNull DeleteClusterSecurityGroupResponse' --- | 'DeleteClusterSecurityGroupResponse' constructor.-deleteClusterSecurityGroupResponse :: DeleteClusterSecurityGroupResponse-deleteClusterSecurityGroupResponse = DeleteClusterSecurityGroupResponse+instance ToHeaders DeleteClusterSecurityGroup where+        toHeaders = const mempty  instance ToPath DeleteClusterSecurityGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteClusterSecurityGroup where-    toQuery DeleteClusterSecurityGroup{..} = mconcat-        [ "ClusterSecurityGroupName" =? _dcsg1ClusterSecurityGroupName-        ]--instance ToHeaders DeleteClusterSecurityGroup+        toQuery DeleteClusterSecurityGroup'{..}+          = mconcat+              ["Action" =:+                 ("DeleteClusterSecurityGroup" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ClusterSecurityGroupName" =:+                 _dClusterSecurityGroupName] -instance AWSRequest DeleteClusterSecurityGroup where-    type Sv DeleteClusterSecurityGroup = Redshift-    type Rs DeleteClusterSecurityGroup = DeleteClusterSecurityGroupResponse+-- | /See:/ 'deleteClusterSecurityGroupResponse' smart constructor.+data DeleteClusterSecurityGroupResponse =+    DeleteClusterSecurityGroupResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteClusterSecurityGroup"-    response = nullResponse DeleteClusterSecurityGroupResponse+-- | Creates a value of 'DeleteClusterSecurityGroupResponse' with the minimum fields required to make a request.+--+deleteClusterSecurityGroupResponse+    :: DeleteClusterSecurityGroupResponse+deleteClusterSecurityGroupResponse = DeleteClusterSecurityGroupResponse'
gen/Network/AWS/Redshift/DeleteClusterSnapshot.hs view
@@ -1,133 +1,150 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DeleteClusterSnapshot--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified manual snapshot. The snapshot must be in the 'available'--- state, with no other users authorized to access the snapshot.+-- Deletes the specified manual snapshot. The snapshot must be in the+-- 'available' state, with no other users authorized to access the+-- snapshot. -- -- Unlike automated snapshots, manual snapshots are retained even after you--- delete your cluster. Amazon Redshift does not delete your manual snapshots.--- You must delete manual snapshot explicitly to avoid getting charged. If other--- accounts are authorized to access the snapshot, you must revoke all of the--- authorizations before you can delete the snapshot.+-- delete your cluster. Amazon Redshift does not delete your manual+-- snapshots. You must delete manual snapshot explicitly to avoid getting+-- charged. If other accounts are authorized to access the snapshot, you+-- must revoke all of the authorizations before you can delete the+-- snapshot. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteClusterSnapshot.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteClusterSnapshot.html AWS API Reference> for DeleteClusterSnapshot. module Network.AWS.Redshift.DeleteClusterSnapshot     (-    -- * Request-      DeleteClusterSnapshot-    -- ** Request constructor-    , deleteClusterSnapshot-    -- ** Request lenses+    -- * Creating a Request+      deleteClusterSnapshot+    , DeleteClusterSnapshot+    -- * Request Lenses     , dcsSnapshotClusterIdentifier     , dcsSnapshotIdentifier -    -- * Response-    , DeleteClusterSnapshotResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteClusterSnapshotResponse-    -- ** Response lenses-    , dcsrSnapshot+    , DeleteClusterSnapshotResponse+    -- * Response Lenses+    , dcsrsSnapshot+    , dcsrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DeleteClusterSnapshot = DeleteClusterSnapshot-    { _dcsSnapshotClusterIdentifier :: Maybe Text-    , _dcsSnapshotIdentifier        :: Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DeleteClusterSnapshot' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deleteClusterSnapshot' smart constructor.+data DeleteClusterSnapshot = DeleteClusterSnapshot'+    { _dcsSnapshotClusterIdentifier :: !(Maybe Text)+    , _dcsSnapshotIdentifier        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteClusterSnapshot' with the minimum fields required to make a request. ----- * 'dcsSnapshotClusterIdentifier' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcsSnapshotIdentifier' @::@ 'Text'+-- * 'dcsSnapshotClusterIdentifier' ---deleteClusterSnapshot :: Text -- ^ 'dcsSnapshotIdentifier'-                      -> DeleteClusterSnapshot-deleteClusterSnapshot p1 = DeleteClusterSnapshot-    { _dcsSnapshotIdentifier        = p1-    , _dcsSnapshotClusterIdentifier = Nothing+-- * 'dcsSnapshotIdentifier'+deleteClusterSnapshot+    :: Text -- ^ 'dcsSnapshotIdentifier'+    -> DeleteClusterSnapshot+deleteClusterSnapshot pSnapshotIdentifier_ =+    DeleteClusterSnapshot'+    { _dcsSnapshotClusterIdentifier = Nothing+    , _dcsSnapshotIdentifier = pSnapshotIdentifier_     }  -- | The unique identifier of the cluster the snapshot was created from. This--- parameter is required if your IAM user has a policy containing a snapshot--- resource element that specifies anything other than * for the cluster name.+-- parameter is required if your IAM user has a policy containing a+-- snapshot resource element that specifies anything other than * for the+-- cluster name. -- -- Constraints: Must be the name of valid cluster. dcsSnapshotClusterIdentifier :: Lens' DeleteClusterSnapshot (Maybe Text)-dcsSnapshotClusterIdentifier =-    lens _dcsSnapshotClusterIdentifier-        (\s a -> s { _dcsSnapshotClusterIdentifier = a })+dcsSnapshotClusterIdentifier = lens _dcsSnapshotClusterIdentifier (\ s a -> s{_dcsSnapshotClusterIdentifier = a});  -- | The unique identifier of the manual snapshot to be deleted. ----- Constraints: Must be the name of an existing snapshot that is in the 'available' state.+-- Constraints: Must be the name of an existing snapshot that is in the+-- 'available' state. dcsSnapshotIdentifier :: Lens' DeleteClusterSnapshot Text-dcsSnapshotIdentifier =-    lens _dcsSnapshotIdentifier (\s a -> s { _dcsSnapshotIdentifier = a })--newtype DeleteClusterSnapshotResponse = DeleteClusterSnapshotResponse-    { _dcsrSnapshot :: Maybe Snapshot-    } deriving (Eq, Read, Show)+dcsSnapshotIdentifier = lens _dcsSnapshotIdentifier (\ s a -> s{_dcsSnapshotIdentifier = a}); --- | 'DeleteClusterSnapshotResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcsrSnapshot' @::@ 'Maybe' 'Snapshot'----deleteClusterSnapshotResponse :: DeleteClusterSnapshotResponse-deleteClusterSnapshotResponse = DeleteClusterSnapshotResponse-    { _dcsrSnapshot = Nothing-    }+instance AWSRequest DeleteClusterSnapshot where+        type Sv DeleteClusterSnapshot = Redshift+        type Rs DeleteClusterSnapshot =+             DeleteClusterSnapshotResponse+        request = postQuery+        response+          = receiveXMLWrapper "DeleteClusterSnapshotResult"+              (\ s h x ->+                 DeleteClusterSnapshotResponse' <$>+                   (x .@? "Snapshot") <*> (pure (fromEnum s))) -dcsrSnapshot :: Lens' DeleteClusterSnapshotResponse (Maybe Snapshot)-dcsrSnapshot = lens _dcsrSnapshot (\s a -> s { _dcsrSnapshot = a })+instance ToHeaders DeleteClusterSnapshot where+        toHeaders = const mempty  instance ToPath DeleteClusterSnapshot where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteClusterSnapshot where-    toQuery DeleteClusterSnapshot{..} = mconcat-        [ "SnapshotClusterIdentifier" =? _dcsSnapshotClusterIdentifier-        , "SnapshotIdentifier"        =? _dcsSnapshotIdentifier-        ]+        toQuery DeleteClusterSnapshot'{..}+          = mconcat+              ["Action" =: ("DeleteClusterSnapshot" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SnapshotClusterIdentifier" =:+                 _dcsSnapshotClusterIdentifier,+               "SnapshotIdentifier" =: _dcsSnapshotIdentifier] -instance ToHeaders DeleteClusterSnapshot+-- | /See:/ 'deleteClusterSnapshotResponse' smart constructor.+data DeleteClusterSnapshotResponse = DeleteClusterSnapshotResponse'+    { _dcsrsSnapshot :: !(Maybe Snapshot)+    , _dcsrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DeleteClusterSnapshot where-    type Sv DeleteClusterSnapshot = Redshift-    type Rs DeleteClusterSnapshot = DeleteClusterSnapshotResponse+-- | Creates a value of 'DeleteClusterSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcsrsSnapshot'+--+-- * 'dcsrsStatus'+deleteClusterSnapshotResponse+    :: Int -- ^ 'dcsrsStatus'+    -> DeleteClusterSnapshotResponse+deleteClusterSnapshotResponse pStatus_ =+    DeleteClusterSnapshotResponse'+    { _dcsrsSnapshot = Nothing+    , _dcsrsStatus = pStatus_+    } -    request  = post "DeleteClusterSnapshot"-    response = xmlResponse+-- | Undocumented member.+dcsrsSnapshot :: Lens' DeleteClusterSnapshotResponse (Maybe Snapshot)+dcsrsSnapshot = lens _dcsrsSnapshot (\ s a -> s{_dcsrsSnapshot = a}); -instance FromXML DeleteClusterSnapshotResponse where-    parseXML = withElement "DeleteClusterSnapshotResult" $ \x -> DeleteClusterSnapshotResponse-        <$> x .@? "Snapshot"+-- | The response status code.+dcsrsStatus :: Lens' DeleteClusterSnapshotResponse Int+dcsrsStatus = lens _dcsrsStatus (\ s a -> s{_dcsrsStatus = a});
gen/Network/AWS/Redshift/DeleteClusterSubnetGroup.hs view
@@ -1,92 +1,97 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DeleteClusterSubnetGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified cluster subnet group.+-- Deletes the specified cluster subnet group. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteClusterSubnetGroup.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteClusterSubnetGroup.html AWS API Reference> for DeleteClusterSubnetGroup. module Network.AWS.Redshift.DeleteClusterSubnetGroup     (-    -- * Request-      DeleteClusterSubnetGroup-    -- ** Request constructor-    , deleteClusterSubnetGroup-    -- ** Request lenses+    -- * Creating a Request+      deleteClusterSubnetGroup+    , DeleteClusterSubnetGroup+    -- * Request Lenses     , dcsgClusterSubnetGroupName -    -- * Response-    , DeleteClusterSubnetGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteClusterSubnetGroupResponse+    , DeleteClusterSubnetGroupResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -newtype DeleteClusterSubnetGroup = DeleteClusterSubnetGroup+-- | /See:/ 'deleteClusterSubnetGroup' smart constructor.+newtype DeleteClusterSubnetGroup = DeleteClusterSubnetGroup'     { _dcsgClusterSubnetGroupName :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteClusterSubnetGroup' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteClusterSubnetGroup' with the minimum fields required to make a request. ----- * 'dcsgClusterSubnetGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteClusterSubnetGroup :: Text -- ^ 'dcsgClusterSubnetGroupName'-                         -> DeleteClusterSubnetGroup-deleteClusterSubnetGroup p1 = DeleteClusterSubnetGroup-    { _dcsgClusterSubnetGroupName = p1+-- * 'dcsgClusterSubnetGroupName'+deleteClusterSubnetGroup+    :: Text -- ^ 'dcsgClusterSubnetGroupName'+    -> DeleteClusterSubnetGroup+deleteClusterSubnetGroup pClusterSubnetGroupName_ =+    DeleteClusterSubnetGroup'+    { _dcsgClusterSubnetGroupName = pClusterSubnetGroupName_     }  -- | The name of the cluster subnet group name to be deleted. dcsgClusterSubnetGroupName :: Lens' DeleteClusterSubnetGroup Text-dcsgClusterSubnetGroupName =-    lens _dcsgClusterSubnetGroupName-        (\s a -> s { _dcsgClusterSubnetGroupName = a })+dcsgClusterSubnetGroupName = lens _dcsgClusterSubnetGroupName (\ s a -> s{_dcsgClusterSubnetGroupName = a}); -data DeleteClusterSubnetGroupResponse = DeleteClusterSubnetGroupResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteClusterSubnetGroup where+        type Sv DeleteClusterSubnetGroup = Redshift+        type Rs DeleteClusterSubnetGroup =+             DeleteClusterSubnetGroupResponse+        request = postQuery+        response+          = receiveNull DeleteClusterSubnetGroupResponse' --- | 'DeleteClusterSubnetGroupResponse' constructor.-deleteClusterSubnetGroupResponse :: DeleteClusterSubnetGroupResponse-deleteClusterSubnetGroupResponse = DeleteClusterSubnetGroupResponse+instance ToHeaders DeleteClusterSubnetGroup where+        toHeaders = const mempty  instance ToPath DeleteClusterSubnetGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteClusterSubnetGroup where-    toQuery DeleteClusterSubnetGroup{..} = mconcat-        [ "ClusterSubnetGroupName" =? _dcsgClusterSubnetGroupName-        ]--instance ToHeaders DeleteClusterSubnetGroup+        toQuery DeleteClusterSubnetGroup'{..}+          = mconcat+              ["Action" =:+                 ("DeleteClusterSubnetGroup" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ClusterSubnetGroupName" =:+                 _dcsgClusterSubnetGroupName] -instance AWSRequest DeleteClusterSubnetGroup where-    type Sv DeleteClusterSubnetGroup = Redshift-    type Rs DeleteClusterSubnetGroup = DeleteClusterSubnetGroupResponse+-- | /See:/ 'deleteClusterSubnetGroupResponse' smart constructor.+data DeleteClusterSubnetGroupResponse =+    DeleteClusterSubnetGroupResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteClusterSubnetGroup"-    response = nullResponse DeleteClusterSubnetGroupResponse+-- | Creates a value of 'DeleteClusterSubnetGroupResponse' with the minimum fields required to make a request.+--+deleteClusterSubnetGroupResponse+    :: DeleteClusterSubnetGroupResponse+deleteClusterSubnetGroupResponse = DeleteClusterSubnetGroupResponse'
gen/Network/AWS/Redshift/DeleteEventSubscription.hs view
@@ -1,91 +1,99 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DeleteEventSubscription--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes an Amazon Redshift event notification subscription.+-- Deletes an Amazon Redshift event notification subscription. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteEventSubscription.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteEventSubscription.html AWS API Reference> for DeleteEventSubscription. module Network.AWS.Redshift.DeleteEventSubscription     (-    -- * Request-      DeleteEventSubscription-    -- ** Request constructor-    , deleteEventSubscription-    -- ** Request lenses+    -- * Creating a Request+      deleteEventSubscription+    , DeleteEventSubscription+    -- * Request Lenses     , desSubscriptionName -    -- * Response-    , DeleteEventSubscriptionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteEventSubscriptionResponse+    , DeleteEventSubscriptionResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -newtype DeleteEventSubscription = DeleteEventSubscription+-- |+--+-- /See:/ 'deleteEventSubscription' smart constructor.+newtype DeleteEventSubscription = DeleteEventSubscription'     { _desSubscriptionName :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DeleteEventSubscription' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DeleteEventSubscription' with the minimum fields required to make a request. ----- * 'desSubscriptionName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---deleteEventSubscription :: Text -- ^ 'desSubscriptionName'-                        -> DeleteEventSubscription-deleteEventSubscription p1 = DeleteEventSubscription-    { _desSubscriptionName = p1+-- * 'desSubscriptionName'+deleteEventSubscription+    :: Text -- ^ 'desSubscriptionName'+    -> DeleteEventSubscription+deleteEventSubscription pSubscriptionName_ =+    DeleteEventSubscription'+    { _desSubscriptionName = pSubscriptionName_     } --- | The name of the Amazon Redshift event notification subscription to be deleted.+-- | The name of the Amazon Redshift event notification subscription to be+-- deleted. desSubscriptionName :: Lens' DeleteEventSubscription Text-desSubscriptionName =-    lens _desSubscriptionName (\s a -> s { _desSubscriptionName = a })+desSubscriptionName = lens _desSubscriptionName (\ s a -> s{_desSubscriptionName = a}); -data DeleteEventSubscriptionResponse = DeleteEventSubscriptionResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteEventSubscription where+        type Sv DeleteEventSubscription = Redshift+        type Rs DeleteEventSubscription =+             DeleteEventSubscriptionResponse+        request = postQuery+        response+          = receiveNull DeleteEventSubscriptionResponse' --- | 'DeleteEventSubscriptionResponse' constructor.-deleteEventSubscriptionResponse :: DeleteEventSubscriptionResponse-deleteEventSubscriptionResponse = DeleteEventSubscriptionResponse+instance ToHeaders DeleteEventSubscription where+        toHeaders = const mempty  instance ToPath DeleteEventSubscription where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteEventSubscription where-    toQuery DeleteEventSubscription{..} = mconcat-        [ "SubscriptionName" =? _desSubscriptionName-        ]--instance ToHeaders DeleteEventSubscription+        toQuery DeleteEventSubscription'{..}+          = mconcat+              ["Action" =:+                 ("DeleteEventSubscription" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SubscriptionName" =: _desSubscriptionName] -instance AWSRequest DeleteEventSubscription where-    type Sv DeleteEventSubscription = Redshift-    type Rs DeleteEventSubscription = DeleteEventSubscriptionResponse+-- | /See:/ 'deleteEventSubscriptionResponse' smart constructor.+data DeleteEventSubscriptionResponse =+    DeleteEventSubscriptionResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteEventSubscription"-    response = nullResponse DeleteEventSubscriptionResponse+-- | Creates a value of 'DeleteEventSubscriptionResponse' with the minimum fields required to make a request.+--+deleteEventSubscriptionResponse+    :: DeleteEventSubscriptionResponse+deleteEventSubscriptionResponse = DeleteEventSubscriptionResponse'
+ gen/Network/AWS/Redshift/DeleteHSMClientCertificate.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.DeleteHSMClientCertificate+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified HSM client certificate.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteHSMClientCertificate.html AWS API Reference> for DeleteHSMClientCertificate.+module Network.AWS.Redshift.DeleteHSMClientCertificate+    (+    -- * Creating a Request+      deleteHSMClientCertificate+    , DeleteHSMClientCertificate+    -- * Request Lenses+    , dhsmccHSMClientCertificateIdentifier++    -- * Destructuring the Response+    , deleteHSMClientCertificateResponse+    , DeleteHSMClientCertificateResponse+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response++-- |+--+-- /See:/ 'deleteHSMClientCertificate' smart constructor.+newtype DeleteHSMClientCertificate = DeleteHSMClientCertificate'+    { _dhsmccHSMClientCertificateIdentifier :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteHSMClientCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dhsmccHSMClientCertificateIdentifier'+deleteHSMClientCertificate+    :: Text -- ^ 'dhsmccHSMClientCertificateIdentifier'+    -> DeleteHSMClientCertificate+deleteHSMClientCertificate pHSMClientCertificateIdentifier_ =+    DeleteHSMClientCertificate'+    { _dhsmccHSMClientCertificateIdentifier = pHSMClientCertificateIdentifier_+    }++-- | The identifier of the HSM client certificate to be deleted.+dhsmccHSMClientCertificateIdentifier :: Lens' DeleteHSMClientCertificate Text+dhsmccHSMClientCertificateIdentifier = lens _dhsmccHSMClientCertificateIdentifier (\ s a -> s{_dhsmccHSMClientCertificateIdentifier = a});++instance AWSRequest DeleteHSMClientCertificate where+        type Sv DeleteHSMClientCertificate = Redshift+        type Rs DeleteHSMClientCertificate =+             DeleteHSMClientCertificateResponse+        request = postQuery+        response+          = receiveNull DeleteHSMClientCertificateResponse'++instance ToHeaders DeleteHSMClientCertificate where+        toHeaders = const mempty++instance ToPath DeleteHSMClientCertificate where+        toPath = const "/"++instance ToQuery DeleteHSMClientCertificate where+        toQuery DeleteHSMClientCertificate'{..}+          = mconcat+              ["Action" =:+                 ("DeleteHsmClientCertificate" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "HsmClientCertificateIdentifier" =:+                 _dhsmccHSMClientCertificateIdentifier]++-- | /See:/ 'deleteHSMClientCertificateResponse' smart constructor.+data DeleteHSMClientCertificateResponse =+    DeleteHSMClientCertificateResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteHSMClientCertificateResponse' with the minimum fields required to make a request.+--+deleteHSMClientCertificateResponse+    :: DeleteHSMClientCertificateResponse+deleteHSMClientCertificateResponse = DeleteHSMClientCertificateResponse'
+ gen/Network/AWS/Redshift/DeleteHSMConfiguration.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.DeleteHSMConfiguration+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified Amazon Redshift HSM configuration.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteHSMConfiguration.html AWS API Reference> for DeleteHSMConfiguration.+module Network.AWS.Redshift.DeleteHSMConfiguration+    (+    -- * Creating a Request+      deleteHSMConfiguration+    , DeleteHSMConfiguration+    -- * Request Lenses+    , dhcHSMConfigurationIdentifier++    -- * Destructuring the Response+    , deleteHSMConfigurationResponse+    , DeleteHSMConfigurationResponse+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response++-- |+--+-- /See:/ 'deleteHSMConfiguration' smart constructor.+newtype DeleteHSMConfiguration = DeleteHSMConfiguration'+    { _dhcHSMConfigurationIdentifier :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteHSMConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dhcHSMConfigurationIdentifier'+deleteHSMConfiguration+    :: Text -- ^ 'dhcHSMConfigurationIdentifier'+    -> DeleteHSMConfiguration+deleteHSMConfiguration pHSMConfigurationIdentifier_ =+    DeleteHSMConfiguration'+    { _dhcHSMConfigurationIdentifier = pHSMConfigurationIdentifier_+    }++-- | The identifier of the Amazon Redshift HSM configuration to be deleted.+dhcHSMConfigurationIdentifier :: Lens' DeleteHSMConfiguration Text+dhcHSMConfigurationIdentifier = lens _dhcHSMConfigurationIdentifier (\ s a -> s{_dhcHSMConfigurationIdentifier = a});++instance AWSRequest DeleteHSMConfiguration where+        type Sv DeleteHSMConfiguration = Redshift+        type Rs DeleteHSMConfiguration =+             DeleteHSMConfigurationResponse+        request = postQuery+        response+          = receiveNull DeleteHSMConfigurationResponse'++instance ToHeaders DeleteHSMConfiguration where+        toHeaders = const mempty++instance ToPath DeleteHSMConfiguration where+        toPath = const "/"++instance ToQuery DeleteHSMConfiguration where+        toQuery DeleteHSMConfiguration'{..}+          = mconcat+              ["Action" =:+                 ("DeleteHsmConfiguration" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "HsmConfigurationIdentifier" =:+                 _dhcHSMConfigurationIdentifier]++-- | /See:/ 'deleteHSMConfigurationResponse' smart constructor.+data DeleteHSMConfigurationResponse =+    DeleteHSMConfigurationResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteHSMConfigurationResponse' with the minimum fields required to make a request.+--+deleteHSMConfigurationResponse+    :: DeleteHSMConfigurationResponse+deleteHSMConfigurationResponse = DeleteHSMConfigurationResponse'
− gen/Network/AWS/Redshift/DeleteHsmClientCertificate.hs
@@ -1,92 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.Redshift.DeleteHsmClientCertificate--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified HSM client certificate.------ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteHsmClientCertificate.html>-module Network.AWS.Redshift.DeleteHsmClientCertificate-    (-    -- * Request-      DeleteHsmClientCertificate-    -- ** Request constructor-    , deleteHsmClientCertificate-    -- ** Request lenses-    , dhcc1HsmClientCertificateIdentifier--    -- * Response-    , DeleteHsmClientCertificateResponse-    -- ** Response constructor-    , deleteHsmClientCertificateResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--newtype DeleteHsmClientCertificate = DeleteHsmClientCertificate-    { _dhcc1HsmClientCertificateIdentifier :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'DeleteHsmClientCertificate' constructor.------ The fields accessible through corresponding lenses are:------ * 'dhcc1HsmClientCertificateIdentifier' @::@ 'Text'----deleteHsmClientCertificate :: Text -- ^ 'dhcc1HsmClientCertificateIdentifier'-                           -> DeleteHsmClientCertificate-deleteHsmClientCertificate p1 = DeleteHsmClientCertificate-    { _dhcc1HsmClientCertificateIdentifier = p1-    }---- | The identifier of the HSM client certificate to be deleted.-dhcc1HsmClientCertificateIdentifier :: Lens' DeleteHsmClientCertificate Text-dhcc1HsmClientCertificateIdentifier =-    lens _dhcc1HsmClientCertificateIdentifier-        (\s a -> s { _dhcc1HsmClientCertificateIdentifier = a })--data DeleteHsmClientCertificateResponse = DeleteHsmClientCertificateResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteHsmClientCertificateResponse' constructor.-deleteHsmClientCertificateResponse :: DeleteHsmClientCertificateResponse-deleteHsmClientCertificateResponse = DeleteHsmClientCertificateResponse--instance ToPath DeleteHsmClientCertificate where-    toPath = const "/"--instance ToQuery DeleteHsmClientCertificate where-    toQuery DeleteHsmClientCertificate{..} = mconcat-        [ "HsmClientCertificateIdentifier" =? _dhcc1HsmClientCertificateIdentifier-        ]--instance ToHeaders DeleteHsmClientCertificate--instance AWSRequest DeleteHsmClientCertificate where-    type Sv DeleteHsmClientCertificate = Redshift-    type Rs DeleteHsmClientCertificate = DeleteHsmClientCertificateResponse--    request  = post "DeleteHsmClientCertificate"-    response = nullResponse DeleteHsmClientCertificateResponse
− gen/Network/AWS/Redshift/DeleteHsmConfiguration.hs
@@ -1,92 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.Redshift.DeleteHsmConfiguration--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes the specified Amazon Redshift HSM configuration.------ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteHsmConfiguration.html>-module Network.AWS.Redshift.DeleteHsmConfiguration-    (-    -- * Request-      DeleteHsmConfiguration-    -- ** Request constructor-    , deleteHsmConfiguration-    -- ** Request lenses-    , dhcHsmConfigurationIdentifier--    -- * Response-    , DeleteHsmConfigurationResponse-    -- ** Response constructor-    , deleteHsmConfigurationResponse-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--newtype DeleteHsmConfiguration = DeleteHsmConfiguration-    { _dhcHsmConfigurationIdentifier :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)---- | 'DeleteHsmConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'dhcHsmConfigurationIdentifier' @::@ 'Text'----deleteHsmConfiguration :: Text -- ^ 'dhcHsmConfigurationIdentifier'-                       -> DeleteHsmConfiguration-deleteHsmConfiguration p1 = DeleteHsmConfiguration-    { _dhcHsmConfigurationIdentifier = p1-    }---- | The identifier of the Amazon Redshift HSM configuration to be deleted.-dhcHsmConfigurationIdentifier :: Lens' DeleteHsmConfiguration Text-dhcHsmConfigurationIdentifier =-    lens _dhcHsmConfigurationIdentifier-        (\s a -> s { _dhcHsmConfigurationIdentifier = a })--data DeleteHsmConfigurationResponse = DeleteHsmConfigurationResponse-    deriving (Eq, Ord, Read, Show, Generic)---- | 'DeleteHsmConfigurationResponse' constructor.-deleteHsmConfigurationResponse :: DeleteHsmConfigurationResponse-deleteHsmConfigurationResponse = DeleteHsmConfigurationResponse--instance ToPath DeleteHsmConfiguration where-    toPath = const "/"--instance ToQuery DeleteHsmConfiguration where-    toQuery DeleteHsmConfiguration{..} = mconcat-        [ "HsmConfigurationIdentifier" =? _dhcHsmConfigurationIdentifier-        ]--instance ToHeaders DeleteHsmConfiguration--instance AWSRequest DeleteHsmConfiguration where-    type Sv DeleteHsmConfiguration = Redshift-    type Rs DeleteHsmConfiguration = DeleteHsmConfigurationResponse--    request  = post "DeleteHsmConfiguration"-    response = nullResponse DeleteHsmConfigurationResponse
+ gen/Network/AWS/Redshift/DeleteSnapshotCopyGrant.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.DeleteSnapshotCopyGrant+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified snapshot copy grant.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteSnapshotCopyGrant.html AWS API Reference> for DeleteSnapshotCopyGrant.+module Network.AWS.Redshift.DeleteSnapshotCopyGrant+    (+    -- * Creating a Request+      deleteSnapshotCopyGrant+    , DeleteSnapshotCopyGrant+    -- * Request Lenses+    , dscgSnapshotCopyGrantName++    -- * Destructuring the Response+    , deleteSnapshotCopyGrantResponse+    , DeleteSnapshotCopyGrantResponse+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response++-- | The result of the 'DeleteSnapshotCopyGrant' action.+--+-- /See:/ 'deleteSnapshotCopyGrant' smart constructor.+newtype DeleteSnapshotCopyGrant = DeleteSnapshotCopyGrant'+    { _dscgSnapshotCopyGrantName :: Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteSnapshotCopyGrant' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dscgSnapshotCopyGrantName'+deleteSnapshotCopyGrant+    :: Text -- ^ 'dscgSnapshotCopyGrantName'+    -> DeleteSnapshotCopyGrant+deleteSnapshotCopyGrant pSnapshotCopyGrantName_ =+    DeleteSnapshotCopyGrant'+    { _dscgSnapshotCopyGrantName = pSnapshotCopyGrantName_+    }++-- | The name of the snapshot copy grant to delete.+dscgSnapshotCopyGrantName :: Lens' DeleteSnapshotCopyGrant Text+dscgSnapshotCopyGrantName = lens _dscgSnapshotCopyGrantName (\ s a -> s{_dscgSnapshotCopyGrantName = a});++instance AWSRequest DeleteSnapshotCopyGrant where+        type Sv DeleteSnapshotCopyGrant = Redshift+        type Rs DeleteSnapshotCopyGrant =+             DeleteSnapshotCopyGrantResponse+        request = postQuery+        response+          = receiveNull DeleteSnapshotCopyGrantResponse'++instance ToHeaders DeleteSnapshotCopyGrant where+        toHeaders = const mempty++instance ToPath DeleteSnapshotCopyGrant where+        toPath = const "/"++instance ToQuery DeleteSnapshotCopyGrant where+        toQuery DeleteSnapshotCopyGrant'{..}+          = mconcat+              ["Action" =:+                 ("DeleteSnapshotCopyGrant" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SnapshotCopyGrantName" =:+                 _dscgSnapshotCopyGrantName]++-- | /See:/ 'deleteSnapshotCopyGrantResponse' smart constructor.+data DeleteSnapshotCopyGrantResponse =+    DeleteSnapshotCopyGrantResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteSnapshotCopyGrantResponse' with the minimum fields required to make a request.+--+deleteSnapshotCopyGrantResponse+    :: DeleteSnapshotCopyGrantResponse+deleteSnapshotCopyGrantResponse = DeleteSnapshotCopyGrantResponse'
gen/Network/AWS/Redshift/DeleteTags.hs view
@@ -1,102 +1,107 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DeleteTags--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Deletes a tag or tags from a resource. You must provide the ARN of the+-- Deletes a tag or tags from a resource. You must provide the ARN of the -- resource from which you want to delete the tag or tags. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteTags.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteTags.html AWS API Reference> for DeleteTags. module Network.AWS.Redshift.DeleteTags     (-    -- * Request-      DeleteTags-    -- ** Request constructor-    , deleteTags-    -- ** Request lenses-    , dt1ResourceName-    , dt1TagKeys+    -- * Creating a Request+      deleteTags+    , DeleteTags+    -- * Request Lenses+    , dResourceName+    , dTagKeys -    -- * Response-    , DeleteTagsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , deleteTagsResponse+    , DeleteTagsResponse     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DeleteTags = DeleteTags-    { _dt1ResourceName :: Text-    , _dt1TagKeys      :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DeleteTags' constructor.+-- | Contains the output from the 'DeleteTags' action. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'deleteTags' smart constructor.+data DeleteTags = DeleteTags'+    { _dResourceName :: !Text+    , _dTagKeys      :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteTags' with the minimum fields required to make a request. ----- * 'dt1ResourceName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dt1TagKeys' @::@ ['Text']+-- * 'dResourceName' ---deleteTags :: Text -- ^ 'dt1ResourceName'-           -> DeleteTags-deleteTags p1 = DeleteTags-    { _dt1ResourceName = p1-    , _dt1TagKeys      = mempty+-- * 'dTagKeys'+deleteTags+    :: Text -- ^ 'dResourceName'+    -> DeleteTags+deleteTags pResourceName_ =+    DeleteTags'+    { _dResourceName = pResourceName_+    , _dTagKeys = mempty     }  -- | The Amazon Resource Name (ARN) from which you want to remove the tag or -- tags. For example, 'arn:aws:redshift:us-east-1:123456789:cluster:t1'.-dt1ResourceName :: Lens' DeleteTags Text-dt1ResourceName = lens _dt1ResourceName (\s a -> s { _dt1ResourceName = a })+dResourceName :: Lens' DeleteTags Text+dResourceName = lens _dResourceName (\ s a -> s{_dResourceName = a});  -- | The tag key that you want to delete.-dt1TagKeys :: Lens' DeleteTags [Text]-dt1TagKeys = lens _dt1TagKeys (\s a -> s { _dt1TagKeys = a }) . _List+dTagKeys :: Lens' DeleteTags [Text]+dTagKeys = lens _dTagKeys (\ s a -> s{_dTagKeys = a}) . _Coerce; -data DeleteTagsResponse = DeleteTagsResponse-    deriving (Eq, Ord, Read, Show, Generic)+instance AWSRequest DeleteTags where+        type Sv DeleteTags = Redshift+        type Rs DeleteTags = DeleteTagsResponse+        request = postQuery+        response = receiveNull DeleteTagsResponse' --- | 'DeleteTagsResponse' constructor.-deleteTagsResponse :: DeleteTagsResponse-deleteTagsResponse = DeleteTagsResponse+instance ToHeaders DeleteTags where+        toHeaders = const mempty  instance ToPath DeleteTags where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DeleteTags where-    toQuery DeleteTags{..} = mconcat-        [ "ResourceName" =? _dt1ResourceName-        , "TagKeys"      =? _dt1TagKeys-        ]--instance ToHeaders DeleteTags+        toQuery DeleteTags'{..}+          = mconcat+              ["Action" =: ("DeleteTags" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ResourceName" =: _dResourceName,+               "TagKeys" =: toQueryList "TagKey" _dTagKeys] -instance AWSRequest DeleteTags where-    type Sv DeleteTags = Redshift-    type Rs DeleteTags = DeleteTagsResponse+-- | /See:/ 'deleteTagsResponse' smart constructor.+data DeleteTagsResponse =+    DeleteTagsResponse'+    deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DeleteTags"-    response = nullResponse DeleteTagsResponse+-- | Creates a value of 'DeleteTagsResponse' with the minimum fields required to make a request.+--+deleteTagsResponse+    :: DeleteTagsResponse+deleteTagsResponse = DeleteTagsResponse'
gen/Network/AWS/Redshift/DescribeClusterParameterGroups.hs view
@@ -1,210 +1,244 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeClusterParameterGroups--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of Amazon Redshift parameter groups, including parameter--- groups you created and the default parameter group. For each parameter group,--- the response includes the parameter group name, description, and parameter--- group family name. You can optionally specify a name to retrieve the--- description of a specific parameter group.+-- Returns a list of Amazon Redshift parameter groups, including parameter+-- groups you created and the default parameter group. For each parameter+-- group, the response includes the parameter group name, description, and+-- parameter group family name. You can optionally specify a name to+-- retrieve the description of a specific parameter group. ----- For more information about managing parameter groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon RedshiftParameter Groups> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about parameters and parameter groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon Redshift Parameter Groups>+-- in the /Amazon Redshift Cluster Management Guide/. -- -- If you specify both tag keys and tag values in the same request, Amazon -- Redshift returns all parameter groups that match any combination of the--- specified keys and values. For example, if you have 'owner' and 'environment' for--- tag keys, and 'admin' and 'test' for tag values, all parameter groups that have--- any combination of those values are returned.+-- specified keys and values. For example, if you have 'owner' and+-- 'environment' for tag keys, and 'admin' and 'test' for tag values, all+-- parameter groups that have any combination of those values are returned. ----- If both tag keys and values are omitted from the request, parameter groups--- are returned regardless of whether they have tag keys or values associated--- with them.+-- If both tag keys and values are omitted from the request, parameter+-- groups are returned regardless of whether they have tag keys or values+-- associated with them. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterParameterGroups.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterParameterGroups.html AWS API Reference> for DescribeClusterParameterGroups.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeClusterParameterGroups     (-    -- * Request-      DescribeClusterParameterGroups-    -- ** Request constructor-    , describeClusterParameterGroups-    -- ** Request lenses-    , dcpgMarker+    -- * Creating a Request+      describeClusterParameterGroups+    , DescribeClusterParameterGroups+    -- * Request Lenses+    , dcpgTagValues+    , dcpgTagKeys     , dcpgMaxRecords+    , dcpgMarker     , dcpgParameterGroupName-    , dcpgTagKeys-    , dcpgTagValues -    -- * Response-    , DescribeClusterParameterGroupsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeClusterParameterGroupsResponse-    -- ** Response lenses-    , dcpgrMarker-    , dcpgrParameterGroups+    , DescribeClusterParameterGroupsResponse+    -- * Response Lenses+    , dcpgrsMarker+    , dcpgrsParameterGroups+    , dcpgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeClusterParameterGroups = DescribeClusterParameterGroups-    { _dcpgMarker             :: Maybe Text-    , _dcpgMaxRecords         :: Maybe Int-    , _dcpgParameterGroupName :: Maybe Text-    , _dcpgTagKeys            :: List "member" Text-    , _dcpgTagValues          :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeClusterParameterGroups' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeClusterParameterGroups' smart constructor.+data DescribeClusterParameterGroups = DescribeClusterParameterGroups'+    { _dcpgTagValues          :: !(Maybe [Text])+    , _dcpgTagKeys            :: !(Maybe [Text])+    , _dcpgMaxRecords         :: !(Maybe Int)+    , _dcpgMarker             :: !(Maybe Text)+    , _dcpgParameterGroupName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeClusterParameterGroups' with the minimum fields required to make a request. ----- * 'dcpgMarker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcpgMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dcpgTagValues' ----- * 'dcpgParameterGroupName' @::@ 'Maybe' 'Text'+-- * 'dcpgTagKeys' ----- * 'dcpgTagKeys' @::@ ['Text']+-- * 'dcpgMaxRecords' ----- * 'dcpgTagValues' @::@ ['Text']+-- * 'dcpgMarker' ---describeClusterParameterGroups :: DescribeClusterParameterGroups-describeClusterParameterGroups = DescribeClusterParameterGroups-    { _dcpgParameterGroupName = Nothing-    , _dcpgMaxRecords         = Nothing-    , _dcpgMarker             = Nothing-    , _dcpgTagKeys            = mempty-    , _dcpgTagValues          = mempty+-- * 'dcpgParameterGroupName'+describeClusterParameterGroups+    :: DescribeClusterParameterGroups+describeClusterParameterGroups =+    DescribeClusterParameterGroups'+    { _dcpgTagValues = Nothing+    , _dcpgTagKeys = Nothing+    , _dcpgMaxRecords = Nothing+    , _dcpgMarker = Nothing+    , _dcpgParameterGroupName = Nothing     } --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeClusterParameterGroups'--- request exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker' field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-dcpgMarker :: Lens' DescribeClusterParameterGroups (Maybe Text)-dcpgMarker = lens _dcpgMarker (\s a -> s { _dcpgMarker = a })+-- | A tag value or values for which you want to return all matching cluster+-- parameter groups that are associated with the specified tag value or+-- values. For example, suppose that you have parameter groups that are+-- tagged with values called 'admin' and 'test'. If you specify both of+-- these tag values in the request, Amazon Redshift returns a response with+-- the parameter groups that have either or both of these tag values+-- associated with them.+dcpgTagValues :: Lens' DescribeClusterParameterGroups [Text]+dcpgTagValues = lens _dcpgTagValues (\ s a -> s{_dcpgTagValues = a}) . _Default . _Coerce; --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | A tag key or keys for which you want to return all matching cluster+-- parameter groups that are associated with the specified key or keys. For+-- example, suppose that you have parameter groups that are tagged with+-- keys called 'owner' and 'environment'. If you specify both of these tag+-- keys in the request, Amazon Redshift returns a response with the+-- parameter groups that have either or both of these tag keys associated+-- with them.+dcpgTagKeys :: Lens' DescribeClusterParameterGroups [Text]+dcpgTagKeys = lens _dcpgTagKeys (\ s a -> s{_dcpgTagKeys = a}) . _Default . _Coerce;++-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. -- -- Default: '100' -- -- Constraints: minimum 20, maximum 100. dcpgMaxRecords :: Lens' DescribeClusterParameterGroups (Maybe Int)-dcpgMaxRecords = lens _dcpgMaxRecords (\s a -> s { _dcpgMaxRecords = a })+dcpgMaxRecords = lens _dcpgMaxRecords (\ s a -> s{_dcpgMaxRecords = a}); +-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a+-- DescribeClusterParameterGroups request exceed the value specified in+-- 'MaxRecords', AWS returns a value in the 'Marker' field of the response.+-- You can retrieve the next set of response records by providing the+-- returned marker value in the 'Marker' parameter and retrying the+-- request.+dcpgMarker :: Lens' DescribeClusterParameterGroups (Maybe Text)+dcpgMarker = lens _dcpgMarker (\ s a -> s{_dcpgMarker = a});+ -- | The name of a specific parameter group for which to return details. By--- default, details about all parameter groups and the default parameter group--- are returned.+-- default, details about all parameter groups and the default parameter+-- group are returned. dcpgParameterGroupName :: Lens' DescribeClusterParameterGroups (Maybe Text)-dcpgParameterGroupName =-    lens _dcpgParameterGroupName (\s a -> s { _dcpgParameterGroupName = a })+dcpgParameterGroupName = lens _dcpgParameterGroupName (\ s a -> s{_dcpgParameterGroupName = a}); --- | A tag key or keys for which you want to return all matching cluster parameter--- groups that are associated with the specified key or keys. For example,--- suppose that you have parameter groups that are tagged with keys called 'owner'--- and 'environment'. If you specify both of these tag keys in the request, Amazon--- Redshift returns a response with the parameter groups that have either or--- both of these tag keys associated with them.-dcpgTagKeys :: Lens' DescribeClusterParameterGroups [Text]-dcpgTagKeys = lens _dcpgTagKeys (\s a -> s { _dcpgTagKeys = a }) . _List+instance AWSPager DescribeClusterParameterGroups+         where+        page rq rs+          | stop (rs ^. dcpgrsMarker) = Nothing+          | stop (rs ^. dcpgrsParameterGroups) = Nothing+          | otherwise =+            Just $ rq & dcpgMarker .~ rs ^. dcpgrsMarker --- | A tag value or values for which you want to return all matching cluster--- parameter groups that are associated with the specified tag value or values.--- For example, suppose that you have parameter groups that are tagged with--- values called 'admin' and 'test'. If you specify both of these tag values in the--- request, Amazon Redshift returns a response with the parameter groups that--- have either or both of these tag values associated with them.-dcpgTagValues :: Lens' DescribeClusterParameterGroups [Text]-dcpgTagValues = lens _dcpgTagValues (\s a -> s { _dcpgTagValues = a }) . _List+instance AWSRequest DescribeClusterParameterGroups+         where+        type Sv DescribeClusterParameterGroups = Redshift+        type Rs DescribeClusterParameterGroups =+             DescribeClusterParameterGroupsResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeClusterParameterGroupsResult"+              (\ s h x ->+                 DescribeClusterParameterGroupsResponse' <$>+                   (x .@? "Marker") <*>+                     (x .@? "ParameterGroups" .!@ mempty >>=+                        may (parseXMLList "ClusterParameterGroup"))+                     <*> (pure (fromEnum s))) -data DescribeClusterParameterGroupsResponse = DescribeClusterParameterGroupsResponse-    { _dcpgrMarker          :: Maybe Text-    , _dcpgrParameterGroups :: List "member" ClusterParameterGroup-    } deriving (Eq, Read, Show)+instance ToHeaders DescribeClusterParameterGroups+         where+        toHeaders = const mempty --- | 'DescribeClusterParameterGroupsResponse' constructor.+instance ToPath DescribeClusterParameterGroups where+        toPath = const "/"++instance ToQuery DescribeClusterParameterGroups where+        toQuery DescribeClusterParameterGroups'{..}+          = mconcat+              ["Action" =:+                 ("DescribeClusterParameterGroups" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "TagValues" =:+                 toQuery (toQueryList "TagValue" <$> _dcpgTagValues),+               "TagKeys" =:+                 toQuery (toQueryList "TagKey" <$> _dcpgTagKeys),+               "MaxRecords" =: _dcpgMaxRecords,+               "Marker" =: _dcpgMarker,+               "ParameterGroupName" =: _dcpgParameterGroupName]++-- | Contains the output from the DescribeClusterParameterGroups action. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeClusterParameterGroupsResponse' smart constructor.+data DescribeClusterParameterGroupsResponse = DescribeClusterParameterGroupsResponse'+    { _dcpgrsMarker          :: !(Maybe Text)+    , _dcpgrsParameterGroups :: !(Maybe [ClusterParameterGroup])+    , _dcpgrsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeClusterParameterGroupsResponse' with the minimum fields required to make a request. ----- * 'dcpgrMarker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcpgrParameterGroups' @::@ ['ClusterParameterGroup']+-- * 'dcpgrsMarker' ---describeClusterParameterGroupsResponse :: DescribeClusterParameterGroupsResponse-describeClusterParameterGroupsResponse = DescribeClusterParameterGroupsResponse-    { _dcpgrMarker          = Nothing-    , _dcpgrParameterGroups = mempty+-- * 'dcpgrsParameterGroups'+--+-- * 'dcpgrsStatus'+describeClusterParameterGroupsResponse+    :: Int -- ^ 'dcpgrsStatus'+    -> DescribeClusterParameterGroupsResponse+describeClusterParameterGroupsResponse pStatus_ =+    DescribeClusterParameterGroupsResponse'+    { _dcpgrsMarker = Nothing+    , _dcpgrsParameterGroups = Nothing+    , _dcpgrsStatus = pStatus_     }  -- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dcpgrMarker :: Lens' DescribeClusterParameterGroupsResponse (Maybe Text)-dcpgrMarker = lens _dcpgrMarker (\s a -> s { _dcpgrMarker = a })+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dcpgrsMarker :: Lens' DescribeClusterParameterGroupsResponse (Maybe Text)+dcpgrsMarker = lens _dcpgrsMarker (\ s a -> s{_dcpgrsMarker = a}); --- | A list of 'ClusterParameterGroup' instances. Each instance describes one+-- | A list of ClusterParameterGroup instances. Each instance describes one -- cluster parameter group.-dcpgrParameterGroups :: Lens' DescribeClusterParameterGroupsResponse [ClusterParameterGroup]-dcpgrParameterGroups =-    lens _dcpgrParameterGroups (\s a -> s { _dcpgrParameterGroups = a })-        . _List--instance ToPath DescribeClusterParameterGroups where-    toPath = const "/"--instance ToQuery DescribeClusterParameterGroups where-    toQuery DescribeClusterParameterGroups{..} = mconcat-        [ "Marker"             =? _dcpgMarker-        , "MaxRecords"         =? _dcpgMaxRecords-        , "ParameterGroupName" =? _dcpgParameterGroupName-        , "TagKeys"            =? _dcpgTagKeys-        , "TagValues"          =? _dcpgTagValues-        ]--instance ToHeaders DescribeClusterParameterGroups--instance AWSRequest DescribeClusterParameterGroups where-    type Sv DescribeClusterParameterGroups = Redshift-    type Rs DescribeClusterParameterGroups = DescribeClusterParameterGroupsResponse--    request  = post "DescribeClusterParameterGroups"-    response = xmlResponse--instance FromXML DescribeClusterParameterGroupsResponse where-    parseXML = withElement "DescribeClusterParameterGroupsResult" $ \x -> DescribeClusterParameterGroupsResponse-        <$> x .@? "Marker"-        <*> x .@? "ParameterGroups" .!@ mempty+dcpgrsParameterGroups :: Lens' DescribeClusterParameterGroupsResponse [ClusterParameterGroup]+dcpgrsParameterGroups = lens _dcpgrsParameterGroups (\ s a -> s{_dcpgrsParameterGroups = a}) . _Default . _Coerce; -instance AWSPager DescribeClusterParameterGroups where-    page rq rs-        | stop (rs ^. dcpgrMarker) = Nothing-        | otherwise = (\x -> rq & dcpgMarker ?~ x)-            <$> (rs ^. dcpgrMarker)+-- | The response status code.+dcpgrsStatus :: Lens' DescribeClusterParameterGroupsResponse Int+dcpgrsStatus = lens _dcpgrsStatus (\ s a -> s{_dcpgrsStatus = a});
gen/Network/AWS/Redshift/DescribeClusterParameters.hs view
@@ -1,187 +1,211 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeClusterParameters--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a detailed list of parameters contained within the specified Amazon--- Redshift parameter group. For each parameter the response includes--- information such as parameter name, description, data type, value, whether--- the parameter value is modifiable, and so on.+-- Returns a detailed list of parameters contained within the specified+-- Amazon Redshift parameter group. For each parameter the response+-- includes information such as parameter name, description, data type,+-- value, whether the parameter value is modifiable, and so on. ----- You can specify /source/ filter to retrieve parameters of only specific type.--- For example, to retrieve parameters that were modified by a user action such--- as from 'ModifyClusterParameterGroup', you can specify /source/ equal to /user/.+-- You can specify /source/ filter to retrieve parameters of only specific+-- type. For example, to retrieve parameters that were modified by a user+-- action such as from ModifyClusterParameterGroup, you can specify+-- /source/ equal to /user/. ----- For more information about managing parameter groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon RedshiftParameter Groups> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about parameters and parameter groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon Redshift Parameter Groups>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterParameters.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterParameters.html AWS API Reference> for DescribeClusterParameters.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeClusterParameters     (-    -- * Request-      DescribeClusterParameters-    -- ** Request constructor-    , describeClusterParameters-    -- ** Request lenses-    , dcp1Marker-    , dcp1MaxRecords-    , dcp1ParameterGroupName-    , dcp1Source+    -- * Creating a Request+      describeClusterParameters+    , DescribeClusterParameters+    -- * Request Lenses+    , dcpsMaxRecords+    , dcpsMarker+    , dcpsSource+    , dcpsParameterGroupName -    -- * Response-    , DescribeClusterParametersResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeClusterParametersResponse-    -- ** Response lenses-    , dcprMarker-    , dcprParameters+    , DescribeClusterParametersResponse+    -- * Response Lenses+    , dcprsParameters+    , dcprsMarker+    , dcprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeClusterParameters = DescribeClusterParameters-    { _dcp1Marker             :: Maybe Text-    , _dcp1MaxRecords         :: Maybe Int-    , _dcp1ParameterGroupName :: Text-    , _dcp1Source             :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeClusterParameters' smart constructor.+data DescribeClusterParameters = DescribeClusterParameters'+    { _dcpsMaxRecords         :: !(Maybe Int)+    , _dcpsMarker             :: !(Maybe Text)+    , _dcpsSource             :: !(Maybe Text)+    , _dcpsParameterGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeClusterParameters' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeClusterParameters' with the minimum fields required to make a request. ----- * 'dcp1Marker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcp1MaxRecords' @::@ 'Maybe' 'Int'+-- * 'dcpsMaxRecords' ----- * 'dcp1ParameterGroupName' @::@ 'Text'+-- * 'dcpsMarker' ----- * 'dcp1Source' @::@ 'Maybe' 'Text'+-- * 'dcpsSource' ---describeClusterParameters :: Text -- ^ 'dcp1ParameterGroupName'-                          -> DescribeClusterParameters-describeClusterParameters p1 = DescribeClusterParameters-    { _dcp1ParameterGroupName = p1-    , _dcp1Source             = Nothing-    , _dcp1MaxRecords         = Nothing-    , _dcp1Marker             = Nothing+-- * 'dcpsParameterGroupName'+describeClusterParameters+    :: Text -- ^ 'dcpsParameterGroupName'+    -> DescribeClusterParameters+describeClusterParameters pParameterGroupName_ =+    DescribeClusterParameters'+    { _dcpsMaxRecords = Nothing+    , _dcpsMarker = Nothing+    , _dcpsSource = Nothing+    , _dcpsParameterGroupName = pParameterGroupName_     } --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeClusterParameters' request--- exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker'--- field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-dcp1Marker :: Lens' DescribeClusterParameters (Maybe Text)-dcp1Marker = lens _dcp1Marker (\s a -> s { _dcp1Marker = a })---- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. -- -- Default: '100' -- -- Constraints: minimum 20, maximum 100.-dcp1MaxRecords :: Lens' DescribeClusterParameters (Maybe Int)-dcp1MaxRecords = lens _dcp1MaxRecords (\s a -> s { _dcp1MaxRecords = a })+dcpsMaxRecords :: Lens' DescribeClusterParameters (Maybe Int)+dcpsMaxRecords = lens _dcpsMaxRecords (\ s a -> s{_dcpsMaxRecords = a}); --- | The name of a cluster parameter group for which to return details.-dcp1ParameterGroupName :: Lens' DescribeClusterParameters Text-dcp1ParameterGroupName =-    lens _dcp1ParameterGroupName (\s a -> s { _dcp1ParameterGroupName = a })+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeClusterParameters+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+dcpsMarker :: Lens' DescribeClusterParameters (Maybe Text)+dcpsMarker = lens _dcpsMarker (\ s a -> s{_dcpsMarker = a}); --- | The parameter types to return. Specify 'user' to show parameters that are--- different form the default. Similarly, specify 'engine-default' to show--- parameters that are the same as the default parameter group.+-- | The parameter types to return. Specify 'user' to show parameters that+-- are different form the default. Similarly, specify 'engine-default' to+-- show parameters that are the same as the default parameter group. -- -- Default: All parameter types returned. -- -- Valid Values: 'user' | 'engine-default'-dcp1Source :: Lens' DescribeClusterParameters (Maybe Text)-dcp1Source = lens _dcp1Source (\s a -> s { _dcp1Source = a })+dcpsSource :: Lens' DescribeClusterParameters (Maybe Text)+dcpsSource = lens _dcpsSource (\ s a -> s{_dcpsSource = a}); -data DescribeClusterParametersResponse = DescribeClusterParametersResponse-    { _dcprMarker     :: Maybe Text-    , _dcprParameters :: List "member" Parameter-    } deriving (Eq, Read, Show)+-- | The name of a cluster parameter group for which to return details.+dcpsParameterGroupName :: Lens' DescribeClusterParameters Text+dcpsParameterGroupName = lens _dcpsParameterGroupName (\ s a -> s{_dcpsParameterGroupName = a}); --- | 'DescribeClusterParametersResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcprMarker' @::@ 'Maybe' 'Text'------ * 'dcprParameters' @::@ ['Parameter']----describeClusterParametersResponse :: DescribeClusterParametersResponse-describeClusterParametersResponse = DescribeClusterParametersResponse-    { _dcprParameters = mempty-    , _dcprMarker     = Nothing-    }+instance AWSPager DescribeClusterParameters where+        page rq rs+          | stop (rs ^. dcprsMarker) = Nothing+          | stop (rs ^. dcprsParameters) = Nothing+          | otherwise =+            Just $ rq & dcpsMarker .~ rs ^. dcprsMarker --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dcprMarker :: Lens' DescribeClusterParametersResponse (Maybe Text)-dcprMarker = lens _dcprMarker (\s a -> s { _dcprMarker = a })+instance AWSRequest DescribeClusterParameters where+        type Sv DescribeClusterParameters = Redshift+        type Rs DescribeClusterParameters =+             DescribeClusterParametersResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeClusterParametersResult"+              (\ s h x ->+                 DescribeClusterParametersResponse' <$>+                   (x .@? "Parameters" .!@ mempty >>=+                      may (parseXMLList "Parameter"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s))) --- | A list of 'Parameter' instances. Each instance lists the parameters of one--- cluster parameter group.-dcprParameters :: Lens' DescribeClusterParametersResponse [Parameter]-dcprParameters = lens _dcprParameters (\s a -> s { _dcprParameters = a }) . _List+instance ToHeaders DescribeClusterParameters where+        toHeaders = const mempty  instance ToPath DescribeClusterParameters where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeClusterParameters where-    toQuery DescribeClusterParameters{..} = mconcat-        [ "Marker"             =? _dcp1Marker-        , "MaxRecords"         =? _dcp1MaxRecords-        , "ParameterGroupName" =? _dcp1ParameterGroupName-        , "Source"             =? _dcp1Source-        ]+        toQuery DescribeClusterParameters'{..}+          = mconcat+              ["Action" =:+                 ("DescribeClusterParameters" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "MaxRecords" =: _dcpsMaxRecords,+               "Marker" =: _dcpsMarker, "Source" =: _dcpsSource,+               "ParameterGroupName" =: _dcpsParameterGroupName] -instance ToHeaders DescribeClusterParameters+-- | Contains the output from the DescribeClusterParameters action.+--+-- /See:/ 'describeClusterParametersResponse' smart constructor.+data DescribeClusterParametersResponse = DescribeClusterParametersResponse'+    { _dcprsParameters :: !(Maybe [Parameter])+    , _dcprsMarker     :: !(Maybe Text)+    , _dcprsStatus     :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeClusterParameters where-    type Sv DescribeClusterParameters = Redshift-    type Rs DescribeClusterParameters = DescribeClusterParametersResponse+-- | Creates a value of 'DescribeClusterParametersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcprsParameters'+--+-- * 'dcprsMarker'+--+-- * 'dcprsStatus'+describeClusterParametersResponse+    :: Int -- ^ 'dcprsStatus'+    -> DescribeClusterParametersResponse+describeClusterParametersResponse pStatus_ =+    DescribeClusterParametersResponse'+    { _dcprsParameters = Nothing+    , _dcprsMarker = Nothing+    , _dcprsStatus = pStatus_+    } -    request  = post "DescribeClusterParameters"-    response = xmlResponse+-- | A list of Parameter instances. Each instance lists the parameters of one+-- cluster parameter group.+dcprsParameters :: Lens' DescribeClusterParametersResponse [Parameter]+dcprsParameters = lens _dcprsParameters (\ s a -> s{_dcprsParameters = a}) . _Default . _Coerce; -instance FromXML DescribeClusterParametersResponse where-    parseXML = withElement "DescribeClusterParametersResult" $ \x -> DescribeClusterParametersResponse-        <$> x .@? "Marker"-        <*> x .@? "Parameters" .!@ mempty+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dcprsMarker :: Lens' DescribeClusterParametersResponse (Maybe Text)+dcprsMarker = lens _dcprsMarker (\ s a -> s{_dcprsMarker = a}); -instance AWSPager DescribeClusterParameters where-    page rq rs-        | stop (rs ^. dcprMarker) = Nothing-        | otherwise = (\x -> rq & dcp1Marker ?~ x)-            <$> (rs ^. dcprMarker)+-- | The response status code.+dcprsStatus :: Lens' DescribeClusterParametersResponse Int+dcprsStatus = lens _dcprsStatus (\ s a -> s{_dcprsStatus = a});
gen/Network/AWS/Redshift/DescribeClusterSecurityGroups.hs view
@@ -1,215 +1,244 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeClusterSecurityGroups--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns information about Amazon Redshift security groups. If the name of a--- security group is specified, the response will contain only information about--- only that security group.+-- Returns information about Amazon Redshift security groups. If the name+-- of a security group is specified, the response will contain only+-- information about only that security group. ----- For information about managing security groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Amazon RedshiftCluster Security Groups> in the /Amazon Redshift Cluster Management Guide/.+-- For information about managing security groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Amazon Redshift Cluster Security Groups>+-- in the /Amazon Redshift Cluster Management Guide/. -- -- If you specify both tag keys and tag values in the same request, Amazon -- Redshift returns all security groups that match any combination of the--- specified keys and values. For example, if you have 'owner' and 'environment' for--- tag keys, and 'admin' and 'test' for tag values, all security groups that have--- any combination of those values are returned.+-- specified keys and values. For example, if you have 'owner' and+-- 'environment' for tag keys, and 'admin' and 'test' for tag values, all+-- security groups that have any combination of those values are returned. ----- If both tag keys and values are omitted from the request, security groups--- are returned regardless of whether they have tag keys or values associated--- with them.+-- If both tag keys and values are omitted from the request, security+-- groups are returned regardless of whether they have tag keys or values+-- associated with them. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterSecurityGroups.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterSecurityGroups.html AWS API Reference> for DescribeClusterSecurityGroups.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeClusterSecurityGroups     (-    -- * Request-      DescribeClusterSecurityGroups-    -- ** Request constructor-    , describeClusterSecurityGroups-    -- ** Request lenses+    -- * Creating a Request+      describeClusterSecurityGroups+    , DescribeClusterSecurityGroups+    -- * Request Lenses+    , dcsgTagValues+    , dcsgTagKeys     , dcsgClusterSecurityGroupName-    , dcsgMarker     , dcsgMaxRecords-    , dcsgTagKeys-    , dcsgTagValues+    , dcsgMarker -    -- * Response-    , DescribeClusterSecurityGroupsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeClusterSecurityGroupsResponse-    -- ** Response lenses-    , dcsgr1ClusterSecurityGroups-    , dcsgr1Marker+    , DescribeClusterSecurityGroupsResponse+    -- * Response Lenses+    , dcsgsrsClusterSecurityGroups+    , dcsgsrsMarker+    , dcsgsrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeClusterSecurityGroups = DescribeClusterSecurityGroups-    { _dcsgClusterSecurityGroupName :: Maybe Text-    , _dcsgMarker                   :: Maybe Text-    , _dcsgMaxRecords               :: Maybe Int-    , _dcsgTagKeys                  :: List "member" Text-    , _dcsgTagValues                :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeClusterSecurityGroups' constructor.+-- | ??? ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeClusterSecurityGroups' smart constructor.+data DescribeClusterSecurityGroups = DescribeClusterSecurityGroups'+    { _dcsgTagValues                :: !(Maybe [Text])+    , _dcsgTagKeys                  :: !(Maybe [Text])+    , _dcsgClusterSecurityGroupName :: !(Maybe Text)+    , _dcsgMaxRecords               :: !(Maybe Int)+    , _dcsgMarker                   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeClusterSecurityGroups' with the minimum fields required to make a request. ----- * 'dcsgClusterSecurityGroupName' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcsgMarker' @::@ 'Maybe' 'Text'+-- * 'dcsgTagValues' ----- * 'dcsgMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dcsgTagKeys' ----- * 'dcsgTagKeys' @::@ ['Text']+-- * 'dcsgClusterSecurityGroupName' ----- * 'dcsgTagValues' @::@ ['Text']+-- * 'dcsgMaxRecords' ---describeClusterSecurityGroups :: DescribeClusterSecurityGroups-describeClusterSecurityGroups = DescribeClusterSecurityGroups-    { _dcsgClusterSecurityGroupName = Nothing-    , _dcsgMaxRecords               = Nothing-    , _dcsgMarker                   = Nothing-    , _dcsgTagKeys                  = mempty-    , _dcsgTagValues                = mempty+-- * 'dcsgMarker'+describeClusterSecurityGroups+    :: DescribeClusterSecurityGroups+describeClusterSecurityGroups =+    DescribeClusterSecurityGroups'+    { _dcsgTagValues = Nothing+    , _dcsgTagKeys = Nothing+    , _dcsgClusterSecurityGroupName = Nothing+    , _dcsgMaxRecords = Nothing+    , _dcsgMarker = Nothing     } --- | The name of a cluster security group for which you are requesting details.--- You can specify either the Marker parameter or a ClusterSecurityGroupName--- parameter, but not both.+-- | A tag value or values for which you want to return all matching cluster+-- security groups that are associated with the specified tag value or+-- values. For example, suppose that you have security groups that are+-- tagged with values called 'admin' and 'test'. If you specify both of+-- these tag values in the request, Amazon Redshift returns a response with+-- the security groups that have either or both of these tag values+-- associated with them.+dcsgTagValues :: Lens' DescribeClusterSecurityGroups [Text]+dcsgTagValues = lens _dcsgTagValues (\ s a -> s{_dcsgTagValues = a}) . _Default . _Coerce;++-- | A tag key or keys for which you want to return all matching cluster+-- security groups that are associated with the specified key or keys. For+-- example, suppose that you have security groups that are tagged with keys+-- called 'owner' and 'environment'. If you specify both of these tag keys+-- in the request, Amazon Redshift returns a response with the security+-- groups that have either or both of these tag keys associated with them.+dcsgTagKeys :: Lens' DescribeClusterSecurityGroups [Text]+dcsgTagKeys = lens _dcsgTagKeys (\ s a -> s{_dcsgTagKeys = a}) . _Default . _Coerce;++-- | The name of a cluster security group for which you are requesting+-- details. You can specify either the __Marker__ parameter or a+-- __ClusterSecurityGroupName__ parameter, but not both. -- -- Example: 'securitygroup1' dcsgClusterSecurityGroupName :: Lens' DescribeClusterSecurityGroups (Maybe Text)-dcsgClusterSecurityGroupName =-    lens _dcsgClusterSecurityGroupName-        (\s a -> s { _dcsgClusterSecurityGroupName = a })---- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeClusterSecurityGroups' request--- exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker'--- field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.------ Constraints: You can specify either the ClusterSecurityGroupName parameter--- or the Marker parameter, but not both.-dcsgMarker :: Lens' DescribeClusterSecurityGroups (Maybe Text)-dcsgMarker = lens _dcsgMarker (\s a -> s { _dcsgMarker = a })+dcsgClusterSecurityGroupName = lens _dcsgClusterSecurityGroupName (\ s a -> s{_dcsgClusterSecurityGroupName = a}); --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. -- -- Default: '100' -- -- Constraints: minimum 20, maximum 100. dcsgMaxRecords :: Lens' DescribeClusterSecurityGroups (Maybe Int)-dcsgMaxRecords = lens _dcsgMaxRecords (\s a -> s { _dcsgMaxRecords = a })---- | A tag key or keys for which you want to return all matching cluster security--- groups that are associated with the specified key or keys. For example,--- suppose that you have security groups that are tagged with keys called 'owner'--- and 'environment'. If you specify both of these tag keys in the request, Amazon--- Redshift returns a response with the security groups that have either or both--- of these tag keys associated with them.-dcsgTagKeys :: Lens' DescribeClusterSecurityGroups [Text]-dcsgTagKeys = lens _dcsgTagKeys (\s a -> s { _dcsgTagKeys = a }) . _List---- | A tag value or values for which you want to return all matching cluster--- security groups that are associated with the specified tag value or values.--- For example, suppose that you have security groups that are tagged with--- values called 'admin' and 'test'. If you specify both of these tag values in the--- request, Amazon Redshift returns a response with the security groups that--- have either or both of these tag values associated with them.-dcsgTagValues :: Lens' DescribeClusterSecurityGroups [Text]-dcsgTagValues = lens _dcsgTagValues (\s a -> s { _dcsgTagValues = a }) . _List--data DescribeClusterSecurityGroupsResponse = DescribeClusterSecurityGroupsResponse-    { _dcsgr1ClusterSecurityGroups :: List "member" ClusterSecurityGroup-    , _dcsgr1Marker                :: Maybe Text-    } deriving (Eq, Read, Show)+dcsgMaxRecords = lens _dcsgMaxRecords (\ s a -> s{_dcsgMaxRecords = a}); --- | 'DescribeClusterSecurityGroupsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcsgr1ClusterSecurityGroups' @::@ ['ClusterSecurityGroup']------ * 'dcsgr1Marker' @::@ 'Maybe' 'Text'+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeClusterSecurityGroups+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request. ---describeClusterSecurityGroupsResponse :: DescribeClusterSecurityGroupsResponse-describeClusterSecurityGroupsResponse = DescribeClusterSecurityGroupsResponse-    { _dcsgr1Marker                = Nothing-    , _dcsgr1ClusterSecurityGroups = mempty-    }+-- Constraints: You can specify either the __ClusterSecurityGroupName__+-- parameter or the __Marker__ parameter, but not both.+dcsgMarker :: Lens' DescribeClusterSecurityGroups (Maybe Text)+dcsgMarker = lens _dcsgMarker (\ s a -> s{_dcsgMarker = a}); --- | A list of 'ClusterSecurityGroup' instances.-dcsgr1ClusterSecurityGroups :: Lens' DescribeClusterSecurityGroupsResponse [ClusterSecurityGroup]-dcsgr1ClusterSecurityGroups =-    lens _dcsgr1ClusterSecurityGroups-        (\s a -> s { _dcsgr1ClusterSecurityGroups = a })-            . _List+instance AWSPager DescribeClusterSecurityGroups where+        page rq rs+          | stop (rs ^. dcsgsrsMarker) = Nothing+          | stop (rs ^. dcsgsrsClusterSecurityGroups) = Nothing+          | otherwise =+            Just $ rq & dcsgMarker .~ rs ^. dcsgsrsMarker --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dcsgr1Marker :: Lens' DescribeClusterSecurityGroupsResponse (Maybe Text)-dcsgr1Marker = lens _dcsgr1Marker (\s a -> s { _dcsgr1Marker = a })+instance AWSRequest DescribeClusterSecurityGroups+         where+        type Sv DescribeClusterSecurityGroups = Redshift+        type Rs DescribeClusterSecurityGroups =+             DescribeClusterSecurityGroupsResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeClusterSecurityGroupsResult"+              (\ s h x ->+                 DescribeClusterSecurityGroupsResponse' <$>+                   (x .@? "ClusterSecurityGroups" .!@ mempty >>=+                      may (parseXMLList "ClusterSecurityGroup"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s))) +instance ToHeaders DescribeClusterSecurityGroups+         where+        toHeaders = const mempty+ instance ToPath DescribeClusterSecurityGroups where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeClusterSecurityGroups where-    toQuery DescribeClusterSecurityGroups{..} = mconcat-        [ "ClusterSecurityGroupName" =? _dcsgClusterSecurityGroupName-        , "Marker"                   =? _dcsgMarker-        , "MaxRecords"               =? _dcsgMaxRecords-        , "TagKeys"                  =? _dcsgTagKeys-        , "TagValues"                =? _dcsgTagValues-        ]+        toQuery DescribeClusterSecurityGroups'{..}+          = mconcat+              ["Action" =:+                 ("DescribeClusterSecurityGroups" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "TagValues" =:+                 toQuery (toQueryList "TagValue" <$> _dcsgTagValues),+               "TagKeys" =:+                 toQuery (toQueryList "TagKey" <$> _dcsgTagKeys),+               "ClusterSecurityGroupName" =:+                 _dcsgClusterSecurityGroupName,+               "MaxRecords" =: _dcsgMaxRecords,+               "Marker" =: _dcsgMarker] -instance ToHeaders DescribeClusterSecurityGroups+-- | Contains the output from the DescribeClusterSecurityGroups action.+--+-- /See:/ 'describeClusterSecurityGroupsResponse' smart constructor.+data DescribeClusterSecurityGroupsResponse = DescribeClusterSecurityGroupsResponse'+    { _dcsgsrsClusterSecurityGroups :: !(Maybe [ClusterSecurityGroup])+    , _dcsgsrsMarker                :: !(Maybe Text)+    , _dcsgsrsStatus                :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeClusterSecurityGroups where-    type Sv DescribeClusterSecurityGroups = Redshift-    type Rs DescribeClusterSecurityGroups = DescribeClusterSecurityGroupsResponse+-- | Creates a value of 'DescribeClusterSecurityGroupsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcsgsrsClusterSecurityGroups'+--+-- * 'dcsgsrsMarker'+--+-- * 'dcsgsrsStatus'+describeClusterSecurityGroupsResponse+    :: Int -- ^ 'dcsgsrsStatus'+    -> DescribeClusterSecurityGroupsResponse+describeClusterSecurityGroupsResponse pStatus_ =+    DescribeClusterSecurityGroupsResponse'+    { _dcsgsrsClusterSecurityGroups = Nothing+    , _dcsgsrsMarker = Nothing+    , _dcsgsrsStatus = pStatus_+    } -    request  = post "DescribeClusterSecurityGroups"-    response = xmlResponse+-- | A list of ClusterSecurityGroup instances.+dcsgsrsClusterSecurityGroups :: Lens' DescribeClusterSecurityGroupsResponse [ClusterSecurityGroup]+dcsgsrsClusterSecurityGroups = lens _dcsgsrsClusterSecurityGroups (\ s a -> s{_dcsgsrsClusterSecurityGroups = a}) . _Default . _Coerce; -instance FromXML DescribeClusterSecurityGroupsResponse where-    parseXML = withElement "DescribeClusterSecurityGroupsResult" $ \x -> DescribeClusterSecurityGroupsResponse-        <$> x .@? "ClusterSecurityGroups" .!@ mempty-        <*> x .@? "Marker"+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dcsgsrsMarker :: Lens' DescribeClusterSecurityGroupsResponse (Maybe Text)+dcsgsrsMarker = lens _dcsgsrsMarker (\ s a -> s{_dcsgsrsMarker = a}); -instance AWSPager DescribeClusterSecurityGroups where-    page rq rs-        | stop (rs ^. dcsgr1Marker) = Nothing-        | otherwise = (\x -> rq & dcsgMarker ?~ x)-            <$> (rs ^. dcsgr1Marker)+-- | The response status code.+dcsgsrsStatus :: Lens' DescribeClusterSecurityGroupsResponse Int+dcsgsrsStatus = lens _dcsgsrsStatus (\ s a -> s{_dcsgsrsStatus = a});
gen/Network/AWS/Redshift/DescribeClusterSnapshots.hs view
@@ -1,271 +1,299 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeClusterSnapshots--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns one or more snapshot objects, which contain metadata about your--- cluster snapshots. By default, this operation returns information about all--- snapshots of all clusters that are owned by you AWS customer account. No--- information is returned for snapshots owned by inactive AWS customer--- accounts.+-- Returns one or more snapshot objects, which contain metadata about your+-- cluster snapshots. By default, this operation returns information about+-- all snapshots of all clusters that are owned by you AWS customer+-- account. No information is returned for snapshots owned by inactive AWS+-- customer accounts. -- -- If you specify both tag keys and tag values in the same request, Amazon--- Redshift returns all snapshots that match any combination of the specified--- keys and values. For example, if you have 'owner' and 'environment' for tag keys,--- and 'admin' and 'test' for tag values, all snapshots that have any combination of--- those values are returned. Only snapshots that you own are returned in the--- response; shared snapshots are not returned with the tag key and tag value--- request parameters.+-- Redshift returns all snapshots that match any combination of the+-- specified keys and values. For example, if you have 'owner' and+-- 'environment' for tag keys, and 'admin' and 'test' for tag values, all+-- snapshots that have any combination of those values are returned. Only+-- snapshots that you own are returned in the response; shared snapshots+-- are not returned with the tag key and tag value request parameters. -- -- If both tag keys and values are omitted from the request, snapshots are--- returned regardless of whether they have tag keys or values associated with--- them.+-- returned regardless of whether they have tag keys or values associated+-- with them. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterSnapshots.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterSnapshots.html AWS API Reference> for DescribeClusterSnapshots.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeClusterSnapshots     (-    -- * Request-      DescribeClusterSnapshots-    -- ** Request constructor-    , describeClusterSnapshots-    -- ** Request lenses-    , dcs1ClusterIdentifier-    , dcs1EndTime-    , dcs1Marker-    , dcs1MaxRecords-    , dcs1OwnerAccount-    , dcs1SnapshotIdentifier-    , dcs1SnapshotType-    , dcs1StartTime-    , dcs1TagKeys-    , dcs1TagValues+    -- * Creating a Request+      describeClusterSnapshots+    , DescribeClusterSnapshots+    -- * Request Lenses+    , dcssSnapshotIdentifier+    , dcssTagValues+    , dcssStartTime+    , dcssTagKeys+    , dcssClusterIdentifier+    , dcssSnapshotType+    , dcssMaxRecords+    , dcssEndTime+    , dcssMarker+    , dcssOwnerAccount -    -- * Response-    , DescribeClusterSnapshotsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeClusterSnapshotsResponse-    -- ** Response lenses-    , dcsrMarker-    , dcsrSnapshots+    , DescribeClusterSnapshotsResponse+    -- * Response Lenses+    , dcssrsSnapshots+    , dcssrsMarker+    , dcssrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeClusterSnapshots = DescribeClusterSnapshots-    { _dcs1ClusterIdentifier  :: Maybe Text-    , _dcs1EndTime            :: Maybe ISO8601-    , _dcs1Marker             :: Maybe Text-    , _dcs1MaxRecords         :: Maybe Int-    , _dcs1OwnerAccount       :: Maybe Text-    , _dcs1SnapshotIdentifier :: Maybe Text-    , _dcs1SnapshotType       :: Maybe Text-    , _dcs1StartTime          :: Maybe ISO8601-    , _dcs1TagKeys            :: List "member" Text-    , _dcs1TagValues          :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeClusterSnapshots' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeClusterSnapshots' smart constructor.+data DescribeClusterSnapshots = DescribeClusterSnapshots'+    { _dcssSnapshotIdentifier :: !(Maybe Text)+    , _dcssTagValues          :: !(Maybe [Text])+    , _dcssStartTime          :: !(Maybe ISO8601)+    , _dcssTagKeys            :: !(Maybe [Text])+    , _dcssClusterIdentifier  :: !(Maybe Text)+    , _dcssSnapshotType       :: !(Maybe Text)+    , _dcssMaxRecords         :: !(Maybe Int)+    , _dcssEndTime            :: !(Maybe ISO8601)+    , _dcssMarker             :: !(Maybe Text)+    , _dcssOwnerAccount       :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeClusterSnapshots' with the minimum fields required to make a request. ----- * 'dcs1ClusterIdentifier' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcs1EndTime' @::@ 'Maybe' 'UTCTime'+-- * 'dcssSnapshotIdentifier' ----- * 'dcs1Marker' @::@ 'Maybe' 'Text'+-- * 'dcssTagValues' ----- * 'dcs1MaxRecords' @::@ 'Maybe' 'Int'+-- * 'dcssStartTime' ----- * 'dcs1OwnerAccount' @::@ 'Maybe' 'Text'+-- * 'dcssTagKeys' ----- * 'dcs1SnapshotIdentifier' @::@ 'Maybe' 'Text'+-- * 'dcssClusterIdentifier' ----- * 'dcs1SnapshotType' @::@ 'Maybe' 'Text'+-- * 'dcssSnapshotType' ----- * 'dcs1StartTime' @::@ 'Maybe' 'UTCTime'+-- * 'dcssMaxRecords' ----- * 'dcs1TagKeys' @::@ ['Text']+-- * 'dcssEndTime' ----- * 'dcs1TagValues' @::@ ['Text']+-- * 'dcssMarker' ---describeClusterSnapshots :: DescribeClusterSnapshots-describeClusterSnapshots = DescribeClusterSnapshots-    { _dcs1ClusterIdentifier  = Nothing-    , _dcs1SnapshotIdentifier = Nothing-    , _dcs1SnapshotType       = Nothing-    , _dcs1StartTime          = Nothing-    , _dcs1EndTime            = Nothing-    , _dcs1MaxRecords         = Nothing-    , _dcs1Marker             = Nothing-    , _dcs1OwnerAccount       = Nothing-    , _dcs1TagKeys            = mempty-    , _dcs1TagValues          = mempty+-- * 'dcssOwnerAccount'+describeClusterSnapshots+    :: DescribeClusterSnapshots+describeClusterSnapshots =+    DescribeClusterSnapshots'+    { _dcssSnapshotIdentifier = Nothing+    , _dcssTagValues = Nothing+    , _dcssStartTime = Nothing+    , _dcssTagKeys = Nothing+    , _dcssClusterIdentifier = Nothing+    , _dcssSnapshotType = Nothing+    , _dcssMaxRecords = Nothing+    , _dcssEndTime = Nothing+    , _dcssMarker = Nothing+    , _dcssOwnerAccount = Nothing     } --- | The identifier of the cluster for which information about snapshots is--- requested.-dcs1ClusterIdentifier :: Lens' DescribeClusterSnapshots (Maybe Text)-dcs1ClusterIdentifier =-    lens _dcs1ClusterIdentifier (\s a -> s { _dcs1ClusterIdentifier = a })+-- | The snapshot identifier of the snapshot about which to return+-- information.+dcssSnapshotIdentifier :: Lens' DescribeClusterSnapshots (Maybe Text)+dcssSnapshotIdentifier = lens _dcssSnapshotIdentifier (\ s a -> s{_dcssSnapshotIdentifier = a}); --- | A time value that requests only snapshots created at or before the specified--- time. The time value is specified in ISO 8601 format. For more information--- about ISO 8601, go to the <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>+-- | A tag value or values for which you want to return all matching cluster+-- snapshots that are associated with the specified tag value or values.+-- For example, suppose that you have snapshots that are tagged with values+-- called 'admin' and 'test'. If you specify both of these tag values in+-- the request, Amazon Redshift returns a response with the snapshots that+-- have either or both of these tag values associated with them.+dcssTagValues :: Lens' DescribeClusterSnapshots [Text]+dcssTagValues = lens _dcssTagValues (\ s a -> s{_dcssTagValues = a}) . _Default . _Coerce;++-- | A value that requests only snapshots created at or after the specified+-- time. The time value is specified in ISO 8601 format. For more+-- information about ISO 8601, go to the+-- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.> -- -- Example: '2012-07-16T18:00:00Z'-dcs1EndTime :: Lens' DescribeClusterSnapshots (Maybe UTCTime)-dcs1EndTime = lens _dcs1EndTime (\s a -> s { _dcs1EndTime = a }) . mapping _Time+dcssStartTime :: Lens' DescribeClusterSnapshots (Maybe UTCTime)+dcssStartTime = lens _dcssStartTime (\ s a -> s{_dcssStartTime = a}) . mapping _Time; --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeClusterSnapshots' request--- exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker'--- field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-dcs1Marker :: Lens' DescribeClusterSnapshots (Maybe Text)-dcs1Marker = lens _dcs1Marker (\s a -> s { _dcs1Marker = a })+-- | A tag key or keys for which you want to return all matching cluster+-- snapshots that are associated with the specified key or keys. For+-- example, suppose that you have snapshots that are tagged with keys+-- called 'owner' and 'environment'. If you specify both of these tag keys+-- in the request, Amazon Redshift returns a response with the snapshots+-- that have either or both of these tag keys associated with them.+dcssTagKeys :: Lens' DescribeClusterSnapshots [Text]+dcssTagKeys = lens _dcssTagKeys (\ s a -> s{_dcssTagKeys = a}) . _Default . _Coerce; --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The identifier of the cluster for which information about snapshots is+-- requested.+dcssClusterIdentifier :: Lens' DescribeClusterSnapshots (Maybe Text)+dcssClusterIdentifier = lens _dcssClusterIdentifier (\ s a -> s{_dcssClusterIdentifier = a});++-- | The type of snapshots for which you are requesting information. By+-- default, snapshots of all types are returned. --+-- Valid Values: 'automated' | 'manual'+dcssSnapshotType :: Lens' DescribeClusterSnapshots (Maybe Text)+dcssSnapshotType = lens _dcssSnapshotType (\ s a -> s{_dcssSnapshotType = a});++-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value.+-- -- Default: '100' -- -- Constraints: minimum 20, maximum 100.-dcs1MaxRecords :: Lens' DescribeClusterSnapshots (Maybe Int)-dcs1MaxRecords = lens _dcs1MaxRecords (\s a -> s { _dcs1MaxRecords = a })---- | The AWS customer account used to create or copy the snapshot. Use this field--- to filter the results to snapshots owned by a particular account. To describe--- snapshots you own, either specify your AWS customer account, or do not--- specify the parameter.-dcs1OwnerAccount :: Lens' DescribeClusterSnapshots (Maybe Text)-dcs1OwnerAccount = lens _dcs1OwnerAccount (\s a -> s { _dcs1OwnerAccount = a })---- | The snapshot identifier of the snapshot about which to return information.-dcs1SnapshotIdentifier :: Lens' DescribeClusterSnapshots (Maybe Text)-dcs1SnapshotIdentifier =-    lens _dcs1SnapshotIdentifier (\s a -> s { _dcs1SnapshotIdentifier = a })---- | The type of snapshots for which you are requesting information. By default,--- snapshots of all types are returned.------ Valid Values: 'automated' | 'manual'-dcs1SnapshotType :: Lens' DescribeClusterSnapshots (Maybe Text)-dcs1SnapshotType = lens _dcs1SnapshotType (\s a -> s { _dcs1SnapshotType = a })+dcssMaxRecords :: Lens' DescribeClusterSnapshots (Maybe Int)+dcssMaxRecords = lens _dcssMaxRecords (\ s a -> s{_dcssMaxRecords = a}); --- | A value that requests only snapshots created at or after the specified time.--- The time value is specified in ISO 8601 format. For more information about--- ISO 8601, go to the <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.>+-- | A time value that requests only snapshots created at or before the+-- specified time. The time value is specified in ISO 8601 format. For more+-- information about ISO 8601, go to the+-- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.> -- -- Example: '2012-07-16T18:00:00Z'-dcs1StartTime :: Lens' DescribeClusterSnapshots (Maybe UTCTime)-dcs1StartTime = lens _dcs1StartTime (\s a -> s { _dcs1StartTime = a }) . mapping _Time---- | A tag key or keys for which you want to return all matching cluster snapshots--- that are associated with the specified key or keys. For example, suppose that--- you have snapshots that are tagged with keys called 'owner' and 'environment'. If--- you specify both of these tag keys in the request, Amazon Redshift returns a--- response with the snapshots that have either or both of these tag keys--- associated with them.-dcs1TagKeys :: Lens' DescribeClusterSnapshots [Text]-dcs1TagKeys = lens _dcs1TagKeys (\s a -> s { _dcs1TagKeys = a }) . _List+dcssEndTime :: Lens' DescribeClusterSnapshots (Maybe UTCTime)+dcssEndTime = lens _dcssEndTime (\ s a -> s{_dcssEndTime = a}) . mapping _Time; --- | A tag value or values for which you want to return all matching cluster--- snapshots that are associated with the specified tag value or values. For--- example, suppose that you have snapshots that are tagged with values called 'admin' and 'test'. If you specify both of these tag values in the request, Amazon--- Redshift returns a response with the snapshots that have either or both of--- these tag values associated with them.-dcs1TagValues :: Lens' DescribeClusterSnapshots [Text]-dcs1TagValues = lens _dcs1TagValues (\s a -> s { _dcs1TagValues = a }) . _List+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeClusterSnapshots+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+dcssMarker :: Lens' DescribeClusterSnapshots (Maybe Text)+dcssMarker = lens _dcssMarker (\ s a -> s{_dcssMarker = a}); -data DescribeClusterSnapshotsResponse = DescribeClusterSnapshotsResponse-    { _dcsrMarker    :: Maybe Text-    , _dcsrSnapshots :: List "member" Snapshot-    } deriving (Eq, Read, Show)+-- | The AWS customer account used to create or copy the snapshot. Use this+-- field to filter the results to snapshots owned by a particular account.+-- To describe snapshots you own, either specify your AWS customer account,+-- or do not specify the parameter.+dcssOwnerAccount :: Lens' DescribeClusterSnapshots (Maybe Text)+dcssOwnerAccount = lens _dcssOwnerAccount (\ s a -> s{_dcssOwnerAccount = a}); --- | 'DescribeClusterSnapshotsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcsrMarker' @::@ 'Maybe' 'Text'------ * 'dcsrSnapshots' @::@ ['Snapshot']----describeClusterSnapshotsResponse :: DescribeClusterSnapshotsResponse-describeClusterSnapshotsResponse = DescribeClusterSnapshotsResponse-    { _dcsrMarker    = Nothing-    , _dcsrSnapshots = mempty-    }+instance AWSPager DescribeClusterSnapshots where+        page rq rs+          | stop (rs ^. dcssrsMarker) = Nothing+          | stop (rs ^. dcssrsSnapshots) = Nothing+          | otherwise =+            Just $ rq & dcssMarker .~ rs ^. dcssrsMarker --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dcsrMarker :: Lens' DescribeClusterSnapshotsResponse (Maybe Text)-dcsrMarker = lens _dcsrMarker (\s a -> s { _dcsrMarker = a })+instance AWSRequest DescribeClusterSnapshots where+        type Sv DescribeClusterSnapshots = Redshift+        type Rs DescribeClusterSnapshots =+             DescribeClusterSnapshotsResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeClusterSnapshotsResult"+              (\ s h x ->+                 DescribeClusterSnapshotsResponse' <$>+                   (x .@? "Snapshots" .!@ mempty >>=+                      may (parseXMLList "Snapshot"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s))) --- | A list of 'Snapshot' instances.-dcsrSnapshots :: Lens' DescribeClusterSnapshotsResponse [Snapshot]-dcsrSnapshots = lens _dcsrSnapshots (\s a -> s { _dcsrSnapshots = a }) . _List+instance ToHeaders DescribeClusterSnapshots where+        toHeaders = const mempty  instance ToPath DescribeClusterSnapshots where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeClusterSnapshots where-    toQuery DescribeClusterSnapshots{..} = mconcat-        [ "ClusterIdentifier"  =? _dcs1ClusterIdentifier-        , "EndTime"            =? _dcs1EndTime-        , "Marker"             =? _dcs1Marker-        , "MaxRecords"         =? _dcs1MaxRecords-        , "OwnerAccount"       =? _dcs1OwnerAccount-        , "SnapshotIdentifier" =? _dcs1SnapshotIdentifier-        , "SnapshotType"       =? _dcs1SnapshotType-        , "StartTime"          =? _dcs1StartTime-        , "TagKeys"            =? _dcs1TagKeys-        , "TagValues"          =? _dcs1TagValues-        ]+        toQuery DescribeClusterSnapshots'{..}+          = mconcat+              ["Action" =:+                 ("DescribeClusterSnapshots" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SnapshotIdentifier" =: _dcssSnapshotIdentifier,+               "TagValues" =:+                 toQuery (toQueryList "TagValue" <$> _dcssTagValues),+               "StartTime" =: _dcssStartTime,+               "TagKeys" =:+                 toQuery (toQueryList "TagKey" <$> _dcssTagKeys),+               "ClusterIdentifier" =: _dcssClusterIdentifier,+               "SnapshotType" =: _dcssSnapshotType,+               "MaxRecords" =: _dcssMaxRecords,+               "EndTime" =: _dcssEndTime, "Marker" =: _dcssMarker,+               "OwnerAccount" =: _dcssOwnerAccount] -instance ToHeaders DescribeClusterSnapshots+-- | Contains the output from the DescribeClusterSnapshots action.+--+-- /See:/ 'describeClusterSnapshotsResponse' smart constructor.+data DescribeClusterSnapshotsResponse = DescribeClusterSnapshotsResponse'+    { _dcssrsSnapshots :: !(Maybe [Snapshot])+    , _dcssrsMarker    :: !(Maybe Text)+    , _dcssrsStatus    :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeClusterSnapshots where-    type Sv DescribeClusterSnapshots = Redshift-    type Rs DescribeClusterSnapshots = DescribeClusterSnapshotsResponse+-- | Creates a value of 'DescribeClusterSnapshotsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcssrsSnapshots'+--+-- * 'dcssrsMarker'+--+-- * 'dcssrsStatus'+describeClusterSnapshotsResponse+    :: Int -- ^ 'dcssrsStatus'+    -> DescribeClusterSnapshotsResponse+describeClusterSnapshotsResponse pStatus_ =+    DescribeClusterSnapshotsResponse'+    { _dcssrsSnapshots = Nothing+    , _dcssrsMarker = Nothing+    , _dcssrsStatus = pStatus_+    } -    request  = post "DescribeClusterSnapshots"-    response = xmlResponse+-- | A list of Snapshot instances.+dcssrsSnapshots :: Lens' DescribeClusterSnapshotsResponse [Snapshot]+dcssrsSnapshots = lens _dcssrsSnapshots (\ s a -> s{_dcssrsSnapshots = a}) . _Default . _Coerce; -instance FromXML DescribeClusterSnapshotsResponse where-    parseXML = withElement "DescribeClusterSnapshotsResult" $ \x -> DescribeClusterSnapshotsResponse-        <$> x .@? "Marker"-        <*> x .@? "Snapshots" .!@ mempty+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dcssrsMarker :: Lens' DescribeClusterSnapshotsResponse (Maybe Text)+dcssrsMarker = lens _dcssrsMarker (\ s a -> s{_dcssrsMarker = a}); -instance AWSPager DescribeClusterSnapshots where-    page rq rs-        | stop (rs ^. dcsrMarker) = Nothing-        | otherwise = (\x -> rq & dcs1Marker ?~ x)-            <$> (rs ^. dcsrMarker)+-- | The response status code.+dcssrsStatus :: Lens' DescribeClusterSnapshotsResponse Int+dcssrsStatus = lens _dcssrsStatus (\ s a -> s{_dcssrsStatus = a});
gen/Network/AWS/Redshift/DescribeClusterSubnetGroups.hs view
@@ -1,207 +1,232 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeClusterSubnetGroups--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns one or more cluster subnet group objects, which contain metadata+-- Returns one or more cluster subnet group objects, which contain metadata -- about your cluster subnet groups. By default, this operation returns -- information about all cluster subnet groups that are defined in you AWS -- account. -- -- If you specify both tag keys and tag values in the same request, Amazon -- Redshift returns all subnet groups that match any combination of the--- specified keys and values. For example, if you have 'owner' and 'environment' for--- tag keys, and 'admin' and 'test' for tag values, all subnet groups that have any--- combination of those values are returned.+-- specified keys and values. For example, if you have 'owner' and+-- 'environment' for tag keys, and 'admin' and 'test' for tag values, all+-- subnet groups that have any combination of those values are returned. ----- If both tag keys and values are omitted from the request, subnet groups are--- returned regardless of whether they have tag keys or values associated with--- them.+-- If both tag keys and values are omitted from the request, subnet groups+-- are returned regardless of whether they have tag keys or values+-- associated with them. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterSubnetGroups.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterSubnetGroups.html AWS API Reference> for DescribeClusterSubnetGroups.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeClusterSubnetGroups     (-    -- * Request-      DescribeClusterSubnetGroups-    -- ** Request constructor-    , describeClusterSubnetGroups-    -- ** Request lenses-    , dcsg1ClusterSubnetGroupName-    , dcsg1Marker-    , dcsg1MaxRecords-    , dcsg1TagKeys-    , dcsg1TagValues+    -- * Creating a Request+      describeClusterSubnetGroups+    , DescribeClusterSubnetGroups+    -- * Request Lenses+    , dcsgsTagValues+    , dcsgsTagKeys+    , dcsgsClusterSubnetGroupName+    , dcsgsMaxRecords+    , dcsgsMarker -    -- * Response-    , DescribeClusterSubnetGroupsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeClusterSubnetGroupsResponse-    -- ** Response lenses-    , dcsgrClusterSubnetGroups-    , dcsgrMarker+    , DescribeClusterSubnetGroupsResponse+    -- * Response Lenses+    , dcsgrsClusterSubnetGroups+    , dcsgrsMarker+    , dcsgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeClusterSubnetGroups = DescribeClusterSubnetGroups-    { _dcsg1ClusterSubnetGroupName :: Maybe Text-    , _dcsg1Marker                 :: Maybe Text-    , _dcsg1MaxRecords             :: Maybe Int-    , _dcsg1TagKeys                :: List "member" Text-    , _dcsg1TagValues              :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeClusterSubnetGroups' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeClusterSubnetGroups' smart constructor.+data DescribeClusterSubnetGroups = DescribeClusterSubnetGroups'+    { _dcsgsTagValues              :: !(Maybe [Text])+    , _dcsgsTagKeys                :: !(Maybe [Text])+    , _dcsgsClusterSubnetGroupName :: !(Maybe Text)+    , _dcsgsMaxRecords             :: !(Maybe Int)+    , _dcsgsMarker                 :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeClusterSubnetGroups' with the minimum fields required to make a request. ----- * 'dcsg1ClusterSubnetGroupName' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcsg1Marker' @::@ 'Maybe' 'Text'+-- * 'dcsgsTagValues' ----- * 'dcsg1MaxRecords' @::@ 'Maybe' 'Int'+-- * 'dcsgsTagKeys' ----- * 'dcsg1TagKeys' @::@ ['Text']+-- * 'dcsgsClusterSubnetGroupName' ----- * 'dcsg1TagValues' @::@ ['Text']+-- * 'dcsgsMaxRecords' ---describeClusterSubnetGroups :: DescribeClusterSubnetGroups-describeClusterSubnetGroups = DescribeClusterSubnetGroups-    { _dcsg1ClusterSubnetGroupName = Nothing-    , _dcsg1MaxRecords             = Nothing-    , _dcsg1Marker                 = Nothing-    , _dcsg1TagKeys                = mempty-    , _dcsg1TagValues              = mempty+-- * 'dcsgsMarker'+describeClusterSubnetGroups+    :: DescribeClusterSubnetGroups+describeClusterSubnetGroups =+    DescribeClusterSubnetGroups'+    { _dcsgsTagValues = Nothing+    , _dcsgsTagKeys = Nothing+    , _dcsgsClusterSubnetGroupName = Nothing+    , _dcsgsMaxRecords = Nothing+    , _dcsgsMarker = Nothing     } --- | The name of the cluster subnet group for which information is requested.-dcsg1ClusterSubnetGroupName :: Lens' DescribeClusterSubnetGroups (Maybe Text)-dcsg1ClusterSubnetGroupName =-    lens _dcsg1ClusterSubnetGroupName-        (\s a -> s { _dcsg1ClusterSubnetGroupName = a })+-- | A tag value or values for which you want to return all matching cluster+-- subnet groups that are associated with the specified tag value or+-- values. For example, suppose that you have subnet groups that are tagged+-- with values called 'admin' and 'test'. If you specify both of these tag+-- values in the request, Amazon Redshift returns a response with the+-- subnet groups that have either or both of these tag values associated+-- with them.+dcsgsTagValues :: Lens' DescribeClusterSubnetGroups [Text]+dcsgsTagValues = lens _dcsgsTagValues (\ s a -> s{_dcsgsTagValues = a}) . _Default . _Coerce; --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeClusterSubnetGroups' request--- exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker'--- field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-dcsg1Marker :: Lens' DescribeClusterSubnetGroups (Maybe Text)-dcsg1Marker = lens _dcsg1Marker (\s a -> s { _dcsg1Marker = a })+-- | A tag key or keys for which you want to return all matching cluster+-- subnet groups that are associated with the specified key or keys. For+-- example, suppose that you have subnet groups that are tagged with keys+-- called 'owner' and 'environment'. If you specify both of these tag keys+-- in the request, Amazon Redshift returns a response with the subnet+-- groups that have either or both of these tag keys associated with them.+dcsgsTagKeys :: Lens' DescribeClusterSubnetGroups [Text]+dcsgsTagKeys = lens _dcsgsTagKeys (\ s a -> s{_dcsgsTagKeys = a}) . _Default . _Coerce; --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The name of the cluster subnet group for which information is requested.+dcsgsClusterSubnetGroupName :: Lens' DescribeClusterSubnetGroups (Maybe Text)+dcsgsClusterSubnetGroupName = lens _dcsgsClusterSubnetGroupName (\ s a -> s{_dcsgsClusterSubnetGroupName = a});++-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. -- -- Default: '100' -- -- Constraints: minimum 20, maximum 100.-dcsg1MaxRecords :: Lens' DescribeClusterSubnetGroups (Maybe Int)-dcsg1MaxRecords = lens _dcsg1MaxRecords (\s a -> s { _dcsg1MaxRecords = a })---- | A tag key or keys for which you want to return all matching cluster subnet--- groups that are associated with the specified key or keys. For example,--- suppose that you have subnet groups that are tagged with keys called 'owner'--- and 'environment'. If you specify both of these tag keys in the request, Amazon--- Redshift returns a response with the subnet groups that have either or both--- of these tag keys associated with them.-dcsg1TagKeys :: Lens' DescribeClusterSubnetGroups [Text]-dcsg1TagKeys = lens _dcsg1TagKeys (\s a -> s { _dcsg1TagKeys = a }) . _List---- | A tag value or values for which you want to return all matching cluster--- subnet groups that are associated with the specified tag value or values. For--- example, suppose that you have subnet groups that are tagged with values--- called 'admin' and 'test'. If you specify both of these tag values in the--- request, Amazon Redshift returns a response with the subnet groups that have--- either or both of these tag values associated with them.-dcsg1TagValues :: Lens' DescribeClusterSubnetGroups [Text]-dcsg1TagValues = lens _dcsg1TagValues (\s a -> s { _dcsg1TagValues = a }) . _List+dcsgsMaxRecords :: Lens' DescribeClusterSubnetGroups (Maybe Int)+dcsgsMaxRecords = lens _dcsgsMaxRecords (\ s a -> s{_dcsgsMaxRecords = a}); -data DescribeClusterSubnetGroupsResponse = DescribeClusterSubnetGroupsResponse-    { _dcsgrClusterSubnetGroups :: List "member" ClusterSubnetGroup-    , _dcsgrMarker              :: Maybe Text-    } deriving (Eq, Read, Show)+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeClusterSubnetGroups+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+dcsgsMarker :: Lens' DescribeClusterSubnetGroups (Maybe Text)+dcsgsMarker = lens _dcsgsMarker (\ s a -> s{_dcsgsMarker = a}); --- | 'DescribeClusterSubnetGroupsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcsgrClusterSubnetGroups' @::@ ['ClusterSubnetGroup']------ * 'dcsgrMarker' @::@ 'Maybe' 'Text'----describeClusterSubnetGroupsResponse :: DescribeClusterSubnetGroupsResponse-describeClusterSubnetGroupsResponse = DescribeClusterSubnetGroupsResponse-    { _dcsgrMarker              = Nothing-    , _dcsgrClusterSubnetGroups = mempty-    }+instance AWSPager DescribeClusterSubnetGroups where+        page rq rs+          | stop (rs ^. dcsgrsMarker) = Nothing+          | stop (rs ^. dcsgrsClusterSubnetGroups) = Nothing+          | otherwise =+            Just $ rq & dcsgsMarker .~ rs ^. dcsgrsMarker --- | A list of 'ClusterSubnetGroup' instances.-dcsgrClusterSubnetGroups :: Lens' DescribeClusterSubnetGroupsResponse [ClusterSubnetGroup]-dcsgrClusterSubnetGroups =-    lens _dcsgrClusterSubnetGroups-        (\s a -> s { _dcsgrClusterSubnetGroups = a })-            . _List+instance AWSRequest DescribeClusterSubnetGroups where+        type Sv DescribeClusterSubnetGroups = Redshift+        type Rs DescribeClusterSubnetGroups =+             DescribeClusterSubnetGroupsResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeClusterSubnetGroupsResult"+              (\ s h x ->+                 DescribeClusterSubnetGroupsResponse' <$>+                   (x .@? "ClusterSubnetGroups" .!@ mempty >>=+                      may (parseXMLList "ClusterSubnetGroup"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s))) --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dcsgrMarker :: Lens' DescribeClusterSubnetGroupsResponse (Maybe Text)-dcsgrMarker = lens _dcsgrMarker (\s a -> s { _dcsgrMarker = a })+instance ToHeaders DescribeClusterSubnetGroups where+        toHeaders = const mempty  instance ToPath DescribeClusterSubnetGroups where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeClusterSubnetGroups where-    toQuery DescribeClusterSubnetGroups{..} = mconcat-        [ "ClusterSubnetGroupName" =? _dcsg1ClusterSubnetGroupName-        , "Marker"                 =? _dcsg1Marker-        , "MaxRecords"             =? _dcsg1MaxRecords-        , "TagKeys"                =? _dcsg1TagKeys-        , "TagValues"              =? _dcsg1TagValues-        ]+        toQuery DescribeClusterSubnetGroups'{..}+          = mconcat+              ["Action" =:+                 ("DescribeClusterSubnetGroups" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "TagValues" =:+                 toQuery (toQueryList "TagValue" <$> _dcsgsTagValues),+               "TagKeys" =:+                 toQuery (toQueryList "TagKey" <$> _dcsgsTagKeys),+               "ClusterSubnetGroupName" =:+                 _dcsgsClusterSubnetGroupName,+               "MaxRecords" =: _dcsgsMaxRecords,+               "Marker" =: _dcsgsMarker] -instance ToHeaders DescribeClusterSubnetGroups+-- | Contains the output from the DescribeClusterSubnetGroups action.+--+-- /See:/ 'describeClusterSubnetGroupsResponse' smart constructor.+data DescribeClusterSubnetGroupsResponse = DescribeClusterSubnetGroupsResponse'+    { _dcsgrsClusterSubnetGroups :: !(Maybe [ClusterSubnetGroup])+    , _dcsgrsMarker              :: !(Maybe Text)+    , _dcsgrsStatus              :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeClusterSubnetGroups where-    type Sv DescribeClusterSubnetGroups = Redshift-    type Rs DescribeClusterSubnetGroups = DescribeClusterSubnetGroupsResponse+-- | Creates a value of 'DescribeClusterSubnetGroupsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcsgrsClusterSubnetGroups'+--+-- * 'dcsgrsMarker'+--+-- * 'dcsgrsStatus'+describeClusterSubnetGroupsResponse+    :: Int -- ^ 'dcsgrsStatus'+    -> DescribeClusterSubnetGroupsResponse+describeClusterSubnetGroupsResponse pStatus_ =+    DescribeClusterSubnetGroupsResponse'+    { _dcsgrsClusterSubnetGroups = Nothing+    , _dcsgrsMarker = Nothing+    , _dcsgrsStatus = pStatus_+    } -    request  = post "DescribeClusterSubnetGroups"-    response = xmlResponse+-- | A list of ClusterSubnetGroup instances.+dcsgrsClusterSubnetGroups :: Lens' DescribeClusterSubnetGroupsResponse [ClusterSubnetGroup]+dcsgrsClusterSubnetGroups = lens _dcsgrsClusterSubnetGroups (\ s a -> s{_dcsgrsClusterSubnetGroups = a}) . _Default . _Coerce; -instance FromXML DescribeClusterSubnetGroupsResponse where-    parseXML = withElement "DescribeClusterSubnetGroupsResult" $ \x -> DescribeClusterSubnetGroupsResponse-        <$> x .@? "ClusterSubnetGroups" .!@ mempty-        <*> x .@? "Marker"+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dcsgrsMarker :: Lens' DescribeClusterSubnetGroupsResponse (Maybe Text)+dcsgrsMarker = lens _dcsgrsMarker (\ s a -> s{_dcsgrsMarker = a}); -instance AWSPager DescribeClusterSubnetGroups where-    page rq rs-        | stop (rs ^. dcsgrMarker) = Nothing-        | otherwise = (\x -> rq & dcsg1Marker ?~ x)-            <$> (rs ^. dcsgrMarker)+-- | The response status code.+dcsgrsStatus :: Lens' DescribeClusterSubnetGroupsResponse Int+dcsgrsStatus = lens _dcsgrsStatus (\ s a -> s{_dcsgrsStatus = a});
gen/Network/AWS/Redshift/DescribeClusterVersions.hs view
@@ -1,185 +1,207 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeClusterVersions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns descriptions of the available Amazon Redshift cluster versions. You--- can call this operation even before creating any clusters to learn more about--- the Amazon Redshift versions. For more information about managing clusters,--- go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters> in the /Amazon Redshift Cluster Management Guide/+-- Returns descriptions of the available Amazon Redshift cluster versions.+-- You can call this operation even before creating any clusters to learn+-- more about the Amazon Redshift versions. For more information about+-- managing clusters, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters>+-- in the /Amazon Redshift Cluster Management Guide/ --+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterVersions.html AWS API Reference> for DescribeClusterVersions. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusterVersions.html>+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeClusterVersions     (-    -- * Request-      DescribeClusterVersions-    -- ** Request constructor-    , describeClusterVersions-    -- ** Request lenses+    -- * Creating a Request+      describeClusterVersions+    , DescribeClusterVersions+    -- * Request Lenses+    , dcvMaxRecords+    , dcvMarker     , dcvClusterParameterGroupFamily     , dcvClusterVersion-    , dcvMarker-    , dcvMaxRecords -    -- * Response-    , DescribeClusterVersionsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeClusterVersionsResponse-    -- ** Response lenses-    , dcvrClusterVersions-    , dcvrMarker+    , DescribeClusterVersionsResponse+    -- * Response Lenses+    , dcvrsClusterVersions+    , dcvrsMarker+    , dcvrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -data DescribeClusterVersions = DescribeClusterVersions-    { _dcvClusterParameterGroupFamily :: Maybe Text-    , _dcvClusterVersion              :: Maybe Text-    , _dcvMarker                      :: Maybe Text-    , _dcvMaxRecords                  :: Maybe Int-    } deriving (Eq, Ord, Read, Show)+-- | /See:/ 'describeClusterVersions' smart constructor.+data DescribeClusterVersions = DescribeClusterVersions'+    { _dcvMaxRecords                  :: !(Maybe Int)+    , _dcvMarker                      :: !(Maybe Text)+    , _dcvClusterParameterGroupFamily :: !(Maybe Text)+    , _dcvClusterVersion              :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeClusterVersions' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeClusterVersions' with the minimum fields required to make a request. ----- * 'dcvClusterParameterGroupFamily' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcvClusterVersion' @::@ 'Maybe' 'Text'+-- * 'dcvMaxRecords' ----- * 'dcvMarker' @::@ 'Maybe' 'Text'+-- * 'dcvMarker' ----- * 'dcvMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dcvClusterParameterGroupFamily' ---describeClusterVersions :: DescribeClusterVersions-describeClusterVersions = DescribeClusterVersions-    { _dcvClusterVersion              = Nothing+-- * 'dcvClusterVersion'+describeClusterVersions+    :: DescribeClusterVersions+describeClusterVersions =+    DescribeClusterVersions'+    { _dcvMaxRecords = Nothing+    , _dcvMarker = Nothing     , _dcvClusterParameterGroupFamily = Nothing-    , _dcvMaxRecords                  = Nothing-    , _dcvMarker                      = Nothing+    , _dcvClusterVersion = Nothing     } --- | The name of a specific cluster parameter group family to return details for.+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. ----- Constraints:+-- Default: '100' ----- Must be 1 to 255 alphanumeric characters First character must be a letter Cannot end with a hyphen or contain two consecutive hyphens+-- Constraints: minimum 20, maximum 100.+dcvMaxRecords :: Lens' DescribeClusterVersions (Maybe Int)+dcvMaxRecords = lens _dcvMaxRecords (\ s a -> s{_dcvMaxRecords = a});++-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeClusterVersions+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+dcvMarker :: Lens' DescribeClusterVersions (Maybe Text)+dcvMarker = lens _dcvMarker (\ s a -> s{_dcvMarker = a});++-- | The name of a specific cluster parameter group family to return details+-- for. --+-- Constraints:+--+-- -   Must be 1 to 255 alphanumeric characters+-- -   First character must be a letter+-- -   Cannot end with a hyphen or contain two consecutive hyphens dcvClusterParameterGroupFamily :: Lens' DescribeClusterVersions (Maybe Text)-dcvClusterParameterGroupFamily =-    lens _dcvClusterParameterGroupFamily-        (\s a -> s { _dcvClusterParameterGroupFamily = a })+dcvClusterParameterGroupFamily = lens _dcvClusterParameterGroupFamily (\ s a -> s{_dcvClusterParameterGroupFamily = a});  -- | The specific cluster version to return. -- -- Example: '1.0' dcvClusterVersion :: Lens' DescribeClusterVersions (Maybe Text)-dcvClusterVersion =-    lens _dcvClusterVersion (\s a -> s { _dcvClusterVersion = a })+dcvClusterVersion = lens _dcvClusterVersion (\ s a -> s{_dcvClusterVersion = a}); --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeClusterVersions' request--- exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker'--- field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-dcvMarker :: Lens' DescribeClusterVersions (Maybe Text)-dcvMarker = lens _dcvMarker (\s a -> s { _dcvMarker = a })+instance AWSPager DescribeClusterVersions where+        page rq rs+          | stop (rs ^. dcvrsMarker) = Nothing+          | stop (rs ^. dcvrsClusterVersions) = Nothing+          | otherwise =+            Just $ rq & dcvMarker .~ rs ^. dcvrsMarker --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.------ Default: '100'------ Constraints: minimum 20, maximum 100.-dcvMaxRecords :: Lens' DescribeClusterVersions (Maybe Int)-dcvMaxRecords = lens _dcvMaxRecords (\s a -> s { _dcvMaxRecords = a })+instance AWSRequest DescribeClusterVersions where+        type Sv DescribeClusterVersions = Redshift+        type Rs DescribeClusterVersions =+             DescribeClusterVersionsResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeClusterVersionsResult"+              (\ s h x ->+                 DescribeClusterVersionsResponse' <$>+                   (x .@? "ClusterVersions" .!@ mempty >>=+                      may (parseXMLList "ClusterVersion"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s))) -data DescribeClusterVersionsResponse = DescribeClusterVersionsResponse-    { _dcvrClusterVersions :: List "member" ClusterVersion-    , _dcvrMarker          :: Maybe Text-    } deriving (Eq, Read, Show)+instance ToHeaders DescribeClusterVersions where+        toHeaders = const mempty --- | 'DescribeClusterVersionsResponse' constructor.+instance ToPath DescribeClusterVersions where+        toPath = const "/"++instance ToQuery DescribeClusterVersions where+        toQuery DescribeClusterVersions'{..}+          = mconcat+              ["Action" =:+                 ("DescribeClusterVersions" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "MaxRecords" =: _dcvMaxRecords,+               "Marker" =: _dcvMarker,+               "ClusterParameterGroupFamily" =:+                 _dcvClusterParameterGroupFamily,+               "ClusterVersion" =: _dcvClusterVersion]++-- | Contains the output from the DescribeClusterVersions action. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeClusterVersionsResponse' smart constructor.+data DescribeClusterVersionsResponse = DescribeClusterVersionsResponse'+    { _dcvrsClusterVersions :: !(Maybe [ClusterVersion])+    , _dcvrsMarker          :: !(Maybe Text)+    , _dcvrsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeClusterVersionsResponse' with the minimum fields required to make a request. ----- * 'dcvrClusterVersions' @::@ ['ClusterVersion']+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcvrMarker' @::@ 'Maybe' 'Text'+-- * 'dcvrsClusterVersions' ---describeClusterVersionsResponse :: DescribeClusterVersionsResponse-describeClusterVersionsResponse = DescribeClusterVersionsResponse-    { _dcvrMarker          = Nothing-    , _dcvrClusterVersions = mempty+-- * 'dcvrsMarker'+--+-- * 'dcvrsStatus'+describeClusterVersionsResponse+    :: Int -- ^ 'dcvrsStatus'+    -> DescribeClusterVersionsResponse+describeClusterVersionsResponse pStatus_ =+    DescribeClusterVersionsResponse'+    { _dcvrsClusterVersions = Nothing+    , _dcvrsMarker = Nothing+    , _dcvrsStatus = pStatus_     }  -- | A list of 'Version' elements.-dcvrClusterVersions :: Lens' DescribeClusterVersionsResponse [ClusterVersion]-dcvrClusterVersions =-    lens _dcvrClusterVersions (\s a -> s { _dcvrClusterVersions = a })-        . _List+dcvrsClusterVersions :: Lens' DescribeClusterVersionsResponse [ClusterVersion]+dcvrsClusterVersions = lens _dcvrsClusterVersions (\ s a -> s{_dcvrsClusterVersions = a}) . _Default . _Coerce;  -- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dcvrMarker :: Lens' DescribeClusterVersionsResponse (Maybe Text)-dcvrMarker = lens _dcvrMarker (\s a -> s { _dcvrMarker = a })--instance ToPath DescribeClusterVersions where-    toPath = const "/"--instance ToQuery DescribeClusterVersions where-    toQuery DescribeClusterVersions{..} = mconcat-        [ "ClusterParameterGroupFamily" =? _dcvClusterParameterGroupFamily-        , "ClusterVersion"              =? _dcvClusterVersion-        , "Marker"                      =? _dcvMarker-        , "MaxRecords"                  =? _dcvMaxRecords-        ]--instance ToHeaders DescribeClusterVersions--instance AWSRequest DescribeClusterVersions where-    type Sv DescribeClusterVersions = Redshift-    type Rs DescribeClusterVersions = DescribeClusterVersionsResponse--    request  = post "DescribeClusterVersions"-    response = xmlResponse--instance FromXML DescribeClusterVersionsResponse where-    parseXML = withElement "DescribeClusterVersionsResult" $ \x -> DescribeClusterVersionsResponse-        <$> x .@? "ClusterVersions" .!@ mempty-        <*> x .@? "Marker"+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dcvrsMarker :: Lens' DescribeClusterVersionsResponse (Maybe Text)+dcvrsMarker = lens _dcvrsMarker (\ s a -> s{_dcvrsMarker = a}); -instance AWSPager DescribeClusterVersions where-    page rq rs-        | stop (rs ^. dcvrMarker) = Nothing-        | otherwise = (\x -> rq & dcvMarker ?~ x)-            <$> (rs ^. dcvrMarker)+-- | The response status code.+dcvrsStatus :: Lens' DescribeClusterVersionsResponse Int+dcvrsStatus = lens _dcvrsStatus (\ s a -> s{_dcvrsStatus = a});
gen/Network/AWS/Redshift/DescribeClusters.hs view
@@ -1,209 +1,234 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeClusters--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns properties of provisioned clusters including general cluster--- properties, cluster database properties, maintenance and backup properties,--- and security and access properties. This operation supports pagination. For--- more information about managing clusters, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters> in--- the /Amazon Redshift Cluster Management Guide/ .+-- Returns properties of provisioned clusters including general cluster+-- properties, cluster database properties, maintenance and backup+-- properties, and security and access properties. This operation supports+-- pagination. For more information about managing clusters, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters>+-- in the /Amazon Redshift Cluster Management Guide/ . -- -- If you specify both tag keys and tag values in the same request, Amazon--- Redshift returns all clusters that match any combination of the specified--- keys and values. For example, if you have 'owner' and 'environment' for tag keys,--- and 'admin' and 'test' for tag values, all clusters that have any combination of--- those values are returned.+-- Redshift returns all clusters that match any combination of the+-- specified keys and values. For example, if you have 'owner' and+-- 'environment' for tag keys, and 'admin' and 'test' for tag values, all+-- clusters that have any combination of those values are returned. -- -- If both tag keys and values are omitted from the request, clusters are--- returned regardless of whether they have tag keys or values associated with--- them.+-- returned regardless of whether they have tag keys or values associated+-- with them. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html AWS API Reference> for DescribeClusters.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeClusters     (-    -- * Request-      DescribeClusters-    -- ** Request constructor-    , describeClusters-    -- ** Request lenses+    -- * Creating a Request+      describeClusters+    , DescribeClusters+    -- * Request Lenses+    , dcTagValues+    , dcTagKeys     , dcClusterIdentifier-    , dcMarker     , dcMaxRecords-    , dcTagKeys-    , dcTagValues+    , dcMarker -    -- * Response-    , DescribeClustersResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeClustersResponse-    -- ** Response lenses-    , dcrClusters-    , dcrMarker+    , DescribeClustersResponse+    -- * Response Lenses+    , dcrsMarker+    , dcrsClusters+    , dcrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeClusters = DescribeClusters-    { _dcClusterIdentifier :: Maybe Text-    , _dcMarker            :: Maybe Text-    , _dcMaxRecords        :: Maybe Int-    , _dcTagKeys           :: List "member" Text-    , _dcTagValues         :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeClusters' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeClusters' smart constructor.+data DescribeClusters = DescribeClusters'+    { _dcTagValues         :: !(Maybe [Text])+    , _dcTagKeys           :: !(Maybe [Text])+    , _dcClusterIdentifier :: !(Maybe Text)+    , _dcMaxRecords        :: !(Maybe Int)+    , _dcMarker            :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeClusters' with the minimum fields required to make a request. ----- * 'dcClusterIdentifier' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dcMarker' @::@ 'Maybe' 'Text'+-- * 'dcTagValues' ----- * 'dcMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dcTagKeys' ----- * 'dcTagKeys' @::@ ['Text']+-- * 'dcClusterIdentifier' ----- * 'dcTagValues' @::@ ['Text']+-- * 'dcMaxRecords' ---describeClusters :: DescribeClusters-describeClusters = DescribeClusters-    { _dcClusterIdentifier = Nothing-    , _dcMaxRecords        = Nothing-    , _dcMarker            = Nothing-    , _dcTagKeys           = mempty-    , _dcTagValues         = mempty+-- * 'dcMarker'+describeClusters+    :: DescribeClusters+describeClusters =+    DescribeClusters'+    { _dcTagValues = Nothing+    , _dcTagKeys = Nothing+    , _dcClusterIdentifier = Nothing+    , _dcMaxRecords = Nothing+    , _dcMarker = Nothing     } --- | The unique identifier of a cluster whose properties you are requesting. This--- parameter is case sensitive.+-- | A tag value or values for which you want to return all matching clusters+-- that are associated with the specified tag value or values. For example,+-- suppose that you have clusters that are tagged with values called+-- 'admin' and 'test'. If you specify both of these tag values in the+-- request, Amazon Redshift returns a response with the clusters that have+-- either or both of these tag values associated with them.+dcTagValues :: Lens' DescribeClusters [Text]+dcTagValues = lens _dcTagValues (\ s a -> s{_dcTagValues = a}) . _Default . _Coerce;++-- | A tag key or keys for which you want to return all matching clusters+-- that are associated with the specified key or keys. For example, suppose+-- that you have clusters that are tagged with keys called 'owner' and+-- 'environment'. If you specify both of these tag keys in the request,+-- Amazon Redshift returns a response with the clusters that have either or+-- both of these tag keys associated with them.+dcTagKeys :: Lens' DescribeClusters [Text]+dcTagKeys = lens _dcTagKeys (\ s a -> s{_dcTagKeys = a}) . _Default . _Coerce;++-- | The unique identifier of a cluster whose properties you are requesting.+-- This parameter is case sensitive. -- -- The default is that all clusters defined for an account are returned. dcClusterIdentifier :: Lens' DescribeClusters (Maybe Text)-dcClusterIdentifier =-    lens _dcClusterIdentifier (\s a -> s { _dcClusterIdentifier = a })---- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeClusters' request exceed the--- value specified in 'MaxRecords', AWS returns a value in the 'Marker' field of the--- response. You can retrieve the next set of response records by providing the--- returned marker value in the 'Marker' parameter and retrying the request.------ Constraints: You can specify either the ClusterIdentifier parameter or the Marker--- parameter, but not both.-dcMarker :: Lens' DescribeClusters (Maybe Text)-dcMarker = lens _dcMarker (\s a -> s { _dcMarker = a })+dcClusterIdentifier = lens _dcClusterIdentifier (\ s a -> s{_dcClusterIdentifier = a}); --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. -- -- Default: '100' -- -- Constraints: minimum 20, maximum 100. dcMaxRecords :: Lens' DescribeClusters (Maybe Int)-dcMaxRecords = lens _dcMaxRecords (\s a -> s { _dcMaxRecords = a })---- | A tag key or keys for which you want to return all matching clusters that are--- associated with the specified key or keys. For example, suppose that you have--- clusters that are tagged with keys called 'owner' and 'environment'. If you--- specify both of these tag keys in the request, Amazon Redshift returns a--- response with the clusters that have either or both of these tag keys--- associated with them.-dcTagKeys :: Lens' DescribeClusters [Text]-dcTagKeys = lens _dcTagKeys (\s a -> s { _dcTagKeys = a }) . _List---- | A tag value or values for which you want to return all matching clusters that--- are associated with the specified tag value or values. For example, suppose--- that you have clusters that are tagged with values called 'admin' and 'test'. If--- you specify both of these tag values in the request, Amazon Redshift returns--- a response with the clusters that have either or both of these tag values--- associated with them.-dcTagValues :: Lens' DescribeClusters [Text]-dcTagValues = lens _dcTagValues (\s a -> s { _dcTagValues = a }) . _List--data DescribeClustersResponse = DescribeClustersResponse-    { _dcrClusters :: List "member" Cluster-    , _dcrMarker   :: Maybe Text-    } deriving (Eq, Read, Show)+dcMaxRecords = lens _dcMaxRecords (\ s a -> s{_dcMaxRecords = a}); --- | 'DescribeClustersResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcrClusters' @::@ ['Cluster']------ * 'dcrMarker' @::@ 'Maybe' 'Text'+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeClusters request+-- exceed the value specified in 'MaxRecords', AWS returns a value in the+-- 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request. ---describeClustersResponse :: DescribeClustersResponse-describeClustersResponse = DescribeClustersResponse-    { _dcrMarker   = Nothing-    , _dcrClusters = mempty-    }+-- Constraints: You can specify either the __ClusterIdentifier__ parameter+-- or the __Marker__ parameter, but not both.+dcMarker :: Lens' DescribeClusters (Maybe Text)+dcMarker = lens _dcMarker (\ s a -> s{_dcMarker = a}); --- | A list of 'Cluster' objects, where each object describes one cluster.-dcrClusters :: Lens' DescribeClustersResponse [Cluster]-dcrClusters = lens _dcrClusters (\s a -> s { _dcrClusters = a }) . _List+instance AWSPager DescribeClusters where+        page rq rs+          | stop (rs ^. dcrsMarker) = Nothing+          | stop (rs ^. dcrsClusters) = Nothing+          | otherwise =+            Just $ rq & dcMarker .~ rs ^. dcrsMarker --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dcrMarker :: Lens' DescribeClustersResponse (Maybe Text)-dcrMarker = lens _dcrMarker (\s a -> s { _dcrMarker = a })+instance AWSRequest DescribeClusters where+        type Sv DescribeClusters = Redshift+        type Rs DescribeClusters = DescribeClustersResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeClustersResult"+              (\ s h x ->+                 DescribeClustersResponse' <$>+                   (x .@? "Marker") <*>+                     (x .@? "Clusters" .!@ mempty >>=+                        may (parseXMLList "Cluster"))+                     <*> (pure (fromEnum s))) +instance ToHeaders DescribeClusters where+        toHeaders = const mempty+ instance ToPath DescribeClusters where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeClusters where-    toQuery DescribeClusters{..} = mconcat-        [ "ClusterIdentifier" =? _dcClusterIdentifier-        , "Marker"            =? _dcMarker-        , "MaxRecords"        =? _dcMaxRecords-        , "TagKeys"           =? _dcTagKeys-        , "TagValues"         =? _dcTagValues-        ]+        toQuery DescribeClusters'{..}+          = mconcat+              ["Action" =: ("DescribeClusters" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "TagValues" =:+                 toQuery (toQueryList "TagValue" <$> _dcTagValues),+               "TagKeys" =:+                 toQuery (toQueryList "TagKey" <$> _dcTagKeys),+               "ClusterIdentifier" =: _dcClusterIdentifier,+               "MaxRecords" =: _dcMaxRecords, "Marker" =: _dcMarker] -instance ToHeaders DescribeClusters+-- | Contains the output from the DescribeClusters action.+--+-- /See:/ 'describeClustersResponse' smart constructor.+data DescribeClustersResponse = DescribeClustersResponse'+    { _dcrsMarker   :: !(Maybe Text)+    , _dcrsClusters :: !(Maybe [Cluster])+    , _dcrsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeClusters where-    type Sv DescribeClusters = Redshift-    type Rs DescribeClusters = DescribeClustersResponse+-- | Creates a value of 'DescribeClustersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcrsMarker'+--+-- * 'dcrsClusters'+--+-- * 'dcrsStatus'+describeClustersResponse+    :: Int -- ^ 'dcrsStatus'+    -> DescribeClustersResponse+describeClustersResponse pStatus_ =+    DescribeClustersResponse'+    { _dcrsMarker = Nothing+    , _dcrsClusters = Nothing+    , _dcrsStatus = pStatus_+    } -    request  = post "DescribeClusters"-    response = xmlResponse+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dcrsMarker :: Lens' DescribeClustersResponse (Maybe Text)+dcrsMarker = lens _dcrsMarker (\ s a -> s{_dcrsMarker = a}); -instance FromXML DescribeClustersResponse where-    parseXML = withElement "DescribeClustersResult" $ \x -> DescribeClustersResponse-        <$> x .@? "Clusters" .!@ mempty-        <*> x .@? "Marker"+-- | A list of Cluster objects, where each object describes one cluster.+dcrsClusters :: Lens' DescribeClustersResponse [Cluster]+dcrsClusters = lens _dcrsClusters (\ s a -> s{_dcrsClusters = a}) . _Default . _Coerce; -instance AWSPager DescribeClusters where-    page rq rs-        | stop (rs ^. dcrMarker) = Nothing-        | otherwise = (\x -> rq & dcMarker ?~ x)-            <$> (rs ^. dcrMarker)+-- | The response status code.+dcrsStatus :: Lens' DescribeClustersResponse Int+dcrsStatus = lens _dcrsStatus (\ s a -> s{_dcrsStatus = a});
gen/Network/AWS/Redshift/DescribeDefaultClusterParameters.hs view
@@ -1,152 +1,189 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeDefaultClusterParameters--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of parameter settings for the specified parameter group+-- Returns a list of parameter settings for the specified parameter group -- family. ----- For more information about managing parameter groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon RedshiftParameter Groups> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about parameters and parameter groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon Redshift Parameter Groups>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeDefaultClusterParameters.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeDefaultClusterParameters.html AWS API Reference> for DescribeDefaultClusterParameters.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeDefaultClusterParameters     (-    -- * Request-      DescribeDefaultClusterParameters-    -- ** Request constructor-    , describeDefaultClusterParameters-    -- ** Request lenses-    , ddcpMarker+    -- * Creating a Request+      describeDefaultClusterParameters+    , DescribeDefaultClusterParameters+    -- * Request Lenses     , ddcpMaxRecords+    , ddcpMarker     , ddcpParameterGroupFamily -    -- * Response-    , DescribeDefaultClusterParametersResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeDefaultClusterParametersResponse-    -- ** Response lenses-    , ddcprDefaultClusterParameters+    , DescribeDefaultClusterParametersResponse+    -- * Response Lenses+    , ddcprsStatus+    , ddcprsDefaultClusterParameters     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeDefaultClusterParameters = DescribeDefaultClusterParameters-    { _ddcpMarker               :: Maybe Text-    , _ddcpMaxRecords           :: Maybe Int-    , _ddcpParameterGroupFamily :: Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeDefaultClusterParameters' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeDefaultClusterParameters' smart constructor.+data DescribeDefaultClusterParameters = DescribeDefaultClusterParameters'+    { _ddcpMaxRecords           :: !(Maybe Int)+    , _ddcpMarker               :: !(Maybe Text)+    , _ddcpParameterGroupFamily :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeDefaultClusterParameters' with the minimum fields required to make a request. ----- * 'ddcpMarker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'ddcpMaxRecords' @::@ 'Maybe' 'Int'+-- * 'ddcpMaxRecords' ----- * 'ddcpParameterGroupFamily' @::@ 'Text'+-- * 'ddcpMarker' ---describeDefaultClusterParameters :: Text -- ^ 'ddcpParameterGroupFamily'-                                 -> DescribeDefaultClusterParameters-describeDefaultClusterParameters p1 = DescribeDefaultClusterParameters-    { _ddcpParameterGroupFamily = p1-    , _ddcpMaxRecords           = Nothing-    , _ddcpMarker               = Nothing+-- * 'ddcpParameterGroupFamily'+describeDefaultClusterParameters+    :: Text -- ^ 'ddcpParameterGroupFamily'+    -> DescribeDefaultClusterParameters+describeDefaultClusterParameters pParameterGroupFamily_ =+    DescribeDefaultClusterParameters'+    { _ddcpMaxRecords = Nothing+    , _ddcpMarker = Nothing+    , _ddcpParameterGroupFamily = pParameterGroupFamily_     } --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeDefaultClusterParameters'--- request exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker' field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-ddcpMarker :: Lens' DescribeDefaultClusterParameters (Maybe Text)-ddcpMarker = lens _ddcpMarker (\s a -> s { _ddcpMarker = a })---- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. -- -- Default: '100' -- -- Constraints: minimum 20, maximum 100. ddcpMaxRecords :: Lens' DescribeDefaultClusterParameters (Maybe Int)-ddcpMaxRecords = lens _ddcpMaxRecords (\s a -> s { _ddcpMaxRecords = a })+ddcpMaxRecords = lens _ddcpMaxRecords (\ s a -> s{_ddcpMaxRecords = a}); +-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a+-- DescribeDefaultClusterParameters request exceed the value specified in+-- 'MaxRecords', AWS returns a value in the 'Marker' field of the response.+-- You can retrieve the next set of response records by providing the+-- returned marker value in the 'Marker' parameter and retrying the+-- request.+ddcpMarker :: Lens' DescribeDefaultClusterParameters (Maybe Text)+ddcpMarker = lens _ddcpMarker (\ s a -> s{_ddcpMarker = a});+ -- | The name of the cluster parameter group family. ddcpParameterGroupFamily :: Lens' DescribeDefaultClusterParameters Text-ddcpParameterGroupFamily =-    lens _ddcpParameterGroupFamily-        (\s a -> s { _ddcpParameterGroupFamily = a })--newtype DescribeDefaultClusterParametersResponse = DescribeDefaultClusterParametersResponse-    { _ddcprDefaultClusterParameters :: DefaultClusterParameters-    } deriving (Eq, Read, Show)+ddcpParameterGroupFamily = lens _ddcpParameterGroupFamily (\ s a -> s{_ddcpParameterGroupFamily = a}); --- | 'DescribeDefaultClusterParametersResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'ddcprDefaultClusterParameters' @::@ 'DefaultClusterParameters'----describeDefaultClusterParametersResponse :: DefaultClusterParameters -- ^ 'ddcprDefaultClusterParameters'-                                         -> DescribeDefaultClusterParametersResponse-describeDefaultClusterParametersResponse p1 = DescribeDefaultClusterParametersResponse-    { _ddcprDefaultClusterParameters = p1-    }+instance AWSPager DescribeDefaultClusterParameters+         where+        page rq rs+          | stop+              (rs ^?+                 ddcprsDefaultClusterParameters . dcpMarker . _Just)+            = Nothing+          | stop+              (rs ^.+                 ddcprsDefaultClusterParameters . dcpParameters)+            = Nothing+          | otherwise =+            Just $ rq &+              ddcpMarker .~+                rs ^?+                  ddcprsDefaultClusterParameters . dcpMarker . _Just -ddcprDefaultClusterParameters :: Lens' DescribeDefaultClusterParametersResponse DefaultClusterParameters-ddcprDefaultClusterParameters =-    lens _ddcprDefaultClusterParameters-        (\s a -> s { _ddcprDefaultClusterParameters = a })+instance AWSRequest DescribeDefaultClusterParameters+         where+        type Sv DescribeDefaultClusterParameters = Redshift+        type Rs DescribeDefaultClusterParameters =+             DescribeDefaultClusterParametersResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeDefaultClusterParametersResult"+              (\ s h x ->+                 DescribeDefaultClusterParametersResponse' <$>+                   (pure (fromEnum s)) <*>+                     (x .@ "DefaultClusterParameters")) -instance ToPath DescribeDefaultClusterParameters where-    toPath = const "/"+instance ToHeaders DescribeDefaultClusterParameters+         where+        toHeaders = const mempty -instance ToQuery DescribeDefaultClusterParameters where-    toQuery DescribeDefaultClusterParameters{..} = mconcat-        [ "Marker"               =? _ddcpMarker-        , "MaxRecords"           =? _ddcpMaxRecords-        , "ParameterGroupFamily" =? _ddcpParameterGroupFamily-        ]+instance ToPath DescribeDefaultClusterParameters+         where+        toPath = const "/" -instance ToHeaders DescribeDefaultClusterParameters+instance ToQuery DescribeDefaultClusterParameters+         where+        toQuery DescribeDefaultClusterParameters'{..}+          = mconcat+              ["Action" =:+                 ("DescribeDefaultClusterParameters" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "MaxRecords" =: _ddcpMaxRecords,+               "Marker" =: _ddcpMarker,+               "ParameterGroupFamily" =: _ddcpParameterGroupFamily] -instance AWSRequest DescribeDefaultClusterParameters where-    type Sv DescribeDefaultClusterParameters = Redshift-    type Rs DescribeDefaultClusterParameters = DescribeDefaultClusterParametersResponse+-- | /See:/ 'describeDefaultClusterParametersResponse' smart constructor.+data DescribeDefaultClusterParametersResponse = DescribeDefaultClusterParametersResponse'+    { _ddcprsStatus                   :: !Int+    , _ddcprsDefaultClusterParameters :: !DefaultClusterParameters+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -    request  = post "DescribeDefaultClusterParameters"-    response = xmlResponse+-- | Creates a value of 'DescribeDefaultClusterParametersResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddcprsStatus'+--+-- * 'ddcprsDefaultClusterParameters'+describeDefaultClusterParametersResponse+    :: Int -- ^ 'ddcprsStatus'+    -> DefaultClusterParameters -- ^ 'ddcprsDefaultClusterParameters'+    -> DescribeDefaultClusterParametersResponse+describeDefaultClusterParametersResponse pStatus_ pDefaultClusterParameters_ =+    DescribeDefaultClusterParametersResponse'+    { _ddcprsStatus = pStatus_+    , _ddcprsDefaultClusterParameters = pDefaultClusterParameters_+    } -instance FromXML DescribeDefaultClusterParametersResponse where-    parseXML = withElement "DescribeDefaultClusterParametersResult" $ \x -> DescribeDefaultClusterParametersResponse-        <$> x .@  "DefaultClusterParameters"+-- | The response status code.+ddcprsStatus :: Lens' DescribeDefaultClusterParametersResponse Int+ddcprsStatus = lens _ddcprsStatus (\ s a -> s{_ddcprsStatus = a}); -instance AWSPager DescribeDefaultClusterParameters where-    page rq rs-        | stop (rs ^. ddcprDefaultClusterParameters . dcpMarker) = Nothing-        | otherwise = (\x -> rq & ddcpMarker ?~ x)-            <$> (rs ^. ddcprDefaultClusterParameters . dcpMarker)+-- | Undocumented member.+ddcprsDefaultClusterParameters :: Lens' DescribeDefaultClusterParametersResponse DefaultClusterParameters+ddcprsDefaultClusterParameters = lens _ddcprsDefaultClusterParameters (\ s a -> s{_ddcprsDefaultClusterParameters = a});
gen/Network/AWS/Redshift/DescribeEventCategories.hs view
@@ -1,121 +1,132 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeEventCategories--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Displays a list of event categories for all event source types, or for a--- specified source type. For a list of the event categories and source types,--- go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html Amazon Redshift Event Notifications>.+-- Displays a list of event categories for all event source types, or for a+-- specified source type. For a list of the event categories and source+-- types, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html Amazon Redshift Event Notifications>. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeEventCategories.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeEventCategories.html AWS API Reference> for DescribeEventCategories. module Network.AWS.Redshift.DescribeEventCategories     (-    -- * Request-      DescribeEventCategories-    -- ** Request constructor-    , describeEventCategories-    -- ** Request lenses+    -- * Creating a Request+      describeEventCategories+    , DescribeEventCategories+    -- * Request Lenses     , decSourceType -    -- * Response-    , DescribeEventCategoriesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeEventCategoriesResponse-    -- ** Response lenses-    , decrEventCategoriesMapList+    , DescribeEventCategoriesResponse+    -- * Response Lenses+    , decrsEventCategoriesMapList+    , decrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -newtype DescribeEventCategories = DescribeEventCategories+-- |+--+-- /See:/ 'describeEventCategories' smart constructor.+newtype DescribeEventCategories = DescribeEventCategories'     { _decSourceType :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeEventCategories' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeEventCategories' with the minimum fields required to make a request. ----- * 'decSourceType' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ---describeEventCategories :: DescribeEventCategories-describeEventCategories = DescribeEventCategories+-- * 'decSourceType'+describeEventCategories+    :: DescribeEventCategories+describeEventCategories =+    DescribeEventCategories'     { _decSourceType = Nothing     } --- | The source type, such as cluster or parameter group, to which the described--- event categories apply.+-- | The source type, such as cluster or parameter group, to which the+-- described event categories apply. -- -- Valid values: cluster, snapshot, parameter group, and security group. decSourceType :: Lens' DescribeEventCategories (Maybe Text)-decSourceType = lens _decSourceType (\s a -> s { _decSourceType = a })+decSourceType = lens _decSourceType (\ s a -> s{_decSourceType = a}); -newtype DescribeEventCategoriesResponse = DescribeEventCategoriesResponse-    { _decrEventCategoriesMapList :: List "member" EventCategoriesMap-    } deriving (Eq, Read, Show, Monoid, Semigroup)+instance AWSRequest DescribeEventCategories where+        type Sv DescribeEventCategories = Redshift+        type Rs DescribeEventCategories =+             DescribeEventCategoriesResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeEventCategoriesResult"+              (\ s h x ->+                 DescribeEventCategoriesResponse' <$>+                   (x .@? "EventCategoriesMapList" .!@ mempty >>=+                      may (parseXMLList "EventCategoriesMap"))+                     <*> (pure (fromEnum s))) -instance GHC.Exts.IsList DescribeEventCategoriesResponse where-    type Item DescribeEventCategoriesResponse = EventCategoriesMap+instance ToHeaders DescribeEventCategories where+        toHeaders = const mempty -    fromList = DescribeEventCategoriesResponse . GHC.Exts.fromList-    toList   = GHC.Exts.toList . _decrEventCategoriesMapList+instance ToPath DescribeEventCategories where+        toPath = const "/" --- | 'DescribeEventCategoriesResponse' constructor.+instance ToQuery DescribeEventCategories where+        toQuery DescribeEventCategories'{..}+          = mconcat+              ["Action" =:+                 ("DescribeEventCategories" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SourceType" =: _decSourceType]++-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeEventCategoriesResponse' smart constructor.+data DescribeEventCategoriesResponse = DescribeEventCategoriesResponse'+    { _decrsEventCategoriesMapList :: !(Maybe [EventCategoriesMap])+    , _decrsStatus                 :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeEventCategoriesResponse' with the minimum fields required to make a request. ----- * 'decrEventCategoriesMapList' @::@ ['EventCategoriesMap']+-- Use one of the following lenses to modify other fields as desired: ---describeEventCategoriesResponse :: DescribeEventCategoriesResponse-describeEventCategoriesResponse = DescribeEventCategoriesResponse-    { _decrEventCategoriesMapList = mempty+-- * 'decrsEventCategoriesMapList'+--+-- * 'decrsStatus'+describeEventCategoriesResponse+    :: Int -- ^ 'decrsStatus'+    -> DescribeEventCategoriesResponse+describeEventCategoriesResponse pStatus_ =+    DescribeEventCategoriesResponse'+    { _decrsEventCategoriesMapList = Nothing+    , _decrsStatus = pStatus_     }  -- | A list of event categories descriptions.-decrEventCategoriesMapList :: Lens' DescribeEventCategoriesResponse [EventCategoriesMap]-decrEventCategoriesMapList =-    lens _decrEventCategoriesMapList-        (\s a -> s { _decrEventCategoriesMapList = a })-            . _List--instance ToPath DescribeEventCategories where-    toPath = const "/"--instance ToQuery DescribeEventCategories where-    toQuery DescribeEventCategories{..} = mconcat-        [ "SourceType" =? _decSourceType-        ]--instance ToHeaders DescribeEventCategories--instance AWSRequest DescribeEventCategories where-    type Sv DescribeEventCategories = Redshift-    type Rs DescribeEventCategories = DescribeEventCategoriesResponse--    request  = post "DescribeEventCategories"-    response = xmlResponse+decrsEventCategoriesMapList :: Lens' DescribeEventCategoriesResponse [EventCategoriesMap]+decrsEventCategoriesMapList = lens _decrsEventCategoriesMapList (\ s a -> s{_decrsEventCategoriesMapList = a}) . _Default . _Coerce; -instance FromXML DescribeEventCategoriesResponse where-    parseXML = withElement "DescribeEventCategoriesResult" $ \x -> DescribeEventCategoriesResponse-        <$> x .@? "EventCategoriesMapList" .!@ mempty+-- | The response status code.+decrsStatus :: Lens' DescribeEventCategoriesResponse Int+decrsStatus = lens _decrsStatus (\ s a -> s{_decrsStatus = a});
gen/Network/AWS/Redshift/DescribeEventSubscriptions.hs view
@@ -1,166 +1,187 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeEventSubscriptions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Lists descriptions of all the Amazon Redshift event notifications+-- Lists descriptions of all the Amazon Redshift event notifications -- subscription for a customer account. If you specify a subscription name, -- lists the description for that subscription. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeEventSubscriptions.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeEventSubscriptions.html AWS API Reference> for DescribeEventSubscriptions.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeEventSubscriptions     (-    -- * Request-      DescribeEventSubscriptions-    -- ** Request constructor-    , describeEventSubscriptions-    -- ** Request lenses-    , des1Marker-    , des1MaxRecords-    , des1SubscriptionName+    -- * Creating a Request+      describeEventSubscriptions+    , DescribeEventSubscriptions+    -- * Request Lenses+    , dSubscriptionName+    , dMaxRecords+    , dMarker -    -- * Response-    , DescribeEventSubscriptionsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeEventSubscriptionsResponse-    -- ** Response lenses-    , desrEventSubscriptionsList-    , desrMarker+    , DescribeEventSubscriptionsResponse+    -- * Response Lenses+    , desrsEventSubscriptionsList+    , desrsMarker+    , desrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeEventSubscriptions = DescribeEventSubscriptions-    { _des1Marker           :: Maybe Text-    , _des1MaxRecords       :: Maybe Int-    , _des1SubscriptionName :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeEventSubscriptions' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeEventSubscriptions' smart constructor.+data DescribeEventSubscriptions = DescribeEventSubscriptions'+    { _dSubscriptionName :: !(Maybe Text)+    , _dMaxRecords       :: !(Maybe Int)+    , _dMarker           :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeEventSubscriptions' with the minimum fields required to make a request. ----- * 'des1Marker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'des1MaxRecords' @::@ 'Maybe' 'Int'+-- * 'dSubscriptionName' ----- * 'des1SubscriptionName' @::@ 'Maybe' 'Text'+-- * 'dMaxRecords' ---describeEventSubscriptions :: DescribeEventSubscriptions-describeEventSubscriptions = DescribeEventSubscriptions-    { _des1SubscriptionName = Nothing-    , _des1MaxRecords       = Nothing-    , _des1Marker           = Nothing+-- * 'dMarker'+describeEventSubscriptions+    :: DescribeEventSubscriptions+describeEventSubscriptions =+    DescribeEventSubscriptions'+    { _dSubscriptionName = Nothing+    , _dMaxRecords = Nothing+    , _dMarker = Nothing     } --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeEventSubscriptions' request--- exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker'--- field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-des1Marker :: Lens' DescribeEventSubscriptions (Maybe Text)-des1Marker = lens _des1Marker (\s a -> s { _des1Marker = a })+-- | The name of the Amazon Redshift event notification subscription to be+-- described.+dSubscriptionName :: Lens' DescribeEventSubscriptions (Maybe Text)+dSubscriptionName = lens _dSubscriptionName (\ s a -> s{_dSubscriptionName = a}); --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. -- -- Default: '100' -- -- Constraints: minimum 20, maximum 100.-des1MaxRecords :: Lens' DescribeEventSubscriptions (Maybe Int)-des1MaxRecords = lens _des1MaxRecords (\s a -> s { _des1MaxRecords = a })---- | The name of the Amazon Redshift event notification subscription to be--- described.-des1SubscriptionName :: Lens' DescribeEventSubscriptions (Maybe Text)-des1SubscriptionName =-    lens _des1SubscriptionName (\s a -> s { _des1SubscriptionName = a })+dMaxRecords :: Lens' DescribeEventSubscriptions (Maybe Int)+dMaxRecords = lens _dMaxRecords (\ s a -> s{_dMaxRecords = a}); -data DescribeEventSubscriptionsResponse = DescribeEventSubscriptionsResponse-    { _desrEventSubscriptionsList :: List "member" EventSubscription-    , _desrMarker                 :: Maybe Text-    } deriving (Eq, Read, Show)+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeEventSubscriptions+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+dMarker :: Lens' DescribeEventSubscriptions (Maybe Text)+dMarker = lens _dMarker (\ s a -> s{_dMarker = a}); --- | 'DescribeEventSubscriptionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'desrEventSubscriptionsList' @::@ ['EventSubscription']------ * 'desrMarker' @::@ 'Maybe' 'Text'----describeEventSubscriptionsResponse :: DescribeEventSubscriptionsResponse-describeEventSubscriptionsResponse = DescribeEventSubscriptionsResponse-    { _desrMarker                 = Nothing-    , _desrEventSubscriptionsList = mempty-    }+instance AWSPager DescribeEventSubscriptions where+        page rq rs+          | stop (rs ^. desrsMarker) = Nothing+          | stop (rs ^. desrsEventSubscriptionsList) = Nothing+          | otherwise =+            Just $ rq & dMarker .~ rs ^. desrsMarker --- | A list of event subscriptions.-desrEventSubscriptionsList :: Lens' DescribeEventSubscriptionsResponse [EventSubscription]-desrEventSubscriptionsList =-    lens _desrEventSubscriptionsList-        (\s a -> s { _desrEventSubscriptionsList = a })-            . _List+instance AWSRequest DescribeEventSubscriptions where+        type Sv DescribeEventSubscriptions = Redshift+        type Rs DescribeEventSubscriptions =+             DescribeEventSubscriptionsResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeEventSubscriptionsResult"+              (\ s h x ->+                 DescribeEventSubscriptionsResponse' <$>+                   (x .@? "EventSubscriptionsList" .!@ mempty >>=+                      may (parseXMLList "EventSubscription"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s))) --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-desrMarker :: Lens' DescribeEventSubscriptionsResponse (Maybe Text)-desrMarker = lens _desrMarker (\s a -> s { _desrMarker = a })+instance ToHeaders DescribeEventSubscriptions where+        toHeaders = const mempty  instance ToPath DescribeEventSubscriptions where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeEventSubscriptions where-    toQuery DescribeEventSubscriptions{..} = mconcat-        [ "Marker"           =? _des1Marker-        , "MaxRecords"       =? _des1MaxRecords-        , "SubscriptionName" =? _des1SubscriptionName-        ]+        toQuery DescribeEventSubscriptions'{..}+          = mconcat+              ["Action" =:+                 ("DescribeEventSubscriptions" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SubscriptionName" =: _dSubscriptionName,+               "MaxRecords" =: _dMaxRecords, "Marker" =: _dMarker] -instance ToHeaders DescribeEventSubscriptions+-- |+--+-- /See:/ 'describeEventSubscriptionsResponse' smart constructor.+data DescribeEventSubscriptionsResponse = DescribeEventSubscriptionsResponse'+    { _desrsEventSubscriptionsList :: !(Maybe [EventSubscription])+    , _desrsMarker                 :: !(Maybe Text)+    , _desrsStatus                 :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeEventSubscriptions where-    type Sv DescribeEventSubscriptions = Redshift-    type Rs DescribeEventSubscriptions = DescribeEventSubscriptionsResponse+-- | Creates a value of 'DescribeEventSubscriptionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'desrsEventSubscriptionsList'+--+-- * 'desrsMarker'+--+-- * 'desrsStatus'+describeEventSubscriptionsResponse+    :: Int -- ^ 'desrsStatus'+    -> DescribeEventSubscriptionsResponse+describeEventSubscriptionsResponse pStatus_ =+    DescribeEventSubscriptionsResponse'+    { _desrsEventSubscriptionsList = Nothing+    , _desrsMarker = Nothing+    , _desrsStatus = pStatus_+    } -    request  = post "DescribeEventSubscriptions"-    response = xmlResponse+-- | A list of event subscriptions.+desrsEventSubscriptionsList :: Lens' DescribeEventSubscriptionsResponse [EventSubscription]+desrsEventSubscriptionsList = lens _desrsEventSubscriptionsList (\ s a -> s{_desrsEventSubscriptionsList = a}) . _Default . _Coerce; -instance FromXML DescribeEventSubscriptionsResponse where-    parseXML = withElement "DescribeEventSubscriptionsResult" $ \x -> DescribeEventSubscriptionsResponse-        <$> x .@? "EventSubscriptionsList" .!@ mempty-        <*> x .@? "Marker"+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+desrsMarker :: Lens' DescribeEventSubscriptionsResponse (Maybe Text)+desrsMarker = lens _desrsMarker (\ s a -> s{_desrsMarker = a}); -instance AWSPager DescribeEventSubscriptions where-    page rq rs-        | stop (rs ^. desrMarker) = Nothing-        | otherwise = (\x -> rq & des1Marker ?~ x)-            <$> (rs ^. desrMarker)+-- | The response status code.+desrsStatus :: Lens' DescribeEventSubscriptionsResponse Int+desrsStatus = lens _desrsStatus (\ s a -> s{_desrsStatus = a});
gen/Network/AWS/Redshift/DescribeEvents.hs view
@@ -1,136 +1,129 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeEvents--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns events related to clusters, security groups, snapshots, and+-- Returns events related to clusters, security groups, snapshots, and -- parameter groups for the past 14 days. Events specific to a particular -- cluster, security group, snapshot or parameter group can be obtained by--- providing the name as a parameter. By default, the past hour of events are--- returned.+-- providing the name as a parameter. By default, the past hour of events+-- are returned. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeEvents.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeEvents.html AWS API Reference> for DescribeEvents.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeEvents     (-    -- * Request-      DescribeEvents-    -- ** Request constructor-    , describeEvents-    -- ** Request lenses-    , deDuration+    -- * Creating a Request+      describeEvents+    , DescribeEvents+    -- * Request Lenses+    , deStartTime+    , deSourceType+    , deSourceIdentifier+    , deMaxRecords     , deEndTime     , deMarker-    , deMaxRecords-    , deSourceIdentifier-    , deSourceType-    , deStartTime+    , deDuration -    -- * Response-    , DescribeEventsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeEventsResponse-    -- ** Response lenses-    , derEvents-    , derMarker+    , DescribeEventsResponse+    -- * Response Lenses+    , dersEvents+    , dersMarker+    , dersStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeEvents = DescribeEvents-    { _deDuration         :: Maybe Int-    , _deEndTime          :: Maybe ISO8601-    , _deMarker           :: Maybe Text-    , _deMaxRecords       :: Maybe Int-    , _deSourceIdentifier :: Maybe Text-    , _deSourceType       :: Maybe SourceType-    , _deStartTime        :: Maybe ISO8601-    } deriving (Eq, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeEvents' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeEvents' smart constructor.+data DescribeEvents = DescribeEvents'+    { _deStartTime        :: !(Maybe ISO8601)+    , _deSourceType       :: !(Maybe SourceType)+    , _deSourceIdentifier :: !(Maybe Text)+    , _deMaxRecords       :: !(Maybe Int)+    , _deEndTime          :: !(Maybe ISO8601)+    , _deMarker           :: !(Maybe Text)+    , _deDuration         :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeEvents' with the minimum fields required to make a request. ----- * 'deDuration' @::@ 'Maybe' 'Int'+-- Use one of the following lenses to modify other fields as desired: ----- * 'deEndTime' @::@ 'Maybe' 'UTCTime'+-- * 'deStartTime' ----- * 'deMarker' @::@ 'Maybe' 'Text'+-- * 'deSourceType' ----- * 'deMaxRecords' @::@ 'Maybe' 'Int'+-- * 'deSourceIdentifier' ----- * 'deSourceIdentifier' @::@ 'Maybe' 'Text'+-- * 'deMaxRecords' ----- * 'deSourceType' @::@ 'Maybe' 'SourceType'+-- * 'deEndTime' ----- * 'deStartTime' @::@ 'Maybe' 'UTCTime'+-- * 'deMarker' ---describeEvents :: DescribeEvents-describeEvents = DescribeEvents-    { _deSourceIdentifier = Nothing-    , _deSourceType       = Nothing-    , _deStartTime        = Nothing-    , _deEndTime          = Nothing-    , _deDuration         = Nothing-    , _deMaxRecords       = Nothing-    , _deMarker           = Nothing+-- * 'deDuration'+describeEvents+    :: DescribeEvents+describeEvents =+    DescribeEvents'+    { _deStartTime = Nothing+    , _deSourceType = Nothing+    , _deSourceIdentifier = Nothing+    , _deMaxRecords = Nothing+    , _deEndTime = Nothing+    , _deMarker = Nothing+    , _deDuration = Nothing     } --- | The number of minutes prior to the time of the request for which to retrieve--- events. For example, if the request is sent at 18:00 and you specify a--- duration of 60, then only events which have occurred after 17:00 will be--- returned.------ Default: '60'-deDuration :: Lens' DescribeEvents (Maybe Int)-deDuration = lens _deDuration (\s a -> s { _deDuration = a })---- | The end of the time interval for which to retrieve events, specified in ISO--- 8601 format. For more information about ISO 8601, go to the <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipediapage.>+-- | The beginning of the time interval to retrieve events for, specified in+-- ISO 8601 format. For more information about ISO 8601, go to the+-- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.> -- -- Example: '2009-07-08T18:00Z'-deEndTime :: Lens' DescribeEvents (Maybe UTCTime)-deEndTime = lens _deEndTime (\s a -> s { _deEndTime = a }) . mapping _Time---- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeEvents' request exceed the--- value specified in 'MaxRecords', AWS returns a value in the 'Marker' field of the--- response. You can retrieve the next set of response records by providing the--- returned marker value in the 'Marker' parameter and retrying the request.-deMarker :: Lens' DescribeEvents (Maybe Text)-deMarker = lens _deMarker (\s a -> s { _deMarker = a })+deStartTime :: Lens' DescribeEvents (Maybe UTCTime)+deStartTime = lens _deStartTime (\ s a -> s{_deStartTime = a}) . mapping _Time; --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The event source to retrieve events for. If no value is specified, all+-- events are returned. ----- Default: '100'+-- Constraints: ----- Constraints: minimum 20, maximum 100.-deMaxRecords :: Lens' DescribeEvents (Maybe Int)-deMaxRecords = lens _deMaxRecords (\s a -> s { _deMaxRecords = a })+-- If /SourceType/ is supplied, /SourceIdentifier/ must also be provided.+--+-- -   Specify 'cluster' when /SourceIdentifier/ is a cluster identifier.+-- -   Specify 'cluster-security-group' when /SourceIdentifier/ is a+--     cluster security group name.+-- -   Specify 'cluster-parameter-group' when /SourceIdentifier/ is a+--     cluster parameter group name.+-- -   Specify 'cluster-snapshot' when /SourceIdentifier/ is a cluster+--     snapshot identifier.+deSourceType :: Lens' DescribeEvents (Maybe SourceType)+deSourceType = lens _deSourceType (\ s a -> s{_deSourceType = a});  -- | The identifier of the event source for which events will be returned. If -- this parameter is not specified, then all sources are included in the@@ -140,93 +133,133 @@ -- -- If /SourceIdentifier/ is supplied, /SourceType/ must also be provided. ----- Specify a cluster identifier when /SourceType/ is 'cluster'. Specify a cluster--- security group name when /SourceType/ is 'cluster-security-group'. Specify a--- cluster parameter group name when /SourceType/ is 'cluster-parameter-group'. Specify a cluster snapshot identifier when--- /SourceType/ is 'cluster-snapshot'.+-- -   Specify a cluster identifier when /SourceType/ is 'cluster'.+-- -   Specify a cluster security group name when /SourceType/ is+--     'cluster-security-group'.+-- -   Specify a cluster parameter group name when /SourceType/ is+--     'cluster-parameter-group'.+-- -   Specify a cluster snapshot identifier when /SourceType/ is+--     'cluster-snapshot'. deSourceIdentifier :: Lens' DescribeEvents (Maybe Text)-deSourceIdentifier =-    lens _deSourceIdentifier (\s a -> s { _deSourceIdentifier = a })+deSourceIdentifier = lens _deSourceIdentifier (\ s a -> s{_deSourceIdentifier = a}); --- | The event source to retrieve events for. If no value is specified, all--- events are returned.------ Constraints:+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. ----- If /SourceType/ is supplied, /SourceIdentifier/ must also be provided.+-- Default: '100' ----- Specify 'cluster' when /SourceIdentifier/ is a cluster identifier. Specify 'cluster-security-group' when /SourceIdentifier/ is a cluster security group name. Specify 'cluster-parameter-group' when /SourceIdentifier/ is a cluster parameter group name. Specify 'cluster-snapshot' when /SourceIdentifier/ is a cluster snapshot identifier.-deSourceType :: Lens' DescribeEvents (Maybe SourceType)-deSourceType = lens _deSourceType (\s a -> s { _deSourceType = a })+-- Constraints: minimum 20, maximum 100.+deMaxRecords :: Lens' DescribeEvents (Maybe Int)+deMaxRecords = lens _deMaxRecords (\ s a -> s{_deMaxRecords = a}); --- | The beginning of the time interval to retrieve events for, specified in ISO--- 8601 format. For more information about ISO 8601, go to the <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipediapage.>+-- | The end of the time interval for which to retrieve events, specified in+-- ISO 8601 format. For more information about ISO 8601, go to the+-- <http://en.wikipedia.org/wiki/ISO_8601 ISO8601 Wikipedia page.> -- -- Example: '2009-07-08T18:00Z'-deStartTime :: Lens' DescribeEvents (Maybe UTCTime)-deStartTime = lens _deStartTime (\s a -> s { _deStartTime = a }) . mapping _Time+deEndTime :: Lens' DescribeEvents (Maybe UTCTime)+deEndTime = lens _deEndTime (\ s a -> s{_deEndTime = a}) . mapping _Time; -data DescribeEventsResponse = DescribeEventsResponse-    { _derEvents :: List "member" Event-    , _derMarker :: Maybe Text-    } deriving (Eq, Read, Show)+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeEvents request exceed+-- the value specified in 'MaxRecords', AWS returns a value in the 'Marker'+-- field of the response. You can retrieve the next set of response records+-- by providing the returned marker value in the 'Marker' parameter and+-- retrying the request.+deMarker :: Lens' DescribeEvents (Maybe Text)+deMarker = lens _deMarker (\ s a -> s{_deMarker = a}); --- | 'DescribeEventsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'derEvents' @::@ ['Event']------ * 'derMarker' @::@ 'Maybe' 'Text'+-- | The number of minutes prior to the time of the request for which to+-- retrieve events. For example, if the request is sent at 18:00 and you+-- specify a duration of 60, then only events which have occurred after+-- 17:00 will be returned. ---describeEventsResponse :: DescribeEventsResponse-describeEventsResponse = DescribeEventsResponse-    { _derMarker = Nothing-    , _derEvents = mempty-    }+-- Default: '60'+deDuration :: Lens' DescribeEvents (Maybe Int)+deDuration = lens _deDuration (\ s a -> s{_deDuration = a}); --- | A list of 'Event' instances.-derEvents :: Lens' DescribeEventsResponse [Event]-derEvents = lens _derEvents (\s a -> s { _derEvents = a }) . _List+instance AWSPager DescribeEvents where+        page rq rs+          | stop (rs ^. dersMarker) = Nothing+          | stop (rs ^. dersEvents) = Nothing+          | otherwise =+            Just $ rq & deMarker .~ rs ^. dersMarker --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-derMarker :: Lens' DescribeEventsResponse (Maybe Text)-derMarker = lens _derMarker (\s a -> s { _derMarker = a })+instance AWSRequest DescribeEvents where+        type Sv DescribeEvents = Redshift+        type Rs DescribeEvents = DescribeEventsResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeEventsResult"+              (\ s h x ->+                 DescribeEventsResponse' <$>+                   (x .@? "Events" .!@ mempty >>=+                      may (parseXMLList "Event"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s))) +instance ToHeaders DescribeEvents where+        toHeaders = const mempty+ instance ToPath DescribeEvents where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeEvents where-    toQuery DescribeEvents{..} = mconcat-        [ "Duration"         =? _deDuration-        , "EndTime"          =? _deEndTime-        , "Marker"           =? _deMarker-        , "MaxRecords"       =? _deMaxRecords-        , "SourceIdentifier" =? _deSourceIdentifier-        , "SourceType"       =? _deSourceType-        , "StartTime"        =? _deStartTime-        ]+        toQuery DescribeEvents'{..}+          = mconcat+              ["Action" =: ("DescribeEvents" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "StartTime" =: _deStartTime,+               "SourceType" =: _deSourceType,+               "SourceIdentifier" =: _deSourceIdentifier,+               "MaxRecords" =: _deMaxRecords,+               "EndTime" =: _deEndTime, "Marker" =: _deMarker,+               "Duration" =: _deDuration] -instance ToHeaders DescribeEvents+-- | Contains the output from the DescribeEvents action.+--+-- /See:/ 'describeEventsResponse' smart constructor.+data DescribeEventsResponse = DescribeEventsResponse'+    { _dersEvents :: !(Maybe [Event])+    , _dersMarker :: !(Maybe Text)+    , _dersStatus :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeEvents where-    type Sv DescribeEvents = Redshift-    type Rs DescribeEvents = DescribeEventsResponse+-- | Creates a value of 'DescribeEventsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dersEvents'+--+-- * 'dersMarker'+--+-- * 'dersStatus'+describeEventsResponse+    :: Int -- ^ 'dersStatus'+    -> DescribeEventsResponse+describeEventsResponse pStatus_ =+    DescribeEventsResponse'+    { _dersEvents = Nothing+    , _dersMarker = Nothing+    , _dersStatus = pStatus_+    } -    request  = post "DescribeEvents"-    response = xmlResponse+-- | A list of Event instances.+dersEvents :: Lens' DescribeEventsResponse [Event]+dersEvents = lens _dersEvents (\ s a -> s{_dersEvents = a}) . _Default . _Coerce; -instance FromXML DescribeEventsResponse where-    parseXML = withElement "DescribeEventsResult" $ \x -> DescribeEventsResponse-        <$> x .@? "Events" .!@ mempty-        <*> x .@? "Marker"+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dersMarker :: Lens' DescribeEventsResponse (Maybe Text)+dersMarker = lens _dersMarker (\ s a -> s{_dersMarker = a}); -instance AWSPager DescribeEvents where-    page rq rs-        | stop (rs ^. derMarker) = Nothing-        | otherwise = (\x -> rq & deMarker ?~ x)-            <$> (rs ^. derMarker)+-- | The response status code.+dersStatus :: Lens' DescribeEventsResponse Int+dersStatus = lens _dersStatus (\ s a -> s{_dersStatus = a});
+ gen/Network/AWS/Redshift/DescribeHSMClientCertificates.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.DescribeHSMClientCertificates+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the specified HSM client certificate. If no+-- certificate ID is specified, returns information about all the HSM+-- certificates owned by your AWS customer account.+--+-- If you specify both tag keys and tag values in the same request, Amazon+-- Redshift returns all HSM client certificates that match any combination+-- of the specified keys and values. For example, if you have 'owner' and+-- 'environment' for tag keys, and 'admin' and 'test' for tag values, all+-- HSM client certificates that have any combination of those values are+-- returned.+--+-- If both tag keys and values are omitted from the request, HSM client+-- certificates are returned regardless of whether they have tag keys or+-- values associated with them.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeHSMClientCertificates.html AWS API Reference> for DescribeHSMClientCertificates.+--+-- This operation returns paginated results.+module Network.AWS.Redshift.DescribeHSMClientCertificates+    (+    -- * Creating a Request+      describeHSMClientCertificates+    , DescribeHSMClientCertificates+    -- * Request Lenses+    , dhccTagValues+    , dhccTagKeys+    , dhccHSMClientCertificateIdentifier+    , dhccMaxRecords+    , dhccMarker++    -- * Destructuring the Response+    , describeHSMClientCertificatesResponse+    , DescribeHSMClientCertificatesResponse+    -- * Response Lenses+    , dhccrsMarker+    , dhccrsHSMClientCertificates+    , dhccrsStatus+    ) where++import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response++-- |+--+-- /See:/ 'describeHSMClientCertificates' smart constructor.+data DescribeHSMClientCertificates = DescribeHSMClientCertificates'+    { _dhccTagValues                      :: !(Maybe [Text])+    , _dhccTagKeys                        :: !(Maybe [Text])+    , _dhccHSMClientCertificateIdentifier :: !(Maybe Text)+    , _dhccMaxRecords                     :: !(Maybe Int)+    , _dhccMarker                         :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeHSMClientCertificates' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dhccTagValues'+--+-- * 'dhccTagKeys'+--+-- * 'dhccHSMClientCertificateIdentifier'+--+-- * 'dhccMaxRecords'+--+-- * 'dhccMarker'+describeHSMClientCertificates+    :: DescribeHSMClientCertificates+describeHSMClientCertificates =+    DescribeHSMClientCertificates'+    { _dhccTagValues = Nothing+    , _dhccTagKeys = Nothing+    , _dhccHSMClientCertificateIdentifier = Nothing+    , _dhccMaxRecords = Nothing+    , _dhccMarker = Nothing+    }++-- | A tag value or values for which you want to return all matching HSM+-- client certificates that are associated with the specified tag value or+-- values. For example, suppose that you have HSM client certificates that+-- are tagged with values called 'admin' and 'test'. If you specify both of+-- these tag values in the request, Amazon Redshift returns a response with+-- the HSM client certificates that have either or both of these tag values+-- associated with them.+dhccTagValues :: Lens' DescribeHSMClientCertificates [Text]+dhccTagValues = lens _dhccTagValues (\ s a -> s{_dhccTagValues = a}) . _Default . _Coerce;++-- | A tag key or keys for which you want to return all matching HSM client+-- certificates that are associated with the specified key or keys. For+-- example, suppose that you have HSM client certificates that are tagged+-- with keys called 'owner' and 'environment'. If you specify both of these+-- tag keys in the request, Amazon Redshift returns a response with the HSM+-- client certificates that have either or both of these tag keys+-- associated with them.+dhccTagKeys :: Lens' DescribeHSMClientCertificates [Text]+dhccTagKeys = lens _dhccTagKeys (\ s a -> s{_dhccTagKeys = a}) . _Default . _Coerce;++-- | The identifier of a specific HSM client certificate for which you want+-- information. If no identifier is specified, information is returned for+-- all HSM client certificates owned by your AWS customer account.+dhccHSMClientCertificateIdentifier :: Lens' DescribeHSMClientCertificates (Maybe Text)+dhccHSMClientCertificateIdentifier = lens _dhccHSMClientCertificateIdentifier (\ s a -> s{_dhccHSMClientCertificateIdentifier = a});++-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value.+--+-- Default: '100'+--+-- Constraints: minimum 20, maximum 100.+dhccMaxRecords :: Lens' DescribeHSMClientCertificates (Maybe Int)+dhccMaxRecords = lens _dhccMaxRecords (\ s a -> s{_dhccMaxRecords = a});++-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeHsmClientCertificates+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+dhccMarker :: Lens' DescribeHSMClientCertificates (Maybe Text)+dhccMarker = lens _dhccMarker (\ s a -> s{_dhccMarker = a});++instance AWSPager DescribeHSMClientCertificates where+        page rq rs+          | stop (rs ^. dhccrsMarker) = Nothing+          | stop (rs ^. dhccrsHSMClientCertificates) = Nothing+          | otherwise =+            Just $ rq & dhccMarker .~ rs ^. dhccrsMarker++instance AWSRequest DescribeHSMClientCertificates+         where+        type Sv DescribeHSMClientCertificates = Redshift+        type Rs DescribeHSMClientCertificates =+             DescribeHSMClientCertificatesResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeHsmClientCertificatesResult"+              (\ s h x ->+                 DescribeHSMClientCertificatesResponse' <$>+                   (x .@? "Marker") <*>+                     (x .@? "HsmClientCertificates" .!@ mempty >>=+                        may (parseXMLList "HsmClientCertificate"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeHSMClientCertificates+         where+        toHeaders = const mempty++instance ToPath DescribeHSMClientCertificates where+        toPath = const "/"++instance ToQuery DescribeHSMClientCertificates where+        toQuery DescribeHSMClientCertificates'{..}+          = mconcat+              ["Action" =:+                 ("DescribeHsmClientCertificates" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "TagValues" =:+                 toQuery (toQueryList "TagValue" <$> _dhccTagValues),+               "TagKeys" =:+                 toQuery (toQueryList "TagKey" <$> _dhccTagKeys),+               "HsmClientCertificateIdentifier" =:+                 _dhccHSMClientCertificateIdentifier,+               "MaxRecords" =: _dhccMaxRecords,+               "Marker" =: _dhccMarker]++-- |+--+-- /See:/ 'describeHSMClientCertificatesResponse' smart constructor.+data DescribeHSMClientCertificatesResponse = DescribeHSMClientCertificatesResponse'+    { _dhccrsMarker                :: !(Maybe Text)+    , _dhccrsHSMClientCertificates :: !(Maybe [HSMClientCertificate])+    , _dhccrsStatus                :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeHSMClientCertificatesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dhccrsMarker'+--+-- * 'dhccrsHSMClientCertificates'+--+-- * 'dhccrsStatus'+describeHSMClientCertificatesResponse+    :: Int -- ^ 'dhccrsStatus'+    -> DescribeHSMClientCertificatesResponse+describeHSMClientCertificatesResponse pStatus_ =+    DescribeHSMClientCertificatesResponse'+    { _dhccrsMarker = Nothing+    , _dhccrsHSMClientCertificates = Nothing+    , _dhccrsStatus = pStatus_+    }++-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dhccrsMarker :: Lens' DescribeHSMClientCertificatesResponse (Maybe Text)+dhccrsMarker = lens _dhccrsMarker (\ s a -> s{_dhccrsMarker = a});++-- | A list of the identifiers for one or more HSM client certificates used+-- by Amazon Redshift clusters to store and retrieve database encryption+-- keys in an HSM.+dhccrsHSMClientCertificates :: Lens' DescribeHSMClientCertificatesResponse [HSMClientCertificate]+dhccrsHSMClientCertificates = lens _dhccrsHSMClientCertificates (\ s a -> s{_dhccrsHSMClientCertificates = a}) . _Default . _Coerce;++-- | The response status code.+dhccrsStatus :: Lens' DescribeHSMClientCertificatesResponse Int+dhccrsStatus = lens _dhccrsStatus (\ s a -> s{_dhccrsStatus = a});
+ gen/Network/AWS/Redshift/DescribeHSMConfigurations.hs view
@@ -0,0 +1,233 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.DescribeHSMConfigurations+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the specified Amazon Redshift HSM+-- configuration. If no configuration ID is specified, returns information+-- about all the HSM configurations owned by your AWS customer account.+--+-- If you specify both tag keys and tag values in the same request, Amazon+-- Redshift returns all HSM connections that match any combination of the+-- specified keys and values. For example, if you have 'owner' and+-- 'environment' for tag keys, and 'admin' and 'test' for tag values, all+-- HSM connections that have any combination of those values are returned.+--+-- If both tag keys and values are omitted from the request, HSM+-- connections are returned regardless of whether they have tag keys or+-- values associated with them.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeHSMConfigurations.html AWS API Reference> for DescribeHSMConfigurations.+--+-- This operation returns paginated results.+module Network.AWS.Redshift.DescribeHSMConfigurations+    (+    -- * Creating a Request+      describeHSMConfigurations+    , DescribeHSMConfigurations+    -- * Request Lenses+    , dhsmcTagValues+    , dhsmcHSMConfigurationIdentifier+    , dhsmcTagKeys+    , dhsmcMaxRecords+    , dhsmcMarker++    -- * Destructuring the Response+    , describeHSMConfigurationsResponse+    , DescribeHSMConfigurationsResponse+    -- * Response Lenses+    , dhcrsMarker+    , dhcrsHSMConfigurations+    , dhcrsStatus+    ) where++import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response++-- |+--+-- /See:/ 'describeHSMConfigurations' smart constructor.+data DescribeHSMConfigurations = DescribeHSMConfigurations'+    { _dhsmcTagValues                  :: !(Maybe [Text])+    , _dhsmcHSMConfigurationIdentifier :: !(Maybe Text)+    , _dhsmcTagKeys                    :: !(Maybe [Text])+    , _dhsmcMaxRecords                 :: !(Maybe Int)+    , _dhsmcMarker                     :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeHSMConfigurations' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dhsmcTagValues'+--+-- * 'dhsmcHSMConfigurationIdentifier'+--+-- * 'dhsmcTagKeys'+--+-- * 'dhsmcMaxRecords'+--+-- * 'dhsmcMarker'+describeHSMConfigurations+    :: DescribeHSMConfigurations+describeHSMConfigurations =+    DescribeHSMConfigurations'+    { _dhsmcTagValues = Nothing+    , _dhsmcHSMConfigurationIdentifier = Nothing+    , _dhsmcTagKeys = Nothing+    , _dhsmcMaxRecords = Nothing+    , _dhsmcMarker = Nothing+    }++-- | A tag value or values for which you want to return all matching HSM+-- configurations that are associated with the specified tag value or+-- values. For example, suppose that you have HSM configurations that are+-- tagged with values called 'admin' and 'test'. If you specify both of+-- these tag values in the request, Amazon Redshift returns a response with+-- the HSM configurations that have either or both of these tag values+-- associated with them.+dhsmcTagValues :: Lens' DescribeHSMConfigurations [Text]+dhsmcTagValues = lens _dhsmcTagValues (\ s a -> s{_dhsmcTagValues = a}) . _Default . _Coerce;++-- | The identifier of a specific Amazon Redshift HSM configuration to be+-- described. If no identifier is specified, information is returned for+-- all HSM configurations owned by your AWS customer account.+dhsmcHSMConfigurationIdentifier :: Lens' DescribeHSMConfigurations (Maybe Text)+dhsmcHSMConfigurationIdentifier = lens _dhsmcHSMConfigurationIdentifier (\ s a -> s{_dhsmcHSMConfigurationIdentifier = a});++-- | A tag key or keys for which you want to return all matching HSM+-- configurations that are associated with the specified key or keys. For+-- example, suppose that you have HSM configurations that are tagged with+-- keys called 'owner' and 'environment'. If you specify both of these tag+-- keys in the request, Amazon Redshift returns a response with the HSM+-- configurations that have either or both of these tag keys associated+-- with them.+dhsmcTagKeys :: Lens' DescribeHSMConfigurations [Text]+dhsmcTagKeys = lens _dhsmcTagKeys (\ s a -> s{_dhsmcTagKeys = a}) . _Default . _Coerce;++-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value.+--+-- Default: '100'+--+-- Constraints: minimum 20, maximum 100.+dhsmcMaxRecords :: Lens' DescribeHSMConfigurations (Maybe Int)+dhsmcMaxRecords = lens _dhsmcMaxRecords (\ s a -> s{_dhsmcMaxRecords = a});++-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeHsmConfigurations+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+dhsmcMarker :: Lens' DescribeHSMConfigurations (Maybe Text)+dhsmcMarker = lens _dhsmcMarker (\ s a -> s{_dhsmcMarker = a});++instance AWSPager DescribeHSMConfigurations where+        page rq rs+          | stop (rs ^. dhcrsMarker) = Nothing+          | stop (rs ^. dhcrsHSMConfigurations) = Nothing+          | otherwise =+            Just $ rq & dhsmcMarker .~ rs ^. dhcrsMarker++instance AWSRequest DescribeHSMConfigurations where+        type Sv DescribeHSMConfigurations = Redshift+        type Rs DescribeHSMConfigurations =+             DescribeHSMConfigurationsResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeHsmConfigurationsResult"+              (\ s h x ->+                 DescribeHSMConfigurationsResponse' <$>+                   (x .@? "Marker") <*>+                     (x .@? "HsmConfigurations" .!@ mempty >>=+                        may (parseXMLList "HsmConfiguration"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeHSMConfigurations where+        toHeaders = const mempty++instance ToPath DescribeHSMConfigurations where+        toPath = const "/"++instance ToQuery DescribeHSMConfigurations where+        toQuery DescribeHSMConfigurations'{..}+          = mconcat+              ["Action" =:+                 ("DescribeHsmConfigurations" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "TagValues" =:+                 toQuery (toQueryList "TagValue" <$> _dhsmcTagValues),+               "HsmConfigurationIdentifier" =:+                 _dhsmcHSMConfigurationIdentifier,+               "TagKeys" =:+                 toQuery (toQueryList "TagKey" <$> _dhsmcTagKeys),+               "MaxRecords" =: _dhsmcMaxRecords,+               "Marker" =: _dhsmcMarker]++-- |+--+-- /See:/ 'describeHSMConfigurationsResponse' smart constructor.+data DescribeHSMConfigurationsResponse = DescribeHSMConfigurationsResponse'+    { _dhcrsMarker            :: !(Maybe Text)+    , _dhcrsHSMConfigurations :: !(Maybe [HSMConfiguration])+    , _dhcrsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeHSMConfigurationsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dhcrsMarker'+--+-- * 'dhcrsHSMConfigurations'+--+-- * 'dhcrsStatus'+describeHSMConfigurationsResponse+    :: Int -- ^ 'dhcrsStatus'+    -> DescribeHSMConfigurationsResponse+describeHSMConfigurationsResponse pStatus_ =+    DescribeHSMConfigurationsResponse'+    { _dhcrsMarker = Nothing+    , _dhcrsHSMConfigurations = Nothing+    , _dhcrsStatus = pStatus_+    }++-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dhcrsMarker :: Lens' DescribeHSMConfigurationsResponse (Maybe Text)+dhcrsMarker = lens _dhcrsMarker (\ s a -> s{_dhcrsMarker = a});++-- | A list of Amazon Redshift HSM configurations.+dhcrsHSMConfigurations :: Lens' DescribeHSMConfigurationsResponse [HSMConfiguration]+dhcrsHSMConfigurations = lens _dhcrsHSMConfigurations (\ s a -> s{_dhcrsHSMConfigurations = a}) . _Default . _Coerce;++-- | The response status code.+dhcrsStatus :: Lens' DescribeHSMConfigurationsResponse Int+dhcrsStatus = lens _dhcrsStatus (\ s a -> s{_dhcrsStatus = a});
− gen/Network/AWS/Redshift/DescribeHsmClientCertificates.hs
@@ -1,210 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.Redshift.DescribeHsmClientCertificates--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns information about the specified HSM client certificate. If no--- certificate ID is specified, returns information about all the HSM--- certificates owned by your AWS customer account.------ If you specify both tag keys and tag values in the same request, Amazon--- Redshift returns all HSM client certificates that match any combination of--- the specified keys and values. For example, if you have 'owner' and 'environment'--- for tag keys, and 'admin' and 'test' for tag values, all HSM client certificates--- that have any combination of those values are returned.------ If both tag keys and values are omitted from the request, HSM client--- certificates are returned regardless of whether they have tag keys or values--- associated with them.------ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeHsmClientCertificates.html>-module Network.AWS.Redshift.DescribeHsmClientCertificates-    (-    -- * Request-      DescribeHsmClientCertificates-    -- ** Request constructor-    , describeHsmClientCertificates-    -- ** Request lenses-    , dhccHsmClientCertificateIdentifier-    , dhccMarker-    , dhccMaxRecords-    , dhccTagKeys-    , dhccTagValues--    -- * Response-    , DescribeHsmClientCertificatesResponse-    -- ** Response constructor-    , describeHsmClientCertificatesResponse-    -- ** Response lenses-    , dhccrHsmClientCertificates-    , dhccrMarker-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeHsmClientCertificates = DescribeHsmClientCertificates-    { _dhccHsmClientCertificateIdentifier :: Maybe Text-    , _dhccMarker                         :: Maybe Text-    , _dhccMaxRecords                     :: Maybe Int-    , _dhccTagKeys                        :: List "member" Text-    , _dhccTagValues                      :: List "member" Text-    } deriving (Eq, Ord, Read, Show)---- | 'DescribeHsmClientCertificates' constructor.------ The fields accessible through corresponding lenses are:------ * 'dhccHsmClientCertificateIdentifier' @::@ 'Maybe' 'Text'------ * 'dhccMarker' @::@ 'Maybe' 'Text'------ * 'dhccMaxRecords' @::@ 'Maybe' 'Int'------ * 'dhccTagKeys' @::@ ['Text']------ * 'dhccTagValues' @::@ ['Text']----describeHsmClientCertificates :: DescribeHsmClientCertificates-describeHsmClientCertificates = DescribeHsmClientCertificates-    { _dhccHsmClientCertificateIdentifier = Nothing-    , _dhccMaxRecords                     = Nothing-    , _dhccMarker                         = Nothing-    , _dhccTagKeys                        = mempty-    , _dhccTagValues                      = mempty-    }---- | The identifier of a specific HSM client certificate for which you want--- information. If no identifier is specified, information is returned for all--- HSM client certificates owned by your AWS customer account.-dhccHsmClientCertificateIdentifier :: Lens' DescribeHsmClientCertificates (Maybe Text)-dhccHsmClientCertificateIdentifier =-    lens _dhccHsmClientCertificateIdentifier-        (\s a -> s { _dhccHsmClientCertificateIdentifier = a })---- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeHsmClientCertificates' request--- exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker'--- field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-dhccMarker :: Lens' DescribeHsmClientCertificates (Maybe Text)-dhccMarker = lens _dhccMarker (\s a -> s { _dhccMarker = a })---- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.------ Default: '100'------ Constraints: minimum 20, maximum 100.-dhccMaxRecords :: Lens' DescribeHsmClientCertificates (Maybe Int)-dhccMaxRecords = lens _dhccMaxRecords (\s a -> s { _dhccMaxRecords = a })---- | A tag key or keys for which you want to return all matching HSM client--- certificates that are associated with the specified key or keys. For example,--- suppose that you have HSM client certificates that are tagged with keys--- called 'owner' and 'environment'. If you specify both of these tag keys in the--- request, Amazon Redshift returns a response with the HSM client certificates--- that have either or both of these tag keys associated with them.-dhccTagKeys :: Lens' DescribeHsmClientCertificates [Text]-dhccTagKeys = lens _dhccTagKeys (\s a -> s { _dhccTagKeys = a }) . _List---- | A tag value or values for which you want to return all matching HSM client--- certificates that are associated with the specified tag value or values. For--- example, suppose that you have HSM client certificates that are tagged with--- values called 'admin' and 'test'. If you specify both of these tag values in the--- request, Amazon Redshift returns a response with the HSM client certificates--- that have either or both of these tag values associated with them.-dhccTagValues :: Lens' DescribeHsmClientCertificates [Text]-dhccTagValues = lens _dhccTagValues (\s a -> s { _dhccTagValues = a }) . _List--data DescribeHsmClientCertificatesResponse = DescribeHsmClientCertificatesResponse-    { _dhccrHsmClientCertificates :: List "member" HsmClientCertificate-    , _dhccrMarker                :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'DescribeHsmClientCertificatesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dhccrHsmClientCertificates' @::@ ['HsmClientCertificate']------ * 'dhccrMarker' @::@ 'Maybe' 'Text'----describeHsmClientCertificatesResponse :: DescribeHsmClientCertificatesResponse-describeHsmClientCertificatesResponse = DescribeHsmClientCertificatesResponse-    { _dhccrMarker                = Nothing-    , _dhccrHsmClientCertificates = mempty-    }---- | A list of the identifiers for one or more HSM client certificates used by--- Amazon Redshift clusters to store and retrieve database encryption keys in an--- HSM.-dhccrHsmClientCertificates :: Lens' DescribeHsmClientCertificatesResponse [HsmClientCertificate]-dhccrHsmClientCertificates =-    lens _dhccrHsmClientCertificates-        (\s a -> s { _dhccrHsmClientCertificates = a })-            . _List---- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dhccrMarker :: Lens' DescribeHsmClientCertificatesResponse (Maybe Text)-dhccrMarker = lens _dhccrMarker (\s a -> s { _dhccrMarker = a })--instance ToPath DescribeHsmClientCertificates where-    toPath = const "/"--instance ToQuery DescribeHsmClientCertificates where-    toQuery DescribeHsmClientCertificates{..} = mconcat-        [ "HsmClientCertificateIdentifier" =? _dhccHsmClientCertificateIdentifier-        , "Marker"                         =? _dhccMarker-        , "MaxRecords"                     =? _dhccMaxRecords-        , "TagKeys"                        =? _dhccTagKeys-        , "TagValues"                      =? _dhccTagValues-        ]--instance ToHeaders DescribeHsmClientCertificates--instance AWSRequest DescribeHsmClientCertificates where-    type Sv DescribeHsmClientCertificates = Redshift-    type Rs DescribeHsmClientCertificates = DescribeHsmClientCertificatesResponse--    request  = post "DescribeHsmClientCertificates"-    response = xmlResponse--instance FromXML DescribeHsmClientCertificatesResponse where-    parseXML = withElement "DescribeHsmClientCertificatesResult" $ \x -> DescribeHsmClientCertificatesResponse-        <$> x .@? "HsmClientCertificates" .!@ mempty-        <*> x .@? "Marker"--instance AWSPager DescribeHsmClientCertificates where-    page rq rs-        | stop (rs ^. dhccrMarker) = Nothing-        | otherwise = (\x -> rq & dhccMarker ?~ x)-            <$> (rs ^. dhccrMarker)
− gen/Network/AWS/Redshift/DescribeHsmConfigurations.hs
@@ -1,207 +0,0 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.Redshift.DescribeHsmConfigurations--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns information about the specified Amazon Redshift HSM configuration. If--- no configuration ID is specified, returns information about all the HSM--- configurations owned by your AWS customer account.------ If you specify both tag keys and tag values in the same request, Amazon--- Redshift returns all HSM connections that match any combination of the--- specified keys and values. For example, if you have 'owner' and 'environment' for--- tag keys, and 'admin' and 'test' for tag values, all HSM connections that have--- any combination of those values are returned.------ If both tag keys and values are omitted from the request, HSM connections--- are returned regardless of whether they have tag keys or values associated--- with them.------ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeHsmConfigurations.html>-module Network.AWS.Redshift.DescribeHsmConfigurations-    (-    -- * Request-      DescribeHsmConfigurations-    -- ** Request constructor-    , describeHsmConfigurations-    -- ** Request lenses-    , dhc1HsmConfigurationIdentifier-    , dhc1Marker-    , dhc1MaxRecords-    , dhc1TagKeys-    , dhc1TagValues--    -- * Response-    , DescribeHsmConfigurationsResponse-    -- ** Response constructor-    , describeHsmConfigurationsResponse-    -- ** Response lenses-    , dhcrHsmConfigurations-    , dhcrMarker-    ) where--import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeHsmConfigurations = DescribeHsmConfigurations-    { _dhc1HsmConfigurationIdentifier :: Maybe Text-    , _dhc1Marker                     :: Maybe Text-    , _dhc1MaxRecords                 :: Maybe Int-    , _dhc1TagKeys                    :: List "member" Text-    , _dhc1TagValues                  :: List "member" Text-    } deriving (Eq, Ord, Read, Show)---- | 'DescribeHsmConfigurations' constructor.------ The fields accessible through corresponding lenses are:------ * 'dhc1HsmConfigurationIdentifier' @::@ 'Maybe' 'Text'------ * 'dhc1Marker' @::@ 'Maybe' 'Text'------ * 'dhc1MaxRecords' @::@ 'Maybe' 'Int'------ * 'dhc1TagKeys' @::@ ['Text']------ * 'dhc1TagValues' @::@ ['Text']----describeHsmConfigurations :: DescribeHsmConfigurations-describeHsmConfigurations = DescribeHsmConfigurations-    { _dhc1HsmConfigurationIdentifier = Nothing-    , _dhc1MaxRecords                 = Nothing-    , _dhc1Marker                     = Nothing-    , _dhc1TagKeys                    = mempty-    , _dhc1TagValues                  = mempty-    }---- | The identifier of a specific Amazon Redshift HSM configuration to be--- described. If no identifier is specified, information is returned for all HSM--- configurations owned by your AWS customer account.-dhc1HsmConfigurationIdentifier :: Lens' DescribeHsmConfigurations (Maybe Text)-dhc1HsmConfigurationIdentifier =-    lens _dhc1HsmConfigurationIdentifier-        (\s a -> s { _dhc1HsmConfigurationIdentifier = a })---- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeHsmConfigurations' request--- exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker'--- field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-dhc1Marker :: Lens' DescribeHsmConfigurations (Maybe Text)-dhc1Marker = lens _dhc1Marker (\s a -> s { _dhc1Marker = a })---- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.------ Default: '100'------ Constraints: minimum 20, maximum 100.-dhc1MaxRecords :: Lens' DescribeHsmConfigurations (Maybe Int)-dhc1MaxRecords = lens _dhc1MaxRecords (\s a -> s { _dhc1MaxRecords = a })---- | A tag key or keys for which you want to return all matching HSM--- configurations that are associated with the specified key or keys. For--- example, suppose that you have HSM configurations that are tagged with keys--- called 'owner' and 'environment'. If you specify both of these tag keys in the--- request, Amazon Redshift returns a response with the HSM configurations that--- have either or both of these tag keys associated with them.-dhc1TagKeys :: Lens' DescribeHsmConfigurations [Text]-dhc1TagKeys = lens _dhc1TagKeys (\s a -> s { _dhc1TagKeys = a }) . _List---- | A tag value or values for which you want to return all matching HSM--- configurations that are associated with the specified tag value or values.--- For example, suppose that you have HSM configurations that are tagged with--- values called 'admin' and 'test'. If you specify both of these tag values in the--- request, Amazon Redshift returns a response with the HSM configurations that--- have either or both of these tag values associated with them.-dhc1TagValues :: Lens' DescribeHsmConfigurations [Text]-dhc1TagValues = lens _dhc1TagValues (\s a -> s { _dhc1TagValues = a }) . _List--data DescribeHsmConfigurationsResponse = DescribeHsmConfigurationsResponse-    { _dhcrHsmConfigurations :: List "member" HsmConfiguration-    , _dhcrMarker            :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'DescribeHsmConfigurationsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dhcrHsmConfigurations' @::@ ['HsmConfiguration']------ * 'dhcrMarker' @::@ 'Maybe' 'Text'----describeHsmConfigurationsResponse :: DescribeHsmConfigurationsResponse-describeHsmConfigurationsResponse = DescribeHsmConfigurationsResponse-    { _dhcrMarker            = Nothing-    , _dhcrHsmConfigurations = mempty-    }---- | A list of Amazon Redshift HSM configurations.-dhcrHsmConfigurations :: Lens' DescribeHsmConfigurationsResponse [HsmConfiguration]-dhcrHsmConfigurations =-    lens _dhcrHsmConfigurations (\s a -> s { _dhcrHsmConfigurations = a })-        . _List---- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dhcrMarker :: Lens' DescribeHsmConfigurationsResponse (Maybe Text)-dhcrMarker = lens _dhcrMarker (\s a -> s { _dhcrMarker = a })--instance ToPath DescribeHsmConfigurations where-    toPath = const "/"--instance ToQuery DescribeHsmConfigurations where-    toQuery DescribeHsmConfigurations{..} = mconcat-        [ "HsmConfigurationIdentifier" =? _dhc1HsmConfigurationIdentifier-        , "Marker"                     =? _dhc1Marker-        , "MaxRecords"                 =? _dhc1MaxRecords-        , "TagKeys"                    =? _dhc1TagKeys-        , "TagValues"                  =? _dhc1TagValues-        ]--instance ToHeaders DescribeHsmConfigurations--instance AWSRequest DescribeHsmConfigurations where-    type Sv DescribeHsmConfigurations = Redshift-    type Rs DescribeHsmConfigurations = DescribeHsmConfigurationsResponse--    request  = post "DescribeHsmConfigurations"-    response = xmlResponse--instance FromXML DescribeHsmConfigurationsResponse where-    parseXML = withElement "DescribeHsmConfigurationsResult" $ \x -> DescribeHsmConfigurationsResponse-        <$> x .@? "HsmConfigurations" .!@ mempty-        <*> x .@? "Marker"--instance AWSPager DescribeHsmConfigurations where-    page rq rs-        | stop (rs ^. dhcrMarker) = Nothing-        | otherwise = (\x -> rq & dhc1Marker ?~ x)-            <$> (rs ^. dhcrMarker)
gen/Network/AWS/Redshift/DescribeLoggingStatus.hs view
@@ -1,169 +1,96 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeLoggingStatus--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Describes whether information, such as queries and connection attempts, is--- being logged for the specified Amazon Redshift cluster.+-- Describes whether information, such as queries and connection attempts,+-- is being logged for the specified Amazon Redshift cluster. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeLoggingStatus.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeLoggingStatus.html AWS API Reference> for DescribeLoggingStatus. module Network.AWS.Redshift.DescribeLoggingStatus     (-    -- * Request-      DescribeLoggingStatus-    -- ** Request constructor-    , describeLoggingStatus-    -- ** Request lenses+    -- * Creating a Request+      describeLoggingStatus+    , DescribeLoggingStatus+    -- * Request Lenses     , dlsClusterIdentifier -    -- * Response-    , DescribeLoggingStatusResponse-    -- ** Response constructor-    , describeLoggingStatusResponse-    -- ** Response lenses-    , dlsrBucketName-    , dlsrLastFailureMessage-    , dlsrLastFailureTime-    , dlsrLastSuccessfulDeliveryTime-    , dlsrLoggingEnabled-    , dlsrS3KeyPrefix+    -- * Destructuring the Response+    , loggingStatus+    , LoggingStatus+    -- * Response Lenses+    , lsLastSuccessfulDeliveryTime+    , lsLastFailureTime+    , lsS3KeyPrefix+    , lsBucketName+    , lsLoggingEnabled+    , lsLastFailureMessage     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -newtype DescribeLoggingStatus = DescribeLoggingStatus+-- |+--+-- /See:/ 'describeLoggingStatus' smart constructor.+newtype DescribeLoggingStatus = DescribeLoggingStatus'     { _dlsClusterIdentifier :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeLoggingStatus' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeLoggingStatus' with the minimum fields required to make a request. ----- * 'dlsClusterIdentifier' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---describeLoggingStatus :: Text -- ^ 'dlsClusterIdentifier'-                      -> DescribeLoggingStatus-describeLoggingStatus p1 = DescribeLoggingStatus-    { _dlsClusterIdentifier = p1+-- * 'dlsClusterIdentifier'+describeLoggingStatus+    :: Text -- ^ 'dlsClusterIdentifier'+    -> DescribeLoggingStatus+describeLoggingStatus pClusterIdentifier_ =+    DescribeLoggingStatus'+    { _dlsClusterIdentifier = pClusterIdentifier_     }  -- | The identifier of the cluster to get the logging status from. -- -- Example: 'examplecluster' dlsClusterIdentifier :: Lens' DescribeLoggingStatus Text-dlsClusterIdentifier =-    lens _dlsClusterIdentifier (\s a -> s { _dlsClusterIdentifier = a })--data DescribeLoggingStatusResponse = DescribeLoggingStatusResponse-    { _dlsrBucketName                 :: Maybe Text-    , _dlsrLastFailureMessage         :: Maybe Text-    , _dlsrLastFailureTime            :: Maybe ISO8601-    , _dlsrLastSuccessfulDeliveryTime :: Maybe ISO8601-    , _dlsrLoggingEnabled             :: Maybe Bool-    , _dlsrS3KeyPrefix                :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'DescribeLoggingStatusResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dlsrBucketName' @::@ 'Maybe' 'Text'------ * 'dlsrLastFailureMessage' @::@ 'Maybe' 'Text'------ * 'dlsrLastFailureTime' @::@ 'Maybe' 'UTCTime'------ * 'dlsrLastSuccessfulDeliveryTime' @::@ 'Maybe' 'UTCTime'------ * 'dlsrLoggingEnabled' @::@ 'Maybe' 'Bool'------ * 'dlsrS3KeyPrefix' @::@ 'Maybe' 'Text'----describeLoggingStatusResponse :: DescribeLoggingStatusResponse-describeLoggingStatusResponse = DescribeLoggingStatusResponse-    { _dlsrLoggingEnabled             = Nothing-    , _dlsrBucketName                 = Nothing-    , _dlsrS3KeyPrefix                = Nothing-    , _dlsrLastSuccessfulDeliveryTime = Nothing-    , _dlsrLastFailureTime            = Nothing-    , _dlsrLastFailureMessage         = Nothing-    }---- | The name of the S3 bucket where the log files are stored.-dlsrBucketName :: Lens' DescribeLoggingStatusResponse (Maybe Text)-dlsrBucketName = lens _dlsrBucketName (\s a -> s { _dlsrBucketName = a })---- | The message indicating that logs failed to be delivered.-dlsrLastFailureMessage :: Lens' DescribeLoggingStatusResponse (Maybe Text)-dlsrLastFailureMessage =-    lens _dlsrLastFailureMessage (\s a -> s { _dlsrLastFailureMessage = a })---- | The last time when logs failed to be delivered.-dlsrLastFailureTime :: Lens' DescribeLoggingStatusResponse (Maybe UTCTime)-dlsrLastFailureTime =-    lens _dlsrLastFailureTime (\s a -> s { _dlsrLastFailureTime = a })-        . mapping _Time---- | The last time when logs were delivered.-dlsrLastSuccessfulDeliveryTime :: Lens' DescribeLoggingStatusResponse (Maybe UTCTime)-dlsrLastSuccessfulDeliveryTime =-    lens _dlsrLastSuccessfulDeliveryTime-        (\s a -> s { _dlsrLastSuccessfulDeliveryTime = a })-            . mapping _Time+dlsClusterIdentifier = lens _dlsClusterIdentifier (\ s a -> s{_dlsClusterIdentifier = a}); --- | 'true' if logging is on, 'false' if logging is off.-dlsrLoggingEnabled :: Lens' DescribeLoggingStatusResponse (Maybe Bool)-dlsrLoggingEnabled =-    lens _dlsrLoggingEnabled (\s a -> s { _dlsrLoggingEnabled = a })+instance AWSRequest DescribeLoggingStatus where+        type Sv DescribeLoggingStatus = Redshift+        type Rs DescribeLoggingStatus = LoggingStatus+        request = postQuery+        response+          = receiveXMLWrapper "DescribeLoggingStatusResult"+              (\ s h x -> parseXML x) --- | The prefix applied to the log file names.-dlsrS3KeyPrefix :: Lens' DescribeLoggingStatusResponse (Maybe Text)-dlsrS3KeyPrefix = lens _dlsrS3KeyPrefix (\s a -> s { _dlsrS3KeyPrefix = a })+instance ToHeaders DescribeLoggingStatus where+        toHeaders = const mempty  instance ToPath DescribeLoggingStatus where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeLoggingStatus where-    toQuery DescribeLoggingStatus{..} = mconcat-        [ "ClusterIdentifier" =? _dlsClusterIdentifier-        ]--instance ToHeaders DescribeLoggingStatus--instance AWSRequest DescribeLoggingStatus where-    type Sv DescribeLoggingStatus = Redshift-    type Rs DescribeLoggingStatus = DescribeLoggingStatusResponse--    request  = post "DescribeLoggingStatus"-    response = xmlResponse--instance FromXML DescribeLoggingStatusResponse where-    parseXML = withElement "DescribeLoggingStatusResult" $ \x -> DescribeLoggingStatusResponse-        <$> x .@? "BucketName"-        <*> x .@? "LastFailureMessage"-        <*> x .@? "LastFailureTime"-        <*> x .@? "LastSuccessfulDeliveryTime"-        <*> x .@? "LoggingEnabled"-        <*> x .@? "S3KeyPrefix"+        toQuery DescribeLoggingStatus'{..}+          = mconcat+              ["Action" =: ("DescribeLoggingStatus" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ClusterIdentifier" =: _dlsClusterIdentifier]
gen/Network/AWS/Redshift/DescribeOrderableClusterOptions.hs view
@@ -1,186 +1,218 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeOrderableClusterOptions--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of orderable cluster options. Before you create a new cluster--- you can use this operation to find what options are available, such as the--- EC2 Availability Zones (AZ) in the specific AWS region that you can specify,--- and the node types you can request. The node types differ by available--- storage, memory, CPU and price. With the cost involved you might want to--- obtain a list of cluster options in the specific region and specify values--- when creating a cluster. For more information about managing clusters, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters> in the /Amazon Redshift Cluster Management Guide/+-- Returns a list of orderable cluster options. Before you create a new+-- cluster you can use this operation to find what options are available,+-- such as the EC2 Availability Zones (AZ) in the specific AWS region that+-- you can specify, and the node types you can request. The node types+-- differ by available storage, memory, CPU and price. With the cost+-- involved you might want to obtain a list of cluster options in the+-- specific region and specify values when creating a cluster. For more+-- information about managing clusters, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters>+-- in the /Amazon Redshift Cluster Management Guide/ ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeOrderableClusterOptions.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeOrderableClusterOptions.html AWS API Reference> for DescribeOrderableClusterOptions.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeOrderableClusterOptions     (-    -- * Request-      DescribeOrderableClusterOptions-    -- ** Request constructor-    , describeOrderableClusterOptions-    -- ** Request lenses-    , docoClusterVersion-    , docoMarker+    -- * Creating a Request+      describeOrderableClusterOptions+    , DescribeOrderableClusterOptions+    -- * Request Lenses     , docoMaxRecords+    , docoMarker+    , docoClusterVersion     , docoNodeType -    -- * Response-    , DescribeOrderableClusterOptionsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeOrderableClusterOptionsResponse-    -- ** Response lenses-    , docorMarker-    , docorOrderableClusterOptions+    , DescribeOrderableClusterOptionsResponse+    -- * Response Lenses+    , docorsMarker+    , docorsOrderableClusterOptions+    , docorsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeOrderableClusterOptions = DescribeOrderableClusterOptions-    { _docoClusterVersion :: Maybe Text-    , _docoMarker         :: Maybe Text-    , _docoMaxRecords     :: Maybe Int-    , _docoNodeType       :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeOrderableClusterOptions' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeOrderableClusterOptions' smart constructor.+data DescribeOrderableClusterOptions = DescribeOrderableClusterOptions'+    { _docoMaxRecords     :: !(Maybe Int)+    , _docoMarker         :: !(Maybe Text)+    , _docoClusterVersion :: !(Maybe Text)+    , _docoNodeType       :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeOrderableClusterOptions' with the minimum fields required to make a request. ----- * 'docoClusterVersion' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'docoMarker' @::@ 'Maybe' 'Text'+-- * 'docoMaxRecords' ----- * 'docoMaxRecords' @::@ 'Maybe' 'Int'+-- * 'docoMarker' ----- * 'docoNodeType' @::@ 'Maybe' 'Text'+-- * 'docoClusterVersion' ---describeOrderableClusterOptions :: DescribeOrderableClusterOptions-describeOrderableClusterOptions = DescribeOrderableClusterOptions-    { _docoClusterVersion = Nothing-    , _docoNodeType       = Nothing-    , _docoMaxRecords     = Nothing-    , _docoMarker         = Nothing+-- * 'docoNodeType'+describeOrderableClusterOptions+    :: DescribeOrderableClusterOptions+describeOrderableClusterOptions =+    DescribeOrderableClusterOptions'+    { _docoMaxRecords = Nothing+    , _docoMarker = Nothing+    , _docoClusterVersion = Nothing+    , _docoNodeType = Nothing     } --- | The version filter value. Specify this parameter to show only the available--- offerings matching the specified version.+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. ----- Default: All versions.+-- Default: '100' ----- Constraints: Must be one of the version returned from 'DescribeClusterVersions'--- .-docoClusterVersion :: Lens' DescribeOrderableClusterOptions (Maybe Text)-docoClusterVersion =-    lens _docoClusterVersion (\s a -> s { _docoClusterVersion = a })+-- Constraints: minimum 20, maximum 100.+docoMaxRecords :: Lens' DescribeOrderableClusterOptions (Maybe Int)+docoMaxRecords = lens _docoMaxRecords (\ s a -> s{_docoMaxRecords = a}); --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeOrderableClusterOptions'--- request exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker' field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a+-- DescribeOrderableClusterOptions request exceed the value specified in+-- 'MaxRecords', AWS returns a value in the 'Marker' field of the response.+-- You can retrieve the next set of response records by providing the+-- returned marker value in the 'Marker' parameter and retrying the -- request. docoMarker :: Lens' DescribeOrderableClusterOptions (Maybe Text)-docoMarker = lens _docoMarker (\s a -> s { _docoMarker = a })+docoMarker = lens _docoMarker (\ s a -> s{_docoMarker = a}); --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The version filter value. Specify this parameter to show only the+-- available offerings matching the specified version. ----- Default: '100'+-- Default: All versions. ----- Constraints: minimum 20, maximum 100.-docoMaxRecords :: Lens' DescribeOrderableClusterOptions (Maybe Int)-docoMaxRecords = lens _docoMaxRecords (\s a -> s { _docoMaxRecords = a })+-- Constraints: Must be one of the version returned from+-- DescribeClusterVersions.+docoClusterVersion :: Lens' DescribeOrderableClusterOptions (Maybe Text)+docoClusterVersion = lens _docoClusterVersion (\ s a -> s{_docoClusterVersion = a});  -- | The node type filter value. Specify this parameter to show only the -- available offerings matching the specified node type. docoNodeType :: Lens' DescribeOrderableClusterOptions (Maybe Text)-docoNodeType = lens _docoNodeType (\s a -> s { _docoNodeType = a })--data DescribeOrderableClusterOptionsResponse = DescribeOrderableClusterOptionsResponse-    { _docorMarker                  :: Maybe Text-    , _docorOrderableClusterOptions :: List "member" OrderableClusterOption-    } deriving (Eq, Read, Show)+docoNodeType = lens _docoNodeType (\ s a -> s{_docoNodeType = a}); --- | 'DescribeOrderableClusterOptionsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'docorMarker' @::@ 'Maybe' 'Text'------ * 'docorOrderableClusterOptions' @::@ ['OrderableClusterOption']----describeOrderableClusterOptionsResponse :: DescribeOrderableClusterOptionsResponse-describeOrderableClusterOptionsResponse = DescribeOrderableClusterOptionsResponse-    { _docorOrderableClusterOptions = mempty-    , _docorMarker                  = Nothing-    }+instance AWSPager DescribeOrderableClusterOptions+         where+        page rq rs+          | stop (rs ^. docorsMarker) = Nothing+          | stop (rs ^. docorsOrderableClusterOptions) =+            Nothing+          | otherwise =+            Just $ rq & docoMarker .~ rs ^. docorsMarker --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-docorMarker :: Lens' DescribeOrderableClusterOptionsResponse (Maybe Text)-docorMarker = lens _docorMarker (\s a -> s { _docorMarker = a })+instance AWSRequest DescribeOrderableClusterOptions+         where+        type Sv DescribeOrderableClusterOptions = Redshift+        type Rs DescribeOrderableClusterOptions =+             DescribeOrderableClusterOptionsResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeOrderableClusterOptionsResult"+              (\ s h x ->+                 DescribeOrderableClusterOptionsResponse' <$>+                   (x .@? "Marker") <*>+                     (x .@? "OrderableClusterOptions" .!@ mempty >>=+                        may (parseXMLList "OrderableClusterOption"))+                     <*> (pure (fromEnum s))) --- | An 'OrderableClusterOption' structure containing information about orderable--- options for the Cluster.-docorOrderableClusterOptions :: Lens' DescribeOrderableClusterOptionsResponse [OrderableClusterOption]-docorOrderableClusterOptions =-    lens _docorOrderableClusterOptions-        (\s a -> s { _docorOrderableClusterOptions = a })-            . _List+instance ToHeaders DescribeOrderableClusterOptions+         where+        toHeaders = const mempty  instance ToPath DescribeOrderableClusterOptions where-    toPath = const "/"+        toPath = const "/" -instance ToQuery DescribeOrderableClusterOptions where-    toQuery DescribeOrderableClusterOptions{..} = mconcat-        [ "ClusterVersion" =? _docoClusterVersion-        , "Marker"         =? _docoMarker-        , "MaxRecords"     =? _docoMaxRecords-        , "NodeType"       =? _docoNodeType-        ]+instance ToQuery DescribeOrderableClusterOptions+         where+        toQuery DescribeOrderableClusterOptions'{..}+          = mconcat+              ["Action" =:+                 ("DescribeOrderableClusterOptions" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "MaxRecords" =: _docoMaxRecords,+               "Marker" =: _docoMarker,+               "ClusterVersion" =: _docoClusterVersion,+               "NodeType" =: _docoNodeType] -instance ToHeaders DescribeOrderableClusterOptions+-- | Contains the output from the DescribeOrderableClusterOptions action.+--+-- /See:/ 'describeOrderableClusterOptionsResponse' smart constructor.+data DescribeOrderableClusterOptionsResponse = DescribeOrderableClusterOptionsResponse'+    { _docorsMarker                  :: !(Maybe Text)+    , _docorsOrderableClusterOptions :: !(Maybe [OrderableClusterOption])+    , _docorsStatus                  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeOrderableClusterOptions where-    type Sv DescribeOrderableClusterOptions = Redshift-    type Rs DescribeOrderableClusterOptions = DescribeOrderableClusterOptionsResponse+-- | Creates a value of 'DescribeOrderableClusterOptionsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'docorsMarker'+--+-- * 'docorsOrderableClusterOptions'+--+-- * 'docorsStatus'+describeOrderableClusterOptionsResponse+    :: Int -- ^ 'docorsStatus'+    -> DescribeOrderableClusterOptionsResponse+describeOrderableClusterOptionsResponse pStatus_ =+    DescribeOrderableClusterOptionsResponse'+    { _docorsMarker = Nothing+    , _docorsOrderableClusterOptions = Nothing+    , _docorsStatus = pStatus_+    } -    request  = post "DescribeOrderableClusterOptions"-    response = xmlResponse+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+docorsMarker :: Lens' DescribeOrderableClusterOptionsResponse (Maybe Text)+docorsMarker = lens _docorsMarker (\ s a -> s{_docorsMarker = a}); -instance FromXML DescribeOrderableClusterOptionsResponse where-    parseXML = withElement "DescribeOrderableClusterOptionsResult" $ \x -> DescribeOrderableClusterOptionsResponse-        <$> x .@? "Marker"-        <*> x .@? "OrderableClusterOptions" .!@ mempty+-- | An OrderableClusterOption structure containing information about+-- orderable options for the Cluster.+docorsOrderableClusterOptions :: Lens' DescribeOrderableClusterOptionsResponse [OrderableClusterOption]+docorsOrderableClusterOptions = lens _docorsOrderableClusterOptions (\ s a -> s{_docorsOrderableClusterOptions = a}) . _Default . _Coerce; -instance AWSPager DescribeOrderableClusterOptions where-    page rq rs-        | stop (rs ^. docorMarker) = Nothing-        | otherwise = (\x -> rq & docoMarker ?~ x)-            <$> (rs ^. docorMarker)+-- | The response status code.+docorsStatus :: Lens' DescribeOrderableClusterOptionsResponse Int+docorsStatus = lens _docorsStatus (\ s a -> s{_docorsStatus = a});
gen/Network/AWS/Redshift/DescribeReservedNodeOfferings.hs view
@@ -1,170 +1,198 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeReservedNodeOfferings--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of the available reserved node offerings by Amazon Redshift--- with their descriptions including the node type, the fixed and recurring--- costs of reserving the node and duration the node will be reserved for you.--- These descriptions help you determine which reserve node offering you want to--- purchase. You then use the unique offering ID in you call to 'PurchaseReservedNodeOffering' to reserve one or more nodes for your Amazon Redshift cluster.+-- Returns a list of the available reserved node offerings by Amazon+-- Redshift with their descriptions including the node type, the fixed and+-- recurring costs of reserving the node and duration the node will be+-- reserved for you. These descriptions help you determine which reserve+-- node offering you want to purchase. You then use the unique offering ID+-- in you call to PurchaseReservedNodeOffering to reserve one or more nodes+-- for your Amazon Redshift cluster. ----- For more information about managing parameter groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html PurchasingReserved Nodes> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about reserved node offerings, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html Purchasing Reserved Nodes>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeReservedNodeOfferings.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeReservedNodeOfferings.html AWS API Reference> for DescribeReservedNodeOfferings.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeReservedNodeOfferings     (-    -- * Request-      DescribeReservedNodeOfferings-    -- ** Request constructor-    , describeReservedNodeOfferings-    -- ** Request lenses-    , drnoMarker-    , drnoMaxRecords+    -- * Creating a Request+      describeReservedNodeOfferings+    , DescribeReservedNodeOfferings+    -- * Request Lenses     , drnoReservedNodeOfferingId+    , drnoMaxRecords+    , drnoMarker -    -- * Response-    , DescribeReservedNodeOfferingsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeReservedNodeOfferingsResponse-    -- ** Response lenses-    , drnorMarker-    , drnorReservedNodeOfferings+    , DescribeReservedNodeOfferingsResponse+    -- * Response Lenses+    , drnorsReservedNodeOfferings+    , drnorsMarker+    , drnorsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeReservedNodeOfferings = DescribeReservedNodeOfferings-    { _drnoMarker                 :: Maybe Text-    , _drnoMaxRecords             :: Maybe Int-    , _drnoReservedNodeOfferingId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeReservedNodeOfferings' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeReservedNodeOfferings' smart constructor.+data DescribeReservedNodeOfferings = DescribeReservedNodeOfferings'+    { _drnoReservedNodeOfferingId :: !(Maybe Text)+    , _drnoMaxRecords             :: !(Maybe Int)+    , _drnoMarker                 :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeReservedNodeOfferings' with the minimum fields required to make a request. ----- * 'drnoMarker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'drnoMaxRecords' @::@ 'Maybe' 'Int'+-- * 'drnoReservedNodeOfferingId' ----- * 'drnoReservedNodeOfferingId' @::@ 'Maybe' 'Text'+-- * 'drnoMaxRecords' ---describeReservedNodeOfferings :: DescribeReservedNodeOfferings-describeReservedNodeOfferings = DescribeReservedNodeOfferings+-- * 'drnoMarker'+describeReservedNodeOfferings+    :: DescribeReservedNodeOfferings+describeReservedNodeOfferings =+    DescribeReservedNodeOfferings'     { _drnoReservedNodeOfferingId = Nothing-    , _drnoMaxRecords             = Nothing-    , _drnoMarker                 = Nothing+    , _drnoMaxRecords = Nothing+    , _drnoMarker = Nothing     } --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeReservedNodeOfferings' request--- exceed the value specified in 'MaxRecords', AWS returns a value in the 'Marker'--- field of the response. You can retrieve the next set of response records by--- providing the returned marker value in the 'Marker' parameter and retrying the--- request.-drnoMarker :: Lens' DescribeReservedNodeOfferings (Maybe Text)-drnoMarker = lens _drnoMarker (\s a -> s { _drnoMarker = a })+-- | The unique identifier for the offering.+drnoReservedNodeOfferingId :: Lens' DescribeReservedNodeOfferings (Maybe Text)+drnoReservedNodeOfferingId = lens _drnoReservedNodeOfferingId (\ s a -> s{_drnoReservedNodeOfferingId = a}); --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. -- -- Default: '100' -- -- Constraints: minimum 20, maximum 100. drnoMaxRecords :: Lens' DescribeReservedNodeOfferings (Maybe Int)-drnoMaxRecords = lens _drnoMaxRecords (\s a -> s { _drnoMaxRecords = a })---- | The unique identifier for the offering.-drnoReservedNodeOfferingId :: Lens' DescribeReservedNodeOfferings (Maybe Text)-drnoReservedNodeOfferingId =-    lens _drnoReservedNodeOfferingId-        (\s a -> s { _drnoReservedNodeOfferingId = a })+drnoMaxRecords = lens _drnoMaxRecords (\ s a -> s{_drnoMaxRecords = a}); -data DescribeReservedNodeOfferingsResponse = DescribeReservedNodeOfferingsResponse-    { _drnorMarker                :: Maybe Text-    , _drnorReservedNodeOfferings :: List "member" ReservedNodeOffering-    } deriving (Eq, Read, Show)+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeReservedNodeOfferings+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+drnoMarker :: Lens' DescribeReservedNodeOfferings (Maybe Text)+drnoMarker = lens _drnoMarker (\ s a -> s{_drnoMarker = a}); --- | 'DescribeReservedNodeOfferingsResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'drnorMarker' @::@ 'Maybe' 'Text'------ * 'drnorReservedNodeOfferings' @::@ ['ReservedNodeOffering']----describeReservedNodeOfferingsResponse :: DescribeReservedNodeOfferingsResponse-describeReservedNodeOfferingsResponse = DescribeReservedNodeOfferingsResponse-    { _drnorMarker                = Nothing-    , _drnorReservedNodeOfferings = mempty-    }+instance AWSPager DescribeReservedNodeOfferings where+        page rq rs+          | stop (rs ^. drnorsMarker) = Nothing+          | stop (rs ^. drnorsReservedNodeOfferings) = Nothing+          | otherwise =+            Just $ rq & drnoMarker .~ rs ^. drnorsMarker --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-drnorMarker :: Lens' DescribeReservedNodeOfferingsResponse (Maybe Text)-drnorMarker = lens _drnorMarker (\s a -> s { _drnorMarker = a })+instance AWSRequest DescribeReservedNodeOfferings+         where+        type Sv DescribeReservedNodeOfferings = Redshift+        type Rs DescribeReservedNodeOfferings =+             DescribeReservedNodeOfferingsResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeReservedNodeOfferingsResult"+              (\ s h x ->+                 DescribeReservedNodeOfferingsResponse' <$>+                   (x .@? "ReservedNodeOfferings" .!@ mempty >>=+                      may (parseXMLList "ReservedNodeOffering"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s))) --- | A list of reserved node offerings.-drnorReservedNodeOfferings :: Lens' DescribeReservedNodeOfferingsResponse [ReservedNodeOffering]-drnorReservedNodeOfferings =-    lens _drnorReservedNodeOfferings-        (\s a -> s { _drnorReservedNodeOfferings = a })-            . _List+instance ToHeaders DescribeReservedNodeOfferings+         where+        toHeaders = const mempty  instance ToPath DescribeReservedNodeOfferings where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeReservedNodeOfferings where-    toQuery DescribeReservedNodeOfferings{..} = mconcat-        [ "Marker"                 =? _drnoMarker-        , "MaxRecords"             =? _drnoMaxRecords-        , "ReservedNodeOfferingId" =? _drnoReservedNodeOfferingId-        ]+        toQuery DescribeReservedNodeOfferings'{..}+          = mconcat+              ["Action" =:+                 ("DescribeReservedNodeOfferings" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ReservedNodeOfferingId" =:+                 _drnoReservedNodeOfferingId,+               "MaxRecords" =: _drnoMaxRecords,+               "Marker" =: _drnoMarker] -instance ToHeaders DescribeReservedNodeOfferings+-- | Contains the output from the DescribeReservedNodeOfferings action.+--+-- /See:/ 'describeReservedNodeOfferingsResponse' smart constructor.+data DescribeReservedNodeOfferingsResponse = DescribeReservedNodeOfferingsResponse'+    { _drnorsReservedNodeOfferings :: !(Maybe [ReservedNodeOffering])+    , _drnorsMarker                :: !(Maybe Text)+    , _drnorsStatus                :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeReservedNodeOfferings where-    type Sv DescribeReservedNodeOfferings = Redshift-    type Rs DescribeReservedNodeOfferings = DescribeReservedNodeOfferingsResponse+-- | Creates a value of 'DescribeReservedNodeOfferingsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drnorsReservedNodeOfferings'+--+-- * 'drnorsMarker'+--+-- * 'drnorsStatus'+describeReservedNodeOfferingsResponse+    :: Int -- ^ 'drnorsStatus'+    -> DescribeReservedNodeOfferingsResponse+describeReservedNodeOfferingsResponse pStatus_ =+    DescribeReservedNodeOfferingsResponse'+    { _drnorsReservedNodeOfferings = Nothing+    , _drnorsMarker = Nothing+    , _drnorsStatus = pStatus_+    } -    request  = post "DescribeReservedNodeOfferings"-    response = xmlResponse+-- | A list of reserved node offerings.+drnorsReservedNodeOfferings :: Lens' DescribeReservedNodeOfferingsResponse [ReservedNodeOffering]+drnorsReservedNodeOfferings = lens _drnorsReservedNodeOfferings (\ s a -> s{_drnorsReservedNodeOfferings = a}) . _Default . _Coerce; -instance FromXML DescribeReservedNodeOfferingsResponse where-    parseXML = withElement "DescribeReservedNodeOfferingsResult" $ \x -> DescribeReservedNodeOfferingsResponse-        <$> x .@? "Marker"-        <*> x .@? "ReservedNodeOfferings" .!@ mempty+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+drnorsMarker :: Lens' DescribeReservedNodeOfferingsResponse (Maybe Text)+drnorsMarker = lens _drnorsMarker (\ s a -> s{_drnorsMarker = a}); -instance AWSPager DescribeReservedNodeOfferings where-    page rq rs-        | stop (rs ^. drnorMarker) = Nothing-        | otherwise = (\x -> rq & drnoMarker ?~ x)-            <$> (rs ^. drnorMarker)+-- | The response status code.+drnorsStatus :: Lens' DescribeReservedNodeOfferingsResponse Int+drnorsStatus = lens _drnorsStatus (\ s a -> s{_drnorsStatus = a});
gen/Network/AWS/Redshift/DescribeReservedNodes.hs view
@@ -1,161 +1,183 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeReservedNodes--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns the descriptions of the reserved nodes.+-- Returns the descriptions of the reserved nodes. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeReservedNodes.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeReservedNodes.html AWS API Reference> for DescribeReservedNodes.+--+-- This operation returns paginated results. module Network.AWS.Redshift.DescribeReservedNodes     (-    -- * Request-      DescribeReservedNodes-    -- ** Request constructor-    , describeReservedNodes-    -- ** Request lenses-    , drnMarker-    , drnMaxRecords+    -- * Creating a Request+      describeReservedNodes+    , DescribeReservedNodes+    -- * Request Lenses     , drnReservedNodeId+    , drnMaxRecords+    , drnMarker -    -- * Response-    , DescribeReservedNodesResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeReservedNodesResponse-    -- ** Response lenses-    , drnrMarker-    , drnrReservedNodes+    , DescribeReservedNodesResponse+    -- * Response Lenses+    , drnrsReservedNodes+    , drnrsMarker+    , drnrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeReservedNodes = DescribeReservedNodes-    { _drnMarker         :: Maybe Text-    , _drnMaxRecords     :: Maybe Int-    , _drnReservedNodeId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Pager+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeReservedNodes' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeReservedNodes' smart constructor.+data DescribeReservedNodes = DescribeReservedNodes'+    { _drnReservedNodeId :: !(Maybe Text)+    , _drnMaxRecords     :: !(Maybe Int)+    , _drnMarker         :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeReservedNodes' with the minimum fields required to make a request. ----- * 'drnMarker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'drnMaxRecords' @::@ 'Maybe' 'Int'+-- * 'drnReservedNodeId' ----- * 'drnReservedNodeId' @::@ 'Maybe' 'Text'+-- * 'drnMaxRecords' ---describeReservedNodes :: DescribeReservedNodes-describeReservedNodes = DescribeReservedNodes+-- * 'drnMarker'+describeReservedNodes+    :: DescribeReservedNodes+describeReservedNodes =+    DescribeReservedNodes'     { _drnReservedNodeId = Nothing-    , _drnMaxRecords     = Nothing-    , _drnMarker         = Nothing+    , _drnMaxRecords = Nothing+    , _drnMarker = Nothing     } --- | An optional parameter that specifies the starting point to return a set of--- response records. When the results of a 'DescribeReservedNodes' request exceed--- the value specified in 'MaxRecords', AWS returns a value in the 'Marker' field of--- the response. You can retrieve the next set of response records by providing--- the returned marker value in the 'Marker' parameter and retrying the request.-drnMarker :: Lens' DescribeReservedNodes (Maybe Text)-drnMarker = lens _drnMarker (\s a -> s { _drnMarker = a })+-- | Identifier for the node reservation.+drnReservedNodeId :: Lens' DescribeReservedNodes (Maybe Text)+drnReservedNodeId = lens _drnReservedNodeId (\ s a -> s{_drnReservedNodeId = a}); --- | The maximum number of response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned marker value.+-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value. -- -- Default: '100' -- -- Constraints: minimum 20, maximum 100. drnMaxRecords :: Lens' DescribeReservedNodes (Maybe Int)-drnMaxRecords = lens _drnMaxRecords (\s a -> s { _drnMaxRecords = a })---- | Identifier for the node reservation.-drnReservedNodeId :: Lens' DescribeReservedNodes (Maybe Text)-drnReservedNodeId =-    lens _drnReservedNodeId (\s a -> s { _drnReservedNodeId = a })+drnMaxRecords = lens _drnMaxRecords (\ s a -> s{_drnMaxRecords = a}); -data DescribeReservedNodesResponse = DescribeReservedNodesResponse-    { _drnrMarker        :: Maybe Text-    , _drnrReservedNodes :: List "member" ReservedNode-    } deriving (Eq, Read, Show)+-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a DescribeReservedNodes request+-- exceed the value specified in 'MaxRecords', AWS returns a value in the+-- 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+drnMarker :: Lens' DescribeReservedNodes (Maybe Text)+drnMarker = lens _drnMarker (\ s a -> s{_drnMarker = a}); --- | 'DescribeReservedNodesResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'drnrMarker' @::@ 'Maybe' 'Text'------ * 'drnrReservedNodes' @::@ ['ReservedNode']----describeReservedNodesResponse :: DescribeReservedNodesResponse-describeReservedNodesResponse = DescribeReservedNodesResponse-    { _drnrMarker        = Nothing-    , _drnrReservedNodes = mempty-    }+instance AWSPager DescribeReservedNodes where+        page rq rs+          | stop (rs ^. drnrsMarker) = Nothing+          | stop (rs ^. drnrsReservedNodes) = Nothing+          | otherwise =+            Just $ rq & drnMarker .~ rs ^. drnrsMarker --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-drnrMarker :: Lens' DescribeReservedNodesResponse (Maybe Text)-drnrMarker = lens _drnrMarker (\s a -> s { _drnrMarker = a })+instance AWSRequest DescribeReservedNodes where+        type Sv DescribeReservedNodes = Redshift+        type Rs DescribeReservedNodes =+             DescribeReservedNodesResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeReservedNodesResult"+              (\ s h x ->+                 DescribeReservedNodesResponse' <$>+                   (x .@? "ReservedNodes" .!@ mempty >>=+                      may (parseXMLList "ReservedNode"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s))) --- | The list of reserved nodes.-drnrReservedNodes :: Lens' DescribeReservedNodesResponse [ReservedNode]-drnrReservedNodes =-    lens _drnrReservedNodes (\s a -> s { _drnrReservedNodes = a })-        . _List+instance ToHeaders DescribeReservedNodes where+        toHeaders = const mempty  instance ToPath DescribeReservedNodes where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DescribeReservedNodes where-    toQuery DescribeReservedNodes{..} = mconcat-        [ "Marker"         =? _drnMarker-        , "MaxRecords"     =? _drnMaxRecords-        , "ReservedNodeId" =? _drnReservedNodeId-        ]+        toQuery DescribeReservedNodes'{..}+          = mconcat+              ["Action" =: ("DescribeReservedNodes" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ReservedNodeId" =: _drnReservedNodeId,+               "MaxRecords" =: _drnMaxRecords,+               "Marker" =: _drnMarker] -instance ToHeaders DescribeReservedNodes+-- | Contains the output from the DescribeReservedNodes action.+--+-- /See:/ 'describeReservedNodesResponse' smart constructor.+data DescribeReservedNodesResponse = DescribeReservedNodesResponse'+    { _drnrsReservedNodes :: !(Maybe [ReservedNode])+    , _drnrsMarker        :: !(Maybe Text)+    , _drnrsStatus        :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DescribeReservedNodes where-    type Sv DescribeReservedNodes = Redshift-    type Rs DescribeReservedNodes = DescribeReservedNodesResponse+-- | Creates a value of 'DescribeReservedNodesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drnrsReservedNodes'+--+-- * 'drnrsMarker'+--+-- * 'drnrsStatus'+describeReservedNodesResponse+    :: Int -- ^ 'drnrsStatus'+    -> DescribeReservedNodesResponse+describeReservedNodesResponse pStatus_ =+    DescribeReservedNodesResponse'+    { _drnrsReservedNodes = Nothing+    , _drnrsMarker = Nothing+    , _drnrsStatus = pStatus_+    } -    request  = post "DescribeReservedNodes"-    response = xmlResponse+-- | The list of reserved nodes.+drnrsReservedNodes :: Lens' DescribeReservedNodesResponse [ReservedNode]+drnrsReservedNodes = lens _drnrsReservedNodes (\ s a -> s{_drnrsReservedNodes = a}) . _Default . _Coerce; -instance FromXML DescribeReservedNodesResponse where-    parseXML = withElement "DescribeReservedNodesResult" $ \x -> DescribeReservedNodesResponse-        <$> x .@? "Marker"-        <*> x .@? "ReservedNodes" .!@ mempty+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+drnrsMarker :: Lens' DescribeReservedNodesResponse (Maybe Text)+drnrsMarker = lens _drnrsMarker (\ s a -> s{_drnrsMarker = a}); -instance AWSPager DescribeReservedNodes where-    page rq rs-        | stop (rs ^. drnrMarker) = Nothing-        | otherwise = (\x -> rq & drnMarker ?~ x)-            <$> (rs ^. drnrMarker)+-- | The response status code.+drnrsStatus :: Lens' DescribeReservedNodesResponse Int+drnrsStatus = lens _drnrsStatus (\ s a -> s{_drnrsStatus = a});
gen/Network/AWS/Redshift/DescribeResize.hs view
@@ -1,275 +1,263 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeResize--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns information about the last resize operation for the specified--- cluster. If no resize operation has ever been initiated for the specified--- cluster, a 'HTTP 404' error is returned. If a resize operation was initiated--- and completed, the status of the resize remains as 'SUCCEEDED' until the next--- resize.+-- Returns information about the last resize operation for the specified+-- cluster. If no resize operation has ever been initiated for the+-- specified cluster, a 'HTTP 404' error is returned. If a resize operation+-- was initiated and completed, the status of the resize remains as+-- 'SUCCEEDED' until the next resize. ----- A resize operation can be requested using 'ModifyCluster' and specifying a+-- A resize operation can be requested using ModifyCluster and specifying a -- different number or type of nodes for the cluster. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeResize.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeResize.html AWS API Reference> for DescribeResize. module Network.AWS.Redshift.DescribeResize     (-    -- * Request-      DescribeResize-    -- ** Request constructor-    , describeResize-    -- ** Request lenses+    -- * Creating a Request+      describeResize+    , DescribeResize+    -- * Request Lenses     , drClusterIdentifier -    -- * Response-    , DescribeResizeResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeResizeResponse-    -- ** Response lenses-    , drrAvgResizeRateInMegaBytesPerSecond-    , drrElapsedTimeInSeconds-    , drrEstimatedTimeToCompletionInSeconds-    , drrImportTablesCompleted-    , drrImportTablesInProgress-    , drrImportTablesNotStarted-    , drrProgressInMegaBytes-    , drrStatus-    , drrTargetClusterType-    , drrTargetNodeType-    , drrTargetNumberOfNodes-    , drrTotalResizeDataInMegaBytes+    , DescribeResizeResponse+    -- * Response Lenses+    , drrsEstimatedTimeToCompletionInSeconds+    , drrsImportTablesNotStarted+    , drrsAvgResizeRateInMegaBytesPerSecond+    , drrsTargetNumberOfNodes+    , drrsTargetNodeType+    , drrsImportTablesInProgress+    , drrsImportTablesCompleted+    , drrsProgressInMegaBytes+    , drrsTotalResizeDataInMegaBytes+    , drrsElapsedTimeInSeconds+    , drrsTargetClusterType+    , drrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -newtype DescribeResize = DescribeResize+-- |+--+-- /See:/ 'describeResize' smart constructor.+newtype DescribeResize = DescribeResize'     { _drClusterIdentifier :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DescribeResize' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DescribeResize' with the minimum fields required to make a request. ----- * 'drClusterIdentifier' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---describeResize :: Text -- ^ 'drClusterIdentifier'-               -> DescribeResize-describeResize p1 = DescribeResize-    { _drClusterIdentifier = p1+-- * 'drClusterIdentifier'+describeResize+    :: Text -- ^ 'drClusterIdentifier'+    -> DescribeResize+describeResize pClusterIdentifier_ =+    DescribeResize'+    { _drClusterIdentifier = pClusterIdentifier_     } --- | The unique identifier of a cluster whose resize progress you are requesting.--- This parameter is case-sensitive.+-- | The unique identifier of a cluster whose resize progress you are+-- requesting. This parameter is case-sensitive. ----- By default, resize operations for all clusters defined for an AWS account--- are returned.+-- By default, resize operations for all clusters defined for an AWS+-- account are returned. drClusterIdentifier :: Lens' DescribeResize Text-drClusterIdentifier =-    lens _drClusterIdentifier (\s a -> s { _drClusterIdentifier = a })+drClusterIdentifier = lens _drClusterIdentifier (\ s a -> s{_drClusterIdentifier = a}); -data DescribeResizeResponse = DescribeResizeResponse-    { _drrAvgResizeRateInMegaBytesPerSecond  :: Maybe Double-    , _drrElapsedTimeInSeconds               :: Maybe Integer-    , _drrEstimatedTimeToCompletionInSeconds :: Maybe Integer-    , _drrImportTablesCompleted              :: List "member" Text-    , _drrImportTablesInProgress             :: List "member" Text-    , _drrImportTablesNotStarted             :: List "member" Text-    , _drrProgressInMegaBytes                :: Maybe Integer-    , _drrStatus                             :: Maybe Text-    , _drrTargetClusterType                  :: Maybe Text-    , _drrTargetNodeType                     :: Maybe Text-    , _drrTargetNumberOfNodes                :: Maybe Int-    , _drrTotalResizeDataInMegaBytes         :: Maybe Integer-    } deriving (Eq, Ord, Read, Show)+instance AWSRequest DescribeResize where+        type Sv DescribeResize = Redshift+        type Rs DescribeResize = DescribeResizeResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeResizeResult"+              (\ s h x ->+                 DescribeResizeResponse' <$>+                   (x .@? "EstimatedTimeToCompletionInSeconds") <*>+                     (x .@? "ImportTablesNotStarted" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (x .@? "AvgResizeRateInMegaBytesPerSecond")+                     <*> (x .@? "TargetNumberOfNodes")+                     <*> (x .@? "TargetNodeType")+                     <*>+                     (x .@? "ImportTablesInProgress" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*>+                     (x .@? "ImportTablesCompleted" .!@ mempty >>=+                        may (parseXMLList "member"))+                     <*> (x .@? "ProgressInMegaBytes")+                     <*> (x .@? "TotalResizeDataInMegaBytes")+                     <*> (x .@? "ElapsedTimeInSeconds")+                     <*> (x .@? "TargetClusterType")+                     <*> (pure (fromEnum s))) --- | 'DescribeResizeResponse' constructor.+instance ToHeaders DescribeResize where+        toHeaders = const mempty++instance ToPath DescribeResize where+        toPath = const "/"++instance ToQuery DescribeResize where+        toQuery DescribeResize'{..}+          = mconcat+              ["Action" =: ("DescribeResize" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ClusterIdentifier" =: _drClusterIdentifier]++-- | Describes the result of a cluster resize operation. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeResizeResponse' smart constructor.+data DescribeResizeResponse = DescribeResizeResponse'+    { _drrsEstimatedTimeToCompletionInSeconds :: !(Maybe Integer)+    , _drrsImportTablesNotStarted             :: !(Maybe [Text])+    , _drrsAvgResizeRateInMegaBytesPerSecond  :: !(Maybe Double)+    , _drrsTargetNumberOfNodes                :: !(Maybe Int)+    , _drrsTargetNodeType                     :: !(Maybe Text)+    , _drrsImportTablesInProgress             :: !(Maybe [Text])+    , _drrsImportTablesCompleted              :: !(Maybe [Text])+    , _drrsProgressInMegaBytes                :: !(Maybe Integer)+    , _drrsTotalResizeDataInMegaBytes         :: !(Maybe Integer)+    , _drrsElapsedTimeInSeconds               :: !(Maybe Integer)+    , _drrsTargetClusterType                  :: !(Maybe Text)+    , _drrsStatus                             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeResizeResponse' with the minimum fields required to make a request. ----- * 'drrAvgResizeRateInMegaBytesPerSecond' @::@ 'Maybe' 'Double'+-- Use one of the following lenses to modify other fields as desired: ----- * 'drrElapsedTimeInSeconds' @::@ 'Maybe' 'Integer'+-- * 'drrsEstimatedTimeToCompletionInSeconds' ----- * 'drrEstimatedTimeToCompletionInSeconds' @::@ 'Maybe' 'Integer'+-- * 'drrsImportTablesNotStarted' ----- * 'drrImportTablesCompleted' @::@ ['Text']+-- * 'drrsAvgResizeRateInMegaBytesPerSecond' ----- * 'drrImportTablesInProgress' @::@ ['Text']+-- * 'drrsTargetNumberOfNodes' ----- * 'drrImportTablesNotStarted' @::@ ['Text']+-- * 'drrsTargetNodeType' ----- * 'drrProgressInMegaBytes' @::@ 'Maybe' 'Integer'+-- * 'drrsImportTablesInProgress' ----- * 'drrStatus' @::@ 'Maybe' 'Text'+-- * 'drrsImportTablesCompleted' ----- * 'drrTargetClusterType' @::@ 'Maybe' 'Text'+-- * 'drrsProgressInMegaBytes' ----- * 'drrTargetNodeType' @::@ 'Maybe' 'Text'+-- * 'drrsTotalResizeDataInMegaBytes' ----- * 'drrTargetNumberOfNodes' @::@ 'Maybe' 'Int'+-- * 'drrsElapsedTimeInSeconds' ----- * 'drrTotalResizeDataInMegaBytes' @::@ 'Maybe' 'Integer'+-- * 'drrsTargetClusterType' ---describeResizeResponse :: DescribeResizeResponse-describeResizeResponse = DescribeResizeResponse-    { _drrTargetNodeType                     = Nothing-    , _drrTargetNumberOfNodes                = Nothing-    , _drrTargetClusterType                  = Nothing-    , _drrStatus                             = Nothing-    , _drrImportTablesCompleted              = mempty-    , _drrImportTablesInProgress             = mempty-    , _drrImportTablesNotStarted             = mempty-    , _drrAvgResizeRateInMegaBytesPerSecond  = Nothing-    , _drrTotalResizeDataInMegaBytes         = Nothing-    , _drrProgressInMegaBytes                = Nothing-    , _drrElapsedTimeInSeconds               = Nothing-    , _drrEstimatedTimeToCompletionInSeconds = Nothing+-- * 'drrsStatus'+describeResizeResponse+    :: Int -- ^ 'drrsStatus'+    -> DescribeResizeResponse+describeResizeResponse pStatus_ =+    DescribeResizeResponse'+    { _drrsEstimatedTimeToCompletionInSeconds = Nothing+    , _drrsImportTablesNotStarted = Nothing+    , _drrsAvgResizeRateInMegaBytesPerSecond = Nothing+    , _drrsTargetNumberOfNodes = Nothing+    , _drrsTargetNodeType = Nothing+    , _drrsImportTablesInProgress = Nothing+    , _drrsImportTablesCompleted = Nothing+    , _drrsProgressInMegaBytes = Nothing+    , _drrsTotalResizeDataInMegaBytes = Nothing+    , _drrsElapsedTimeInSeconds = Nothing+    , _drrsTargetClusterType = Nothing+    , _drrsStatus = pStatus_     } --- | The average rate of the resize operation over the last few minutes, measured--- in megabytes per second. After the resize operation completes, this value--- shows the average rate of the entire resize operation.-drrAvgResizeRateInMegaBytesPerSecond :: Lens' DescribeResizeResponse (Maybe Double)-drrAvgResizeRateInMegaBytesPerSecond =-    lens _drrAvgResizeRateInMegaBytesPerSecond-        (\s a -> s { _drrAvgResizeRateInMegaBytesPerSecond = a })---- | The amount of seconds that have elapsed since the resize operation began.--- After the resize operation completes, this value shows the total actual time,--- in seconds, for the resize operation.-drrElapsedTimeInSeconds :: Lens' DescribeResizeResponse (Maybe Integer)-drrElapsedTimeInSeconds =-    lens _drrElapsedTimeInSeconds (\s a -> s { _drrElapsedTimeInSeconds = a })- -- | The estimated time remaining, in seconds, until the resize operation is--- complete. This value is calculated based on the average resize rate and the--- estimated amount of data remaining to be processed. Once the resize operation--- is complete, this value will be 0.-drrEstimatedTimeToCompletionInSeconds :: Lens' DescribeResizeResponse (Maybe Integer)-drrEstimatedTimeToCompletionInSeconds =-    lens _drrEstimatedTimeToCompletionInSeconds-        (\s a -> s { _drrEstimatedTimeToCompletionInSeconds = a })+-- complete. This value is calculated based on the average resize rate and+-- the estimated amount of data remaining to be processed. Once the resize+-- operation is complete, this value will be 0.+drrsEstimatedTimeToCompletionInSeconds :: Lens' DescribeResizeResponse (Maybe Integer)+drrsEstimatedTimeToCompletionInSeconds = lens _drrsEstimatedTimeToCompletionInSeconds (\ s a -> s{_drrsEstimatedTimeToCompletionInSeconds = a}); --- | The names of tables that have been completely imported .+-- | The names of tables that have not been yet imported. ----- Valid Values: List of table names.-drrImportTablesCompleted :: Lens' DescribeResizeResponse [Text]-drrImportTablesCompleted =-    lens _drrImportTablesCompleted-        (\s a -> s { _drrImportTablesCompleted = a })-            . _List+-- Valid Values: List of table names+drrsImportTablesNotStarted :: Lens' DescribeResizeResponse [Text]+drrsImportTablesNotStarted = lens _drrsImportTablesNotStarted (\ s a -> s{_drrsImportTablesNotStarted = a}) . _Default . _Coerce; +-- | The average rate of the resize operation over the last few minutes,+-- measured in megabytes per second. After the resize operation completes,+-- this value shows the average rate of the entire resize operation.+drrsAvgResizeRateInMegaBytesPerSecond :: Lens' DescribeResizeResponse (Maybe Double)+drrsAvgResizeRateInMegaBytesPerSecond = lens _drrsAvgResizeRateInMegaBytesPerSecond (\ s a -> s{_drrsAvgResizeRateInMegaBytesPerSecond = a});++-- | The number of nodes that the cluster will have after the resize+-- operation is complete.+drrsTargetNumberOfNodes :: Lens' DescribeResizeResponse (Maybe Int)+drrsTargetNumberOfNodes = lens _drrsTargetNumberOfNodes (\ s a -> s{_drrsTargetNumberOfNodes = a});++-- | The node type that the cluster will have after the resize operation is+-- complete.+drrsTargetNodeType :: Lens' DescribeResizeResponse (Maybe Text)+drrsTargetNodeType = lens _drrsTargetNodeType (\ s a -> s{_drrsTargetNodeType = a});+ -- | The names of tables that are being currently imported. -- -- Valid Values: List of table names.-drrImportTablesInProgress :: Lens' DescribeResizeResponse [Text]-drrImportTablesInProgress =-    lens _drrImportTablesInProgress-        (\s a -> s { _drrImportTablesInProgress = a })-            . _List+drrsImportTablesInProgress :: Lens' DescribeResizeResponse [Text]+drrsImportTablesInProgress = lens _drrsImportTablesInProgress (\ s a -> s{_drrsImportTablesInProgress = a}) . _Default . _Coerce; --- | The names of tables that have not been yet imported.+-- | The names of tables that have been completely imported . ----- Valid Values: List of table names-drrImportTablesNotStarted :: Lens' DescribeResizeResponse [Text]-drrImportTablesNotStarted =-    lens _drrImportTablesNotStarted-        (\s a -> s { _drrImportTablesNotStarted = a })-            . _List+-- Valid Values: List of table names.+drrsImportTablesCompleted :: Lens' DescribeResizeResponse [Text]+drrsImportTablesCompleted = lens _drrsImportTablesCompleted (\ s a -> s{_drrsImportTablesCompleted = a}) . _Default . _Coerce;  -- | While the resize operation is in progress, this value shows the current--- amount of data, in megabytes, that has been processed so far. When the resize--- operation is complete, this value shows the total amount of data, in--- megabytes, on the cluster, which may be more or less than+-- amount of data, in megabytes, that has been processed so far. When the+-- resize operation is complete, this value shows the total amount of data,+-- in megabytes, on the cluster, which may be more or less than -- TotalResizeDataInMegaBytes (the estimated total amount of data before -- resize).-drrProgressInMegaBytes :: Lens' DescribeResizeResponse (Maybe Integer)-drrProgressInMegaBytes =-    lens _drrProgressInMegaBytes (\s a -> s { _drrProgressInMegaBytes = a })+drrsProgressInMegaBytes :: Lens' DescribeResizeResponse (Maybe Integer)+drrsProgressInMegaBytes = lens _drrsProgressInMegaBytes (\ s a -> s{_drrsProgressInMegaBytes = a}); --- | The status of the resize operation.------ Valid Values: 'NONE' | 'IN_PROGRESS' | 'FAILED' | 'SUCCEEDED'-drrStatus :: Lens' DescribeResizeResponse (Maybe Text)-drrStatus = lens _drrStatus (\s a -> s { _drrStatus = a })+-- | The estimated total amount of data, in megabytes, on the cluster before+-- the resize operation began.+drrsTotalResizeDataInMegaBytes :: Lens' DescribeResizeResponse (Maybe Integer)+drrsTotalResizeDataInMegaBytes = lens _drrsTotalResizeDataInMegaBytes (\ s a -> s{_drrsTotalResizeDataInMegaBytes = a}); +-- | The amount of seconds that have elapsed since the resize operation+-- began. After the resize operation completes, this value shows the total+-- actual time, in seconds, for the resize operation.+drrsElapsedTimeInSeconds :: Lens' DescribeResizeResponse (Maybe Integer)+drrsElapsedTimeInSeconds = lens _drrsElapsedTimeInSeconds (\ s a -> s{_drrsElapsedTimeInSeconds = a});+ -- | The cluster type after the resize operation is complete. -- -- Valid Values: 'multi-node' | 'single-node'-drrTargetClusterType :: Lens' DescribeResizeResponse (Maybe Text)-drrTargetClusterType =-    lens _drrTargetClusterType (\s a -> s { _drrTargetClusterType = a })---- | The node type that the cluster will have after the resize operation is--- complete.-drrTargetNodeType :: Lens' DescribeResizeResponse (Maybe Text)-drrTargetNodeType =-    lens _drrTargetNodeType (\s a -> s { _drrTargetNodeType = a })---- | The number of nodes that the cluster will have after the resize operation is--- complete.-drrTargetNumberOfNodes :: Lens' DescribeResizeResponse (Maybe Int)-drrTargetNumberOfNodes =-    lens _drrTargetNumberOfNodes (\s a -> s { _drrTargetNumberOfNodes = a })---- | The estimated total amount of data, in megabytes, on the cluster before the--- resize operation began.-drrTotalResizeDataInMegaBytes :: Lens' DescribeResizeResponse (Maybe Integer)-drrTotalResizeDataInMegaBytes =-    lens _drrTotalResizeDataInMegaBytes-        (\s a -> s { _drrTotalResizeDataInMegaBytes = a })--instance ToPath DescribeResize where-    toPath = const "/"--instance ToQuery DescribeResize where-    toQuery DescribeResize{..} = mconcat-        [ "ClusterIdentifier" =? _drClusterIdentifier-        ]--instance ToHeaders DescribeResize--instance AWSRequest DescribeResize where-    type Sv DescribeResize = Redshift-    type Rs DescribeResize = DescribeResizeResponse--    request  = post "DescribeResize"-    response = xmlResponse+drrsTargetClusterType :: Lens' DescribeResizeResponse (Maybe Text)+drrsTargetClusterType = lens _drrsTargetClusterType (\ s a -> s{_drrsTargetClusterType = a}); -instance FromXML DescribeResizeResponse where-    parseXML = withElement "DescribeResizeResult" $ \x -> DescribeResizeResponse-        <$> x .@? "AvgResizeRateInMegaBytesPerSecond"-        <*> x .@? "ElapsedTimeInSeconds"-        <*> x .@? "EstimatedTimeToCompletionInSeconds"-        <*> x .@? "ImportTablesCompleted" .!@ mempty-        <*> x .@? "ImportTablesInProgress" .!@ mempty-        <*> x .@? "ImportTablesNotStarted" .!@ mempty-        <*> x .@? "ProgressInMegaBytes"-        <*> x .@? "Status"-        <*> x .@? "TargetClusterType"-        <*> x .@? "TargetNodeType"-        <*> x .@? "TargetNumberOfNodes"-        <*> x .@? "TotalResizeDataInMegaBytes"+-- | The response status code.+drrsStatus :: Lens' DescribeResizeResponse Int+drrsStatus = lens _drrsStatus (\ s a -> s{_drrsStatus = a});
+ gen/Network/AWS/Redshift/DescribeSnapshotCopyGrants.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.DescribeSnapshotCopyGrants+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of snapshot copy grants owned by the AWS account in the+-- destination region.+--+-- For more information about managing snapshot copy grants, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html Amazon Redshift Database Encryption>+-- in the /Amazon Redshift Cluster Management Guide/.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeSnapshotCopyGrants.html AWS API Reference> for DescribeSnapshotCopyGrants.+module Network.AWS.Redshift.DescribeSnapshotCopyGrants+    (+    -- * Creating a Request+      describeSnapshotCopyGrants+    , DescribeSnapshotCopyGrants+    -- * Request Lenses+    , dscgsTagValues+    , dscgsTagKeys+    , dscgsMaxRecords+    , dscgsMarker+    , dscgsSnapshotCopyGrantName++    -- * Destructuring the Response+    , describeSnapshotCopyGrantsResponse+    , DescribeSnapshotCopyGrantsResponse+    -- * Response Lenses+    , dscgrsSnapshotCopyGrants+    , dscgrsMarker+    , dscgrsStatus+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response++-- | The result of the 'DescribeSnapshotCopyGrants' action.+--+-- /See:/ 'describeSnapshotCopyGrants' smart constructor.+data DescribeSnapshotCopyGrants = DescribeSnapshotCopyGrants'+    { _dscgsTagValues             :: !(Maybe [Text])+    , _dscgsTagKeys               :: !(Maybe [Text])+    , _dscgsMaxRecords            :: !(Maybe Int)+    , _dscgsMarker                :: !(Maybe Text)+    , _dscgsSnapshotCopyGrantName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSnapshotCopyGrants' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dscgsTagValues'+--+-- * 'dscgsTagKeys'+--+-- * 'dscgsMaxRecords'+--+-- * 'dscgsMarker'+--+-- * 'dscgsSnapshotCopyGrantName'+describeSnapshotCopyGrants+    :: DescribeSnapshotCopyGrants+describeSnapshotCopyGrants =+    DescribeSnapshotCopyGrants'+    { _dscgsTagValues = Nothing+    , _dscgsTagKeys = Nothing+    , _dscgsMaxRecords = Nothing+    , _dscgsMarker = Nothing+    , _dscgsSnapshotCopyGrantName = Nothing+    }++-- | A tag value or values for which you want to return all matching+-- resources that are associated with the specified value or values. For+-- example, suppose that you have resources tagged with values called+-- 'admin' and 'test'. If you specify both of these tag values in the+-- request, Amazon Redshift returns a response with all resources that have+-- either or both of these tag values associated with them.+dscgsTagValues :: Lens' DescribeSnapshotCopyGrants [Text]+dscgsTagValues = lens _dscgsTagValues (\ s a -> s{_dscgsTagValues = a}) . _Default . _Coerce;++-- | A tag key or keys for which you want to return all matching resources+-- that are associated with the specified key or keys. For example, suppose+-- that you have resources tagged with keys called 'owner' and+-- 'environment'. If you specify both of these tag keys in the request,+-- Amazon Redshift returns a response with all resources that have either+-- or both of these tag keys associated with them.+dscgsTagKeys :: Lens' DescribeSnapshotCopyGrants [Text]+dscgsTagKeys = lens _dscgsTagKeys (\ s a -> s{_dscgsTagKeys = a}) . _Default . _Coerce;++-- | The maximum number of response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned marker value.+--+-- Default: '100'+--+-- Constraints: minimum 20, maximum 100.+dscgsMaxRecords :: Lens' DescribeSnapshotCopyGrants (Maybe Int)+dscgsMaxRecords = lens _dscgsMaxRecords (\ s a -> s{_dscgsMaxRecords = a});++-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a 'DescribeSnapshotCopyGrant'+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+--+-- Constraints: You can specify either the __SnapshotCopyGrantName__+-- parameter or the __Marker__ parameter, but not both.+dscgsMarker :: Lens' DescribeSnapshotCopyGrants (Maybe Text)+dscgsMarker = lens _dscgsMarker (\ s a -> s{_dscgsMarker = a});++-- | The name of the snapshot copy grant.+dscgsSnapshotCopyGrantName :: Lens' DescribeSnapshotCopyGrants (Maybe Text)+dscgsSnapshotCopyGrantName = lens _dscgsSnapshotCopyGrantName (\ s a -> s{_dscgsSnapshotCopyGrantName = a});++instance AWSRequest DescribeSnapshotCopyGrants where+        type Sv DescribeSnapshotCopyGrants = Redshift+        type Rs DescribeSnapshotCopyGrants =+             DescribeSnapshotCopyGrantsResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "DescribeSnapshotCopyGrantsResult"+              (\ s h x ->+                 DescribeSnapshotCopyGrantsResponse' <$>+                   (x .@? "SnapshotCopyGrants" .!@ mempty >>=+                      may (parseXMLList "SnapshotCopyGrant"))+                     <*> (x .@? "Marker")+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeSnapshotCopyGrants where+        toHeaders = const mempty++instance ToPath DescribeSnapshotCopyGrants where+        toPath = const "/"++instance ToQuery DescribeSnapshotCopyGrants where+        toQuery DescribeSnapshotCopyGrants'{..}+          = mconcat+              ["Action" =:+                 ("DescribeSnapshotCopyGrants" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "TagValues" =:+                 toQuery (toQueryList "TagValue" <$> _dscgsTagValues),+               "TagKeys" =:+                 toQuery (toQueryList "TagKey" <$> _dscgsTagKeys),+               "MaxRecords" =: _dscgsMaxRecords,+               "Marker" =: _dscgsMarker,+               "SnapshotCopyGrantName" =:+                 _dscgsSnapshotCopyGrantName]++-- | The result of the snapshot copy grant.+--+-- /See:/ 'describeSnapshotCopyGrantsResponse' smart constructor.+data DescribeSnapshotCopyGrantsResponse = DescribeSnapshotCopyGrantsResponse'+    { _dscgrsSnapshotCopyGrants :: !(Maybe [SnapshotCopyGrant])+    , _dscgrsMarker             :: !(Maybe Text)+    , _dscgrsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSnapshotCopyGrantsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dscgrsSnapshotCopyGrants'+--+-- * 'dscgrsMarker'+--+-- * 'dscgrsStatus'+describeSnapshotCopyGrantsResponse+    :: Int -- ^ 'dscgrsStatus'+    -> DescribeSnapshotCopyGrantsResponse+describeSnapshotCopyGrantsResponse pStatus_ =+    DescribeSnapshotCopyGrantsResponse'+    { _dscgrsSnapshotCopyGrants = Nothing+    , _dscgrsMarker = Nothing+    , _dscgrsStatus = pStatus_+    }++-- | The list of snapshot copy grants.+dscgrsSnapshotCopyGrants :: Lens' DescribeSnapshotCopyGrantsResponse [SnapshotCopyGrant]+dscgrsSnapshotCopyGrants = lens _dscgrsSnapshotCopyGrants (\ s a -> s{_dscgrsSnapshotCopyGrants = a}) . _Default . _Coerce;++-- | An optional parameter that specifies the starting point to return a set+-- of response records. When the results of a 'DescribeSnapshotCopyGrant'+-- request exceed the value specified in 'MaxRecords', AWS returns a value+-- in the 'Marker' field of the response. You can retrieve the next set of+-- response records by providing the returned marker value in the 'Marker'+-- parameter and retrying the request.+--+-- Constraints: You can specify either the __SnapshotCopyGrantName__+-- parameter or the __Marker__ parameter, but not both.+dscgrsMarker :: Lens' DescribeSnapshotCopyGrantsResponse (Maybe Text)+dscgrsMarker = lens _dscgrsMarker (\ s a -> s{_dscgrsMarker = a});++-- | The response status code.+dscgrsStatus :: Lens' DescribeSnapshotCopyGrantsResponse Int+dscgrsStatus = lens _dscgrsStatus (\ s a -> s{_dscgrsStatus = a});
gen/Network/AWS/Redshift/DescribeTags.hs view
@@ -1,213 +1,248 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DescribeTags--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Returns a list of tags. You can return tags from a specific resource by--- specifying an ARN, or you can return all tags for a given type of resource,--- such as clusters, snapshots, and so on.+-- Returns a list of tags. You can return tags from a specific resource by+-- specifying an ARN, or you can return all tags for a given type of+-- resource, such as clusters, snapshots, and so on. ----- The following are limitations for 'DescribeTags':  You cannot specify an ARN--- and a resource-type value together in the same request. You cannot use the 'MaxRecords' and 'Marker' parameters together with the ARN parameter. The 'MaxRecords'--- parameter can be a range from 10 to 50 results to return in a request.+-- The following are limitations for 'DescribeTags': --+-- -   You cannot specify an ARN and a resource-type value together in the+--     same request.+-- -   You cannot use the 'MaxRecords' and 'Marker' parameters together+--     with the ARN parameter.+-- -   The 'MaxRecords' parameter can be a range from 10 to 50 results to+--     return in a request.+-- -- If you specify both tag keys and tag values in the same request, Amazon--- Redshift returns all resources that match any combination of the specified--- keys and values. For example, if you have 'owner' and 'environment' for tag keys,--- and 'admin' and 'test' for tag values, all resources that have any combination of--- those values are returned.+-- Redshift returns all resources that match any combination of the+-- specified keys and values. For example, if you have 'owner' and+-- 'environment' for tag keys, and 'admin' and 'test' for tag values, all+-- resources that have any combination of those values are returned. -- -- If both tag keys and values are omitted from the request, resources are--- returned regardless of whether they have tag keys or values associated with--- them.+-- returned regardless of whether they have tag keys or values associated+-- with them. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeTags.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeTags.html AWS API Reference> for DescribeTags. module Network.AWS.Redshift.DescribeTags     (-    -- * Request-      DescribeTags-    -- ** Request constructor-    , describeTags-    -- ** Request lenses-    , dtMarker-    , dtMaxRecords-    , dtResourceName+    -- * Creating a Request+      describeTags+    , DescribeTags+    -- * Request Lenses     , dtResourceType-    , dtTagKeys     , dtTagValues+    , dtResourceName+    , dtTagKeys+    , dtMaxRecords+    , dtMarker -    -- * Response-    , DescribeTagsResponse-    -- ** Response constructor+    -- * Destructuring the Response     , describeTagsResponse-    -- ** Response lenses-    , dtrMarker-    , dtrTaggedResources+    , DescribeTagsResponse+    -- * Response Lenses+    , dtrsMarker+    , dtrsTaggedResources+    , dtrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data DescribeTags = DescribeTags-    { _dtMarker       :: Maybe Text-    , _dtMaxRecords   :: Maybe Int-    , _dtResourceName :: Maybe Text-    , _dtResourceType :: Maybe Text-    , _dtTagKeys      :: List "member" Text-    , _dtTagValues    :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'DescribeTags' constructor.+-- | Contains the output from the 'DescribeTags' action. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeTags' smart constructor.+data DescribeTags = DescribeTags'+    { _dtResourceType :: !(Maybe Text)+    , _dtTagValues    :: !(Maybe [Text])+    , _dtResourceName :: !(Maybe Text)+    , _dtTagKeys      :: !(Maybe [Text])+    , _dtMaxRecords   :: !(Maybe Int)+    , _dtMarker       :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeTags' with the minimum fields required to make a request. ----- * 'dtMarker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dtMaxRecords' @::@ 'Maybe' 'Int'+-- * 'dtResourceType' ----- * 'dtResourceName' @::@ 'Maybe' 'Text'+-- * 'dtTagValues' ----- * 'dtResourceType' @::@ 'Maybe' 'Text'+-- * 'dtResourceName' ----- * 'dtTagKeys' @::@ ['Text']+-- * 'dtTagKeys' ----- * 'dtTagValues' @::@ ['Text']+-- * 'dtMaxRecords' ---describeTags :: DescribeTags-describeTags = DescribeTags-    { _dtResourceName = Nothing-    , _dtResourceType = Nothing-    , _dtMaxRecords   = Nothing-    , _dtMarker       = Nothing-    , _dtTagKeys      = mempty-    , _dtTagValues    = mempty+-- * 'dtMarker'+describeTags+    :: DescribeTags+describeTags =+    DescribeTags'+    { _dtResourceType = Nothing+    , _dtTagValues = Nothing+    , _dtResourceName = Nothing+    , _dtTagKeys = Nothing+    , _dtMaxRecords = Nothing+    , _dtMarker = Nothing     } --- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'marker' parameter and retrying the command. If the 'marker' field is--- empty, all response records have been retrieved for the request.-dtMarker :: Lens' DescribeTags (Maybe Text)-dtMarker = lens _dtMarker (\s a -> s { _dtMarker = a })+-- | The type of resource with which you want to view tags. Valid resource+-- types are:+--+-- -   Cluster+-- -   CIDR\/IP+-- -   EC2 security group+-- -   Snapshot+-- -   Cluster security group+-- -   Subnet group+-- -   HSM connection+-- -   HSM certificate+-- -   Parameter group+-- -   Snapshot copy grant+--+-- For more information about Amazon Redshift resource types and+-- constructing ARNs, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/constructing-redshift-arn.html Constructing an Amazon Redshift Amazon Resource Name (ARN)>+-- in the Amazon Redshift Cluster Management Guide.+dtResourceType :: Lens' DescribeTags (Maybe Text)+dtResourceType = lens _dtResourceType (\ s a -> s{_dtResourceType = a}); --- | The maximum number or response records to return in each call. If the number--- of remaining response records exceeds the specified 'MaxRecords' value, a value--- is returned in a 'marker' field of the response. You can retrieve the next set--- of records by retrying the command with the returned 'marker' value.-dtMaxRecords :: Lens' DescribeTags (Maybe Int)-dtMaxRecords = lens _dtMaxRecords (\s a -> s { _dtMaxRecords = a })+-- | A tag value or values for which you want to return all matching+-- resources that are associated with the specified value or values. For+-- example, suppose that you have resources tagged with values called+-- 'admin' and 'test'. If you specify both of these tag values in the+-- request, Amazon Redshift returns a response with all resources that have+-- either or both of these tag values associated with them.+dtTagValues :: Lens' DescribeTags [Text]+dtTagValues = lens _dtTagValues (\ s a -> s{_dtTagValues = a}) . _Default . _Coerce;  -- | The Amazon Resource Name (ARN) for which you want to describe the tag or -- tags. For example, 'arn:aws:redshift:us-east-1:123456789:cluster:t1'. dtResourceName :: Lens' DescribeTags (Maybe Text)-dtResourceName = lens _dtResourceName (\s a -> s { _dtResourceName = a })---- | The type of resource with which you want to view tags. Valid resource types--- are:  Cluster CIDR/IP EC2 security group Snapshot Cluster security group Subnet group--- HSM connection HSM certificate Parameter group------ For more information about Amazon Redshift resource types and constructing--- ARNs, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/constructing-redshift-arn.html Constructing an Amazon Redshift Amazon Resource Name (ARN)> in the--- Amazon Redshift Cluster Management Guide.-dtResourceType :: Lens' DescribeTags (Maybe Text)-dtResourceType = lens _dtResourceType (\s a -> s { _dtResourceType = a })+dtResourceName = lens _dtResourceName (\ s a -> s{_dtResourceName = a}); --- | A tag key or keys for which you want to return all matching resources that--- are associated with the specified key or keys. For example, suppose that you--- have resources tagged with keys called 'owner' and 'environment'. If you specify--- both of these tag keys in the request, Amazon Redshift returns a response--- with all resources that have either or both of these tag keys associated with--- them.+-- | A tag key or keys for which you want to return all matching resources+-- that are associated with the specified key or keys. For example, suppose+-- that you have resources tagged with keys called 'owner' and+-- 'environment'. If you specify both of these tag keys in the request,+-- Amazon Redshift returns a response with all resources that have either+-- or both of these tag keys associated with them. dtTagKeys :: Lens' DescribeTags [Text]-dtTagKeys = lens _dtTagKeys (\s a -> s { _dtTagKeys = a }) . _List+dtTagKeys = lens _dtTagKeys (\ s a -> s{_dtTagKeys = a}) . _Default . _Coerce; --- | A tag value or values for which you want to return all matching resources--- that are associated with the specified value or values. For example, suppose--- that you have resources tagged with values called 'admin' and 'test'. If you--- specify both of these tag values in the request, Amazon Redshift returns a--- response with all resources that have either or both of these tag values--- associated with them.-dtTagValues :: Lens' DescribeTags [Text]-dtTagValues = lens _dtTagValues (\s a -> s { _dtTagValues = a }) . _List+-- | The maximum number or response records to return in each call. If the+-- number of remaining response records exceeds the specified 'MaxRecords'+-- value, a value is returned in a 'marker' field of the response. You can+-- retrieve the next set of records by retrying the command with the+-- returned 'marker' value.+dtMaxRecords :: Lens' DescribeTags (Maybe Int)+dtMaxRecords = lens _dtMaxRecords (\ s a -> s{_dtMaxRecords = a}); -data DescribeTagsResponse = DescribeTagsResponse-    { _dtrMarker          :: Maybe Text-    , _dtrTaggedResources :: List "member" TaggedResource-    } deriving (Eq, Read, Show)+-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'marker' parameter and retrying the command. If the+-- 'marker' field is empty, all response records have been retrieved for+-- the request.+dtMarker :: Lens' DescribeTags (Maybe Text)+dtMarker = lens _dtMarker (\ s a -> s{_dtMarker = a}); --- | 'DescribeTagsResponse' constructor.+instance AWSRequest DescribeTags where+        type Sv DescribeTags = Redshift+        type Rs DescribeTags = DescribeTagsResponse+        request = postQuery+        response+          = receiveXMLWrapper "DescribeTagsResult"+              (\ s h x ->+                 DescribeTagsResponse' <$>+                   (x .@? "Marker") <*>+                     (x .@? "TaggedResources" .!@ mempty >>=+                        may (parseXMLList "TaggedResource"))+                     <*> (pure (fromEnum s)))++instance ToHeaders DescribeTags where+        toHeaders = const mempty++instance ToPath DescribeTags where+        toPath = const "/"++instance ToQuery DescribeTags where+        toQuery DescribeTags'{..}+          = mconcat+              ["Action" =: ("DescribeTags" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ResourceType" =: _dtResourceType,+               "TagValues" =:+                 toQuery (toQueryList "TagValue" <$> _dtTagValues),+               "ResourceName" =: _dtResourceName,+               "TagKeys" =:+                 toQuery (toQueryList "TagKey" <$> _dtTagKeys),+               "MaxRecords" =: _dtMaxRecords, "Marker" =: _dtMarker]++-- | Contains the output from the 'DescribeTags' action. ----- The fields accessible through corresponding lenses are:+-- /See:/ 'describeTagsResponse' smart constructor.+data DescribeTagsResponse = DescribeTagsResponse'+    { _dtrsMarker          :: !(Maybe Text)+    , _dtrsTaggedResources :: !(Maybe [TaggedResource])+    , _dtrsStatus          :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeTagsResponse' with the minimum fields required to make a request. ----- * 'dtrMarker' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'dtrTaggedResources' @::@ ['TaggedResource']+-- * 'dtrsMarker' ---describeTagsResponse :: DescribeTagsResponse-describeTagsResponse = DescribeTagsResponse-    { _dtrTaggedResources = mempty-    , _dtrMarker          = Nothing+-- * 'dtrsTaggedResources'+--+-- * 'dtrsStatus'+describeTagsResponse+    :: Int -- ^ 'dtrsStatus'+    -> DescribeTagsResponse+describeTagsResponse pStatus_ =+    DescribeTagsResponse'+    { _dtrsMarker = Nothing+    , _dtrsTaggedResources = Nothing+    , _dtrsStatus = pStatus_     }  -- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dtrMarker :: Lens' DescribeTagsResponse (Maybe Text)-dtrMarker = lens _dtrMarker (\s a -> s { _dtrMarker = a })+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dtrsMarker :: Lens' DescribeTagsResponse (Maybe Text)+dtrsMarker = lens _dtrsMarker (\ s a -> s{_dtrsMarker = a});  -- | A list of tags with their associated resources.-dtrTaggedResources :: Lens' DescribeTagsResponse [TaggedResource]-dtrTaggedResources =-    lens _dtrTaggedResources (\s a -> s { _dtrTaggedResources = a })-        . _List--instance ToPath DescribeTags where-    toPath = const "/"--instance ToQuery DescribeTags where-    toQuery DescribeTags{..} = mconcat-        [ "Marker"       =? _dtMarker-        , "MaxRecords"   =? _dtMaxRecords-        , "ResourceName" =? _dtResourceName-        , "ResourceType" =? _dtResourceType-        , "TagKeys"      =? _dtTagKeys-        , "TagValues"    =? _dtTagValues-        ]--instance ToHeaders DescribeTags--instance AWSRequest DescribeTags where-    type Sv DescribeTags = Redshift-    type Rs DescribeTags = DescribeTagsResponse--    request  = post "DescribeTags"-    response = xmlResponse+dtrsTaggedResources :: Lens' DescribeTagsResponse [TaggedResource]+dtrsTaggedResources = lens _dtrsTaggedResources (\ s a -> s{_dtrsTaggedResources = a}) . _Default . _Coerce; -instance FromXML DescribeTagsResponse where-    parseXML = withElement "DescribeTagsResult" $ \x -> DescribeTagsResponse-        <$> x .@? "Marker"-        <*> x .@? "TaggedResources" .!@ mempty+-- | The response status code.+dtrsStatus :: Lens' DescribeTagsResponse Int+dtrsStatus = lens _dtrsStatus (\ s a -> s{_dtrsStatus = a});
gen/Network/AWS/Redshift/DisableLogging.hs view
@@ -1,169 +1,96 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DisableLogging--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Stops logging information, such as queries and connection attempts, for the--- specified Amazon Redshift cluster.+-- Stops logging information, such as queries and connection attempts, for+-- the specified Amazon Redshift cluster. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DisableLogging.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DisableLogging.html AWS API Reference> for DisableLogging. module Network.AWS.Redshift.DisableLogging     (-    -- * Request-      DisableLogging-    -- ** Request constructor-    , disableLogging-    -- ** Request lenses+    -- * Creating a Request+      disableLogging+    , DisableLogging+    -- * Request Lenses     , dlClusterIdentifier -    -- * Response-    , DisableLoggingResponse-    -- ** Response constructor-    , disableLoggingResponse-    -- ** Response lenses-    , dlrBucketName-    , dlrLastFailureMessage-    , dlrLastFailureTime-    , dlrLastSuccessfulDeliveryTime-    , dlrLoggingEnabled-    , dlrS3KeyPrefix+    -- * Destructuring the Response+    , loggingStatus+    , LoggingStatus+    -- * Response Lenses+    , lsLastSuccessfulDeliveryTime+    , lsLastFailureTime+    , lsS3KeyPrefix+    , lsBucketName+    , lsLoggingEnabled+    , lsLastFailureMessage     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -newtype DisableLogging = DisableLogging+-- |+--+-- /See:/ 'disableLogging' smart constructor.+newtype DisableLogging = DisableLogging'     { _dlClusterIdentifier :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DisableLogging' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DisableLogging' with the minimum fields required to make a request. ----- * 'dlClusterIdentifier' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---disableLogging :: Text -- ^ 'dlClusterIdentifier'-               -> DisableLogging-disableLogging p1 = DisableLogging-    { _dlClusterIdentifier = p1+-- * 'dlClusterIdentifier'+disableLogging+    :: Text -- ^ 'dlClusterIdentifier'+    -> DisableLogging+disableLogging pClusterIdentifier_ =+    DisableLogging'+    { _dlClusterIdentifier = pClusterIdentifier_     }  -- | The identifier of the cluster on which logging is to be stopped. -- -- Example: 'examplecluster' dlClusterIdentifier :: Lens' DisableLogging Text-dlClusterIdentifier =-    lens _dlClusterIdentifier (\s a -> s { _dlClusterIdentifier = a })--data DisableLoggingResponse = DisableLoggingResponse-    { _dlrBucketName                 :: Maybe Text-    , _dlrLastFailureMessage         :: Maybe Text-    , _dlrLastFailureTime            :: Maybe ISO8601-    , _dlrLastSuccessfulDeliveryTime :: Maybe ISO8601-    , _dlrLoggingEnabled             :: Maybe Bool-    , _dlrS3KeyPrefix                :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'DisableLoggingResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dlrBucketName' @::@ 'Maybe' 'Text'------ * 'dlrLastFailureMessage' @::@ 'Maybe' 'Text'------ * 'dlrLastFailureTime' @::@ 'Maybe' 'UTCTime'------ * 'dlrLastSuccessfulDeliveryTime' @::@ 'Maybe' 'UTCTime'------ * 'dlrLoggingEnabled' @::@ 'Maybe' 'Bool'------ * 'dlrS3KeyPrefix' @::@ 'Maybe' 'Text'----disableLoggingResponse :: DisableLoggingResponse-disableLoggingResponse = DisableLoggingResponse-    { _dlrLoggingEnabled             = Nothing-    , _dlrBucketName                 = Nothing-    , _dlrS3KeyPrefix                = Nothing-    , _dlrLastSuccessfulDeliveryTime = Nothing-    , _dlrLastFailureTime            = Nothing-    , _dlrLastFailureMessage         = Nothing-    }---- | The name of the S3 bucket where the log files are stored.-dlrBucketName :: Lens' DisableLoggingResponse (Maybe Text)-dlrBucketName = lens _dlrBucketName (\s a -> s { _dlrBucketName = a })---- | The message indicating that logs failed to be delivered.-dlrLastFailureMessage :: Lens' DisableLoggingResponse (Maybe Text)-dlrLastFailureMessage =-    lens _dlrLastFailureMessage (\s a -> s { _dlrLastFailureMessage = a })---- | The last time when logs failed to be delivered.-dlrLastFailureTime :: Lens' DisableLoggingResponse (Maybe UTCTime)-dlrLastFailureTime =-    lens _dlrLastFailureTime (\s a -> s { _dlrLastFailureTime = a })-        . mapping _Time---- | The last time when logs were delivered.-dlrLastSuccessfulDeliveryTime :: Lens' DisableLoggingResponse (Maybe UTCTime)-dlrLastSuccessfulDeliveryTime =-    lens _dlrLastSuccessfulDeliveryTime-        (\s a -> s { _dlrLastSuccessfulDeliveryTime = a })-            . mapping _Time+dlClusterIdentifier = lens _dlClusterIdentifier (\ s a -> s{_dlClusterIdentifier = a}); --- | 'true' if logging is on, 'false' if logging is off.-dlrLoggingEnabled :: Lens' DisableLoggingResponse (Maybe Bool)-dlrLoggingEnabled =-    lens _dlrLoggingEnabled (\s a -> s { _dlrLoggingEnabled = a })+instance AWSRequest DisableLogging where+        type Sv DisableLogging = Redshift+        type Rs DisableLogging = LoggingStatus+        request = postQuery+        response+          = receiveXMLWrapper "DisableLoggingResult"+              (\ s h x -> parseXML x) --- | The prefix applied to the log file names.-dlrS3KeyPrefix :: Lens' DisableLoggingResponse (Maybe Text)-dlrS3KeyPrefix = lens _dlrS3KeyPrefix (\s a -> s { _dlrS3KeyPrefix = a })+instance ToHeaders DisableLogging where+        toHeaders = const mempty  instance ToPath DisableLogging where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DisableLogging where-    toQuery DisableLogging{..} = mconcat-        [ "ClusterIdentifier" =? _dlClusterIdentifier-        ]--instance ToHeaders DisableLogging--instance AWSRequest DisableLogging where-    type Sv DisableLogging = Redshift-    type Rs DisableLogging = DisableLoggingResponse--    request  = post "DisableLogging"-    response = xmlResponse--instance FromXML DisableLoggingResponse where-    parseXML = withElement "DisableLoggingResult" $ \x -> DisableLoggingResponse-        <$> x .@? "BucketName"-        <*> x .@? "LastFailureMessage"-        <*> x .@? "LastFailureTime"-        <*> x .@? "LastSuccessfulDeliveryTime"-        <*> x .@? "LoggingEnabled"-        <*> x .@? "S3KeyPrefix"+        toQuery DisableLogging'{..}+          = mconcat+              ["Action" =: ("DisableLogging" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ClusterIdentifier" =: _dlClusterIdentifier]
gen/Network/AWS/Redshift/DisableSnapshotCopy.hs view
@@ -1,113 +1,132 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.DisableSnapshotCopy--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Disables the automatic copying of snapshots from one region to another region--- for a specified cluster.+-- Disables the automatic copying of snapshots from one region to another+-- region for a specified cluster. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DisableSnapshotCopy.html>+-- If your cluster and its snapshots are encrypted using a customer master+-- key (CMK) from AWS KMS, use DeleteSnapshotCopyGrant to delete the grant+-- that grants Amazon Redshift permission to the CMK in the destination+-- region.+--+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_DisableSnapshotCopy.html AWS API Reference> for DisableSnapshotCopy. module Network.AWS.Redshift.DisableSnapshotCopy     (-    -- * Request-      DisableSnapshotCopy-    -- ** Request constructor-    , disableSnapshotCopy-    -- ** Request lenses+    -- * Creating a Request+      disableSnapshotCopy+    , DisableSnapshotCopy+    -- * Request Lenses     , dscClusterIdentifier -    -- * Response-    , DisableSnapshotCopyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , disableSnapshotCopyResponse-    -- ** Response lenses-    , dscrCluster+    , DisableSnapshotCopyResponse+    -- * Response Lenses+    , dscrsCluster+    , dscrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -newtype DisableSnapshotCopy = DisableSnapshotCopy+-- |+--+-- /See:/ 'disableSnapshotCopy' smart constructor.+newtype DisableSnapshotCopy = DisableSnapshotCopy'     { _dscClusterIdentifier :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'DisableSnapshotCopy' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'DisableSnapshotCopy' with the minimum fields required to make a request. ----- * 'dscClusterIdentifier' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---disableSnapshotCopy :: Text -- ^ 'dscClusterIdentifier'-                    -> DisableSnapshotCopy-disableSnapshotCopy p1 = DisableSnapshotCopy-    { _dscClusterIdentifier = p1+-- * 'dscClusterIdentifier'+disableSnapshotCopy+    :: Text -- ^ 'dscClusterIdentifier'+    -> DisableSnapshotCopy+disableSnapshotCopy pClusterIdentifier_ =+    DisableSnapshotCopy'+    { _dscClusterIdentifier = pClusterIdentifier_     } --- | The unique identifier of the source cluster that you want to disable copying--- of snapshots to a destination region.+-- | The unique identifier of the source cluster that you want to disable+-- copying of snapshots to a destination region. -- -- Constraints: Must be the valid name of an existing cluster that has -- cross-region snapshot copy enabled. dscClusterIdentifier :: Lens' DisableSnapshotCopy Text-dscClusterIdentifier =-    lens _dscClusterIdentifier (\s a -> s { _dscClusterIdentifier = a })--newtype DisableSnapshotCopyResponse = DisableSnapshotCopyResponse-    { _dscrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+dscClusterIdentifier = lens _dscClusterIdentifier (\ s a -> s{_dscClusterIdentifier = a}); --- | 'DisableSnapshotCopyResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'dscrCluster' @::@ 'Maybe' 'Cluster'----disableSnapshotCopyResponse :: DisableSnapshotCopyResponse-disableSnapshotCopyResponse = DisableSnapshotCopyResponse-    { _dscrCluster = Nothing-    }+instance AWSRequest DisableSnapshotCopy where+        type Sv DisableSnapshotCopy = Redshift+        type Rs DisableSnapshotCopy =+             DisableSnapshotCopyResponse+        request = postQuery+        response+          = receiveXMLWrapper "DisableSnapshotCopyResult"+              (\ s h x ->+                 DisableSnapshotCopyResponse' <$>+                   (x .@? "Cluster") <*> (pure (fromEnum s))) -dscrCluster :: Lens' DisableSnapshotCopyResponse (Maybe Cluster)-dscrCluster = lens _dscrCluster (\s a -> s { _dscrCluster = a })+instance ToHeaders DisableSnapshotCopy where+        toHeaders = const mempty  instance ToPath DisableSnapshotCopy where-    toPath = const "/"+        toPath = const "/"  instance ToQuery DisableSnapshotCopy where-    toQuery DisableSnapshotCopy{..} = mconcat-        [ "ClusterIdentifier" =? _dscClusterIdentifier-        ]+        toQuery DisableSnapshotCopy'{..}+          = mconcat+              ["Action" =: ("DisableSnapshotCopy" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ClusterIdentifier" =: _dscClusterIdentifier] -instance ToHeaders DisableSnapshotCopy+-- | /See:/ 'disableSnapshotCopyResponse' smart constructor.+data DisableSnapshotCopyResponse = DisableSnapshotCopyResponse'+    { _dscrsCluster :: !(Maybe Cluster)+    , _dscrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest DisableSnapshotCopy where-    type Sv DisableSnapshotCopy = Redshift-    type Rs DisableSnapshotCopy = DisableSnapshotCopyResponse+-- | Creates a value of 'DisableSnapshotCopyResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dscrsCluster'+--+-- * 'dscrsStatus'+disableSnapshotCopyResponse+    :: Int -- ^ 'dscrsStatus'+    -> DisableSnapshotCopyResponse+disableSnapshotCopyResponse pStatus_ =+    DisableSnapshotCopyResponse'+    { _dscrsCluster = Nothing+    , _dscrsStatus = pStatus_+    } -    request  = post "DisableSnapshotCopy"-    response = xmlResponse+-- | Undocumented member.+dscrsCluster :: Lens' DisableSnapshotCopyResponse (Maybe Cluster)+dscrsCluster = lens _dscrsCluster (\ s a -> s{_dscrsCluster = a}); -instance FromXML DisableSnapshotCopyResponse where-    parseXML = withElement "DisableSnapshotCopyResult" $ \x -> DisableSnapshotCopyResponse-        <$> x .@? "Cluster"+-- | The response status code.+dscrsStatus :: Lens' DisableSnapshotCopyResponse Int+dscrsStatus = lens _dscrsStatus (\ s a -> s{_dscrsStatus = a});
gen/Network/AWS/Redshift/EnableLogging.hs view
@@ -1,201 +1,134 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.EnableLogging--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Starts logging information, such as queries and connection attempts, for the--- specified Amazon Redshift cluster.+-- Starts logging information, such as queries and connection attempts, for+-- the specified Amazon Redshift cluster. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_EnableLogging.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_EnableLogging.html AWS API Reference> for EnableLogging. module Network.AWS.Redshift.EnableLogging     (-    -- * Request-      EnableLogging-    -- ** Request constructor-    , enableLogging-    -- ** Request lenses-    , elBucketName-    , elClusterIdentifier+    -- * Creating a Request+      enableLogging+    , EnableLogging+    -- * Request Lenses     , elS3KeyPrefix+    , elClusterIdentifier+    , elBucketName -    -- * Response-    , EnableLoggingResponse-    -- ** Response constructor-    , enableLoggingResponse-    -- ** Response lenses-    , elrBucketName-    , elrLastFailureMessage-    , elrLastFailureTime-    , elrLastSuccessfulDeliveryTime-    , elrLoggingEnabled-    , elrS3KeyPrefix+    -- * Destructuring the Response+    , loggingStatus+    , LoggingStatus+    -- * Response Lenses+    , lsLastSuccessfulDeliveryTime+    , lsLastFailureTime+    , lsS3KeyPrefix+    , lsBucketName+    , lsLoggingEnabled+    , lsLastFailureMessage     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data EnableLogging = EnableLogging-    { _elBucketName        :: Text-    , _elClusterIdentifier :: Text-    , _elS3KeyPrefix       :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'EnableLogging' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'enableLogging' smart constructor.+data EnableLogging = EnableLogging'+    { _elS3KeyPrefix       :: !(Maybe Text)+    , _elClusterIdentifier :: !Text+    , _elBucketName        :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableLogging' with the minimum fields required to make a request. ----- * 'elBucketName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'elClusterIdentifier' @::@ 'Text'+-- * 'elS3KeyPrefix' ----- * 'elS3KeyPrefix' @::@ 'Maybe' 'Text'+-- * 'elClusterIdentifier' ---enableLogging :: Text -- ^ 'elClusterIdentifier'-              -> Text -- ^ 'elBucketName'-              -> EnableLogging-enableLogging p1 p2 = EnableLogging-    { _elClusterIdentifier = p1-    , _elBucketName        = p2-    , _elS3KeyPrefix       = Nothing+-- * 'elBucketName'+enableLogging+    :: Text -- ^ 'elClusterIdentifier'+    -> Text -- ^ 'elBucketName'+    -> EnableLogging+enableLogging pClusterIdentifier_ pBucketName_ =+    EnableLogging'+    { _elS3KeyPrefix = Nothing+    , _elClusterIdentifier = pClusterIdentifier_+    , _elBucketName = pBucketName_     } --- | The name of an existing S3 bucket where the log files are to be stored.+-- | The prefix applied to the log file names. -- -- Constraints: ----- Must be in the same region as the cluster The cluster must have read bucket--- and put object permissions-elBucketName :: Lens' EnableLogging Text-elBucketName = lens _elBucketName (\s a -> s { _elBucketName = a })+-- -   Cannot exceed 512 characters+-- -   Cannot contain spaces( ), double quotes (\"), single quotes (\'), a+--     backslash (\\), or control characters. The hexadecimal codes for+--     invalid characters are:+--     -   x00 to x20+--     -   x22+--     -   x27+--     -   x5c+--     -   x7f or larger+elS3KeyPrefix :: Lens' EnableLogging (Maybe Text)+elS3KeyPrefix = lens _elS3KeyPrefix (\ s a -> s{_elS3KeyPrefix = a});  -- | The identifier of the cluster on which logging is to be started. -- -- Example: 'examplecluster' elClusterIdentifier :: Lens' EnableLogging Text-elClusterIdentifier =-    lens _elClusterIdentifier (\s a -> s { _elClusterIdentifier = a })+elClusterIdentifier = lens _elClusterIdentifier (\ s a -> s{_elClusterIdentifier = a}); --- | The prefix applied to the log file names.+-- | The name of an existing S3 bucket where the log files are to be stored. -- -- Constraints: ----- Cannot exceed 512 characters Cannot contain spaces( ), double quotes ("),--- single quotes ('), a backslash (\), or control characters. The hexadecimal--- codes for invalid characters are:  x00 to x20 x22 x27 x5c x7f or larger-elS3KeyPrefix :: Lens' EnableLogging (Maybe Text)-elS3KeyPrefix = lens _elS3KeyPrefix (\s a -> s { _elS3KeyPrefix = a })--data EnableLoggingResponse = EnableLoggingResponse-    { _elrBucketName                 :: Maybe Text-    , _elrLastFailureMessage         :: Maybe Text-    , _elrLastFailureTime            :: Maybe ISO8601-    , _elrLastSuccessfulDeliveryTime :: Maybe ISO8601-    , _elrLoggingEnabled             :: Maybe Bool-    , _elrS3KeyPrefix                :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'EnableLoggingResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'elrBucketName' @::@ 'Maybe' 'Text'------ * 'elrLastFailureMessage' @::@ 'Maybe' 'Text'------ * 'elrLastFailureTime' @::@ 'Maybe' 'UTCTime'------ * 'elrLastSuccessfulDeliveryTime' @::@ 'Maybe' 'UTCTime'------ * 'elrLoggingEnabled' @::@ 'Maybe' 'Bool'------ * 'elrS3KeyPrefix' @::@ 'Maybe' 'Text'----enableLoggingResponse :: EnableLoggingResponse-enableLoggingResponse = EnableLoggingResponse-    { _elrLoggingEnabled             = Nothing-    , _elrBucketName                 = Nothing-    , _elrS3KeyPrefix                = Nothing-    , _elrLastSuccessfulDeliveryTime = Nothing-    , _elrLastFailureTime            = Nothing-    , _elrLastFailureMessage         = Nothing-    }---- | The name of the S3 bucket where the log files are stored.-elrBucketName :: Lens' EnableLoggingResponse (Maybe Text)-elrBucketName = lens _elrBucketName (\s a -> s { _elrBucketName = a })---- | The message indicating that logs failed to be delivered.-elrLastFailureMessage :: Lens' EnableLoggingResponse (Maybe Text)-elrLastFailureMessage =-    lens _elrLastFailureMessage (\s a -> s { _elrLastFailureMessage = a })---- | The last time when logs failed to be delivered.-elrLastFailureTime :: Lens' EnableLoggingResponse (Maybe UTCTime)-elrLastFailureTime =-    lens _elrLastFailureTime (\s a -> s { _elrLastFailureTime = a })-        . mapping _Time---- | The last time when logs were delivered.-elrLastSuccessfulDeliveryTime :: Lens' EnableLoggingResponse (Maybe UTCTime)-elrLastSuccessfulDeliveryTime =-    lens _elrLastSuccessfulDeliveryTime-        (\s a -> s { _elrLastSuccessfulDeliveryTime = a })-            . mapping _Time+-- -   Must be in the same region as the cluster+-- -   The cluster must have read bucket and put object permissions+elBucketName :: Lens' EnableLogging Text+elBucketName = lens _elBucketName (\ s a -> s{_elBucketName = a}); --- | 'true' if logging is on, 'false' if logging is off.-elrLoggingEnabled :: Lens' EnableLoggingResponse (Maybe Bool)-elrLoggingEnabled =-    lens _elrLoggingEnabled (\s a -> s { _elrLoggingEnabled = a })+instance AWSRequest EnableLogging where+        type Sv EnableLogging = Redshift+        type Rs EnableLogging = LoggingStatus+        request = postQuery+        response+          = receiveXMLWrapper "EnableLoggingResult"+              (\ s h x -> parseXML x) --- | The prefix applied to the log file names.-elrS3KeyPrefix :: Lens' EnableLoggingResponse (Maybe Text)-elrS3KeyPrefix = lens _elrS3KeyPrefix (\s a -> s { _elrS3KeyPrefix = a })+instance ToHeaders EnableLogging where+        toHeaders = const mempty  instance ToPath EnableLogging where-    toPath = const "/"+        toPath = const "/"  instance ToQuery EnableLogging where-    toQuery EnableLogging{..} = mconcat-        [ "BucketName"        =? _elBucketName-        , "ClusterIdentifier" =? _elClusterIdentifier-        , "S3KeyPrefix"       =? _elS3KeyPrefix-        ]--instance ToHeaders EnableLogging--instance AWSRequest EnableLogging where-    type Sv EnableLogging = Redshift-    type Rs EnableLogging = EnableLoggingResponse--    request  = post "EnableLogging"-    response = xmlResponse--instance FromXML EnableLoggingResponse where-    parseXML = withElement "EnableLoggingResult" $ \x -> EnableLoggingResponse-        <$> x .@? "BucketName"-        <*> x .@? "LastFailureMessage"-        <*> x .@? "LastFailureTime"-        <*> x .@? "LastSuccessfulDeliveryTime"-        <*> x .@? "LoggingEnabled"-        <*> x .@? "S3KeyPrefix"+        toQuery EnableLogging'{..}+          = mconcat+              ["Action" =: ("EnableLogging" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "S3KeyPrefix" =: _elS3KeyPrefix,+               "ClusterIdentifier" =: _elClusterIdentifier,+               "BucketName" =: _elBucketName]
gen/Network/AWS/Redshift/EnableSnapshotCopy.hs view
@@ -1,142 +1,168 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.EnableSnapshotCopy--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Enables the automatic copy of snapshots from one region to another region for--- a specified cluster.+-- Enables the automatic copy of snapshots from one region to another+-- region for a specified cluster. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_EnableSnapshotCopy.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_EnableSnapshotCopy.html AWS API Reference> for EnableSnapshotCopy. module Network.AWS.Redshift.EnableSnapshotCopy     (-    -- * Request-      EnableSnapshotCopy-    -- ** Request constructor-    , enableSnapshotCopy-    -- ** Request lenses+    -- * Creating a Request+      enableSnapshotCopy+    , EnableSnapshotCopy+    -- * Request Lenses+    , escRetentionPeriod+    , escSnapshotCopyGrantName     , escClusterIdentifier     , escDestinationRegion-    , escRetentionPeriod -    -- * Response-    , EnableSnapshotCopyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , enableSnapshotCopyResponse-    -- ** Response lenses-    , escrCluster+    , EnableSnapshotCopyResponse+    -- * Response Lenses+    , escrsCluster+    , escrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -data EnableSnapshotCopy = EnableSnapshotCopy-    { _escClusterIdentifier :: Text-    , _escDestinationRegion :: Text-    , _escRetentionPeriod   :: Maybe Int-    } deriving (Eq, Ord, Read, Show)+-- |+--+-- /See:/ 'enableSnapshotCopy' smart constructor.+data EnableSnapshotCopy = EnableSnapshotCopy'+    { _escRetentionPeriod       :: !(Maybe Int)+    , _escSnapshotCopyGrantName :: !(Maybe Text)+    , _escClusterIdentifier     :: !Text+    , _escDestinationRegion     :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'EnableSnapshotCopy' constructor.+-- | Creates a value of 'EnableSnapshotCopy' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'escClusterIdentifier' @::@ 'Text'+-- * 'escRetentionPeriod' ----- * 'escDestinationRegion' @::@ 'Text'+-- * 'escSnapshotCopyGrantName' ----- * 'escRetentionPeriod' @::@ 'Maybe' 'Int'+-- * 'escClusterIdentifier' ---enableSnapshotCopy :: Text -- ^ 'escClusterIdentifier'-                   -> Text -- ^ 'escDestinationRegion'-                   -> EnableSnapshotCopy-enableSnapshotCopy p1 p2 = EnableSnapshotCopy-    { _escClusterIdentifier = p1-    , _escDestinationRegion = p2-    , _escRetentionPeriod   = Nothing+-- * 'escDestinationRegion'+enableSnapshotCopy+    :: Text -- ^ 'escClusterIdentifier'+    -> Text -- ^ 'escDestinationRegion'+    -> EnableSnapshotCopy+enableSnapshotCopy pClusterIdentifier_ pDestinationRegion_ =+    EnableSnapshotCopy'+    { _escRetentionPeriod = Nothing+    , _escSnapshotCopyGrantName = Nothing+    , _escClusterIdentifier = pClusterIdentifier_+    , _escDestinationRegion = pDestinationRegion_     } +-- | The number of days to retain automated snapshots in the destination+-- region after they are copied from the source region.+--+-- Default: 7.+--+-- Constraints: Must be at least 1 and no more than 35.+escRetentionPeriod :: Lens' EnableSnapshotCopy (Maybe Int)+escRetentionPeriod = lens _escRetentionPeriod (\ s a -> s{_escRetentionPeriod = a});++-- | The name of the snapshot copy grant to use when snapshots of an AWS+-- KMS-encrypted cluster are copied to the destination region.+escSnapshotCopyGrantName :: Lens' EnableSnapshotCopy (Maybe Text)+escSnapshotCopyGrantName = lens _escSnapshotCopyGrantName (\ s a -> s{_escSnapshotCopyGrantName = a});+ -- | The unique identifier of the source cluster to copy snapshots from. -- -- Constraints: Must be the valid name of an existing cluster that does not -- already have cross-region snapshot copy enabled. escClusterIdentifier :: Lens' EnableSnapshotCopy Text-escClusterIdentifier =-    lens _escClusterIdentifier (\s a -> s { _escClusterIdentifier = a })+escClusterIdentifier = lens _escClusterIdentifier (\ s a -> s{_escClusterIdentifier = a});  -- | The destination region that you want to copy snapshots to. ----- Constraints: Must be the name of a valid region. For more information, see <http://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region Regions and Endpoints> in the Amazon Web Services General Reference.+-- Constraints: Must be the name of a valid region. For more information,+-- see+-- <http://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region Regions and Endpoints>+-- in the Amazon Web Services General Reference. escDestinationRegion :: Lens' EnableSnapshotCopy Text-escDestinationRegion =-    lens _escDestinationRegion (\s a -> s { _escDestinationRegion = a })---- | The number of days to retain automated snapshots in the destination region--- after they are copied from the source region.------ Default: 7.------ Constraints: Must be at least 1 and no more than 35.-escRetentionPeriod :: Lens' EnableSnapshotCopy (Maybe Int)-escRetentionPeriod =-    lens _escRetentionPeriod (\s a -> s { _escRetentionPeriod = a })--newtype EnableSnapshotCopyResponse = EnableSnapshotCopyResponse-    { _escrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+escDestinationRegion = lens _escDestinationRegion (\ s a -> s{_escDestinationRegion = a}); --- | 'EnableSnapshotCopyResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'escrCluster' @::@ 'Maybe' 'Cluster'----enableSnapshotCopyResponse :: EnableSnapshotCopyResponse-enableSnapshotCopyResponse = EnableSnapshotCopyResponse-    { _escrCluster = Nothing-    }+instance AWSRequest EnableSnapshotCopy where+        type Sv EnableSnapshotCopy = Redshift+        type Rs EnableSnapshotCopy =+             EnableSnapshotCopyResponse+        request = postQuery+        response+          = receiveXMLWrapper "EnableSnapshotCopyResult"+              (\ s h x ->+                 EnableSnapshotCopyResponse' <$>+                   (x .@? "Cluster") <*> (pure (fromEnum s))) -escrCluster :: Lens' EnableSnapshotCopyResponse (Maybe Cluster)-escrCluster = lens _escrCluster (\s a -> s { _escrCluster = a })+instance ToHeaders EnableSnapshotCopy where+        toHeaders = const mempty  instance ToPath EnableSnapshotCopy where-    toPath = const "/"+        toPath = const "/"  instance ToQuery EnableSnapshotCopy where-    toQuery EnableSnapshotCopy{..} = mconcat-        [ "ClusterIdentifier" =? _escClusterIdentifier-        , "DestinationRegion" =? _escDestinationRegion-        , "RetentionPeriod"   =? _escRetentionPeriod-        ]+        toQuery EnableSnapshotCopy'{..}+          = mconcat+              ["Action" =: ("EnableSnapshotCopy" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "RetentionPeriod" =: _escRetentionPeriod,+               "SnapshotCopyGrantName" =: _escSnapshotCopyGrantName,+               "ClusterIdentifier" =: _escClusterIdentifier,+               "DestinationRegion" =: _escDestinationRegion] -instance ToHeaders EnableSnapshotCopy+-- | /See:/ 'enableSnapshotCopyResponse' smart constructor.+data EnableSnapshotCopyResponse = EnableSnapshotCopyResponse'+    { _escrsCluster :: !(Maybe Cluster)+    , _escrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest EnableSnapshotCopy where-    type Sv EnableSnapshotCopy = Redshift-    type Rs EnableSnapshotCopy = EnableSnapshotCopyResponse+-- | Creates a value of 'EnableSnapshotCopyResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'escrsCluster'+--+-- * 'escrsStatus'+enableSnapshotCopyResponse+    :: Int -- ^ 'escrsStatus'+    -> EnableSnapshotCopyResponse+enableSnapshotCopyResponse pStatus_ =+    EnableSnapshotCopyResponse'+    { _escrsCluster = Nothing+    , _escrsStatus = pStatus_+    } -    request  = post "EnableSnapshotCopy"-    response = xmlResponse+-- | Undocumented member.+escrsCluster :: Lens' EnableSnapshotCopyResponse (Maybe Cluster)+escrsCluster = lens _escrsCluster (\ s a -> s{_escrsCluster = a}); -instance FromXML EnableSnapshotCopyResponse where-    parseXML = withElement "EnableSnapshotCopyResult" $ \x -> EnableSnapshotCopyResponse-        <$> x .@? "Cluster"+-- | The response status code.+escrsStatus :: Lens' EnableSnapshotCopyResponse Int+escrsStatus = lens _escrsStatus (\ s a -> s{_escrsStatus = a});
gen/Network/AWS/Redshift/ModifyCluster.hs view
@@ -1,380 +1,409 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.ModifyCluster--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies the settings for a cluster. For example, you can add another+-- Modifies the settings for a cluster. For example, you can add another -- security or parameter group, update the preferred maintenance window, or--- change the master user password. Resetting a cluster password or modifying--- the security groups associated with a cluster do not need a reboot. However,--- modifying a parameter group requires a reboot for parameters to take effect.--- For more information about managing clusters, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters>+-- change the master user password. Resetting a cluster password or+-- modifying the security groups associated with a cluster do not need a+-- reboot. However, modifying a parameter group requires a reboot for+-- parameters to take effect. For more information about managing clusters,+-- go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters> -- in the /Amazon Redshift Cluster Management Guide/ . ----- You can also change node type and the number of nodes to scale up or down--- the cluster. When resizing a cluster, you must specify both the number of--- nodes and the node type even if one of the parameters does not change.+-- You can also change node type and the number of nodes to scale up or+-- down the cluster. When resizing a cluster, you must specify both the+-- number of nodes and the node type even if one of the parameters does not+-- change. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyCluster.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyCluster.html AWS API Reference> for ModifyCluster. module Network.AWS.Redshift.ModifyCluster     (-    -- * Request-      ModifyCluster-    -- ** Request constructor-    , modifyCluster-    -- ** Request lenses-    , mcAllowVersionUpgrade-    , mcAutomatedSnapshotRetentionPeriod-    , mcClusterIdentifier-    , mcClusterParameterGroupName+    -- * Creating a Request+      modifyCluster+    , ModifyCluster+    -- * Request Lenses+    , mcMasterUserPassword+    , mcHSMConfigurationIdentifier     , mcClusterSecurityGroups+    , mcAutomatedSnapshotRetentionPeriod+    , mcNumberOfNodes+    , mcHSMClientCertificateIdentifier+    , mcPreferredMaintenanceWindow+    , mcVPCSecurityGroupIds     , mcClusterType-    , mcClusterVersion-    , mcHsmClientCertificateIdentifier-    , mcHsmConfigurationIdentifier-    , mcMasterUserPassword     , mcNewClusterIdentifier+    , mcClusterVersion     , mcNodeType-    , mcNumberOfNodes-    , mcPreferredMaintenanceWindow-    , mcVpcSecurityGroupIds+    , mcAllowVersionUpgrade+    , mcClusterParameterGroupName+    , mcClusterIdentifier -    -- * Response-    , ModifyClusterResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifyClusterResponse-    -- ** Response lenses-    , mcrCluster+    , ModifyClusterResponse+    -- * Response Lenses+    , mcrsCluster+    , mcrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data ModifyCluster = ModifyCluster-    { _mcAllowVersionUpgrade              :: Maybe Bool-    , _mcAutomatedSnapshotRetentionPeriod :: Maybe Int-    , _mcClusterIdentifier                :: Text-    , _mcClusterParameterGroupName        :: Maybe Text-    , _mcClusterSecurityGroups            :: List "member" Text-    , _mcClusterType                      :: Maybe Text-    , _mcClusterVersion                   :: Maybe Text-    , _mcHsmClientCertificateIdentifier   :: Maybe Text-    , _mcHsmConfigurationIdentifier       :: Maybe Text-    , _mcMasterUserPassword               :: Maybe Text-    , _mcNewClusterIdentifier             :: Maybe Text-    , _mcNodeType                         :: Maybe Text-    , _mcNumberOfNodes                    :: Maybe Int-    , _mcPreferredMaintenanceWindow       :: Maybe Text-    , _mcVpcSecurityGroupIds              :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'ModifyCluster' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'modifyCluster' smart constructor.+data ModifyCluster = ModifyCluster'+    { _mcMasterUserPassword               :: !(Maybe Text)+    , _mcHSMConfigurationIdentifier       :: !(Maybe Text)+    , _mcClusterSecurityGroups            :: !(Maybe [Text])+    , _mcAutomatedSnapshotRetentionPeriod :: !(Maybe Int)+    , _mcNumberOfNodes                    :: !(Maybe Int)+    , _mcHSMClientCertificateIdentifier   :: !(Maybe Text)+    , _mcPreferredMaintenanceWindow       :: !(Maybe Text)+    , _mcVPCSecurityGroupIds              :: !(Maybe [Text])+    , _mcClusterType                      :: !(Maybe Text)+    , _mcNewClusterIdentifier             :: !(Maybe Text)+    , _mcClusterVersion                   :: !(Maybe Text)+    , _mcNodeType                         :: !(Maybe Text)+    , _mcAllowVersionUpgrade              :: !(Maybe Bool)+    , _mcClusterParameterGroupName        :: !(Maybe Text)+    , _mcClusterIdentifier                :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyCluster' with the minimum fields required to make a request. ----- * 'mcAllowVersionUpgrade' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'mcAutomatedSnapshotRetentionPeriod' @::@ 'Maybe' 'Int'+-- * 'mcMasterUserPassword' ----- * 'mcClusterIdentifier' @::@ 'Text'+-- * 'mcHSMConfigurationIdentifier' ----- * 'mcClusterParameterGroupName' @::@ 'Maybe' 'Text'+-- * 'mcClusterSecurityGroups' ----- * 'mcClusterSecurityGroups' @::@ ['Text']+-- * 'mcAutomatedSnapshotRetentionPeriod' ----- * 'mcClusterType' @::@ 'Maybe' 'Text'+-- * 'mcNumberOfNodes' ----- * 'mcClusterVersion' @::@ 'Maybe' 'Text'+-- * 'mcHSMClientCertificateIdentifier' ----- * 'mcHsmClientCertificateIdentifier' @::@ 'Maybe' 'Text'+-- * 'mcPreferredMaintenanceWindow' ----- * 'mcHsmConfigurationIdentifier' @::@ 'Maybe' 'Text'+-- * 'mcVPCSecurityGroupIds' ----- * 'mcMasterUserPassword' @::@ 'Maybe' 'Text'+-- * 'mcClusterType' ----- * 'mcNewClusterIdentifier' @::@ 'Maybe' 'Text'+-- * 'mcNewClusterIdentifier' ----- * 'mcNodeType' @::@ 'Maybe' 'Text'+-- * 'mcClusterVersion' ----- * 'mcNumberOfNodes' @::@ 'Maybe' 'Int'+-- * 'mcNodeType' ----- * 'mcPreferredMaintenanceWindow' @::@ 'Maybe' 'Text'+-- * 'mcAllowVersionUpgrade' ----- * 'mcVpcSecurityGroupIds' @::@ ['Text']+-- * 'mcClusterParameterGroupName' ---modifyCluster :: Text -- ^ 'mcClusterIdentifier'-              -> ModifyCluster-modifyCluster p1 = ModifyCluster-    { _mcClusterIdentifier                = p1-    , _mcClusterType                      = Nothing-    , _mcNodeType                         = Nothing-    , _mcNumberOfNodes                    = Nothing-    , _mcClusterSecurityGroups            = mempty-    , _mcVpcSecurityGroupIds              = mempty-    , _mcMasterUserPassword               = Nothing-    , _mcClusterParameterGroupName        = Nothing+-- * 'mcClusterIdentifier'+modifyCluster+    :: Text -- ^ 'mcClusterIdentifier'+    -> ModifyCluster+modifyCluster pClusterIdentifier_ =+    ModifyCluster'+    { _mcMasterUserPassword = Nothing+    , _mcHSMConfigurationIdentifier = Nothing+    , _mcClusterSecurityGroups = Nothing     , _mcAutomatedSnapshotRetentionPeriod = Nothing-    , _mcPreferredMaintenanceWindow       = Nothing-    , _mcClusterVersion                   = Nothing-    , _mcAllowVersionUpgrade              = Nothing-    , _mcHsmClientCertificateIdentifier   = Nothing-    , _mcHsmConfigurationIdentifier       = Nothing-    , _mcNewClusterIdentifier             = Nothing+    , _mcNumberOfNodes = Nothing+    , _mcHSMClientCertificateIdentifier = Nothing+    , _mcPreferredMaintenanceWindow = Nothing+    , _mcVPCSecurityGroupIds = Nothing+    , _mcClusterType = Nothing+    , _mcNewClusterIdentifier = Nothing+    , _mcClusterVersion = Nothing+    , _mcNodeType = Nothing+    , _mcAllowVersionUpgrade = Nothing+    , _mcClusterParameterGroupName = Nothing+    , _mcClusterIdentifier = pClusterIdentifier_     } --- | If 'true', major version upgrades will be applied automatically to the cluster--- during the maintenance window.------ Default: 'false'-mcAllowVersionUpgrade :: Lens' ModifyCluster (Maybe Bool)-mcAllowVersionUpgrade =-    lens _mcAllowVersionUpgrade (\s a -> s { _mcAllowVersionUpgrade = a })---- | The number of days that automated snapshots are retained. If the value is 0,--- automated snapshots are disabled. Even if automated snapshots are disabled,--- you can still create manual snapshots when you want with 'CreateClusterSnapshot'--- .+-- | The new password for the cluster master user. This change is+-- asynchronously applied as soon as possible. Between the time of the+-- request and the completion of the request, the 'MasterUserPassword'+-- element exists in the 'PendingModifiedValues' element of the operation+-- response. ----- If you decrease the automated snapshot retention period from its current--- value, existing automated snapshots that fall outside of the new retention--- period will be immediately deleted.+-- Operations never return the password, so this operation provides a way+-- to regain access to the master user account for a cluster if the+-- password is lost. -- -- Default: Uses existing setting. ----- Constraints: Must be a value from 0 to 35.-mcAutomatedSnapshotRetentionPeriod :: Lens' ModifyCluster (Maybe Int)-mcAutomatedSnapshotRetentionPeriod =-    lens _mcAutomatedSnapshotRetentionPeriod-        (\s a -> s { _mcAutomatedSnapshotRetentionPeriod = a })---- | The unique identifier of the cluster to be modified.+-- Constraints: ----- Example: 'examplecluster'-mcClusterIdentifier :: Lens' ModifyCluster Text-mcClusterIdentifier =-    lens _mcClusterIdentifier (\s a -> s { _mcClusterIdentifier = a })+-- -   Must be between 8 and 64 characters in length.+-- -   Must contain at least one uppercase letter.+-- -   Must contain at least one lowercase letter.+-- -   Must contain one number.+-- -   Can be any printable ASCII character (ASCII code 33 to 126) except+--     \' (single quote), \" (double quote), \\, \/, \', or space.+mcMasterUserPassword :: Lens' ModifyCluster (Maybe Text)+mcMasterUserPassword = lens _mcMasterUserPassword (\ s a -> s{_mcMasterUserPassword = a}); --- | The name of the cluster parameter group to apply to this cluster. This--- change is applied only after the cluster is rebooted. To reboot a cluster use 'RebootCluster'.------ Default: Uses existing setting.------ Constraints: The cluster parameter group must be in the same parameter group--- family that matches the cluster version.-mcClusterParameterGroupName :: Lens' ModifyCluster (Maybe Text)-mcClusterParameterGroupName =-    lens _mcClusterParameterGroupName-        (\s a -> s { _mcClusterParameterGroupName = a })+-- | Specifies the name of the HSM configuration that contains the+-- information the Amazon Redshift cluster can use to retrieve and store+-- keys in an HSM.+mcHSMConfigurationIdentifier :: Lens' ModifyCluster (Maybe Text)+mcHSMConfigurationIdentifier = lens _mcHSMConfigurationIdentifier (\ s a -> s{_mcHSMConfigurationIdentifier = a});  -- | A list of cluster security groups to be authorized on this cluster. This -- change is asynchronously applied as soon as possible. ----- Security groups currently associated with the cluster, and not in the list--- of groups to apply, will be revoked from the cluster.+-- Security groups currently associated with the cluster, and not in the+-- list of groups to apply, will be revoked from the cluster. -- -- Constraints: ----- Must be 1 to 255 alphanumeric characters or hyphens First character must be--- a letter Cannot end with a hyphen or contain two consecutive hyphens+-- -   Must be 1 to 255 alphanumeric characters or hyphens+-- -   First character must be a letter+-- -   Cannot end with a hyphen or contain two consecutive hyphens mcClusterSecurityGroups :: Lens' ModifyCluster [Text]-mcClusterSecurityGroups =-    lens _mcClusterSecurityGroups (\s a -> s { _mcClusterSecurityGroups = a })-        . _List+mcClusterSecurityGroups = lens _mcClusterSecurityGroups (\ s a -> s{_mcClusterSecurityGroups = a}) . _Default . _Coerce; --- | The new cluster type.+-- | The number of days that automated snapshots are retained. If the value+-- is 0, automated snapshots are disabled. Even if automated snapshots are+-- disabled, you can still create manual snapshots when you want with+-- CreateClusterSnapshot. ----- When you submit your cluster resize request, your existing cluster goes--- into a read-only mode. After Amazon Redshift provisions a new cluster based--- on your resize requirements, there will be outage for a period while the old--- cluster is deleted and your connection is switched to the new cluster. You--- can use 'DescribeResize' to track the progress of the resize request.+-- If you decrease the automated snapshot retention period from its current+-- value, existing automated snapshots that fall outside of the new+-- retention period will be immediately deleted. ----- Valid Values: ' multi-node | single-node '-mcClusterType :: Lens' ModifyCluster (Maybe Text)-mcClusterType = lens _mcClusterType (\s a -> s { _mcClusterType = a })+-- Default: Uses existing setting.+--+-- Constraints: Must be a value from 0 to 35.+mcAutomatedSnapshotRetentionPeriod :: Lens' ModifyCluster (Maybe Int)+mcAutomatedSnapshotRetentionPeriod = lens _mcAutomatedSnapshotRetentionPeriod (\ s a -> s{_mcAutomatedSnapshotRetentionPeriod = a}); --- | The new version number of the Amazon Redshift engine to upgrade to.+-- | The new number of nodes of the cluster. If you specify a new number of+-- nodes, you must also specify the node type parameter. ----- For major version upgrades, if a non-default cluster parameter group is--- currently in use, a new cluster parameter group in the cluster parameter--- group family for the new version must be specified. The new cluster parameter--- group can be the default for that cluster parameter group family. For more--- information about managing parameter groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon Redshift ParameterGroups> in the /Amazon Redshift Cluster Management Guide/.+-- When you submit your request to resize a cluster, Amazon Redshift sets+-- access permissions for the cluster to read-only. After Amazon Redshift+-- provisions a new cluster according to your resize requirements, there+-- will be a temporary outage while the old cluster is deleted and your+-- connection is switched to the new cluster. When the new connection is+-- complete, the original access permissions for the cluster are restored.+-- You can use DescribeResize to track the progress of the resize request. ----- Example: '1.0'-mcClusterVersion :: Lens' ModifyCluster (Maybe Text)-mcClusterVersion = lens _mcClusterVersion (\s a -> s { _mcClusterVersion = a })---- | Specifies the name of the HSM client certificate the Amazon Redshift cluster--- uses to retrieve the data encryption keys stored in an HSM.-mcHsmClientCertificateIdentifier :: Lens' ModifyCluster (Maybe Text)-mcHsmClientCertificateIdentifier =-    lens _mcHsmClientCertificateIdentifier-        (\s a -> s { _mcHsmClientCertificateIdentifier = a })+-- Valid Values: Integer greater than '0'.+mcNumberOfNodes :: Lens' ModifyCluster (Maybe Int)+mcNumberOfNodes = lens _mcNumberOfNodes (\ s a -> s{_mcNumberOfNodes = a}); --- | Specifies the name of the HSM configuration that contains the information the--- Amazon Redshift cluster can use to retrieve and store keys in an HSM.-mcHsmConfigurationIdentifier :: Lens' ModifyCluster (Maybe Text)-mcHsmConfigurationIdentifier =-    lens _mcHsmConfigurationIdentifier-        (\s a -> s { _mcHsmConfigurationIdentifier = a })+-- | Specifies the name of the HSM client certificate the Amazon Redshift+-- cluster uses to retrieve the data encryption keys stored in an HSM.+mcHSMClientCertificateIdentifier :: Lens' ModifyCluster (Maybe Text)+mcHSMClientCertificateIdentifier = lens _mcHSMClientCertificateIdentifier (\ s a -> s{_mcHSMClientCertificateIdentifier = a}); --- | The new password for the cluster master user. This change is asynchronously--- applied as soon as possible. Between the time of the request and the--- completion of the request, the 'MasterUserPassword' element exists in the 'PendingModifiedValues' element of the operation response.  Operations never return the password, so--- this operation provides a way to regain access to the master user account for--- a cluster if the password is lost.+-- | The weekly time range (in UTC) during which system maintenance can+-- occur, if necessary. If system maintenance is necessary during the+-- window, it may result in an outage. --+-- This maintenance window change is made immediately. If the new+-- maintenance window indicates the current time, there must be at least+-- 120 minutes between the current time and end of the window in order to+-- ensure that pending changes are applied.+-- -- Default: Uses existing setting. ----- Constraints:+-- Format: ddd:hh24:mi-ddd:hh24:mi, for example 'wed:07:30-wed:08:00'. ----- Must be between 8 and 64 characters in length. Must contain at least one--- uppercase letter. Must contain at least one lowercase letter. Must contain--- one number. Can be any printable ASCII character (ASCII code 33 to 126)--- except ' (single quote), " (double quote), \, /, @, or space.-mcMasterUserPassword :: Lens' ModifyCluster (Maybe Text)-mcMasterUserPassword =-    lens _mcMasterUserPassword (\s a -> s { _mcMasterUserPassword = a })+-- Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun+--+-- Constraints: Must be at least 30 minutes.+mcPreferredMaintenanceWindow :: Lens' ModifyCluster (Maybe Text)+mcPreferredMaintenanceWindow = lens _mcPreferredMaintenanceWindow (\ s a -> s{_mcPreferredMaintenanceWindow = a}); +-- | A list of virtual private cloud (VPC) security groups to be associated+-- with the cluster.+mcVPCSecurityGroupIds :: Lens' ModifyCluster [Text]+mcVPCSecurityGroupIds = lens _mcVPCSecurityGroupIds (\ s a -> s{_mcVPCSecurityGroupIds = a}) . _Default . _Coerce;++-- | The new cluster type.+--+-- When you submit your cluster resize request, your existing cluster goes+-- into a read-only mode. After Amazon Redshift provisions a new cluster+-- based on your resize requirements, there will be outage for a period+-- while the old cluster is deleted and your connection is switched to the+-- new cluster. You can use DescribeResize to track the progress of the+-- resize request.+--+-- Valid Values: ' multi-node | single-node '+mcClusterType :: Lens' ModifyCluster (Maybe Text)+mcClusterType = lens _mcClusterType (\ s a -> s{_mcClusterType = a});+ -- | The new identifier for the cluster. -- -- Constraints: ----- Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic--- characters must be lowercase. First character must be a letter. Cannot end--- with a hyphen or contain two consecutive hyphens. Must be unique for all--- clusters within an AWS account.  Example: 'examplecluster'+-- -   Must contain from 1 to 63 alphanumeric characters or hyphens.+-- -   Alphabetic characters must be lowercase.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+-- -   Must be unique for all clusters within an AWS account.+--+-- Example: 'examplecluster' mcNewClusterIdentifier :: Lens' ModifyCluster (Maybe Text)-mcNewClusterIdentifier =-    lens _mcNewClusterIdentifier (\s a -> s { _mcNewClusterIdentifier = a })+mcNewClusterIdentifier = lens _mcNewClusterIdentifier (\ s a -> s{_mcNewClusterIdentifier = a}); --- | The new node type of the cluster. If you specify a new node type, you must--- also specify the number of nodes parameter.+-- | The new version number of the Amazon Redshift engine to upgrade to. ----- When you submit your request to resize a cluster, Amazon Redshift sets--- access permissions for the cluster to read-only. After Amazon Redshift--- provisions a new cluster according to your resize requirements, there will be--- a temporary outage while the old cluster is deleted and your connection is--- switched to the new cluster. When the new connection is complete, the--- original access permissions for the cluster are restored. You can use 'DescribeResize' to track the progress of the resize request.+-- For major version upgrades, if a non-default cluster parameter group is+-- currently in use, a new cluster parameter group in the cluster parameter+-- group family for the new version must be specified. The new cluster+-- parameter group can be the default for that cluster parameter group+-- family. For more information about parameters and parameter groups, go+-- to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon Redshift Parameter Groups>+-- in the /Amazon Redshift Cluster Management Guide/. ----- Valid Values: ' dw1.xlarge' | 'dw1.8xlarge' | 'dw2.large' | 'dw2.8xlarge'.-mcNodeType :: Lens' ModifyCluster (Maybe Text)-mcNodeType = lens _mcNodeType (\s a -> s { _mcNodeType = a })+-- Example: '1.0'+mcClusterVersion :: Lens' ModifyCluster (Maybe Text)+mcClusterVersion = lens _mcClusterVersion (\ s a -> s{_mcClusterVersion = a}); --- | The new number of nodes of the cluster. If you specify a new number of--- nodes, you must also specify the node type parameter.+-- | The new node type of the cluster. If you specify a new node type, you+-- must also specify the number of nodes parameter. -- -- When you submit your request to resize a cluster, Amazon Redshift sets -- access permissions for the cluster to read-only. After Amazon Redshift--- provisions a new cluster according to your resize requirements, there will be--- a temporary outage while the old cluster is deleted and your connection is--- switched to the new cluster. When the new connection is complete, the--- original access permissions for the cluster are restored. You can use 'DescribeResize' to track the progress of the resize request.+-- provisions a new cluster according to your resize requirements, there+-- will be a temporary outage while the old cluster is deleted and your+-- connection is switched to the new cluster. When the new connection is+-- complete, the original access permissions for the cluster are restored.+-- You can use DescribeResize to track the progress of the resize request. ----- Valid Values: Integer greater than '0'.-mcNumberOfNodes :: Lens' ModifyCluster (Maybe Int)-mcNumberOfNodes = lens _mcNumberOfNodes (\s a -> s { _mcNumberOfNodes = a })+-- Valid Values: ' ds1.xlarge' | 'ds1.8xlarge' | ' ds2.xlarge' |+-- 'ds2.8xlarge' | 'dc1.large' | 'dc1.8xlarge'.+mcNodeType :: Lens' ModifyCluster (Maybe Text)+mcNodeType = lens _mcNodeType (\ s a -> s{_mcNodeType = a}); --- | The weekly time range (in UTC) during which system maintenance can occur, if--- necessary. If system maintenance is necessary during the window, it may--- result in an outage.+-- | If 'true', major version upgrades will be applied automatically to the+-- cluster during the maintenance window. ----- This maintenance window change is made immediately. If the new maintenance--- window indicates the current time, there must be at least 120 minutes between--- the current time and end of the window in order to ensure that pending--- changes are applied.+-- Default: 'false'+mcAllowVersionUpgrade :: Lens' ModifyCluster (Maybe Bool)+mcAllowVersionUpgrade = lens _mcAllowVersionUpgrade (\ s a -> s{_mcAllowVersionUpgrade = a});++-- | The name of the cluster parameter group to apply to this cluster. This+-- change is applied only after the cluster is rebooted. To reboot a+-- cluster use RebootCluster. -- -- Default: Uses existing setting. ----- Format: ddd:hh24:mi-ddd:hh24:mi, for example 'wed:07:30-wed:08:00'.------ Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun------ Constraints: Must be at least 30 minutes.-mcPreferredMaintenanceWindow :: Lens' ModifyCluster (Maybe Text)-mcPreferredMaintenanceWindow =-    lens _mcPreferredMaintenanceWindow-        (\s a -> s { _mcPreferredMaintenanceWindow = a })---- | A list of virtual private cloud (VPC) security groups to be associated with--- the cluster.-mcVpcSecurityGroupIds :: Lens' ModifyCluster [Text]-mcVpcSecurityGroupIds =-    lens _mcVpcSecurityGroupIds (\s a -> s { _mcVpcSecurityGroupIds = a })-        . _List--newtype ModifyClusterResponse = ModifyClusterResponse-    { _mcrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+-- Constraints: The cluster parameter group must be in the same parameter+-- group family that matches the cluster version.+mcClusterParameterGroupName :: Lens' ModifyCluster (Maybe Text)+mcClusterParameterGroupName = lens _mcClusterParameterGroupName (\ s a -> s{_mcClusterParameterGroupName = a}); --- | 'ModifyClusterResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'mcrCluster' @::@ 'Maybe' 'Cluster'+-- | The unique identifier of the cluster to be modified. ---modifyClusterResponse :: ModifyClusterResponse-modifyClusterResponse = ModifyClusterResponse-    { _mcrCluster = Nothing-    }+-- Example: 'examplecluster'+mcClusterIdentifier :: Lens' ModifyCluster Text+mcClusterIdentifier = lens _mcClusterIdentifier (\ s a -> s{_mcClusterIdentifier = a}); -mcrCluster :: Lens' ModifyClusterResponse (Maybe Cluster)-mcrCluster = lens _mcrCluster (\s a -> s { _mcrCluster = a })+instance AWSRequest ModifyCluster where+        type Sv ModifyCluster = Redshift+        type Rs ModifyCluster = ModifyClusterResponse+        request = postQuery+        response+          = receiveXMLWrapper "ModifyClusterResult"+              (\ s h x ->+                 ModifyClusterResponse' <$>+                   (x .@? "Cluster") <*> (pure (fromEnum s))) +instance ToHeaders ModifyCluster where+        toHeaders = const mempty+ instance ToPath ModifyCluster where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifyCluster where-    toQuery ModifyCluster{..} = mconcat-        [ "AllowVersionUpgrade"              =? _mcAllowVersionUpgrade-        , "AutomatedSnapshotRetentionPeriod" =? _mcAutomatedSnapshotRetentionPeriod-        , "ClusterIdentifier"                =? _mcClusterIdentifier-        , "ClusterParameterGroupName"        =? _mcClusterParameterGroupName-        , "ClusterSecurityGroups"            =? _mcClusterSecurityGroups-        , "ClusterType"                      =? _mcClusterType-        , "ClusterVersion"                   =? _mcClusterVersion-        , "HsmClientCertificateIdentifier"   =? _mcHsmClientCertificateIdentifier-        , "HsmConfigurationIdentifier"       =? _mcHsmConfigurationIdentifier-        , "MasterUserPassword"               =? _mcMasterUserPassword-        , "NewClusterIdentifier"             =? _mcNewClusterIdentifier-        , "NodeType"                         =? _mcNodeType-        , "NumberOfNodes"                    =? _mcNumberOfNodes-        , "PreferredMaintenanceWindow"       =? _mcPreferredMaintenanceWindow-        , "VpcSecurityGroupIds"              =? _mcVpcSecurityGroupIds-        ]+        toQuery ModifyCluster'{..}+          = mconcat+              ["Action" =: ("ModifyCluster" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "MasterUserPassword" =: _mcMasterUserPassword,+               "HsmConfigurationIdentifier" =:+                 _mcHSMConfigurationIdentifier,+               "ClusterSecurityGroups" =:+                 toQuery+                   (toQueryList "ClusterSecurityGroupName" <$>+                      _mcClusterSecurityGroups),+               "AutomatedSnapshotRetentionPeriod" =:+                 _mcAutomatedSnapshotRetentionPeriod,+               "NumberOfNodes" =: _mcNumberOfNodes,+               "HsmClientCertificateIdentifier" =:+                 _mcHSMClientCertificateIdentifier,+               "PreferredMaintenanceWindow" =:+                 _mcPreferredMaintenanceWindow,+               "VpcSecurityGroupIds" =:+                 toQuery+                   (toQueryList "VpcSecurityGroupId" <$>+                      _mcVPCSecurityGroupIds),+               "ClusterType" =: _mcClusterType,+               "NewClusterIdentifier" =: _mcNewClusterIdentifier,+               "ClusterVersion" =: _mcClusterVersion,+               "NodeType" =: _mcNodeType,+               "AllowVersionUpgrade" =: _mcAllowVersionUpgrade,+               "ClusterParameterGroupName" =:+                 _mcClusterParameterGroupName,+               "ClusterIdentifier" =: _mcClusterIdentifier] -instance ToHeaders ModifyCluster+-- | /See:/ 'modifyClusterResponse' smart constructor.+data ModifyClusterResponse = ModifyClusterResponse'+    { _mcrsCluster :: !(Maybe Cluster)+    , _mcrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ModifyCluster where-    type Sv ModifyCluster = Redshift-    type Rs ModifyCluster = ModifyClusterResponse+-- | Creates a value of 'ModifyClusterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcrsCluster'+--+-- * 'mcrsStatus'+modifyClusterResponse+    :: Int -- ^ 'mcrsStatus'+    -> ModifyClusterResponse+modifyClusterResponse pStatus_ =+    ModifyClusterResponse'+    { _mcrsCluster = Nothing+    , _mcrsStatus = pStatus_+    } -    request  = post "ModifyCluster"-    response = xmlResponse+-- | Undocumented member.+mcrsCluster :: Lens' ModifyClusterResponse (Maybe Cluster)+mcrsCluster = lens _mcrsCluster (\ s a -> s{_mcrsCluster = a}); -instance FromXML ModifyClusterResponse where-    parseXML = withElement "ModifyClusterResult" $ \x -> ModifyClusterResponse-        <$> x .@? "Cluster"+-- | The response status code.+mcrsStatus :: Lens' ModifyClusterResponse Int+mcrsStatus = lens _mcrsStatus (\ s a -> s{_mcrsStatus = a});
gen/Network/AWS/Redshift/ModifyClusterParameterGroup.hs view
@@ -1,144 +1,115 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.ModifyClusterParameterGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies the parameters of a parameter group.+-- Modifies the parameters of a parameter group. ----- For more information about managing parameter groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon RedshiftParameter Groups> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about parameters and parameter groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon Redshift Parameter Groups>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyClusterParameterGroup.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyClusterParameterGroup.html AWS API Reference> for ModifyClusterParameterGroup. module Network.AWS.Redshift.ModifyClusterParameterGroup     (-    -- * Request-      ModifyClusterParameterGroup-    -- ** Request constructor-    , modifyClusterParameterGroup-    -- ** Request lenses+    -- * Creating a Request+      modifyClusterParameterGroup+    , ModifyClusterParameterGroup+    -- * Request Lenses     , mcpgParameterGroupName     , mcpgParameters -    -- * Response-    , ModifyClusterParameterGroupResponse-    -- ** Response constructor-    , modifyClusterParameterGroupResponse-    -- ** Response lenses-    , mcpgrParameterGroupName-    , mcpgrParameterGroupStatus+    -- * Destructuring the Response+    , clusterParameterGroupNameMessage+    , ClusterParameterGroupNameMessage+    -- * Response Lenses+    , cpgnmParameterGroupStatus+    , cpgnmParameterGroupName     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data ModifyClusterParameterGroup = ModifyClusterParameterGroup-    { _mcpgParameterGroupName :: Text-    , _mcpgParameters         :: List "member" Parameter-    } deriving (Eq, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'ModifyClusterParameterGroup' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'modifyClusterParameterGroup' smart constructor.+data ModifyClusterParameterGroup = ModifyClusterParameterGroup'+    { _mcpgParameterGroupName :: !Text+    , _mcpgParameters         :: ![Parameter]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyClusterParameterGroup' with the minimum fields required to make a request. ----- * 'mcpgParameterGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'mcpgParameters' @::@ ['Parameter']+-- * 'mcpgParameterGroupName' ---modifyClusterParameterGroup :: Text -- ^ 'mcpgParameterGroupName'-                            -> ModifyClusterParameterGroup-modifyClusterParameterGroup p1 = ModifyClusterParameterGroup-    { _mcpgParameterGroupName = p1-    , _mcpgParameters         = mempty+-- * 'mcpgParameters'+modifyClusterParameterGroup+    :: Text -- ^ 'mcpgParameterGroupName'+    -> ModifyClusterParameterGroup+modifyClusterParameterGroup pParameterGroupName_ =+    ModifyClusterParameterGroup'+    { _mcpgParameterGroupName = pParameterGroupName_+    , _mcpgParameters = mempty     }  -- | The name of the parameter group to be modified. mcpgParameterGroupName :: Lens' ModifyClusterParameterGroup Text-mcpgParameterGroupName =-    lens _mcpgParameterGroupName (\s a -> s { _mcpgParameterGroupName = a })+mcpgParameterGroupName = lens _mcpgParameterGroupName (\ s a -> s{_mcpgParameterGroupName = a});  -- | An array of parameters to be modified. A maximum of 20 parameters can be -- modified in a single request. ----- For each parameter to be modified, you must supply at least the parameter--- name and parameter value; other name-value pairs of the parameter are--- optional.+-- For each parameter to be modified, you must supply at least the+-- parameter name and parameter value; other name-value pairs of the+-- parameter are optional. -- -- For the workload management (WLM) configuration, you must supply all the -- name-value pairs in the wlm_json_configuration parameter. mcpgParameters :: Lens' ModifyClusterParameterGroup [Parameter]-mcpgParameters = lens _mcpgParameters (\s a -> s { _mcpgParameters = a }) . _List--data ModifyClusterParameterGroupResponse = ModifyClusterParameterGroupResponse-    { _mcpgrParameterGroupName   :: Maybe Text-    , _mcpgrParameterGroupStatus :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ModifyClusterParameterGroupResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'mcpgrParameterGroupName' @::@ 'Maybe' 'Text'------ * 'mcpgrParameterGroupStatus' @::@ 'Maybe' 'Text'----modifyClusterParameterGroupResponse :: ModifyClusterParameterGroupResponse-modifyClusterParameterGroupResponse = ModifyClusterParameterGroupResponse-    { _mcpgrParameterGroupName   = Nothing-    , _mcpgrParameterGroupStatus = Nothing-    }+mcpgParameters = lens _mcpgParameters (\ s a -> s{_mcpgParameters = a}) . _Coerce; --- | The name of the cluster parameter group.-mcpgrParameterGroupName :: Lens' ModifyClusterParameterGroupResponse (Maybe Text)-mcpgrParameterGroupName =-    lens _mcpgrParameterGroupName (\s a -> s { _mcpgrParameterGroupName = a })+instance AWSRequest ModifyClusterParameterGroup where+        type Sv ModifyClusterParameterGroup = Redshift+        type Rs ModifyClusterParameterGroup =+             ClusterParameterGroupNameMessage+        request = postQuery+        response+          = receiveXMLWrapper+              "ModifyClusterParameterGroupResult"+              (\ s h x -> parseXML x) --- | The status of the parameter group. For example, if you made a change to a--- parameter group name-value pair, then the change could be pending a reboot of--- an associated cluster.-mcpgrParameterGroupStatus :: Lens' ModifyClusterParameterGroupResponse (Maybe Text)-mcpgrParameterGroupStatus =-    lens _mcpgrParameterGroupStatus-        (\s a -> s { _mcpgrParameterGroupStatus = a })+instance ToHeaders ModifyClusterParameterGroup where+        toHeaders = const mempty  instance ToPath ModifyClusterParameterGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifyClusterParameterGroup where-    toQuery ModifyClusterParameterGroup{..} = mconcat-        [ "ParameterGroupName" =? _mcpgParameterGroupName-        , "Parameters"         =? _mcpgParameters-        ]--instance ToHeaders ModifyClusterParameterGroup--instance AWSRequest ModifyClusterParameterGroup where-    type Sv ModifyClusterParameterGroup = Redshift-    type Rs ModifyClusterParameterGroup = ModifyClusterParameterGroupResponse--    request  = post "ModifyClusterParameterGroup"-    response = xmlResponse--instance FromXML ModifyClusterParameterGroupResponse where-    parseXML = withElement "ModifyClusterParameterGroupResult" $ \x -> ModifyClusterParameterGroupResponse-        <$> x .@? "ParameterGroupName"-        <*> x .@? "ParameterGroupStatus"+        toQuery ModifyClusterParameterGroup'{..}+          = mconcat+              ["Action" =:+                 ("ModifyClusterParameterGroup" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ParameterGroupName" =: _mcpgParameterGroupName,+               "Parameters" =:+                 toQueryList "Parameter" _mcpgParameters]
gen/Network/AWS/Redshift/ModifyClusterSubnetGroup.hs view
@@ -1,133 +1,148 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.ModifyClusterSubnetGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies a cluster subnet group to include the specified list of VPC--- subnets. The operation replaces the existing list of subnets with the new--- list of subnets.+-- Modifies a cluster subnet group to include the specified list of VPC+-- subnets. The operation replaces the existing list of subnets with the+-- new list of subnets. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyClusterSubnetGroup.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyClusterSubnetGroup.html AWS API Reference> for ModifyClusterSubnetGroup. module Network.AWS.Redshift.ModifyClusterSubnetGroup     (-    -- * Request-      ModifyClusterSubnetGroup-    -- ** Request constructor-    , modifyClusterSubnetGroup-    -- ** Request lenses-    , mcsgClusterSubnetGroupName+    -- * Creating a Request+      modifyClusterSubnetGroup+    , ModifyClusterSubnetGroup+    -- * Request Lenses     , mcsgDescription+    , mcsgClusterSubnetGroupName     , mcsgSubnetIds -    -- * Response-    , ModifyClusterSubnetGroupResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifyClusterSubnetGroupResponse-    -- ** Response lenses-    , mcsgrClusterSubnetGroup+    , ModifyClusterSubnetGroupResponse+    -- * Response Lenses+    , mcsgrsClusterSubnetGroup+    , mcsgrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data ModifyClusterSubnetGroup = ModifyClusterSubnetGroup-    { _mcsgClusterSubnetGroupName :: Text-    , _mcsgDescription            :: Maybe Text-    , _mcsgSubnetIds              :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'ModifyClusterSubnetGroup' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'modifyClusterSubnetGroup' smart constructor.+data ModifyClusterSubnetGroup = ModifyClusterSubnetGroup'+    { _mcsgDescription            :: !(Maybe Text)+    , _mcsgClusterSubnetGroupName :: !Text+    , _mcsgSubnetIds              :: ![Text]+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyClusterSubnetGroup' with the minimum fields required to make a request. ----- * 'mcsgClusterSubnetGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'mcsgDescription' @::@ 'Maybe' 'Text'+-- * 'mcsgDescription' ----- * 'mcsgSubnetIds' @::@ ['Text']+-- * 'mcsgClusterSubnetGroupName' ---modifyClusterSubnetGroup :: Text -- ^ 'mcsgClusterSubnetGroupName'-                         -> ModifyClusterSubnetGroup-modifyClusterSubnetGroup p1 = ModifyClusterSubnetGroup-    { _mcsgClusterSubnetGroupName = p1-    , _mcsgDescription            = Nothing-    , _mcsgSubnetIds              = mempty+-- * 'mcsgSubnetIds'+modifyClusterSubnetGroup+    :: Text -- ^ 'mcsgClusterSubnetGroupName'+    -> ModifyClusterSubnetGroup+modifyClusterSubnetGroup pClusterSubnetGroupName_ =+    ModifyClusterSubnetGroup'+    { _mcsgDescription = Nothing+    , _mcsgClusterSubnetGroupName = pClusterSubnetGroupName_+    , _mcsgSubnetIds = mempty     } --- | The name of the subnet group to be modified.-mcsgClusterSubnetGroupName :: Lens' ModifyClusterSubnetGroup Text-mcsgClusterSubnetGroupName =-    lens _mcsgClusterSubnetGroupName-        (\s a -> s { _mcsgClusterSubnetGroupName = a })- -- | A text description of the subnet group to be modified. mcsgDescription :: Lens' ModifyClusterSubnetGroup (Maybe Text)-mcsgDescription = lens _mcsgDescription (\s a -> s { _mcsgDescription = a })+mcsgDescription = lens _mcsgDescription (\ s a -> s{_mcsgDescription = a}); +-- | The name of the subnet group to be modified.+mcsgClusterSubnetGroupName :: Lens' ModifyClusterSubnetGroup Text+mcsgClusterSubnetGroupName = lens _mcsgClusterSubnetGroupName (\ s a -> s{_mcsgClusterSubnetGroupName = a});+ -- | An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a -- single request. mcsgSubnetIds :: Lens' ModifyClusterSubnetGroup [Text]-mcsgSubnetIds = lens _mcsgSubnetIds (\s a -> s { _mcsgSubnetIds = a }) . _List--newtype ModifyClusterSubnetGroupResponse = ModifyClusterSubnetGroupResponse-    { _mcsgrClusterSubnetGroup :: Maybe ClusterSubnetGroup-    } deriving (Eq, Read, Show)+mcsgSubnetIds = lens _mcsgSubnetIds (\ s a -> s{_mcsgSubnetIds = a}) . _Coerce; --- | 'ModifyClusterSubnetGroupResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'mcsgrClusterSubnetGroup' @::@ 'Maybe' 'ClusterSubnetGroup'----modifyClusterSubnetGroupResponse :: ModifyClusterSubnetGroupResponse-modifyClusterSubnetGroupResponse = ModifyClusterSubnetGroupResponse-    { _mcsgrClusterSubnetGroup = Nothing-    }+instance AWSRequest ModifyClusterSubnetGroup where+        type Sv ModifyClusterSubnetGroup = Redshift+        type Rs ModifyClusterSubnetGroup =+             ModifyClusterSubnetGroupResponse+        request = postQuery+        response+          = receiveXMLWrapper "ModifyClusterSubnetGroupResult"+              (\ s h x ->+                 ModifyClusterSubnetGroupResponse' <$>+                   (x .@? "ClusterSubnetGroup") <*> (pure (fromEnum s))) -mcsgrClusterSubnetGroup :: Lens' ModifyClusterSubnetGroupResponse (Maybe ClusterSubnetGroup)-mcsgrClusterSubnetGroup =-    lens _mcsgrClusterSubnetGroup (\s a -> s { _mcsgrClusterSubnetGroup = a })+instance ToHeaders ModifyClusterSubnetGroup where+        toHeaders = const mempty  instance ToPath ModifyClusterSubnetGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifyClusterSubnetGroup where-    toQuery ModifyClusterSubnetGroup{..} = mconcat-        [ "ClusterSubnetGroupName" =? _mcsgClusterSubnetGroupName-        , "Description"            =? _mcsgDescription-        , "SubnetIds"              =? _mcsgSubnetIds-        ]+        toQuery ModifyClusterSubnetGroup'{..}+          = mconcat+              ["Action" =:+                 ("ModifyClusterSubnetGroup" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "Description" =: _mcsgDescription,+               "ClusterSubnetGroupName" =:+                 _mcsgClusterSubnetGroupName,+               "SubnetIds" =:+                 toQueryList "SubnetIdentifier" _mcsgSubnetIds] -instance ToHeaders ModifyClusterSubnetGroup+-- | /See:/ 'modifyClusterSubnetGroupResponse' smart constructor.+data ModifyClusterSubnetGroupResponse = ModifyClusterSubnetGroupResponse'+    { _mcsgrsClusterSubnetGroup :: !(Maybe ClusterSubnetGroup)+    , _mcsgrsStatus             :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ModifyClusterSubnetGroup where-    type Sv ModifyClusterSubnetGroup = Redshift-    type Rs ModifyClusterSubnetGroup = ModifyClusterSubnetGroupResponse+-- | Creates a value of 'ModifyClusterSubnetGroupResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mcsgrsClusterSubnetGroup'+--+-- * 'mcsgrsStatus'+modifyClusterSubnetGroupResponse+    :: Int -- ^ 'mcsgrsStatus'+    -> ModifyClusterSubnetGroupResponse+modifyClusterSubnetGroupResponse pStatus_ =+    ModifyClusterSubnetGroupResponse'+    { _mcsgrsClusterSubnetGroup = Nothing+    , _mcsgrsStatus = pStatus_+    } -    request  = post "ModifyClusterSubnetGroup"-    response = xmlResponse+-- | Undocumented member.+mcsgrsClusterSubnetGroup :: Lens' ModifyClusterSubnetGroupResponse (Maybe ClusterSubnetGroup)+mcsgrsClusterSubnetGroup = lens _mcsgrsClusterSubnetGroup (\ s a -> s{_mcsgrsClusterSubnetGroup = a}); -instance FromXML ModifyClusterSubnetGroupResponse where-    parseXML = withElement "ModifyClusterSubnetGroupResult" $ \x -> ModifyClusterSubnetGroupResponse-        <$> x .@? "ClusterSubnetGroup"+-- | The response status code.+mcsgrsStatus :: Lens' ModifyClusterSubnetGroupResponse Int+mcsgrsStatus = lens _mcsgrsStatus (\ s a -> s{_mcsgrsStatus = a});
gen/Network/AWS/Redshift/ModifyEventSubscription.hs view
@@ -1,194 +1,211 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.ModifyEventSubscription--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies an existing Amazon Redshift event notification subscription.+-- Modifies an existing Amazon Redshift event notification subscription. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyEventSubscription.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyEventSubscription.html AWS API Reference> for ModifyEventSubscription. module Network.AWS.Redshift.ModifyEventSubscription     (-    -- * Request-      ModifyEventSubscription-    -- ** Request constructor-    , modifyEventSubscription-    -- ** Request lenses+    -- * Creating a Request+      modifyEventSubscription+    , ModifyEventSubscription+    -- * Request Lenses+    , mesSNSTopicARN     , mesEnabled-    , mesEventCategories+    , mesSourceType     , mesSeverity-    , mesSnsTopicArn+    , mesEventCategories     , mesSourceIds-    , mesSourceType     , mesSubscriptionName -    -- * Response-    , ModifyEventSubscriptionResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifyEventSubscriptionResponse-    -- ** Response lenses-    , mesrEventSubscription+    , ModifyEventSubscriptionResponse+    -- * Response Lenses+    , mesrsEventSubscription+    , mesrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data ModifyEventSubscription = ModifyEventSubscription-    { _mesEnabled          :: Maybe Bool-    , _mesEventCategories  :: List "member" Text-    , _mesSeverity         :: Maybe Text-    , _mesSnsTopicArn      :: Maybe Text-    , _mesSourceIds        :: List "member" Text-    , _mesSourceType       :: Maybe Text-    , _mesSubscriptionName :: Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'ModifyEventSubscription' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'modifyEventSubscription' smart constructor.+data ModifyEventSubscription = ModifyEventSubscription'+    { _mesSNSTopicARN      :: !(Maybe Text)+    , _mesEnabled          :: !(Maybe Bool)+    , _mesSourceType       :: !(Maybe Text)+    , _mesSeverity         :: !(Maybe Text)+    , _mesEventCategories  :: !(Maybe [Text])+    , _mesSourceIds        :: !(Maybe [Text])+    , _mesSubscriptionName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifyEventSubscription' with the minimum fields required to make a request. ----- * 'mesEnabled' @::@ 'Maybe' 'Bool'+-- Use one of the following lenses to modify other fields as desired: ----- * 'mesEventCategories' @::@ ['Text']+-- * 'mesSNSTopicARN' ----- * 'mesSeverity' @::@ 'Maybe' 'Text'+-- * 'mesEnabled' ----- * 'mesSnsTopicArn' @::@ 'Maybe' 'Text'+-- * 'mesSourceType' ----- * 'mesSourceIds' @::@ ['Text']+-- * 'mesSeverity' ----- * 'mesSourceType' @::@ 'Maybe' 'Text'+-- * 'mesEventCategories' ----- * 'mesSubscriptionName' @::@ 'Text'+-- * 'mesSourceIds' ---modifyEventSubscription :: Text -- ^ 'mesSubscriptionName'-                        -> ModifyEventSubscription-modifyEventSubscription p1 = ModifyEventSubscription-    { _mesSubscriptionName = p1-    , _mesSnsTopicArn      = Nothing-    , _mesSourceType       = Nothing-    , _mesSourceIds        = mempty-    , _mesEventCategories  = mempty-    , _mesSeverity         = Nothing-    , _mesEnabled          = Nothing+-- * 'mesSubscriptionName'+modifyEventSubscription+    :: Text -- ^ 'mesSubscriptionName'+    -> ModifyEventSubscription+modifyEventSubscription pSubscriptionName_ =+    ModifyEventSubscription'+    { _mesSNSTopicARN = Nothing+    , _mesEnabled = Nothing+    , _mesSourceType = Nothing+    , _mesSeverity = Nothing+    , _mesEventCategories = Nothing+    , _mesSourceIds = Nothing+    , _mesSubscriptionName = pSubscriptionName_     } --- | A Boolean value indicating if the subscription is enabled. 'true' indicates--- the subscription is enabled+-- | The Amazon Resource Name (ARN) of the SNS topic to be used by the event+-- notification subscription.+mesSNSTopicARN :: Lens' ModifyEventSubscription (Maybe Text)+mesSNSTopicARN = lens _mesSNSTopicARN (\ s a -> s{_mesSNSTopicARN = a});++-- | A Boolean value indicating if the subscription is enabled. 'true'+-- indicates the subscription is enabled mesEnabled :: Lens' ModifyEventSubscription (Maybe Bool)-mesEnabled = lens _mesEnabled (\s a -> s { _mesEnabled = a })+mesEnabled = lens _mesEnabled (\ s a -> s{_mesEnabled = a}); --- | Specifies the Amazon Redshift event categories to be published by the event--- notification subscription.+-- | The type of source that will be generating the events. For example, if+-- you want to be notified of events generated by a cluster, you would set+-- this parameter to cluster. If this value is not specified, events are+-- returned for all Amazon Redshift objects in your AWS account. You must+-- specify a source type in order to specify source IDs. ----- Values: Configuration, Management, Monitoring, Security-mesEventCategories :: Lens' ModifyEventSubscription [Text]-mesEventCategories =-    lens _mesEventCategories (\s a -> s { _mesEventCategories = a })-        . _List+-- Valid values: cluster, cluster-parameter-group, cluster-security-group,+-- and cluster-snapshot.+mesSourceType :: Lens' ModifyEventSubscription (Maybe Text)+mesSourceType = lens _mesSourceType (\ s a -> s{_mesSourceType = a}); --- | Specifies the Amazon Redshift event severity to be published by the event--- notification subscription.+-- | Specifies the Amazon Redshift event severity to be published by the+-- event notification subscription. -- -- Values: ERROR, INFO mesSeverity :: Lens' ModifyEventSubscription (Maybe Text)-mesSeverity = lens _mesSeverity (\s a -> s { _mesSeverity = a })+mesSeverity = lens _mesSeverity (\ s a -> s{_mesSeverity = a}); --- | The Amazon Resource Name (ARN) of the SNS topic to be used by the event--- notification subscription.-mesSnsTopicArn :: Lens' ModifyEventSubscription (Maybe Text)-mesSnsTopicArn = lens _mesSnsTopicArn (\s a -> s { _mesSnsTopicArn = a })+-- | Specifies the Amazon Redshift event categories to be published by the+-- event notification subscription.+--+-- Values: Configuration, Management, Monitoring, Security+mesEventCategories :: Lens' ModifyEventSubscription [Text]+mesEventCategories = lens _mesEventCategories (\ s a -> s{_mesEventCategories = a}) . _Default . _Coerce; --- | A list of one or more identifiers of Amazon Redshift source objects. All of--- the objects must be of the same type as was specified in the source type--- parameter. The event subscription will return only events generated by the--- specified objects. If not specified, then events are returned for all objects--- within the source type specified.+-- | A list of one or more identifiers of Amazon Redshift source objects. All+-- of the objects must be of the same type as was specified in the source+-- type parameter. The event subscription will return only events generated+-- by the specified objects. If not specified, then events are returned for+-- all objects within the source type specified. -- -- Example: my-cluster-1, my-cluster-2 -- -- Example: my-snapshot-20131010 mesSourceIds :: Lens' ModifyEventSubscription [Text]-mesSourceIds = lens _mesSourceIds (\s a -> s { _mesSourceIds = a }) . _List---- | The type of source that will be generating the events. For example, if you--- want to be notified of events generated by a cluster, you would set this--- parameter to cluster. If this value is not specified, events are returned for--- all Amazon Redshift objects in your AWS account. You must specify a source--- type in order to specify source IDs.------ Valid values: cluster, cluster-parameter-group, cluster-security-group, and--- cluster-snapshot.-mesSourceType :: Lens' ModifyEventSubscription (Maybe Text)-mesSourceType = lens _mesSourceType (\s a -> s { _mesSourceType = a })+mesSourceIds = lens _mesSourceIds (\ s a -> s{_mesSourceIds = a}) . _Default . _Coerce; --- | The name of the modified Amazon Redshift event notification subscription.+-- | The name of the modified Amazon Redshift event notification+-- subscription. mesSubscriptionName :: Lens' ModifyEventSubscription Text-mesSubscriptionName =-    lens _mesSubscriptionName (\s a -> s { _mesSubscriptionName = a })--newtype ModifyEventSubscriptionResponse = ModifyEventSubscriptionResponse-    { _mesrEventSubscription :: Maybe EventSubscription-    } deriving (Eq, Read, Show)+mesSubscriptionName = lens _mesSubscriptionName (\ s a -> s{_mesSubscriptionName = a}); --- | 'ModifyEventSubscriptionResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'mesrEventSubscription' @::@ 'Maybe' 'EventSubscription'----modifyEventSubscriptionResponse :: ModifyEventSubscriptionResponse-modifyEventSubscriptionResponse = ModifyEventSubscriptionResponse-    { _mesrEventSubscription = Nothing-    }+instance AWSRequest ModifyEventSubscription where+        type Sv ModifyEventSubscription = Redshift+        type Rs ModifyEventSubscription =+             ModifyEventSubscriptionResponse+        request = postQuery+        response+          = receiveXMLWrapper "ModifyEventSubscriptionResult"+              (\ s h x ->+                 ModifyEventSubscriptionResponse' <$>+                   (x .@? "EventSubscription") <*> (pure (fromEnum s))) -mesrEventSubscription :: Lens' ModifyEventSubscriptionResponse (Maybe EventSubscription)-mesrEventSubscription =-    lens _mesrEventSubscription (\s a -> s { _mesrEventSubscription = a })+instance ToHeaders ModifyEventSubscription where+        toHeaders = const mempty  instance ToPath ModifyEventSubscription where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ModifyEventSubscription where-    toQuery ModifyEventSubscription{..} = mconcat-        [ "Enabled"          =? _mesEnabled-        , "EventCategories"  =? _mesEventCategories-        , "Severity"         =? _mesSeverity-        , "SnsTopicArn"      =? _mesSnsTopicArn-        , "SourceIds"        =? _mesSourceIds-        , "SourceType"       =? _mesSourceType-        , "SubscriptionName" =? _mesSubscriptionName-        ]+        toQuery ModifyEventSubscription'{..}+          = mconcat+              ["Action" =:+                 ("ModifyEventSubscription" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SnsTopicArn" =: _mesSNSTopicARN,+               "Enabled" =: _mesEnabled,+               "SourceType" =: _mesSourceType,+               "Severity" =: _mesSeverity,+               "EventCategories" =:+                 toQuery+                   (toQueryList "EventCategory" <$>+                      _mesEventCategories),+               "SourceIds" =:+                 toQuery (toQueryList "SourceId" <$> _mesSourceIds),+               "SubscriptionName" =: _mesSubscriptionName] -instance ToHeaders ModifyEventSubscription+-- | /See:/ 'modifyEventSubscriptionResponse' smart constructor.+data ModifyEventSubscriptionResponse = ModifyEventSubscriptionResponse'+    { _mesrsEventSubscription :: !(Maybe EventSubscription)+    , _mesrsStatus            :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ModifyEventSubscription where-    type Sv ModifyEventSubscription = Redshift-    type Rs ModifyEventSubscription = ModifyEventSubscriptionResponse+-- | Creates a value of 'ModifyEventSubscriptionResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mesrsEventSubscription'+--+-- * 'mesrsStatus'+modifyEventSubscriptionResponse+    :: Int -- ^ 'mesrsStatus'+    -> ModifyEventSubscriptionResponse+modifyEventSubscriptionResponse pStatus_ =+    ModifyEventSubscriptionResponse'+    { _mesrsEventSubscription = Nothing+    , _mesrsStatus = pStatus_+    } -    request  = post "ModifyEventSubscription"-    response = xmlResponse+-- | Undocumented member.+mesrsEventSubscription :: Lens' ModifyEventSubscriptionResponse (Maybe EventSubscription)+mesrsEventSubscription = lens _mesrsEventSubscription (\ s a -> s{_mesrsEventSubscription = a}); -instance FromXML ModifyEventSubscriptionResponse where-    parseXML = withElement "ModifyEventSubscriptionResult" $ \x -> ModifyEventSubscriptionResponse-        <$> x .@? "EventSubscription"+-- | The response status code.+mesrsStatus :: Lens' ModifyEventSubscriptionResponse Int+mesrsStatus = lens _mesrsStatus (\ s a -> s{_mesrsStatus = a});
gen/Network/AWS/Redshift/ModifySnapshotCopyRetentionPeriod.hs view
@@ -1,134 +1,153 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Modifies the number of days to retain automated snapshots in the destination--- region after they are copied from the source region.+-- Modifies the number of days to retain automated snapshots in the+-- destination region after they are copied from the source region. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifySnapshotCopyRetentionPeriod.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifySnapshotCopyRetentionPeriod.html AWS API Reference> for ModifySnapshotCopyRetentionPeriod. module Network.AWS.Redshift.ModifySnapshotCopyRetentionPeriod     (-    -- * Request-      ModifySnapshotCopyRetentionPeriod-    -- ** Request constructor-    , modifySnapshotCopyRetentionPeriod-    -- ** Request lenses+    -- * Creating a Request+      modifySnapshotCopyRetentionPeriod+    , ModifySnapshotCopyRetentionPeriod+    -- * Request Lenses     , mscrpClusterIdentifier     , mscrpRetentionPeriod -    -- * Response-    , ModifySnapshotCopyRetentionPeriodResponse-    -- ** Response constructor+    -- * Destructuring the Response     , modifySnapshotCopyRetentionPeriodResponse-    -- ** Response lenses-    , mscrprCluster+    , ModifySnapshotCopyRetentionPeriodResponse+    -- * Response Lenses+    , mscrprsCluster+    , mscrprsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data ModifySnapshotCopyRetentionPeriod = ModifySnapshotCopyRetentionPeriod-    { _mscrpClusterIdentifier :: Text-    , _mscrpRetentionPeriod   :: Int-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'ModifySnapshotCopyRetentionPeriod' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'modifySnapshotCopyRetentionPeriod' smart constructor.+data ModifySnapshotCopyRetentionPeriod = ModifySnapshotCopyRetentionPeriod'+    { _mscrpClusterIdentifier :: !Text+    , _mscrpRetentionPeriod   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ModifySnapshotCopyRetentionPeriod' with the minimum fields required to make a request. ----- * 'mscrpClusterIdentifier' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'mscrpRetentionPeriod' @::@ 'Int'+-- * 'mscrpClusterIdentifier' ---modifySnapshotCopyRetentionPeriod :: Text -- ^ 'mscrpClusterIdentifier'-                                  -> Int -- ^ 'mscrpRetentionPeriod'-                                  -> ModifySnapshotCopyRetentionPeriod-modifySnapshotCopyRetentionPeriod p1 p2 = ModifySnapshotCopyRetentionPeriod-    { _mscrpClusterIdentifier = p1-    , _mscrpRetentionPeriod   = p2+-- * 'mscrpRetentionPeriod'+modifySnapshotCopyRetentionPeriod+    :: Text -- ^ 'mscrpClusterIdentifier'+    -> Int -- ^ 'mscrpRetentionPeriod'+    -> ModifySnapshotCopyRetentionPeriod+modifySnapshotCopyRetentionPeriod pClusterIdentifier_ pRetentionPeriod_ =+    ModifySnapshotCopyRetentionPeriod'+    { _mscrpClusterIdentifier = pClusterIdentifier_+    , _mscrpRetentionPeriod = pRetentionPeriod_     }  -- | The unique identifier of the cluster for which you want to change the--- retention period for automated snapshots that are copied to a destination--- region.+-- retention period for automated snapshots that are copied to a+-- destination region. -- -- Constraints: Must be the valid name of an existing cluster that has -- cross-region snapshot copy enabled. mscrpClusterIdentifier :: Lens' ModifySnapshotCopyRetentionPeriod Text-mscrpClusterIdentifier =-    lens _mscrpClusterIdentifier (\s a -> s { _mscrpClusterIdentifier = a })+mscrpClusterIdentifier = lens _mscrpClusterIdentifier (\ s a -> s{_mscrpClusterIdentifier = a}); --- | The number of days to retain automated snapshots in the destination region--- after they are copied from the source region.+-- | The number of days to retain automated snapshots in the destination+-- region after they are copied from the source region. -- -- If you decrease the retention period for automated snapshots that are -- copied to a destination region, Amazon Redshift will delete any existing--- automated snapshots that were copied to the destination region and that fall--- outside of the new retention period.+-- automated snapshots that were copied to the destination region and that+-- fall outside of the new retention period. -- -- Constraints: Must be at least 1 and no more than 35. mscrpRetentionPeriod :: Lens' ModifySnapshotCopyRetentionPeriod Int-mscrpRetentionPeriod =-    lens _mscrpRetentionPeriod (\s a -> s { _mscrpRetentionPeriod = a })--newtype ModifySnapshotCopyRetentionPeriodResponse = ModifySnapshotCopyRetentionPeriodResponse-    { _mscrprCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+mscrpRetentionPeriod = lens _mscrpRetentionPeriod (\ s a -> s{_mscrpRetentionPeriod = a}); --- | 'ModifySnapshotCopyRetentionPeriodResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'mscrprCluster' @::@ 'Maybe' 'Cluster'----modifySnapshotCopyRetentionPeriodResponse :: ModifySnapshotCopyRetentionPeriodResponse-modifySnapshotCopyRetentionPeriodResponse = ModifySnapshotCopyRetentionPeriodResponse-    { _mscrprCluster = Nothing-    }+instance AWSRequest ModifySnapshotCopyRetentionPeriod+         where+        type Sv ModifySnapshotCopyRetentionPeriod = Redshift+        type Rs ModifySnapshotCopyRetentionPeriod =+             ModifySnapshotCopyRetentionPeriodResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "ModifySnapshotCopyRetentionPeriodResult"+              (\ s h x ->+                 ModifySnapshotCopyRetentionPeriodResponse' <$>+                   (x .@? "Cluster") <*> (pure (fromEnum s))) -mscrprCluster :: Lens' ModifySnapshotCopyRetentionPeriodResponse (Maybe Cluster)-mscrprCluster = lens _mscrprCluster (\s a -> s { _mscrprCluster = a })+instance ToHeaders ModifySnapshotCopyRetentionPeriod+         where+        toHeaders = const mempty -instance ToPath ModifySnapshotCopyRetentionPeriod where-    toPath = const "/"+instance ToPath ModifySnapshotCopyRetentionPeriod+         where+        toPath = const "/" -instance ToQuery ModifySnapshotCopyRetentionPeriod where-    toQuery ModifySnapshotCopyRetentionPeriod{..} = mconcat-        [ "ClusterIdentifier" =? _mscrpClusterIdentifier-        , "RetentionPeriod"   =? _mscrpRetentionPeriod-        ]+instance ToQuery ModifySnapshotCopyRetentionPeriod+         where+        toQuery ModifySnapshotCopyRetentionPeriod'{..}+          = mconcat+              ["Action" =:+                 ("ModifySnapshotCopyRetentionPeriod" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ClusterIdentifier" =: _mscrpClusterIdentifier,+               "RetentionPeriod" =: _mscrpRetentionPeriod] -instance ToHeaders ModifySnapshotCopyRetentionPeriod+-- | /See:/ 'modifySnapshotCopyRetentionPeriodResponse' smart constructor.+data ModifySnapshotCopyRetentionPeriodResponse = ModifySnapshotCopyRetentionPeriodResponse'+    { _mscrprsCluster :: !(Maybe Cluster)+    , _mscrprsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest ModifySnapshotCopyRetentionPeriod where-    type Sv ModifySnapshotCopyRetentionPeriod = Redshift-    type Rs ModifySnapshotCopyRetentionPeriod = ModifySnapshotCopyRetentionPeriodResponse+-- | Creates a value of 'ModifySnapshotCopyRetentionPeriodResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mscrprsCluster'+--+-- * 'mscrprsStatus'+modifySnapshotCopyRetentionPeriodResponse+    :: Int -- ^ 'mscrprsStatus'+    -> ModifySnapshotCopyRetentionPeriodResponse+modifySnapshotCopyRetentionPeriodResponse pStatus_ =+    ModifySnapshotCopyRetentionPeriodResponse'+    { _mscrprsCluster = Nothing+    , _mscrprsStatus = pStatus_+    } -    request  = post "ModifySnapshotCopyRetentionPeriod"-    response = xmlResponse+-- | Undocumented member.+mscrprsCluster :: Lens' ModifySnapshotCopyRetentionPeriodResponse (Maybe Cluster)+mscrprsCluster = lens _mscrprsCluster (\ s a -> s{_mscrprsCluster = a}); -instance FromXML ModifySnapshotCopyRetentionPeriodResponse where-    parseXML = withElement "ModifySnapshotCopyRetentionPeriodResult" $ \x -> ModifySnapshotCopyRetentionPeriodResponse-        <$> x .@? "Cluster"+-- | The response status code.+mscrprsStatus :: Lens' ModifySnapshotCopyRetentionPeriodResponse Int+mscrprsStatus = lens _mscrprsStatus (\ s a -> s{_mscrprsStatus = a});
gen/Network/AWS/Redshift/PurchaseReservedNodeOffering.hs view
@@ -1,128 +1,148 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.PurchaseReservedNodeOffering--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Allows you to purchase reserved nodes. Amazon Redshift offers a predefined--- set of reserved node offerings. You can purchase one of the offerings. You--- can call the 'DescribeReservedNodeOfferings' API to obtain the available--- reserved node offerings. You can call this API by providing a specific--- reserved node offering and the number of nodes you want to reserve.+-- Allows you to purchase reserved nodes. Amazon Redshift offers a+-- predefined set of reserved node offerings. You can purchase one or more+-- of the offerings. You can call the DescribeReservedNodeOfferings API to+-- obtain the available reserved node offerings. You can call this API by+-- providing a specific reserved node offering and the number of nodes you+-- want to reserve. ----- For more information about managing parameter groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html PurchasingReserved Nodes> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about reserved node offerings, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html Purchasing Reserved Nodes>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_PurchaseReservedNodeOffering.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_PurchaseReservedNodeOffering.html AWS API Reference> for PurchaseReservedNodeOffering. module Network.AWS.Redshift.PurchaseReservedNodeOffering     (-    -- * Request-      PurchaseReservedNodeOffering-    -- ** Request constructor-    , purchaseReservedNodeOffering-    -- ** Request lenses+    -- * Creating a Request+      purchaseReservedNodeOffering+    , PurchaseReservedNodeOffering+    -- * Request Lenses     , prnoNodeCount     , prnoReservedNodeOfferingId -    -- * Response-    , PurchaseReservedNodeOfferingResponse-    -- ** Response constructor+    -- * Destructuring the Response     , purchaseReservedNodeOfferingResponse-    -- ** Response lenses-    , prnorReservedNode+    , PurchaseReservedNodeOfferingResponse+    -- * Response Lenses+    , prnorsReservedNode+    , prnorsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data PurchaseReservedNodeOffering = PurchaseReservedNodeOffering-    { _prnoNodeCount              :: Maybe Int-    , _prnoReservedNodeOfferingId :: Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'PurchaseReservedNodeOffering' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'purchaseReservedNodeOffering' smart constructor.+data PurchaseReservedNodeOffering = PurchaseReservedNodeOffering'+    { _prnoNodeCount              :: !(Maybe Int)+    , _prnoReservedNodeOfferingId :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PurchaseReservedNodeOffering' with the minimum fields required to make a request. ----- * 'prnoNodeCount' @::@ 'Maybe' 'Int'+-- Use one of the following lenses to modify other fields as desired: ----- * 'prnoReservedNodeOfferingId' @::@ 'Text'+-- * 'prnoNodeCount' ---purchaseReservedNodeOffering :: Text -- ^ 'prnoReservedNodeOfferingId'-                             -> PurchaseReservedNodeOffering-purchaseReservedNodeOffering p1 = PurchaseReservedNodeOffering-    { _prnoReservedNodeOfferingId = p1-    , _prnoNodeCount              = Nothing+-- * 'prnoReservedNodeOfferingId'+purchaseReservedNodeOffering+    :: Text -- ^ 'prnoReservedNodeOfferingId'+    -> PurchaseReservedNodeOffering+purchaseReservedNodeOffering pReservedNodeOfferingId_ =+    PurchaseReservedNodeOffering'+    { _prnoNodeCount = Nothing+    , _prnoReservedNodeOfferingId = pReservedNodeOfferingId_     }  -- | The number of reserved nodes you want to purchase. -- -- Default: '1' prnoNodeCount :: Lens' PurchaseReservedNodeOffering (Maybe Int)-prnoNodeCount = lens _prnoNodeCount (\s a -> s { _prnoNodeCount = a })+prnoNodeCount = lens _prnoNodeCount (\ s a -> s{_prnoNodeCount = a}); --- | The unique identifier of the reserved node offering you want to purchase.+-- | The unique identifier of the reserved node offering you want to+-- purchase. prnoReservedNodeOfferingId :: Lens' PurchaseReservedNodeOffering Text-prnoReservedNodeOfferingId =-    lens _prnoReservedNodeOfferingId-        (\s a -> s { _prnoReservedNodeOfferingId = a })--newtype PurchaseReservedNodeOfferingResponse = PurchaseReservedNodeOfferingResponse-    { _prnorReservedNode :: Maybe ReservedNode-    } deriving (Eq, Read, Show)+prnoReservedNodeOfferingId = lens _prnoReservedNodeOfferingId (\ s a -> s{_prnoReservedNodeOfferingId = a}); --- | 'PurchaseReservedNodeOfferingResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'prnorReservedNode' @::@ 'Maybe' 'ReservedNode'----purchaseReservedNodeOfferingResponse :: PurchaseReservedNodeOfferingResponse-purchaseReservedNodeOfferingResponse = PurchaseReservedNodeOfferingResponse-    { _prnorReservedNode = Nothing-    }+instance AWSRequest PurchaseReservedNodeOffering+         where+        type Sv PurchaseReservedNodeOffering = Redshift+        type Rs PurchaseReservedNodeOffering =+             PurchaseReservedNodeOfferingResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "PurchaseReservedNodeOfferingResult"+              (\ s h x ->+                 PurchaseReservedNodeOfferingResponse' <$>+                   (x .@? "ReservedNode") <*> (pure (fromEnum s))) -prnorReservedNode :: Lens' PurchaseReservedNodeOfferingResponse (Maybe ReservedNode)-prnorReservedNode =-    lens _prnorReservedNode (\s a -> s { _prnorReservedNode = a })+instance ToHeaders PurchaseReservedNodeOffering where+        toHeaders = const mempty  instance ToPath PurchaseReservedNodeOffering where-    toPath = const "/"+        toPath = const "/"  instance ToQuery PurchaseReservedNodeOffering where-    toQuery PurchaseReservedNodeOffering{..} = mconcat-        [ "NodeCount"              =? _prnoNodeCount-        , "ReservedNodeOfferingId" =? _prnoReservedNodeOfferingId-        ]+        toQuery PurchaseReservedNodeOffering'{..}+          = mconcat+              ["Action" =:+                 ("PurchaseReservedNodeOffering" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "NodeCount" =: _prnoNodeCount,+               "ReservedNodeOfferingId" =:+                 _prnoReservedNodeOfferingId] -instance ToHeaders PurchaseReservedNodeOffering+-- | /See:/ 'purchaseReservedNodeOfferingResponse' smart constructor.+data PurchaseReservedNodeOfferingResponse = PurchaseReservedNodeOfferingResponse'+    { _prnorsReservedNode :: !(Maybe ReservedNode)+    , _prnorsStatus       :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest PurchaseReservedNodeOffering where-    type Sv PurchaseReservedNodeOffering = Redshift-    type Rs PurchaseReservedNodeOffering = PurchaseReservedNodeOfferingResponse+-- | Creates a value of 'PurchaseReservedNodeOfferingResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'prnorsReservedNode'+--+-- * 'prnorsStatus'+purchaseReservedNodeOfferingResponse+    :: Int -- ^ 'prnorsStatus'+    -> PurchaseReservedNodeOfferingResponse+purchaseReservedNodeOfferingResponse pStatus_ =+    PurchaseReservedNodeOfferingResponse'+    { _prnorsReservedNode = Nothing+    , _prnorsStatus = pStatus_+    } -    request  = post "PurchaseReservedNodeOffering"-    response = xmlResponse+-- | Undocumented member.+prnorsReservedNode :: Lens' PurchaseReservedNodeOfferingResponse (Maybe ReservedNode)+prnorsReservedNode = lens _prnorsReservedNode (\ s a -> s{_prnorsReservedNode = a}); -instance FromXML PurchaseReservedNodeOfferingResponse where-    parseXML = withElement "PurchaseReservedNodeOfferingResult" $ \x -> PurchaseReservedNodeOfferingResponse-        <$> x .@? "ReservedNode"+-- | The response status code.+prnorsStatus :: Lens' PurchaseReservedNodeOfferingResponse Int+prnorsStatus = lens _prnorsStatus (\ s a -> s{_prnorsStatus = a});
gen/Network/AWS/Redshift/RebootCluster.hs view
@@ -1,112 +1,128 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.RebootCluster--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Reboots a cluster. This action is taken as soon as possible. It results in a--- momentary outage to the cluster, during which the cluster status is set to 'rebooting'. A cluster event is created when the reboot is completed. Any pending--- cluster modifications (see 'ModifyCluster') are applied at this reboot. For--- more information about managing clusters, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters> in--- the /Amazon Redshift Cluster Management Guide/+-- Reboots a cluster. This action is taken as soon as possible. It results+-- in a momentary outage to the cluster, during which the cluster status is+-- set to 'rebooting'. A cluster event is created when the reboot is+-- completed. Any pending cluster modifications (see ModifyCluster) are+-- applied at this reboot. For more information about managing clusters, go+-- to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html Amazon Redshift Clusters>+-- in the /Amazon Redshift Cluster Management Guide/ ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RebootCluster.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RebootCluster.html AWS API Reference> for RebootCluster. module Network.AWS.Redshift.RebootCluster     (-    -- * Request-      RebootCluster-    -- ** Request constructor-    , rebootCluster-    -- ** Request lenses+    -- * Creating a Request+      rebootCluster+    , RebootCluster+    -- * Request Lenses     , rcClusterIdentifier -    -- * Response-    , RebootClusterResponse-    -- ** Response constructor+    -- * Destructuring the Response     , rebootClusterResponse-    -- ** Response lenses-    , rcrCluster+    , RebootClusterResponse+    -- * Response Lenses+    , rcrsCluster+    , rcrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -newtype RebootCluster = RebootCluster+-- |+--+-- /See:/ 'rebootCluster' smart constructor.+newtype RebootCluster = RebootCluster'     { _rcClusterIdentifier :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RebootCluster' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RebootCluster' with the minimum fields required to make a request. ----- * 'rcClusterIdentifier' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---rebootCluster :: Text -- ^ 'rcClusterIdentifier'-              -> RebootCluster-rebootCluster p1 = RebootCluster-    { _rcClusterIdentifier = p1+-- * 'rcClusterIdentifier'+rebootCluster+    :: Text -- ^ 'rcClusterIdentifier'+    -> RebootCluster+rebootCluster pClusterIdentifier_ =+    RebootCluster'+    { _rcClusterIdentifier = pClusterIdentifier_     }  -- | The cluster identifier. rcClusterIdentifier :: Lens' RebootCluster Text-rcClusterIdentifier =-    lens _rcClusterIdentifier (\s a -> s { _rcClusterIdentifier = a })--newtype RebootClusterResponse = RebootClusterResponse-    { _rcrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+rcClusterIdentifier = lens _rcClusterIdentifier (\ s a -> s{_rcClusterIdentifier = a}); --- | 'RebootClusterResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rcrCluster' @::@ 'Maybe' 'Cluster'----rebootClusterResponse :: RebootClusterResponse-rebootClusterResponse = RebootClusterResponse-    { _rcrCluster = Nothing-    }+instance AWSRequest RebootCluster where+        type Sv RebootCluster = Redshift+        type Rs RebootCluster = RebootClusterResponse+        request = postQuery+        response+          = receiveXMLWrapper "RebootClusterResult"+              (\ s h x ->+                 RebootClusterResponse' <$>+                   (x .@? "Cluster") <*> (pure (fromEnum s))) -rcrCluster :: Lens' RebootClusterResponse (Maybe Cluster)-rcrCluster = lens _rcrCluster (\s a -> s { _rcrCluster = a })+instance ToHeaders RebootCluster where+        toHeaders = const mempty  instance ToPath RebootCluster where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RebootCluster where-    toQuery RebootCluster{..} = mconcat-        [ "ClusterIdentifier" =? _rcClusterIdentifier-        ]+        toQuery RebootCluster'{..}+          = mconcat+              ["Action" =: ("RebootCluster" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ClusterIdentifier" =: _rcClusterIdentifier] -instance ToHeaders RebootCluster+-- | /See:/ 'rebootClusterResponse' smart constructor.+data RebootClusterResponse = RebootClusterResponse'+    { _rcrsCluster :: !(Maybe Cluster)+    , _rcrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RebootCluster where-    type Sv RebootCluster = Redshift-    type Rs RebootCluster = RebootClusterResponse+-- | Creates a value of 'RebootClusterResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcrsCluster'+--+-- * 'rcrsStatus'+rebootClusterResponse+    :: Int -- ^ 'rcrsStatus'+    -> RebootClusterResponse+rebootClusterResponse pStatus_ =+    RebootClusterResponse'+    { _rcrsCluster = Nothing+    , _rcrsStatus = pStatus_+    } -    request  = post "RebootCluster"-    response = xmlResponse+-- | Undocumented member.+rcrsCluster :: Lens' RebootClusterResponse (Maybe Cluster)+rcrsCluster = lens _rcrsCluster (\ s a -> s{_rcrsCluster = a}); -instance FromXML RebootClusterResponse where-    parseXML = withElement "RebootClusterResult" $ \x -> RebootClusterResponse-        <$> x .@? "Cluster"+-- | The response status code.+rcrsStatus :: Lens' RebootClusterResponse Int+rcrsStatus = lens _rcrsStatus (\ s a -> s{_rcrsStatus = a});
gen/Network/AWS/Redshift/ResetClusterParameterGroup.hs view
@@ -1,154 +1,125 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.ResetClusterParameterGroup--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Sets one or more parameters of the specified parameter group to their+-- Sets one or more parameters of the specified parameter group to their -- default values and sets the source values of the parameters to--- "engine-default". To reset the entire parameter group specify the /ResetAllParameters/ parameter. For parameter changes to take effect you must reboot any--- associated clusters.+-- \"engine-default\". To reset the entire parameter group specify the+-- /ResetAllParameters/ parameter. For parameter changes to take effect you+-- must reboot any associated clusters. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ResetClusterParameterGroup.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_ResetClusterParameterGroup.html AWS API Reference> for ResetClusterParameterGroup. module Network.AWS.Redshift.ResetClusterParameterGroup     (-    -- * Request-      ResetClusterParameterGroup-    -- ** Request constructor-    , resetClusterParameterGroup-    -- ** Request lenses-    , rcpgParameterGroupName-    , rcpgParameters+    -- * Creating a Request+      resetClusterParameterGroup+    , ResetClusterParameterGroup+    -- * Request Lenses     , rcpgResetAllParameters+    , rcpgParameters+    , rcpgParameterGroupName -    -- * Response-    , ResetClusterParameterGroupResponse-    -- ** Response constructor-    , resetClusterParameterGroupResponse-    -- ** Response lenses-    , rcpgrParameterGroupName-    , rcpgrParameterGroupStatus+    -- * Destructuring the Response+    , clusterParameterGroupNameMessage+    , ClusterParameterGroupNameMessage+    -- * Response Lenses+    , cpgnmParameterGroupStatus+    , cpgnmParameterGroupName     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data ResetClusterParameterGroup = ResetClusterParameterGroup-    { _rcpgParameterGroupName :: Text-    , _rcpgParameters         :: List "member" Parameter-    , _rcpgResetAllParameters :: Maybe Bool-    } deriving (Eq, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'ResetClusterParameterGroup' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'resetClusterParameterGroup' smart constructor.+data ResetClusterParameterGroup = ResetClusterParameterGroup'+    { _rcpgResetAllParameters :: !(Maybe Bool)+    , _rcpgParameters         :: !(Maybe [Parameter])+    , _rcpgParameterGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ResetClusterParameterGroup' with the minimum fields required to make a request. ----- * 'rcpgParameterGroupName' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rcpgParameters' @::@ ['Parameter']+-- * 'rcpgResetAllParameters' ----- * 'rcpgResetAllParameters' @::@ 'Maybe' 'Bool'+-- * 'rcpgParameters' ---resetClusterParameterGroup :: Text -- ^ 'rcpgParameterGroupName'-                           -> ResetClusterParameterGroup-resetClusterParameterGroup p1 = ResetClusterParameterGroup-    { _rcpgParameterGroupName = p1-    , _rcpgResetAllParameters = Nothing-    , _rcpgParameters         = mempty+-- * 'rcpgParameterGroupName'+resetClusterParameterGroup+    :: Text -- ^ 'rcpgParameterGroupName'+    -> ResetClusterParameterGroup+resetClusterParameterGroup pParameterGroupName_ =+    ResetClusterParameterGroup'+    { _rcpgResetAllParameters = Nothing+    , _rcpgParameters = Nothing+    , _rcpgParameterGroupName = pParameterGroupName_     } --- | The name of the cluster parameter group to be reset.-rcpgParameterGroupName :: Lens' ResetClusterParameterGroup Text-rcpgParameterGroupName =-    lens _rcpgParameterGroupName (\s a -> s { _rcpgParameterGroupName = a })---- | An array of names of parameters to be reset. If /ResetAllParameters/ option is--- not used, then at least one parameter name must be supplied.------ Constraints: A maximum of 20 parameters can be reset in a single request.-rcpgParameters :: Lens' ResetClusterParameterGroup [Parameter]-rcpgParameters = lens _rcpgParameters (\s a -> s { _rcpgParameters = a }) . _List---- | If 'true', all parameters in the specified parameter group will be reset to--- their default values.+-- | If 'true', all parameters in the specified parameter group will be reset+-- to their default values. -- -- Default: 'true' rcpgResetAllParameters :: Lens' ResetClusterParameterGroup (Maybe Bool)-rcpgResetAllParameters =-    lens _rcpgResetAllParameters (\s a -> s { _rcpgResetAllParameters = a })--data ResetClusterParameterGroupResponse = ResetClusterParameterGroupResponse-    { _rcpgrParameterGroupName   :: Maybe Text-    , _rcpgrParameterGroupStatus :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+rcpgResetAllParameters = lens _rcpgResetAllParameters (\ s a -> s{_rcpgResetAllParameters = a}); --- | 'ResetClusterParameterGroupResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rcpgrParameterGroupName' @::@ 'Maybe' 'Text'------ * 'rcpgrParameterGroupStatus' @::@ 'Maybe' 'Text'+-- | An array of names of parameters to be reset. If /ResetAllParameters/+-- option is not used, then at least one parameter name must be supplied. ---resetClusterParameterGroupResponse :: ResetClusterParameterGroupResponse-resetClusterParameterGroupResponse = ResetClusterParameterGroupResponse-    { _rcpgrParameterGroupName   = Nothing-    , _rcpgrParameterGroupStatus = Nothing-    }+-- Constraints: A maximum of 20 parameters can be reset in a single+-- request.+rcpgParameters :: Lens' ResetClusterParameterGroup [Parameter]+rcpgParameters = lens _rcpgParameters (\ s a -> s{_rcpgParameters = a}) . _Default . _Coerce; --- | The name of the cluster parameter group.-rcpgrParameterGroupName :: Lens' ResetClusterParameterGroupResponse (Maybe Text)-rcpgrParameterGroupName =-    lens _rcpgrParameterGroupName (\s a -> s { _rcpgrParameterGroupName = a })+-- | The name of the cluster parameter group to be reset.+rcpgParameterGroupName :: Lens' ResetClusterParameterGroup Text+rcpgParameterGroupName = lens _rcpgParameterGroupName (\ s a -> s{_rcpgParameterGroupName = a}); --- | The status of the parameter group. For example, if you made a change to a--- parameter group name-value pair, then the change could be pending a reboot of--- an associated cluster.-rcpgrParameterGroupStatus :: Lens' ResetClusterParameterGroupResponse (Maybe Text)-rcpgrParameterGroupStatus =-    lens _rcpgrParameterGroupStatus-        (\s a -> s { _rcpgrParameterGroupStatus = a })+instance AWSRequest ResetClusterParameterGroup where+        type Sv ResetClusterParameterGroup = Redshift+        type Rs ResetClusterParameterGroup =+             ClusterParameterGroupNameMessage+        request = postQuery+        response+          = receiveXMLWrapper+              "ResetClusterParameterGroupResult"+              (\ s h x -> parseXML x) +instance ToHeaders ResetClusterParameterGroup where+        toHeaders = const mempty+ instance ToPath ResetClusterParameterGroup where-    toPath = const "/"+        toPath = const "/"  instance ToQuery ResetClusterParameterGroup where-    toQuery ResetClusterParameterGroup{..} = mconcat-        [ "ParameterGroupName" =? _rcpgParameterGroupName-        , "Parameters"         =? _rcpgParameters-        , "ResetAllParameters" =? _rcpgResetAllParameters-        ]--instance ToHeaders ResetClusterParameterGroup--instance AWSRequest ResetClusterParameterGroup where-    type Sv ResetClusterParameterGroup = Redshift-    type Rs ResetClusterParameterGroup = ResetClusterParameterGroupResponse--    request  = post "ResetClusterParameterGroup"-    response = xmlResponse--instance FromXML ResetClusterParameterGroupResponse where-    parseXML = withElement "ResetClusterParameterGroupResult" $ \x -> ResetClusterParameterGroupResponse-        <$> x .@? "ParameterGroupName"-        <*> x .@? "ParameterGroupStatus"+        toQuery ResetClusterParameterGroup'{..}+          = mconcat+              ["Action" =:+                 ("ResetClusterParameterGroup" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ResetAllParameters" =: _rcpgResetAllParameters,+               "Parameters" =:+                 toQuery+                   (toQueryList "Parameter" <$> _rcpgParameters),+               "ParameterGroupName" =: _rcpgParameterGroupName]
gen/Network/AWS/Redshift/RestoreFromClusterSnapshot.hs view
@@ -1,271 +1,307 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.RestoreFromClusterSnapshot--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Creates a new cluster from a snapshot. Amazon Redshift creates the resulting--- cluster with the same configuration as the original cluster from which the--- snapshot was created, except that the new cluster is created with the default--- cluster security and parameter group. After Amazon Redshift creates the--- cluster you can use the 'ModifyCluster' API to associate a different security--- group and different parameter group with the restored cluster.+-- Creates a new cluster from a snapshot. By default, Amazon Redshift+-- creates the resulting cluster with the same configuration as the+-- original cluster from which the snapshot was created, except that the+-- new cluster is created with the default cluster security and parameter+-- groups. After Amazon Redshift creates the cluster, you can use the+-- ModifyCluster API to associate a different security group and different+-- parameter group with the restored cluster. If you are using a DS node+-- type, you can also choose to change to another DS node type of the same+-- size during restore. -- -- If you restore a cluster into a VPC, you must provide a cluster subnet -- group where you want the cluster restored. ----- For more information about working with snapshots, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon RedshiftSnapshots> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about working with snapshots, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon Redshift Snapshots>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RestoreFromClusterSnapshot.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RestoreFromClusterSnapshot.html AWS API Reference> for RestoreFromClusterSnapshot. module Network.AWS.Redshift.RestoreFromClusterSnapshot     (-    -- * Request-      RestoreFromClusterSnapshot-    -- ** Request constructor-    , restoreFromClusterSnapshot-    -- ** Request lenses-    , rfcsAllowVersionUpgrade-    , rfcsAutomatedSnapshotRetentionPeriod-    , rfcsAvailabilityZone-    , rfcsClusterIdentifier-    , rfcsClusterParameterGroupName+    -- * Creating a Request+      restoreFromClusterSnapshot+    , RestoreFromClusterSnapshot+    -- * Request Lenses+    , rfcsPubliclyAccessible+    , rfcsHSMConfigurationIdentifier+    , rfcsSnapshotClusterIdentifier     , rfcsClusterSecurityGroups+    , rfcsAutomatedSnapshotRetentionPeriod+    , rfcsHSMClientCertificateIdentifier     , rfcsClusterSubnetGroupName-    , rfcsElasticIp-    , rfcsHsmClientCertificateIdentifier-    , rfcsHsmConfigurationIdentifier-    , rfcsKmsKeyId+    , rfcsElasticIP+    , rfcsPreferredMaintenanceWindow+    , rfcsAvailabilityZone+    , rfcsKMSKeyId+    , rfcsVPCSecurityGroupIds     , rfcsOwnerAccount+    , rfcsNodeType+    , rfcsAllowVersionUpgrade+    , rfcsClusterParameterGroupName     , rfcsPort-    , rfcsPreferredMaintenanceWindow-    , rfcsPubliclyAccessible-    , rfcsSnapshotClusterIdentifier+    , rfcsClusterIdentifier     , rfcsSnapshotIdentifier-    , rfcsVpcSecurityGroupIds -    -- * Response-    , RestoreFromClusterSnapshotResponse-    -- ** Response constructor+    -- * Destructuring the Response     , restoreFromClusterSnapshotResponse-    -- ** Response lenses-    , rfcsrCluster+    , RestoreFromClusterSnapshotResponse+    -- * Response Lenses+    , rfcsrsCluster+    , rfcsrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -data RestoreFromClusterSnapshot = RestoreFromClusterSnapshot-    { _rfcsAllowVersionUpgrade              :: Maybe Bool-    , _rfcsAutomatedSnapshotRetentionPeriod :: Maybe Int-    , _rfcsAvailabilityZone                 :: Maybe Text-    , _rfcsClusterIdentifier                :: Text-    , _rfcsClusterParameterGroupName        :: Maybe Text-    , _rfcsClusterSecurityGroups            :: List "member" Text-    , _rfcsClusterSubnetGroupName           :: Maybe Text-    , _rfcsElasticIp                        :: Maybe Text-    , _rfcsHsmClientCertificateIdentifier   :: Maybe Text-    , _rfcsHsmConfigurationIdentifier       :: Maybe Text-    , _rfcsKmsKeyId                         :: Maybe Text-    , _rfcsOwnerAccount                     :: Maybe Text-    , _rfcsPort                             :: Maybe Int-    , _rfcsPreferredMaintenanceWindow       :: Maybe Text-    , _rfcsPubliclyAccessible               :: Maybe Bool-    , _rfcsSnapshotClusterIdentifier        :: Maybe Text-    , _rfcsSnapshotIdentifier               :: Text-    , _rfcsVpcSecurityGroupIds              :: List "member" Text-    } deriving (Eq, Ord, Read, Show)+-- |+--+-- /See:/ 'restoreFromClusterSnapshot' smart constructor.+data RestoreFromClusterSnapshot = RestoreFromClusterSnapshot'+    { _rfcsPubliclyAccessible               :: !(Maybe Bool)+    , _rfcsHSMConfigurationIdentifier       :: !(Maybe Text)+    , _rfcsSnapshotClusterIdentifier        :: !(Maybe Text)+    , _rfcsClusterSecurityGroups            :: !(Maybe [Text])+    , _rfcsAutomatedSnapshotRetentionPeriod :: !(Maybe Int)+    , _rfcsHSMClientCertificateIdentifier   :: !(Maybe Text)+    , _rfcsClusterSubnetGroupName           :: !(Maybe Text)+    , _rfcsElasticIP                        :: !(Maybe Text)+    , _rfcsPreferredMaintenanceWindow       :: !(Maybe Text)+    , _rfcsAvailabilityZone                 :: !(Maybe Text)+    , _rfcsKMSKeyId                         :: !(Maybe Text)+    , _rfcsVPCSecurityGroupIds              :: !(Maybe [Text])+    , _rfcsOwnerAccount                     :: !(Maybe Text)+    , _rfcsNodeType                         :: !(Maybe Text)+    , _rfcsAllowVersionUpgrade              :: !(Maybe Bool)+    , _rfcsClusterParameterGroupName        :: !(Maybe Text)+    , _rfcsPort                             :: !(Maybe Int)+    , _rfcsClusterIdentifier                :: !Text+    , _rfcsSnapshotIdentifier               :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RestoreFromClusterSnapshot' constructor.+-- | Creates a value of 'RestoreFromClusterSnapshot' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'rfcsAllowVersionUpgrade' @::@ 'Maybe' 'Bool'+-- * 'rfcsPubliclyAccessible' ----- * 'rfcsAutomatedSnapshotRetentionPeriod' @::@ 'Maybe' 'Int'+-- * 'rfcsHSMConfigurationIdentifier' ----- * 'rfcsAvailabilityZone' @::@ 'Maybe' 'Text'+-- * 'rfcsSnapshotClusterIdentifier' ----- * 'rfcsClusterIdentifier' @::@ 'Text'+-- * 'rfcsClusterSecurityGroups' ----- * 'rfcsClusterParameterGroupName' @::@ 'Maybe' 'Text'+-- * 'rfcsAutomatedSnapshotRetentionPeriod' ----- * 'rfcsClusterSecurityGroups' @::@ ['Text']+-- * 'rfcsHSMClientCertificateIdentifier' ----- * 'rfcsClusterSubnetGroupName' @::@ 'Maybe' 'Text'+-- * 'rfcsClusterSubnetGroupName' ----- * 'rfcsElasticIp' @::@ 'Maybe' 'Text'+-- * 'rfcsElasticIP' ----- * 'rfcsHsmClientCertificateIdentifier' @::@ 'Maybe' 'Text'+-- * 'rfcsPreferredMaintenanceWindow' ----- * 'rfcsHsmConfigurationIdentifier' @::@ 'Maybe' 'Text'+-- * 'rfcsAvailabilityZone' ----- * 'rfcsKmsKeyId' @::@ 'Maybe' 'Text'+-- * 'rfcsKMSKeyId' ----- * 'rfcsOwnerAccount' @::@ 'Maybe' 'Text'+-- * 'rfcsVPCSecurityGroupIds' ----- * 'rfcsPort' @::@ 'Maybe' 'Int'+-- * 'rfcsOwnerAccount' ----- * 'rfcsPreferredMaintenanceWindow' @::@ 'Maybe' 'Text'+-- * 'rfcsNodeType' ----- * 'rfcsPubliclyAccessible' @::@ 'Maybe' 'Bool'+-- * 'rfcsAllowVersionUpgrade' ----- * 'rfcsSnapshotClusterIdentifier' @::@ 'Maybe' 'Text'+-- * 'rfcsClusterParameterGroupName' ----- * 'rfcsSnapshotIdentifier' @::@ 'Text'+-- * 'rfcsPort' ----- * 'rfcsVpcSecurityGroupIds' @::@ ['Text']+-- * 'rfcsClusterIdentifier' ---restoreFromClusterSnapshot :: Text -- ^ 'rfcsClusterIdentifier'-                           -> Text -- ^ 'rfcsSnapshotIdentifier'-                           -> RestoreFromClusterSnapshot-restoreFromClusterSnapshot p1 p2 = RestoreFromClusterSnapshot-    { _rfcsClusterIdentifier                = p1-    , _rfcsSnapshotIdentifier               = p2-    , _rfcsSnapshotClusterIdentifier        = Nothing-    , _rfcsPort                             = Nothing-    , _rfcsAvailabilityZone                 = Nothing-    , _rfcsAllowVersionUpgrade              = Nothing-    , _rfcsClusterSubnetGroupName           = Nothing-    , _rfcsPubliclyAccessible               = Nothing-    , _rfcsOwnerAccount                     = Nothing-    , _rfcsHsmClientCertificateIdentifier   = Nothing-    , _rfcsHsmConfigurationIdentifier       = Nothing-    , _rfcsElasticIp                        = Nothing-    , _rfcsClusterParameterGroupName        = Nothing-    , _rfcsClusterSecurityGroups            = mempty-    , _rfcsVpcSecurityGroupIds              = mempty-    , _rfcsPreferredMaintenanceWindow       = Nothing+-- * 'rfcsSnapshotIdentifier'+restoreFromClusterSnapshot+    :: Text -- ^ 'rfcsClusterIdentifier'+    -> Text -- ^ 'rfcsSnapshotIdentifier'+    -> RestoreFromClusterSnapshot+restoreFromClusterSnapshot pClusterIdentifier_ pSnapshotIdentifier_ =+    RestoreFromClusterSnapshot'+    { _rfcsPubliclyAccessible = Nothing+    , _rfcsHSMConfigurationIdentifier = Nothing+    , _rfcsSnapshotClusterIdentifier = Nothing+    , _rfcsClusterSecurityGroups = Nothing     , _rfcsAutomatedSnapshotRetentionPeriod = Nothing-    , _rfcsKmsKeyId                         = Nothing+    , _rfcsHSMClientCertificateIdentifier = Nothing+    , _rfcsClusterSubnetGroupName = Nothing+    , _rfcsElasticIP = Nothing+    , _rfcsPreferredMaintenanceWindow = Nothing+    , _rfcsAvailabilityZone = Nothing+    , _rfcsKMSKeyId = Nothing+    , _rfcsVPCSecurityGroupIds = Nothing+    , _rfcsOwnerAccount = Nothing+    , _rfcsNodeType = Nothing+    , _rfcsAllowVersionUpgrade = Nothing+    , _rfcsClusterParameterGroupName = Nothing+    , _rfcsPort = Nothing+    , _rfcsClusterIdentifier = pClusterIdentifier_+    , _rfcsSnapshotIdentifier = pSnapshotIdentifier_     } --- | If 'true', major version upgrades can be applied during the maintenance window--- to the Amazon Redshift engine that is running on the cluster.+-- | If 'true', the cluster can be accessed from a public network.+rfcsPubliclyAccessible :: Lens' RestoreFromClusterSnapshot (Maybe Bool)+rfcsPubliclyAccessible = lens _rfcsPubliclyAccessible (\ s a -> s{_rfcsPubliclyAccessible = a});++-- | Specifies the name of the HSM configuration that contains the+-- information the Amazon Redshift cluster can use to retrieve and store+-- keys in an HSM.+rfcsHSMConfigurationIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)+rfcsHSMConfigurationIdentifier = lens _rfcsHSMConfigurationIdentifier (\ s a -> s{_rfcsHSMConfigurationIdentifier = a});++-- | The name of the cluster the source snapshot was created from. This+-- parameter is required if your IAM user has a policy containing a+-- snapshot resource element that specifies anything other than * for the+-- cluster name.+rfcsSnapshotClusterIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)+rfcsSnapshotClusterIdentifier = lens _rfcsSnapshotClusterIdentifier (\ s a -> s{_rfcsSnapshotClusterIdentifier = a});++-- | A list of security groups to be associated with this cluster. ----- Default: 'true'-rfcsAllowVersionUpgrade :: Lens' RestoreFromClusterSnapshot (Maybe Bool)-rfcsAllowVersionUpgrade =-    lens _rfcsAllowVersionUpgrade (\s a -> s { _rfcsAllowVersionUpgrade = a })+-- Default: The default cluster security group for Amazon Redshift.+--+-- Cluster security groups only apply to clusters outside of VPCs.+rfcsClusterSecurityGroups :: Lens' RestoreFromClusterSnapshot [Text]+rfcsClusterSecurityGroups = lens _rfcsClusterSecurityGroups (\ s a -> s{_rfcsClusterSecurityGroups = a}) . _Default . _Coerce; --- | The number of days that automated snapshots are retained. If the value is 0,--- automated snapshots are disabled. Even if automated snapshots are disabled,--- you can still create manual snapshots when you want with 'CreateClusterSnapshot'--- .+-- | The number of days that automated snapshots are retained. If the value+-- is 0, automated snapshots are disabled. Even if automated snapshots are+-- disabled, you can still create manual snapshots when you want with+-- CreateClusterSnapshot. -- -- Default: The value selected for the cluster from which the snapshot was -- taken. -- -- Constraints: Must be a value from 0 to 35. rfcsAutomatedSnapshotRetentionPeriod :: Lens' RestoreFromClusterSnapshot (Maybe Int)-rfcsAutomatedSnapshotRetentionPeriod =-    lens _rfcsAutomatedSnapshotRetentionPeriod-        (\s a -> s { _rfcsAutomatedSnapshotRetentionPeriod = a })+rfcsAutomatedSnapshotRetentionPeriod = lens _rfcsAutomatedSnapshotRetentionPeriod (\ s a -> s{_rfcsAutomatedSnapshotRetentionPeriod = a}); +-- | Specifies the name of the HSM client certificate the Amazon Redshift+-- cluster uses to retrieve the data encryption keys stored in an HSM.+rfcsHSMClientCertificateIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)+rfcsHSMClientCertificateIdentifier = lens _rfcsHSMClientCertificateIdentifier (\ s a -> s{_rfcsHSMClientCertificateIdentifier = a});++-- | The name of the subnet group where you want to cluster restored.+--+-- A snapshot of cluster in VPC can be restored only in VPC. Therefore, you+-- must provide subnet group name where you want the cluster restored.+rfcsClusterSubnetGroupName :: Lens' RestoreFromClusterSnapshot (Maybe Text)+rfcsClusterSubnetGroupName = lens _rfcsClusterSubnetGroupName (\ s a -> s{_rfcsClusterSubnetGroupName = a});++-- | The elastic IP (EIP) address for the cluster.+rfcsElasticIP :: Lens' RestoreFromClusterSnapshot (Maybe Text)+rfcsElasticIP = lens _rfcsElasticIP (\ s a -> s{_rfcsElasticIP = a});++-- | The weekly time range (in UTC) during which automated cluster+-- maintenance can occur.+--+-- Format: 'ddd:hh24:mi-ddd:hh24:mi'+--+-- Default: The value selected for the cluster from which the snapshot was+-- taken. For more information about the time blocks for each region, see+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows Maintenance Windows>+-- in Amazon Redshift Cluster Management Guide.+--+-- Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun+--+-- Constraints: Minimum 30-minute window.+rfcsPreferredMaintenanceWindow :: Lens' RestoreFromClusterSnapshot (Maybe Text)+rfcsPreferredMaintenanceWindow = lens _rfcsPreferredMaintenanceWindow (\ s a -> s{_rfcsPreferredMaintenanceWindow = a});+ -- | The Amazon EC2 Availability Zone in which to restore the cluster. -- -- Default: A random, system-chosen Availability Zone. -- -- Example: 'us-east-1a' rfcsAvailabilityZone :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsAvailabilityZone =-    lens _rfcsAvailabilityZone (\s a -> s { _rfcsAvailabilityZone = a })+rfcsAvailabilityZone = lens _rfcsAvailabilityZone (\ s a -> s{_rfcsAvailabilityZone = a}); --- | The identifier of the cluster that will be created from restoring the+-- | The AWS Key Management Service (KMS) key ID of the encryption key that+-- you want to use to encrypt data in the cluster that you restore from a+-- shared snapshot.+rfcsKMSKeyId :: Lens' RestoreFromClusterSnapshot (Maybe Text)+rfcsKMSKeyId = lens _rfcsKMSKeyId (\ s a -> s{_rfcsKMSKeyId = a});++-- | A list of Virtual Private Cloud (VPC) security groups to be associated+-- with the cluster.+--+-- Default: The default VPC security group is associated with the cluster.+--+-- VPC security groups only apply to clusters in VPCs.+rfcsVPCSecurityGroupIds :: Lens' RestoreFromClusterSnapshot [Text]+rfcsVPCSecurityGroupIds = lens _rfcsVPCSecurityGroupIds (\ s a -> s{_rfcsVPCSecurityGroupIds = a}) . _Default . _Coerce;++-- | The AWS customer account used to create or copy the snapshot. Required+-- if you are restoring a snapshot you do not own, optional if you own the -- snapshot.+rfcsOwnerAccount :: Lens' RestoreFromClusterSnapshot (Maybe Text)+rfcsOwnerAccount = lens _rfcsOwnerAccount (\ s a -> s{_rfcsOwnerAccount = a});++-- | The node type that the restored cluster will be provisioned with. ----- Constraints:+-- Default: The node type of the cluster from which the snapshot was taken.+-- You can modify this if you are using any DS node type. In that case, you+-- can choose to restore into another DS node type of the same size. For+-- example, you can restore ds1.8xlarge into ds2.8xlarge, or ds2.xlarge+-- into ds1.xlarge. If you have a DC instance type, you must restore into+-- that same instance type and size. In other words, you can only restore a+-- dc1.large instance type into another dc1.large instance type. For more+-- information about node types, see+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes About Clusters and Nodes>+-- in the /Amazon Redshift Cluster Management Guide/+rfcsNodeType :: Lens' RestoreFromClusterSnapshot (Maybe Text)+rfcsNodeType = lens _rfcsNodeType (\ s a -> s{_rfcsNodeType = a});++-- | If 'true', major version upgrades can be applied during the maintenance+-- window to the Amazon Redshift engine that is running on the cluster. ----- Must contain from 1 to 63 alphanumeric characters or hyphens. Alphabetic--- characters must be lowercase. First character must be a letter. Cannot end--- with a hyphen or contain two consecutive hyphens. Must be unique for all--- clusters within an AWS account.-rfcsClusterIdentifier :: Lens' RestoreFromClusterSnapshot Text-rfcsClusterIdentifier =-    lens _rfcsClusterIdentifier (\s a -> s { _rfcsClusterIdentifier = a })+-- Default: 'true'+rfcsAllowVersionUpgrade :: Lens' RestoreFromClusterSnapshot (Maybe Bool)+rfcsAllowVersionUpgrade = lens _rfcsAllowVersionUpgrade (\ s a -> s{_rfcsAllowVersionUpgrade = a});  -- | The name of the parameter group to be associated with this cluster. -- -- Default: The default Amazon Redshift cluster parameter group. For--- information about the default parameter group, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Working with AmazonRedshift Parameter Groups>.+-- information about the default parameter group, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Working with Amazon Redshift Parameter Groups>. -- -- Constraints: ----- Must be 1 to 255 alphanumeric characters or hyphens. First character must--- be a letter. Cannot end with a hyphen or contain two consecutive hyphens.+-- -   Must be 1 to 255 alphanumeric characters or hyphens.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens. rfcsClusterParameterGroupName :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsClusterParameterGroupName =-    lens _rfcsClusterParameterGroupName-        (\s a -> s { _rfcsClusterParameterGroupName = a })---- | A list of security groups to be associated with this cluster.------ Default: The default cluster security group for Amazon Redshift.------ Cluster security groups only apply to clusters outside of VPCs.-rfcsClusterSecurityGroups :: Lens' RestoreFromClusterSnapshot [Text]-rfcsClusterSecurityGroups =-    lens _rfcsClusterSecurityGroups-        (\s a -> s { _rfcsClusterSecurityGroups = a })-            . _List---- | The name of the subnet group where you want to cluster restored.------ A snapshot of cluster in VPC can be restored only in VPC. Therefore, you--- must provide subnet group name where you want the cluster restored.-rfcsClusterSubnetGroupName :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsClusterSubnetGroupName =-    lens _rfcsClusterSubnetGroupName-        (\s a -> s { _rfcsClusterSubnetGroupName = a })---- | The elastic IP (EIP) address for the cluster.-rfcsElasticIp :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsElasticIp = lens _rfcsElasticIp (\s a -> s { _rfcsElasticIp = a })---- | Specifies the name of the HSM client certificate the Amazon Redshift cluster--- uses to retrieve the data encryption keys stored in an HSM.-rfcsHsmClientCertificateIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsHsmClientCertificateIdentifier =-    lens _rfcsHsmClientCertificateIdentifier-        (\s a -> s { _rfcsHsmClientCertificateIdentifier = a })---- | Specifies the name of the HSM configuration that contains the information the--- Amazon Redshift cluster can use to retrieve and store keys in an HSM.-rfcsHsmConfigurationIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsHsmConfigurationIdentifier =-    lens _rfcsHsmConfigurationIdentifier-        (\s a -> s { _rfcsHsmConfigurationIdentifier = a })---- | The AWS Key Management Service (KMS) key ID of the encryption key that you--- want to use to encrypt data in the cluster that you restore from a shared--- snapshot.-rfcsKmsKeyId :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsKmsKeyId = lens _rfcsKmsKeyId (\s a -> s { _rfcsKmsKeyId = a })---- | The AWS customer account used to create or copy the snapshot. Required if--- you are restoring a snapshot you do not own, optional if you own the--- snapshot.-rfcsOwnerAccount :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsOwnerAccount = lens _rfcsOwnerAccount (\s a -> s { _rfcsOwnerAccount = a })+rfcsClusterParameterGroupName = lens _rfcsClusterParameterGroupName (\ s a -> s{_rfcsClusterParameterGroupName = a});  -- | The port number on which the cluster accepts connections. --@@ -273,108 +309,111 @@ -- -- Constraints: Must be between '1115' and '65535'. rfcsPort :: Lens' RestoreFromClusterSnapshot (Maybe Int)-rfcsPort = lens _rfcsPort (\s a -> s { _rfcsPort = a })+rfcsPort = lens _rfcsPort (\ s a -> s{_rfcsPort = a}); --- | The weekly time range (in UTC) during which automated cluster maintenance--- can occur.------ Format: 'ddd:hh24:mi-ddd:hh24:mi'------ Default: The value selected for the cluster from which the snapshot was--- taken. For more information about the time blocks for each region, see <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows Maintenance Windows> in Amazon Redshift Cluster Management Guide.+-- | The identifier of the cluster that will be created from restoring the+-- snapshot. ----- Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun+-- Constraints: ----- Constraints: Minimum 30-minute window.-rfcsPreferredMaintenanceWindow :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsPreferredMaintenanceWindow =-    lens _rfcsPreferredMaintenanceWindow-        (\s a -> s { _rfcsPreferredMaintenanceWindow = a })---- | If 'true', the cluster can be accessed from a public network.-rfcsPubliclyAccessible :: Lens' RestoreFromClusterSnapshot (Maybe Bool)-rfcsPubliclyAccessible =-    lens _rfcsPubliclyAccessible (\s a -> s { _rfcsPubliclyAccessible = a })---- | The name of the cluster the source snapshot was created from. This parameter--- is required if your IAM user has a policy containing a snapshot resource--- element that specifies anything other than * for the cluster name.-rfcsSnapshotClusterIdentifier :: Lens' RestoreFromClusterSnapshot (Maybe Text)-rfcsSnapshotClusterIdentifier =-    lens _rfcsSnapshotClusterIdentifier-        (\s a -> s { _rfcsSnapshotClusterIdentifier = a })+-- -   Must contain from 1 to 63 alphanumeric characters or hyphens.+-- -   Alphabetic characters must be lowercase.+-- -   First character must be a letter.+-- -   Cannot end with a hyphen or contain two consecutive hyphens.+-- -   Must be unique for all clusters within an AWS account.+rfcsClusterIdentifier :: Lens' RestoreFromClusterSnapshot Text+rfcsClusterIdentifier = lens _rfcsClusterIdentifier (\ s a -> s{_rfcsClusterIdentifier = a});  -- | The name of the snapshot from which to create the new cluster. This--- parameter isn't case sensitive.+-- parameter isn\'t case sensitive. -- -- Example: 'my-snapshot-id' rfcsSnapshotIdentifier :: Lens' RestoreFromClusterSnapshot Text-rfcsSnapshotIdentifier =-    lens _rfcsSnapshotIdentifier (\s a -> s { _rfcsSnapshotIdentifier = a })---- | A list of Virtual Private Cloud (VPC) security groups to be associated with--- the cluster.------ Default: The default VPC security group is associated with the cluster.------ VPC security groups only apply to clusters in VPCs.-rfcsVpcSecurityGroupIds :: Lens' RestoreFromClusterSnapshot [Text]-rfcsVpcSecurityGroupIds =-    lens _rfcsVpcSecurityGroupIds (\s a -> s { _rfcsVpcSecurityGroupIds = a })-        . _List--newtype RestoreFromClusterSnapshotResponse = RestoreFromClusterSnapshotResponse-    { _rfcsrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+rfcsSnapshotIdentifier = lens _rfcsSnapshotIdentifier (\ s a -> s{_rfcsSnapshotIdentifier = a}); --- | 'RestoreFromClusterSnapshotResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rfcsrCluster' @::@ 'Maybe' 'Cluster'----restoreFromClusterSnapshotResponse :: RestoreFromClusterSnapshotResponse-restoreFromClusterSnapshotResponse = RestoreFromClusterSnapshotResponse-    { _rfcsrCluster = Nothing-    }+instance AWSRequest RestoreFromClusterSnapshot where+        type Sv RestoreFromClusterSnapshot = Redshift+        type Rs RestoreFromClusterSnapshot =+             RestoreFromClusterSnapshotResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "RestoreFromClusterSnapshotResult"+              (\ s h x ->+                 RestoreFromClusterSnapshotResponse' <$>+                   (x .@? "Cluster") <*> (pure (fromEnum s))) -rfcsrCluster :: Lens' RestoreFromClusterSnapshotResponse (Maybe Cluster)-rfcsrCluster = lens _rfcsrCluster (\s a -> s { _rfcsrCluster = a })+instance ToHeaders RestoreFromClusterSnapshot where+        toHeaders = const mempty  instance ToPath RestoreFromClusterSnapshot where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RestoreFromClusterSnapshot where-    toQuery RestoreFromClusterSnapshot{..} = mconcat-        [ "AllowVersionUpgrade"              =? _rfcsAllowVersionUpgrade-        , "AutomatedSnapshotRetentionPeriod" =? _rfcsAutomatedSnapshotRetentionPeriod-        , "AvailabilityZone"                 =? _rfcsAvailabilityZone-        , "ClusterIdentifier"                =? _rfcsClusterIdentifier-        , "ClusterParameterGroupName"        =? _rfcsClusterParameterGroupName-        , "ClusterSecurityGroups"            =? _rfcsClusterSecurityGroups-        , "ClusterSubnetGroupName"           =? _rfcsClusterSubnetGroupName-        , "ElasticIp"                        =? _rfcsElasticIp-        , "HsmClientCertificateIdentifier"   =? _rfcsHsmClientCertificateIdentifier-        , "HsmConfigurationIdentifier"       =? _rfcsHsmConfigurationIdentifier-        , "KmsKeyId"                         =? _rfcsKmsKeyId-        , "OwnerAccount"                     =? _rfcsOwnerAccount-        , "Port"                             =? _rfcsPort-        , "PreferredMaintenanceWindow"       =? _rfcsPreferredMaintenanceWindow-        , "PubliclyAccessible"               =? _rfcsPubliclyAccessible-        , "SnapshotClusterIdentifier"        =? _rfcsSnapshotClusterIdentifier-        , "SnapshotIdentifier"               =? _rfcsSnapshotIdentifier-        , "VpcSecurityGroupIds"              =? _rfcsVpcSecurityGroupIds-        ]+        toQuery RestoreFromClusterSnapshot'{..}+          = mconcat+              ["Action" =:+                 ("RestoreFromClusterSnapshot" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "PubliclyAccessible" =: _rfcsPubliclyAccessible,+               "HsmConfigurationIdentifier" =:+                 _rfcsHSMConfigurationIdentifier,+               "SnapshotClusterIdentifier" =:+                 _rfcsSnapshotClusterIdentifier,+               "ClusterSecurityGroups" =:+                 toQuery+                   (toQueryList "ClusterSecurityGroupName" <$>+                      _rfcsClusterSecurityGroups),+               "AutomatedSnapshotRetentionPeriod" =:+                 _rfcsAutomatedSnapshotRetentionPeriod,+               "HsmClientCertificateIdentifier" =:+                 _rfcsHSMClientCertificateIdentifier,+               "ClusterSubnetGroupName" =:+                 _rfcsClusterSubnetGroupName,+               "ElasticIp" =: _rfcsElasticIP,+               "PreferredMaintenanceWindow" =:+                 _rfcsPreferredMaintenanceWindow,+               "AvailabilityZone" =: _rfcsAvailabilityZone,+               "KmsKeyId" =: _rfcsKMSKeyId,+               "VpcSecurityGroupIds" =:+                 toQuery+                   (toQueryList "VpcSecurityGroupId" <$>+                      _rfcsVPCSecurityGroupIds),+               "OwnerAccount" =: _rfcsOwnerAccount,+               "NodeType" =: _rfcsNodeType,+               "AllowVersionUpgrade" =: _rfcsAllowVersionUpgrade,+               "ClusterParameterGroupName" =:+                 _rfcsClusterParameterGroupName,+               "Port" =: _rfcsPort,+               "ClusterIdentifier" =: _rfcsClusterIdentifier,+               "SnapshotIdentifier" =: _rfcsSnapshotIdentifier] -instance ToHeaders RestoreFromClusterSnapshot+-- | /See:/ 'restoreFromClusterSnapshotResponse' smart constructor.+data RestoreFromClusterSnapshotResponse = RestoreFromClusterSnapshotResponse'+    { _rfcsrsCluster :: !(Maybe Cluster)+    , _rfcsrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RestoreFromClusterSnapshot where-    type Sv RestoreFromClusterSnapshot = Redshift-    type Rs RestoreFromClusterSnapshot = RestoreFromClusterSnapshotResponse+-- | Creates a value of 'RestoreFromClusterSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rfcsrsCluster'+--+-- * 'rfcsrsStatus'+restoreFromClusterSnapshotResponse+    :: Int -- ^ 'rfcsrsStatus'+    -> RestoreFromClusterSnapshotResponse+restoreFromClusterSnapshotResponse pStatus_ =+    RestoreFromClusterSnapshotResponse'+    { _rfcsrsCluster = Nothing+    , _rfcsrsStatus = pStatus_+    } -    request  = post "RestoreFromClusterSnapshot"-    response = xmlResponse+-- | Undocumented member.+rfcsrsCluster :: Lens' RestoreFromClusterSnapshotResponse (Maybe Cluster)+rfcsrsCluster = lens _rfcsrsCluster (\ s a -> s{_rfcsrsCluster = a}); -instance FromXML RestoreFromClusterSnapshotResponse where-    parseXML = withElement "RestoreFromClusterSnapshotResult" $ \x -> RestoreFromClusterSnapshotResponse-        <$> x .@? "Cluster"+-- | The response status code.+rfcsrsStatus :: Lens' RestoreFromClusterSnapshotResponse Int+rfcsrsStatus = lens _rfcsrsStatus (\ s a -> s{_rfcsrsStatus = a});
gen/Network/AWS/Redshift/RevokeClusterSecurityGroupIngress.hs view
@@ -1,156 +1,177 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.RevokeClusterSecurityGroupIngress--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Revokes an ingress rule in an Amazon Redshift security group for a+-- Revokes an ingress rule in an Amazon Redshift security group for a -- previously authorized IP range or Amazon EC2 security group. To add an--- ingress rule, see 'AuthorizeClusterSecurityGroupIngress'. For information about--- managing security groups, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Amazon Redshift Cluster Security Groups> in--- the /Amazon Redshift Cluster Management Guide/.+-- ingress rule, see AuthorizeClusterSecurityGroupIngress. For information+-- about managing security groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html Amazon Redshift Cluster Security Groups>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RevokeClusterSecurityGroupIngress.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RevokeClusterSecurityGroupIngress.html AWS API Reference> for RevokeClusterSecurityGroupIngress. module Network.AWS.Redshift.RevokeClusterSecurityGroupIngress     (-    -- * Request-      RevokeClusterSecurityGroupIngress-    -- ** Request constructor-    , revokeClusterSecurityGroupIngress-    -- ** Request lenses-    , rcsgiCIDRIP-    , rcsgiClusterSecurityGroupName-    , rcsgiEC2SecurityGroupName+    -- * Creating a Request+      revokeClusterSecurityGroupIngress+    , RevokeClusterSecurityGroupIngress+    -- * Request Lenses     , rcsgiEC2SecurityGroupOwnerId+    , rcsgiEC2SecurityGroupName+    , rcsgiCIdRIP+    , rcsgiClusterSecurityGroupName -    -- * Response-    , RevokeClusterSecurityGroupIngressResponse-    -- ** Response constructor+    -- * Destructuring the Response     , revokeClusterSecurityGroupIngressResponse-    -- ** Response lenses-    , rcsgirClusterSecurityGroup+    , RevokeClusterSecurityGroupIngressResponse+    -- * Response Lenses+    , rcsgirsClusterSecurityGroup+    , rcsgirsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data RevokeClusterSecurityGroupIngress = RevokeClusterSecurityGroupIngress-    { _rcsgiCIDRIP                   :: Maybe Text-    , _rcsgiClusterSecurityGroupName :: Text-    , _rcsgiEC2SecurityGroupName     :: Maybe Text-    , _rcsgiEC2SecurityGroupOwnerId  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'RevokeClusterSecurityGroupIngress' constructor.+-- | ??? ----- The fields accessible through corresponding lenses are:+-- /See:/ 'revokeClusterSecurityGroupIngress' smart constructor.+data RevokeClusterSecurityGroupIngress = RevokeClusterSecurityGroupIngress'+    { _rcsgiEC2SecurityGroupOwnerId  :: !(Maybe Text)+    , _rcsgiEC2SecurityGroupName     :: !(Maybe Text)+    , _rcsgiCIdRIP                   :: !(Maybe Text)+    , _rcsgiClusterSecurityGroupName :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevokeClusterSecurityGroupIngress' with the minimum fields required to make a request. ----- * 'rcsgiCIDRIP' @::@ 'Maybe' 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rcsgiClusterSecurityGroupName' @::@ 'Text'+-- * 'rcsgiEC2SecurityGroupOwnerId' ----- * 'rcsgiEC2SecurityGroupName' @::@ 'Maybe' 'Text'+-- * 'rcsgiEC2SecurityGroupName' ----- * 'rcsgiEC2SecurityGroupOwnerId' @::@ 'Maybe' 'Text'+-- * 'rcsgiCIdRIP' ---revokeClusterSecurityGroupIngress :: Text -- ^ 'rcsgiClusterSecurityGroupName'-                                  -> RevokeClusterSecurityGroupIngress-revokeClusterSecurityGroupIngress p1 = RevokeClusterSecurityGroupIngress-    { _rcsgiClusterSecurityGroupName = p1-    , _rcsgiCIDRIP                   = Nothing-    , _rcsgiEC2SecurityGroupName     = Nothing-    , _rcsgiEC2SecurityGroupOwnerId  = Nothing+-- * 'rcsgiClusterSecurityGroupName'+revokeClusterSecurityGroupIngress+    :: Text -- ^ 'rcsgiClusterSecurityGroupName'+    -> RevokeClusterSecurityGroupIngress+revokeClusterSecurityGroupIngress pClusterSecurityGroupName_ =+    RevokeClusterSecurityGroupIngress'+    { _rcsgiEC2SecurityGroupOwnerId = Nothing+    , _rcsgiEC2SecurityGroupName = Nothing+    , _rcsgiCIdRIP = Nothing+    , _rcsgiClusterSecurityGroupName = pClusterSecurityGroupName_     } --- | The IP range for which to revoke access. This range must be a valid--- Classless Inter-Domain Routing (CIDR) block of IP addresses. If 'CIDRIP' is--- specified, 'EC2SecurityGroupName' and 'EC2SecurityGroupOwnerId' cannot be+-- | The AWS account number of the owner of the security group specified in+-- the 'EC2SecurityGroupName' parameter. The AWS access key ID is not an+-- acceptable value. If 'EC2SecurityGroupOwnerId' is specified,+-- 'EC2SecurityGroupName' must also be provided. and 'CIDRIP' cannot be -- provided.-rcsgiCIDRIP :: Lens' RevokeClusterSecurityGroupIngress (Maybe Text)-rcsgiCIDRIP = lens _rcsgiCIDRIP (\s a -> s { _rcsgiCIDRIP = a })+--+-- Example: '111122223333'+rcsgiEC2SecurityGroupOwnerId :: Lens' RevokeClusterSecurityGroupIngress (Maybe Text)+rcsgiEC2SecurityGroupOwnerId = lens _rcsgiEC2SecurityGroupOwnerId (\ s a -> s{_rcsgiEC2SecurityGroupOwnerId = a}); +-- | The name of the EC2 Security Group whose access is to be revoked. If+-- 'EC2SecurityGroupName' is specified, 'EC2SecurityGroupOwnerId' must also+-- be provided and 'CIDRIP' cannot be provided.+rcsgiEC2SecurityGroupName :: Lens' RevokeClusterSecurityGroupIngress (Maybe Text)+rcsgiEC2SecurityGroupName = lens _rcsgiEC2SecurityGroupName (\ s a -> s{_rcsgiEC2SecurityGroupName = a});++-- | The IP range for which to revoke access. This range must be a valid+-- Classless Inter-Domain Routing (CIDR) block of IP addresses. If 'CIDRIP'+-- is specified, 'EC2SecurityGroupName' and 'EC2SecurityGroupOwnerId'+-- cannot be provided.+rcsgiCIdRIP :: Lens' RevokeClusterSecurityGroupIngress (Maybe Text)+rcsgiCIdRIP = lens _rcsgiCIdRIP (\ s a -> s{_rcsgiCIdRIP = a});+ -- | The name of the security Group from which to revoke the ingress rule. rcsgiClusterSecurityGroupName :: Lens' RevokeClusterSecurityGroupIngress Text-rcsgiClusterSecurityGroupName =-    lens _rcsgiClusterSecurityGroupName-        (\s a -> s { _rcsgiClusterSecurityGroupName = a })+rcsgiClusterSecurityGroupName = lens _rcsgiClusterSecurityGroupName (\ s a -> s{_rcsgiClusterSecurityGroupName = a}); --- | The name of the EC2 Security Group whose access is to be revoked. If 'EC2SecurityGroupName' is specified, 'EC2SecurityGroupOwnerId' must also be provided and 'CIDRIP'--- cannot be provided.-rcsgiEC2SecurityGroupName :: Lens' RevokeClusterSecurityGroupIngress (Maybe Text)-rcsgiEC2SecurityGroupName =-    lens _rcsgiEC2SecurityGroupName-        (\s a -> s { _rcsgiEC2SecurityGroupName = a })+instance AWSRequest RevokeClusterSecurityGroupIngress+         where+        type Sv RevokeClusterSecurityGroupIngress = Redshift+        type Rs RevokeClusterSecurityGroupIngress =+             RevokeClusterSecurityGroupIngressResponse+        request = postQuery+        response+          = receiveXMLWrapper+              "RevokeClusterSecurityGroupIngressResult"+              (\ s h x ->+                 RevokeClusterSecurityGroupIngressResponse' <$>+                   (x .@? "ClusterSecurityGroup") <*>+                     (pure (fromEnum s))) --- | The AWS account number of the owner of the security group specified in the 'EC2SecurityGroupName' parameter. The AWS access key ID is not an acceptable value. If 'EC2SecurityGroupOwnerId' is specified, 'EC2SecurityGroupName' must also be provided. and 'CIDRIP' cannot--- be provided.------ Example: '111122223333'-rcsgiEC2SecurityGroupOwnerId :: Lens' RevokeClusterSecurityGroupIngress (Maybe Text)-rcsgiEC2SecurityGroupOwnerId =-    lens _rcsgiEC2SecurityGroupOwnerId-        (\s a -> s { _rcsgiEC2SecurityGroupOwnerId = a })+instance ToHeaders RevokeClusterSecurityGroupIngress+         where+        toHeaders = const mempty -newtype RevokeClusterSecurityGroupIngressResponse = RevokeClusterSecurityGroupIngressResponse-    { _rcsgirClusterSecurityGroup :: Maybe ClusterSecurityGroup-    } deriving (Eq, Read, Show)+instance ToPath RevokeClusterSecurityGroupIngress+         where+        toPath = const "/" --- | 'RevokeClusterSecurityGroupIngressResponse' constructor.+instance ToQuery RevokeClusterSecurityGroupIngress+         where+        toQuery RevokeClusterSecurityGroupIngress'{..}+          = mconcat+              ["Action" =:+                 ("RevokeClusterSecurityGroupIngress" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "EC2SecurityGroupOwnerId" =:+                 _rcsgiEC2SecurityGroupOwnerId,+               "EC2SecurityGroupName" =: _rcsgiEC2SecurityGroupName,+               "CIDRIP" =: _rcsgiCIdRIP,+               "ClusterSecurityGroupName" =:+                 _rcsgiClusterSecurityGroupName]++-- | /See:/ 'revokeClusterSecurityGroupIngressResponse' smart constructor.+data RevokeClusterSecurityGroupIngressResponse = RevokeClusterSecurityGroupIngressResponse'+    { _rcsgirsClusterSecurityGroup :: !(Maybe ClusterSecurityGroup)+    , _rcsgirsStatus               :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevokeClusterSecurityGroupIngressResponse' with the minimum fields required to make a request. ----- The fields accessible through corresponding lenses are:+-- Use one of the following lenses to modify other fields as desired: ----- * 'rcsgirClusterSecurityGroup' @::@ 'Maybe' 'ClusterSecurityGroup'+-- * 'rcsgirsClusterSecurityGroup' ---revokeClusterSecurityGroupIngressResponse :: RevokeClusterSecurityGroupIngressResponse-revokeClusterSecurityGroupIngressResponse = RevokeClusterSecurityGroupIngressResponse-    { _rcsgirClusterSecurityGroup = Nothing+-- * 'rcsgirsStatus'+revokeClusterSecurityGroupIngressResponse+    :: Int -- ^ 'rcsgirsStatus'+    -> RevokeClusterSecurityGroupIngressResponse+revokeClusterSecurityGroupIngressResponse pStatus_ =+    RevokeClusterSecurityGroupIngressResponse'+    { _rcsgirsClusterSecurityGroup = Nothing+    , _rcsgirsStatus = pStatus_     } -rcsgirClusterSecurityGroup :: Lens' RevokeClusterSecurityGroupIngressResponse (Maybe ClusterSecurityGroup)-rcsgirClusterSecurityGroup =-    lens _rcsgirClusterSecurityGroup-        (\s a -> s { _rcsgirClusterSecurityGroup = a })--instance ToPath RevokeClusterSecurityGroupIngress where-    toPath = const "/"--instance ToQuery RevokeClusterSecurityGroupIngress where-    toQuery RevokeClusterSecurityGroupIngress{..} = mconcat-        [ "CIDRIP"                   =? _rcsgiCIDRIP-        , "ClusterSecurityGroupName" =? _rcsgiClusterSecurityGroupName-        , "EC2SecurityGroupName"     =? _rcsgiEC2SecurityGroupName-        , "EC2SecurityGroupOwnerId"  =? _rcsgiEC2SecurityGroupOwnerId-        ]--instance ToHeaders RevokeClusterSecurityGroupIngress--instance AWSRequest RevokeClusterSecurityGroupIngress where-    type Sv RevokeClusterSecurityGroupIngress = Redshift-    type Rs RevokeClusterSecurityGroupIngress = RevokeClusterSecurityGroupIngressResponse--    request  = post "RevokeClusterSecurityGroupIngress"-    response = xmlResponse+-- | Undocumented member.+rcsgirsClusterSecurityGroup :: Lens' RevokeClusterSecurityGroupIngressResponse (Maybe ClusterSecurityGroup)+rcsgirsClusterSecurityGroup = lens _rcsgirsClusterSecurityGroup (\ s a -> s{_rcsgirsClusterSecurityGroup = a}); -instance FromXML RevokeClusterSecurityGroupIngressResponse where-    parseXML = withElement "RevokeClusterSecurityGroupIngressResult" $ \x -> RevokeClusterSecurityGroupIngressResponse-        <$> x .@? "ClusterSecurityGroup"+-- | The response status code.+rcsgirsStatus :: Lens' RevokeClusterSecurityGroupIngressResponse Int+rcsgirsStatus = lens _rcsgirsStatus (\ s a -> s{_rcsgirsStatus = a});
gen/Network/AWS/Redshift/RevokeSnapshotAccess.hs view
@@ -1,140 +1,155 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.RevokeSnapshotAccess--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Removes the ability of the specified AWS customer account to restore the--- specified snapshot. If the account is currently restoring the snapshot, the--- restore will run to completion.+-- Removes the ability of the specified AWS customer account to restore the+-- specified snapshot. If the account is currently restoring the snapshot,+-- the restore will run to completion. ----- For more information about working with snapshots, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon RedshiftSnapshots> in the /Amazon Redshift Cluster Management Guide/.+-- For more information about working with snapshots, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html Amazon Redshift Snapshots>+-- in the /Amazon Redshift Cluster Management Guide/. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RevokeSnapshotAccess.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RevokeSnapshotAccess.html AWS API Reference> for RevokeSnapshotAccess. module Network.AWS.Redshift.RevokeSnapshotAccess     (-    -- * Request-      RevokeSnapshotAccess-    -- ** Request constructor-    , revokeSnapshotAccess-    -- ** Request lenses-    , rsaAccountWithRestoreAccess+    -- * Creating a Request+      revokeSnapshotAccess+    , RevokeSnapshotAccess+    -- * Request Lenses     , rsaSnapshotClusterIdentifier     , rsaSnapshotIdentifier+    , rsaAccountWithRestoreAccess -    -- * Response-    , RevokeSnapshotAccessResponse-    -- ** Response constructor+    -- * Destructuring the Response     , revokeSnapshotAccessResponse-    -- ** Response lenses-    , rsarSnapshot+    , RevokeSnapshotAccessResponse+    -- * Response Lenses+    , rsarsSnapshot+    , rsarsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts--data RevokeSnapshotAccess = RevokeSnapshotAccess-    { _rsaAccountWithRestoreAccess  :: Text-    , _rsaSnapshotClusterIdentifier :: Maybe Text-    , _rsaSnapshotIdentifier        :: Text-    } deriving (Eq, Ord, Read, Show)+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response --- | 'RevokeSnapshotAccess' constructor.+-- | ----- The fields accessible through corresponding lenses are:+-- /See:/ 'revokeSnapshotAccess' smart constructor.+data RevokeSnapshotAccess = RevokeSnapshotAccess'+    { _rsaSnapshotClusterIdentifier :: !(Maybe Text)+    , _rsaSnapshotIdentifier        :: !Text+    , _rsaAccountWithRestoreAccess  :: !Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RevokeSnapshotAccess' with the minimum fields required to make a request. ----- * 'rsaAccountWithRestoreAccess' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ----- * 'rsaSnapshotClusterIdentifier' @::@ 'Maybe' 'Text'+-- * 'rsaSnapshotClusterIdentifier' ----- * 'rsaSnapshotIdentifier' @::@ 'Text'+-- * 'rsaSnapshotIdentifier' ---revokeSnapshotAccess :: Text -- ^ 'rsaSnapshotIdentifier'-                     -> Text -- ^ 'rsaAccountWithRestoreAccess'-                     -> RevokeSnapshotAccess-revokeSnapshotAccess p1 p2 = RevokeSnapshotAccess-    { _rsaSnapshotIdentifier        = p1-    , _rsaAccountWithRestoreAccess  = p2-    , _rsaSnapshotClusterIdentifier = Nothing+-- * 'rsaAccountWithRestoreAccess'+revokeSnapshotAccess+    :: Text -- ^ 'rsaSnapshotIdentifier'+    -> Text -- ^ 'rsaAccountWithRestoreAccess'+    -> RevokeSnapshotAccess+revokeSnapshotAccess pSnapshotIdentifier_ pAccountWithRestoreAccess_ =+    RevokeSnapshotAccess'+    { _rsaSnapshotClusterIdentifier = Nothing+    , _rsaSnapshotIdentifier = pSnapshotIdentifier_+    , _rsaAccountWithRestoreAccess = pAccountWithRestoreAccess_     } --- | The identifier of the AWS customer account that can no longer restore the--- specified snapshot.-rsaAccountWithRestoreAccess :: Lens' RevokeSnapshotAccess Text-rsaAccountWithRestoreAccess =-    lens _rsaAccountWithRestoreAccess-        (\s a -> s { _rsaAccountWithRestoreAccess = a })---- | The identifier of the cluster the snapshot was created from. This parameter--- is required if your IAM user has a policy containing a snapshot resource--- element that specifies anything other than * for the cluster name.+-- | The identifier of the cluster the snapshot was created from. This+-- parameter is required if your IAM user has a policy containing a+-- snapshot resource element that specifies anything other than * for the+-- cluster name. rsaSnapshotClusterIdentifier :: Lens' RevokeSnapshotAccess (Maybe Text)-rsaSnapshotClusterIdentifier =-    lens _rsaSnapshotClusterIdentifier-        (\s a -> s { _rsaSnapshotClusterIdentifier = a })+rsaSnapshotClusterIdentifier = lens _rsaSnapshotClusterIdentifier (\ s a -> s{_rsaSnapshotClusterIdentifier = a});  -- | The identifier of the snapshot that the account can no longer access. rsaSnapshotIdentifier :: Lens' RevokeSnapshotAccess Text-rsaSnapshotIdentifier =-    lens _rsaSnapshotIdentifier (\s a -> s { _rsaSnapshotIdentifier = a })+rsaSnapshotIdentifier = lens _rsaSnapshotIdentifier (\ s a -> s{_rsaSnapshotIdentifier = a}); -newtype RevokeSnapshotAccessResponse = RevokeSnapshotAccessResponse-    { _rsarSnapshot :: Maybe Snapshot-    } deriving (Eq, Read, Show)+-- | The identifier of the AWS customer account that can no longer restore+-- the specified snapshot.+rsaAccountWithRestoreAccess :: Lens' RevokeSnapshotAccess Text+rsaAccountWithRestoreAccess = lens _rsaAccountWithRestoreAccess (\ s a -> s{_rsaAccountWithRestoreAccess = a}); --- | 'RevokeSnapshotAccessResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rsarSnapshot' @::@ 'Maybe' 'Snapshot'----revokeSnapshotAccessResponse :: RevokeSnapshotAccessResponse-revokeSnapshotAccessResponse = RevokeSnapshotAccessResponse-    { _rsarSnapshot = Nothing-    }+instance AWSRequest RevokeSnapshotAccess where+        type Sv RevokeSnapshotAccess = Redshift+        type Rs RevokeSnapshotAccess =+             RevokeSnapshotAccessResponse+        request = postQuery+        response+          = receiveXMLWrapper "RevokeSnapshotAccessResult"+              (\ s h x ->+                 RevokeSnapshotAccessResponse' <$>+                   (x .@? "Snapshot") <*> (pure (fromEnum s))) -rsarSnapshot :: Lens' RevokeSnapshotAccessResponse (Maybe Snapshot)-rsarSnapshot = lens _rsarSnapshot (\s a -> s { _rsarSnapshot = a })+instance ToHeaders RevokeSnapshotAccess where+        toHeaders = const mempty  instance ToPath RevokeSnapshotAccess where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RevokeSnapshotAccess where-    toQuery RevokeSnapshotAccess{..} = mconcat-        [ "AccountWithRestoreAccess"  =? _rsaAccountWithRestoreAccess-        , "SnapshotClusterIdentifier" =? _rsaSnapshotClusterIdentifier-        , "SnapshotIdentifier"        =? _rsaSnapshotIdentifier-        ]+        toQuery RevokeSnapshotAccess'{..}+          = mconcat+              ["Action" =: ("RevokeSnapshotAccess" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "SnapshotClusterIdentifier" =:+                 _rsaSnapshotClusterIdentifier,+               "SnapshotIdentifier" =: _rsaSnapshotIdentifier,+               "AccountWithRestoreAccess" =:+                 _rsaAccountWithRestoreAccess] -instance ToHeaders RevokeSnapshotAccess+-- | /See:/ 'revokeSnapshotAccessResponse' smart constructor.+data RevokeSnapshotAccessResponse = RevokeSnapshotAccessResponse'+    { _rsarsSnapshot :: !(Maybe Snapshot)+    , _rsarsStatus   :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RevokeSnapshotAccess where-    type Sv RevokeSnapshotAccess = Redshift-    type Rs RevokeSnapshotAccess = RevokeSnapshotAccessResponse+-- | Creates a value of 'RevokeSnapshotAccessResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsarsSnapshot'+--+-- * 'rsarsStatus'+revokeSnapshotAccessResponse+    :: Int -- ^ 'rsarsStatus'+    -> RevokeSnapshotAccessResponse+revokeSnapshotAccessResponse pStatus_ =+    RevokeSnapshotAccessResponse'+    { _rsarsSnapshot = Nothing+    , _rsarsStatus = pStatus_+    } -    request  = post "RevokeSnapshotAccess"-    response = xmlResponse+-- | Undocumented member.+rsarsSnapshot :: Lens' RevokeSnapshotAccessResponse (Maybe Snapshot)+rsarsSnapshot = lens _rsarsSnapshot (\ s a -> s{_rsarsSnapshot = a}); -instance FromXML RevokeSnapshotAccessResponse where-    parseXML = withElement "RevokeSnapshotAccessResult" $ \x -> RevokeSnapshotAccessResponse-        <$> x .@? "Snapshot"+-- | The response status code.+rsarsStatus :: Lens' RevokeSnapshotAccessResponse Int+rsarsStatus = lens _rsarsStatus (\ s a -> s{_rsarsStatus = a});
gen/Network/AWS/Redshift/RotateEncryptionKey.hs view
@@ -1,111 +1,126 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}  {-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-binds   #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-} +-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.RotateEncryptionKey--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.---- | Rotates the encryption keys for a cluster.+-- Rotates the encryption keys for a cluster. ----- <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RotateEncryptionKey.html>+-- /See:/ <http://docs.aws.amazon.com/redshift/latest/APIReference/API_RotateEncryptionKey.html AWS API Reference> for RotateEncryptionKey. module Network.AWS.Redshift.RotateEncryptionKey     (-    -- * Request-      RotateEncryptionKey-    -- ** Request constructor-    , rotateEncryptionKey-    -- ** Request lenses+    -- * Creating a Request+      rotateEncryptionKey+    , RotateEncryptionKey+    -- * Request Lenses     , rekClusterIdentifier -    -- * Response-    , RotateEncryptionKeyResponse-    -- ** Response constructor+    -- * Destructuring the Response     , rotateEncryptionKeyResponse-    -- ** Response lenses-    , rekrCluster+    , RotateEncryptionKeyResponse+    -- * Response Lenses+    , rekrsCluster+    , rekrsStatus     ) where -import Network.AWS.Prelude-import Network.AWS.Request.Query-import Network.AWS.Redshift.Types-import qualified GHC.Exts+import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Request+import           Network.AWS.Response -newtype RotateEncryptionKey = RotateEncryptionKey+-- |+--+-- /See:/ 'rotateEncryptionKey' smart constructor.+newtype RotateEncryptionKey = RotateEncryptionKey'     { _rekClusterIdentifier :: Text-    } deriving (Eq, Ord, Read, Show, Monoid, IsString)+    } deriving (Eq,Read,Show,Data,Typeable,Generic) --- | 'RotateEncryptionKey' constructor.------ The fields accessible through corresponding lenses are:+-- | Creates a value of 'RotateEncryptionKey' with the minimum fields required to make a request. ----- * 'rekClusterIdentifier' @::@ 'Text'+-- Use one of the following lenses to modify other fields as desired: ---rotateEncryptionKey :: Text -- ^ 'rekClusterIdentifier'-                    -> RotateEncryptionKey-rotateEncryptionKey p1 = RotateEncryptionKey-    { _rekClusterIdentifier = p1+-- * 'rekClusterIdentifier'+rotateEncryptionKey+    :: Text -- ^ 'rekClusterIdentifier'+    -> RotateEncryptionKey+rotateEncryptionKey pClusterIdentifier_ =+    RotateEncryptionKey'+    { _rekClusterIdentifier = pClusterIdentifier_     } --- | The unique identifier of the cluster that you want to rotate the encryption--- keys for.+-- | The unique identifier of the cluster that you want to rotate the+-- encryption keys for. ----- Constraints: Must be the name of valid cluster that has encryption enabled.+-- Constraints: Must be the name of valid cluster that has encryption+-- enabled. rekClusterIdentifier :: Lens' RotateEncryptionKey Text-rekClusterIdentifier =-    lens _rekClusterIdentifier (\s a -> s { _rekClusterIdentifier = a })--newtype RotateEncryptionKeyResponse = RotateEncryptionKeyResponse-    { _rekrCluster :: Maybe Cluster-    } deriving (Eq, Read, Show)+rekClusterIdentifier = lens _rekClusterIdentifier (\ s a -> s{_rekClusterIdentifier = a}); --- | 'RotateEncryptionKeyResponse' constructor.------ The fields accessible through corresponding lenses are:------ * 'rekrCluster' @::@ 'Maybe' 'Cluster'----rotateEncryptionKeyResponse :: RotateEncryptionKeyResponse-rotateEncryptionKeyResponse = RotateEncryptionKeyResponse-    { _rekrCluster = Nothing-    }+instance AWSRequest RotateEncryptionKey where+        type Sv RotateEncryptionKey = Redshift+        type Rs RotateEncryptionKey =+             RotateEncryptionKeyResponse+        request = postQuery+        response+          = receiveXMLWrapper "RotateEncryptionKeyResult"+              (\ s h x ->+                 RotateEncryptionKeyResponse' <$>+                   (x .@? "Cluster") <*> (pure (fromEnum s))) -rekrCluster :: Lens' RotateEncryptionKeyResponse (Maybe Cluster)-rekrCluster = lens _rekrCluster (\s a -> s { _rekrCluster = a })+instance ToHeaders RotateEncryptionKey where+        toHeaders = const mempty  instance ToPath RotateEncryptionKey where-    toPath = const "/"+        toPath = const "/"  instance ToQuery RotateEncryptionKey where-    toQuery RotateEncryptionKey{..} = mconcat-        [ "ClusterIdentifier" =? _rekClusterIdentifier-        ]+        toQuery RotateEncryptionKey'{..}+          = mconcat+              ["Action" =: ("RotateEncryptionKey" :: ByteString),+               "Version" =: ("2012-12-01" :: ByteString),+               "ClusterIdentifier" =: _rekClusterIdentifier] -instance ToHeaders RotateEncryptionKey+-- | /See:/ 'rotateEncryptionKeyResponse' smart constructor.+data RotateEncryptionKeyResponse = RotateEncryptionKeyResponse'+    { _rekrsCluster :: !(Maybe Cluster)+    , _rekrsStatus  :: !Int+    } deriving (Eq,Read,Show,Data,Typeable,Generic) -instance AWSRequest RotateEncryptionKey where-    type Sv RotateEncryptionKey = Redshift-    type Rs RotateEncryptionKey = RotateEncryptionKeyResponse+-- | Creates a value of 'RotateEncryptionKeyResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rekrsCluster'+--+-- * 'rekrsStatus'+rotateEncryptionKeyResponse+    :: Int -- ^ 'rekrsStatus'+    -> RotateEncryptionKeyResponse+rotateEncryptionKeyResponse pStatus_ =+    RotateEncryptionKeyResponse'+    { _rekrsCluster = Nothing+    , _rekrsStatus = pStatus_+    } -    request  = post "RotateEncryptionKey"-    response = xmlResponse+-- | Undocumented member.+rekrsCluster :: Lens' RotateEncryptionKeyResponse (Maybe Cluster)+rekrsCluster = lens _rekrsCluster (\ s a -> s{_rekrsCluster = a}); -instance FromXML RotateEncryptionKeyResponse where-    parseXML = withElement "RotateEncryptionKeyResult" $ \x -> RotateEncryptionKeyResponse-        <$> x .@? "Cluster"+-- | The response status code.+rekrsStatus :: Lens' RotateEncryptionKeyResponse Int+rekrsStatus = lens _rekrsStatus (\ s a -> s{_rekrsStatus = a});
gen/Network/AWS/Redshift/Types.hs view
@@ -1,3378 +1,988 @@-{-# LANGUAGE DataKinds                   #-}-{-# LANGUAGE DeriveGeneric               #-}-{-# LANGUAGE FlexibleInstances           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving  #-}-{-# LANGUAGE LambdaCase                  #-}-{-# LANGUAGE NoImplicitPrelude           #-}-{-# LANGUAGE OverloadedStrings           #-}-{-# LANGUAGE RecordWildCards             #-}-{-# LANGUAGE TypeFamilies                #-}-{-# LANGUAGE ViewPatterns                #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Network.AWS.Redshift.Types--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)------ Derived from AWS service descriptions, licensed under Apache 2.0.--module Network.AWS.Redshift.Types-    (-    -- * Service-      Redshift-    -- ** Error-    , RESTError-    -- ** XML-    , ns--    -- * Snapshot-    , Snapshot-    , snapshot-    , sAccountsWithRestoreAccess-    , sActualIncrementalBackupSizeInMegaBytes-    , sAvailabilityZone-    , sBackupProgressInMegaBytes-    , sClusterCreateTime-    , sClusterIdentifier-    , sClusterVersion-    , sCurrentBackupRateInMegaBytesPerSecond-    , sDBName-    , sElapsedTimeInSeconds-    , sEncrypted-    , sEncryptedWithHSM-    , sEstimatedSecondsToCompletion-    , sKmsKeyId-    , sMasterUsername-    , sNodeType-    , sNumberOfNodes-    , sOwnerAccount-    , sPort-    , sSnapshotCreateTime-    , sSnapshotIdentifier-    , sSnapshotType-    , sSourceRegion-    , sStatus-    , sTags-    , sTotalBackupSizeInMegaBytes-    , sVpcId--    -- * ClusterParameterGroup-    , ClusterParameterGroup-    , clusterParameterGroup-    , cpgDescription-    , cpgParameterGroupFamily-    , cpgParameterGroupName-    , cpgTags--    -- * RestoreStatus-    , RestoreStatus-    , restoreStatus-    , rsCurrentRestoreRateInMegaBytesPerSecond-    , rsElapsedTimeInSeconds-    , rsEstimatedTimeToCompletionInSeconds-    , rsProgressInMegaBytes-    , rsSnapshotSizeInMegaBytes-    , rsStatus--    -- * Event-    , Event-    , event-    , eDate-    , eEventCategories-    , eEventId-    , eMessage-    , eSeverity-    , eSourceIdentifier-    , eSourceType--    -- * ClusterSnapshotCopyStatus-    , ClusterSnapshotCopyStatus-    , clusterSnapshotCopyStatus-    , cscsDestinationRegion-    , cscsRetentionPeriod--    -- * Tag-    , Tag-    , tag-    , tagKey-    , tagValue--    -- * HsmClientCertificate-    , HsmClientCertificate-    , hsmClientCertificate-    , hccHsmClientCertificateIdentifier-    , hccHsmClientCertificatePublicKey-    , hccTags--    -- * Cluster-    , Cluster-    , cluster-    , cAllowVersionUpgrade-    , cAutomatedSnapshotRetentionPeriod-    , cAvailabilityZone-    , cClusterCreateTime-    , cClusterIdentifier-    , cClusterNodes-    , cClusterParameterGroups-    , cClusterPublicKey-    , cClusterRevisionNumber-    , cClusterSecurityGroups-    , cClusterSnapshotCopyStatus-    , cClusterStatus-    , cClusterSubnetGroupName-    , cClusterVersion-    , cDBName-    , cElasticIpStatus-    , cEncrypted-    , cEndpoint-    , cHsmStatus-    , cKmsKeyId-    , cMasterUsername-    , cModifyStatus-    , cNodeType-    , cNumberOfNodes-    , cPendingModifiedValues-    , cPreferredMaintenanceWindow-    , cPubliclyAccessible-    , cRestoreStatus-    , cTags-    , cVpcId-    , cVpcSecurityGroups--    -- * ClusterNode-    , ClusterNode-    , clusterNode-    , cnNodeRole-    , cnPrivateIPAddress-    , cnPublicIPAddress--    -- * EC2SecurityGroup-    , EC2SecurityGroup-    , ec2SecurityGroup-    , ecsgEC2SecurityGroupName-    , ecsgEC2SecurityGroupOwnerId-    , ecsgStatus-    , ecsgTags--    -- * OrderableClusterOption-    , OrderableClusterOption-    , orderableClusterOption-    , ocoAvailabilityZones-    , ocoClusterType-    , ocoClusterVersion-    , ocoNodeType--    -- * SourceType-    , SourceType (..)--    -- * ClusterParameterGroupStatus-    , ClusterParameterGroupStatus-    , clusterParameterGroupStatus-    , cpgsParameterApplyStatus-    , cpgsParameterGroupName--    -- * Subnet-    , Subnet-    , subnet-    , sSubnetAvailabilityZone-    , sSubnetIdentifier-    , sSubnetStatus--    -- * ClusterSecurityGroup-    , ClusterSecurityGroup-    , clusterSecurityGroup-    , csgClusterSecurityGroupName-    , csgDescription-    , csgEC2SecurityGroups-    , csgIPRanges-    , csgTags--    -- * DefaultClusterParameters-    , DefaultClusterParameters-    , defaultClusterParameters-    , dcpMarker-    , dcpParameterGroupFamily-    , dcpParameters--    -- * ClusterSubnetGroup-    , ClusterSubnetGroup-    , clusterSubnetGroup-    , csg1ClusterSubnetGroupName-    , csg1Description-    , csg1SubnetGroupStatus-    , csg1Subnets-    , csg1Tags-    , csg1VpcId--    -- * EventInfoMap-    , EventInfoMap-    , eventInfoMap-    , eimEventCategories-    , eimEventDescription-    , eimEventId-    , eimSeverity--    -- * ClusterSecurityGroupMembership-    , ClusterSecurityGroupMembership-    , clusterSecurityGroupMembership-    , csgmClusterSecurityGroupName-    , csgmStatus--    -- * ReservedNodeOffering-    , ReservedNodeOffering-    , reservedNodeOffering-    , rnoCurrencyCode-    , rnoDuration-    , rnoFixedPrice-    , rnoNodeType-    , rnoOfferingType-    , rnoRecurringCharges-    , rnoReservedNodeOfferingId-    , rnoUsagePrice--    -- * ReservedNode-    , ReservedNode-    , reservedNode-    , rnCurrencyCode-    , rnDuration-    , rnFixedPrice-    , rnNodeCount-    , rnNodeType-    , rnOfferingType-    , rnRecurringCharges-    , rnReservedNodeId-    , rnReservedNodeOfferingId-    , rnStartTime-    , rnState-    , rnUsagePrice--    -- * LoggingStatus-    , LoggingStatus-    , loggingStatus-    , lsBucketName-    , lsLastFailureMessage-    , lsLastFailureTime-    , lsLastSuccessfulDeliveryTime-    , lsLoggingEnabled-    , lsS3KeyPrefix--    -- * AccountWithRestoreAccess-    , AccountWithRestoreAccess-    , accountWithRestoreAccess-    , awraAccountId--    -- * AvailabilityZone-    , AvailabilityZone-    , availabilityZone-    , azName--    -- * EventSubscription-    , EventSubscription-    , eventSubscription-    , esCustSubscriptionId-    , esCustomerAwsId-    , esEnabled-    , esEventCategoriesList-    , esSeverity-    , esSnsTopicArn-    , esSourceIdsList-    , esSourceType-    , esStatus-    , esSubscriptionCreationTime-    , esTags--    -- * HsmStatus-    , HsmStatus-    , hsmStatus-    , hsHsmClientCertificateIdentifier-    , hsHsmConfigurationIdentifier-    , hsStatus--    -- * ClusterParameterGroupNameMessage-    , ClusterParameterGroupNameMessage-    , clusterParameterGroupNameMessage-    , cpgnmParameterGroupName-    , cpgnmParameterGroupStatus--    -- * ElasticIpStatus-    , ElasticIpStatus-    , elasticIpStatus-    , eisElasticIp-    , eisStatus--    -- * ClusterVersion-    , ClusterVersion-    , clusterVersion-    , cvClusterParameterGroupFamily-    , cvClusterVersion-    , cvDescription--    -- * RecurringCharge-    , RecurringCharge-    , recurringCharge-    , rcRecurringChargeAmount-    , rcRecurringChargeFrequency--    -- * Endpoint-    , Endpoint-    , endpoint-    , eAddress-    , ePort--    -- * IPRange-    , IPRange-    , iprange-    , iprCIDRIP-    , iprStatus-    , iprTags--    -- * TaggedResource-    , TaggedResource-    , taggedResource-    , trResourceName-    , trResourceType-    , trTag--    -- * EventCategoriesMap-    , EventCategoriesMap-    , eventCategoriesMap-    , ecmEvents-    , ecmSourceType--    -- * HsmConfiguration-    , HsmConfiguration-    , hsmConfiguration-    , hcDescription-    , hcHsmConfigurationIdentifier-    , hcHsmIpAddress-    , hcHsmPartitionName-    , hcTags--    -- * PendingModifiedValues-    , PendingModifiedValues-    , pendingModifiedValues-    , pmvAutomatedSnapshotRetentionPeriod-    , pmvClusterIdentifier-    , pmvClusterType-    , pmvClusterVersion-    , pmvMasterUserPassword-    , pmvNodeType-    , pmvNumberOfNodes--    -- * VpcSecurityGroupMembership-    , VpcSecurityGroupMembership-    , vpcSecurityGroupMembership-    , vsgmStatus-    , vsgmVpcSecurityGroupId--    -- * Parameter-    , Parameter-    , parameter-    , pAllowedValues-    , pDataType-    , pDescription-    , pIsModifiable-    , pMinimumEngineVersion-    , pParameterName-    , pParameterValue-    , pSource-    ) where--import Network.AWS.Prelude-import Network.AWS.Signing-import qualified GHC.Exts---- | Version @2012-12-01@ of the Amazon Redshift service.-data Redshift--instance AWSService Redshift where-    type Sg Redshift = V4-    type Er Redshift = RESTError--    service = service'-      where-        service' :: Service Redshift-        service' = Service-            { _svcAbbrev       = "Redshift"-            , _svcPrefix       = "redshift"-            , _svcVersion      = "2012-12-01"-            , _svcTargetPrefix = Nothing-            , _svcJSONVersion  = Nothing-            , _svcHandle       = handle-            , _svcRetry        = retry-            }--        handle :: Status-               -> Maybe (LazyByteString -> ServiceError RESTError)-        handle = restError statusSuccess service'--        retry :: Retry Redshift-        retry = Exponential-            { _retryBase     = 0.05-            , _retryGrowth   = 2-            , _retryAttempts = 5-            , _retryCheck    = check-            }--        check :: Status-              -> RESTError-              -> Bool-        check (statusCode -> s) (awsErrorCode -> e)-            | s == 400 && (Just "Throttling") == e = True -- Throttling-            | s == 500  = True -- General Server Error-            | s == 509  = True -- Limit Exceeded-            | s == 503  = True -- Service Unavailable-            | otherwise = False--ns :: Text-ns = "http://redshift.amazonaws.com/doc/2012-12-01/"-{-# INLINE ns #-}--data Snapshot = Snapshot-    { _sAccountsWithRestoreAccess              :: List "member" AccountWithRestoreAccess-    , _sActualIncrementalBackupSizeInMegaBytes :: Maybe Double-    , _sAvailabilityZone                       :: Maybe Text-    , _sBackupProgressInMegaBytes              :: Maybe Double-    , _sClusterCreateTime                      :: Maybe ISO8601-    , _sClusterIdentifier                      :: Maybe Text-    , _sClusterVersion                         :: Maybe Text-    , _sCurrentBackupRateInMegaBytesPerSecond  :: Maybe Double-    , _sDBName                                 :: Maybe Text-    , _sElapsedTimeInSeconds                   :: Maybe Integer-    , _sEncrypted                              :: Maybe Bool-    , _sEncryptedWithHSM                       :: Maybe Bool-    , _sEstimatedSecondsToCompletion           :: Maybe Integer-    , _sKmsKeyId                               :: Maybe Text-    , _sMasterUsername                         :: Maybe Text-    , _sNodeType                               :: Maybe Text-    , _sNumberOfNodes                          :: Maybe Int-    , _sOwnerAccount                           :: Maybe Text-    , _sPort                                   :: Maybe Int-    , _sSnapshotCreateTime                     :: Maybe ISO8601-    , _sSnapshotIdentifier                     :: Maybe Text-    , _sSnapshotType                           :: Maybe Text-    , _sSourceRegion                           :: Maybe Text-    , _sStatus                                 :: Maybe Text-    , _sTags                                   :: List "member" Tag-    , _sTotalBackupSizeInMegaBytes             :: Maybe Double-    , _sVpcId                                  :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Snapshot' constructor.------ The fields accessible through corresponding lenses are:------ * 'sAccountsWithRestoreAccess' @::@ ['AccountWithRestoreAccess']------ * 'sActualIncrementalBackupSizeInMegaBytes' @::@ 'Maybe' 'Double'------ * 'sAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'sBackupProgressInMegaBytes' @::@ 'Maybe' 'Double'------ * 'sClusterCreateTime' @::@ 'Maybe' 'UTCTime'------ * 'sClusterIdentifier' @::@ 'Maybe' 'Text'------ * 'sClusterVersion' @::@ 'Maybe' 'Text'------ * 'sCurrentBackupRateInMegaBytesPerSecond' @::@ 'Maybe' 'Double'------ * 'sDBName' @::@ 'Maybe' 'Text'------ * 'sElapsedTimeInSeconds' @::@ 'Maybe' 'Integer'------ * 'sEncrypted' @::@ 'Maybe' 'Bool'------ * 'sEncryptedWithHSM' @::@ 'Maybe' 'Bool'------ * 'sEstimatedSecondsToCompletion' @::@ 'Maybe' 'Integer'------ * 'sKmsKeyId' @::@ 'Maybe' 'Text'------ * 'sMasterUsername' @::@ 'Maybe' 'Text'------ * 'sNodeType' @::@ 'Maybe' 'Text'------ * 'sNumberOfNodes' @::@ 'Maybe' 'Int'------ * 'sOwnerAccount' @::@ 'Maybe' 'Text'------ * 'sPort' @::@ 'Maybe' 'Int'------ * 'sSnapshotCreateTime' @::@ 'Maybe' 'UTCTime'------ * 'sSnapshotIdentifier' @::@ 'Maybe' 'Text'------ * 'sSnapshotType' @::@ 'Maybe' 'Text'------ * 'sSourceRegion' @::@ 'Maybe' 'Text'------ * 'sStatus' @::@ 'Maybe' 'Text'------ * 'sTags' @::@ ['Tag']------ * 'sTotalBackupSizeInMegaBytes' @::@ 'Maybe' 'Double'------ * 'sVpcId' @::@ 'Maybe' 'Text'----snapshot :: Snapshot-snapshot = Snapshot-    { _sSnapshotIdentifier                     = Nothing-    , _sClusterIdentifier                      = Nothing-    , _sSnapshotCreateTime                     = Nothing-    , _sStatus                                 = Nothing-    , _sPort                                   = Nothing-    , _sAvailabilityZone                       = Nothing-    , _sClusterCreateTime                      = Nothing-    , _sMasterUsername                         = Nothing-    , _sClusterVersion                         = Nothing-    , _sSnapshotType                           = Nothing-    , _sNodeType                               = Nothing-    , _sNumberOfNodes                          = Nothing-    , _sDBName                                 = Nothing-    , _sVpcId                                  = Nothing-    , _sEncrypted                              = Nothing-    , _sKmsKeyId                               = Nothing-    , _sEncryptedWithHSM                       = Nothing-    , _sAccountsWithRestoreAccess              = mempty-    , _sOwnerAccount                           = Nothing-    , _sTotalBackupSizeInMegaBytes             = Nothing-    , _sActualIncrementalBackupSizeInMegaBytes = Nothing-    , _sBackupProgressInMegaBytes              = Nothing-    , _sCurrentBackupRateInMegaBytesPerSecond  = Nothing-    , _sEstimatedSecondsToCompletion           = Nothing-    , _sElapsedTimeInSeconds                   = Nothing-    , _sSourceRegion                           = Nothing-    , _sTags                                   = mempty-    }---- | A list of the AWS customer accounts authorized to restore the snapshot.--- Returns 'null' if no accounts are authorized. Visible only to the snapshot--- owner.-sAccountsWithRestoreAccess :: Lens' Snapshot [AccountWithRestoreAccess]-sAccountsWithRestoreAccess =-    lens _sAccountsWithRestoreAccess-        (\s a -> s { _sAccountsWithRestoreAccess = a })-            . _List---- | The size of the incremental backup.-sActualIncrementalBackupSizeInMegaBytes :: Lens' Snapshot (Maybe Double)-sActualIncrementalBackupSizeInMegaBytes =-    lens _sActualIncrementalBackupSizeInMegaBytes-        (\s a -> s { _sActualIncrementalBackupSizeInMegaBytes = a })---- | The Availability Zone in which the cluster was created.-sAvailabilityZone :: Lens' Snapshot (Maybe Text)-sAvailabilityZone =-    lens _sAvailabilityZone (\s a -> s { _sAvailabilityZone = a })---- | The number of megabytes that have been transferred to the snapshot backup.-sBackupProgressInMegaBytes :: Lens' Snapshot (Maybe Double)-sBackupProgressInMegaBytes =-    lens _sBackupProgressInMegaBytes-        (\s a -> s { _sBackupProgressInMegaBytes = a })---- | The time (UTC) when the cluster was originally created.-sClusterCreateTime :: Lens' Snapshot (Maybe UTCTime)-sClusterCreateTime =-    lens _sClusterCreateTime (\s a -> s { _sClusterCreateTime = a })-        . mapping _Time---- | The identifier of the cluster for which the snapshot was taken.-sClusterIdentifier :: Lens' Snapshot (Maybe Text)-sClusterIdentifier =-    lens _sClusterIdentifier (\s a -> s { _sClusterIdentifier = a })---- | The version ID of the Amazon Redshift engine that is running on the cluster.-sClusterVersion :: Lens' Snapshot (Maybe Text)-sClusterVersion = lens _sClusterVersion (\s a -> s { _sClusterVersion = a })---- | The number of megabytes per second being transferred to the snapshot backup.--- Returns '0' for a completed backup.-sCurrentBackupRateInMegaBytesPerSecond :: Lens' Snapshot (Maybe Double)-sCurrentBackupRateInMegaBytesPerSecond =-    lens _sCurrentBackupRateInMegaBytesPerSecond-        (\s a -> s { _sCurrentBackupRateInMegaBytesPerSecond = a })---- | The name of the database that was created when the cluster was created.-sDBName :: Lens' Snapshot (Maybe Text)-sDBName = lens _sDBName (\s a -> s { _sDBName = a })---- | The amount of time an in-progress snapshot backup has been running, or the--- amount of time it took a completed backup to finish.-sElapsedTimeInSeconds :: Lens' Snapshot (Maybe Integer)-sElapsedTimeInSeconds =-    lens _sElapsedTimeInSeconds (\s a -> s { _sElapsedTimeInSeconds = a })---- | If 'true', the data in the snapshot is encrypted at rest.-sEncrypted :: Lens' Snapshot (Maybe Bool)-sEncrypted = lens _sEncrypted (\s a -> s { _sEncrypted = a })---- | A boolean that indicates whether the snapshot data is encrypted using the HSM--- keys of the source cluster. 'true' indicates that the data is encrypted using--- HSM keys.-sEncryptedWithHSM :: Lens' Snapshot (Maybe Bool)-sEncryptedWithHSM =-    lens _sEncryptedWithHSM (\s a -> s { _sEncryptedWithHSM = a })---- | The estimate of the time remaining before the snapshot backup will complete.--- Returns '0' for a completed backup.-sEstimatedSecondsToCompletion :: Lens' Snapshot (Maybe Integer)-sEstimatedSecondsToCompletion =-    lens _sEstimatedSecondsToCompletion-        (\s a -> s { _sEstimatedSecondsToCompletion = a })---- | The AWS Key Management Service (KMS) key ID of the encryption key that was--- used to encrypt data in the cluster from which the snapshot was taken.-sKmsKeyId :: Lens' Snapshot (Maybe Text)-sKmsKeyId = lens _sKmsKeyId (\s a -> s { _sKmsKeyId = a })---- | The master user name for the cluster.-sMasterUsername :: Lens' Snapshot (Maybe Text)-sMasterUsername = lens _sMasterUsername (\s a -> s { _sMasterUsername = a })---- | The node type of the nodes in the cluster.-sNodeType :: Lens' Snapshot (Maybe Text)-sNodeType = lens _sNodeType (\s a -> s { _sNodeType = a })---- | The number of nodes in the cluster.-sNumberOfNodes :: Lens' Snapshot (Maybe Int)-sNumberOfNodes = lens _sNumberOfNodes (\s a -> s { _sNumberOfNodes = a })---- | For manual snapshots, the AWS customer account used to create or copy the--- snapshot. For automatic snapshots, the owner of the cluster. The owner can--- perform all snapshot actions, such as sharing a manual snapshot.-sOwnerAccount :: Lens' Snapshot (Maybe Text)-sOwnerAccount = lens _sOwnerAccount (\s a -> s { _sOwnerAccount = a })---- | The port that the cluster is listening on.-sPort :: Lens' Snapshot (Maybe Int)-sPort = lens _sPort (\s a -> s { _sPort = a })---- | The time (UTC) when Amazon Redshift began the snapshot. A snapshot contains--- a copy of the cluster data as of this exact time.-sSnapshotCreateTime :: Lens' Snapshot (Maybe UTCTime)-sSnapshotCreateTime =-    lens _sSnapshotCreateTime (\s a -> s { _sSnapshotCreateTime = a })-        . mapping _Time---- | The snapshot identifier that is provided in the request.-sSnapshotIdentifier :: Lens' Snapshot (Maybe Text)-sSnapshotIdentifier =-    lens _sSnapshotIdentifier (\s a -> s { _sSnapshotIdentifier = a })---- | The snapshot type. Snapshots created using 'CreateClusterSnapshot' and 'CopyClusterSnapshot' will be of type "manual".-sSnapshotType :: Lens' Snapshot (Maybe Text)-sSnapshotType = lens _sSnapshotType (\s a -> s { _sSnapshotType = a })---- | The source region from which the snapshot was copied.-sSourceRegion :: Lens' Snapshot (Maybe Text)-sSourceRegion = lens _sSourceRegion (\s a -> s { _sSourceRegion = a })---- | The snapshot status. The value of the status depends on the API operation--- used.   'CreateClusterSnapshot' and 'CopyClusterSnapshot' returns status as--- "creating".   'DescribeClusterSnapshots' returns status as "creating",--- "available", "final snapshot", or "failed".  'DeleteClusterSnapshot' returns--- status as "deleted".-sStatus :: Lens' Snapshot (Maybe Text)-sStatus = lens _sStatus (\s a -> s { _sStatus = a })---- | The list of tags for the cluster snapshot.-sTags :: Lens' Snapshot [Tag]-sTags = lens _sTags (\s a -> s { _sTags = a }) . _List---- | The size of the complete set of backup data that would be used to restore--- the cluster.-sTotalBackupSizeInMegaBytes :: Lens' Snapshot (Maybe Double)-sTotalBackupSizeInMegaBytes =-    lens _sTotalBackupSizeInMegaBytes-        (\s a -> s { _sTotalBackupSizeInMegaBytes = a })---- | The VPC identifier of the cluster if the snapshot is from a cluster in a VPC.--- Otherwise, this field is not in the output.-sVpcId :: Lens' Snapshot (Maybe Text)-sVpcId = lens _sVpcId (\s a -> s { _sVpcId = a })--instance FromXML Snapshot where-    parseXML x = Snapshot-        <$> x .@? "AccountsWithRestoreAccess" .!@ mempty-        <*> x .@? "ActualIncrementalBackupSizeInMegaBytes"-        <*> x .@? "AvailabilityZone"-        <*> x .@? "BackupProgressInMegaBytes"-        <*> x .@? "ClusterCreateTime"-        <*> x .@? "ClusterIdentifier"-        <*> x .@? "ClusterVersion"-        <*> x .@? "CurrentBackupRateInMegaBytesPerSecond"-        <*> x .@? "DBName"-        <*> x .@? "ElapsedTimeInSeconds"-        <*> x .@? "Encrypted"-        <*> x .@? "EncryptedWithHSM"-        <*> x .@? "EstimatedSecondsToCompletion"-        <*> x .@? "KmsKeyId"-        <*> x .@? "MasterUsername"-        <*> x .@? "NodeType"-        <*> x .@? "NumberOfNodes"-        <*> x .@? "OwnerAccount"-        <*> x .@? "Port"-        <*> x .@? "SnapshotCreateTime"-        <*> x .@? "SnapshotIdentifier"-        <*> x .@? "SnapshotType"-        <*> x .@? "SourceRegion"-        <*> x .@? "Status"-        <*> x .@? "Tags" .!@ mempty-        <*> x .@? "TotalBackupSizeInMegaBytes"-        <*> x .@? "VpcId"--instance ToQuery Snapshot where-    toQuery Snapshot{..} = mconcat-        [ "AccountsWithRestoreAccess"              =? _sAccountsWithRestoreAccess-        , "ActualIncrementalBackupSizeInMegaBytes" =? _sActualIncrementalBackupSizeInMegaBytes-        , "AvailabilityZone"                       =? _sAvailabilityZone-        , "BackupProgressInMegaBytes"              =? _sBackupProgressInMegaBytes-        , "ClusterCreateTime"                      =? _sClusterCreateTime-        , "ClusterIdentifier"                      =? _sClusterIdentifier-        , "ClusterVersion"                         =? _sClusterVersion-        , "CurrentBackupRateInMegaBytesPerSecond"  =? _sCurrentBackupRateInMegaBytesPerSecond-        , "DBName"                                 =? _sDBName-        , "ElapsedTimeInSeconds"                   =? _sElapsedTimeInSeconds-        , "Encrypted"                              =? _sEncrypted-        , "EncryptedWithHSM"                       =? _sEncryptedWithHSM-        , "EstimatedSecondsToCompletion"           =? _sEstimatedSecondsToCompletion-        , "KmsKeyId"                               =? _sKmsKeyId-        , "MasterUsername"                         =? _sMasterUsername-        , "NodeType"                               =? _sNodeType-        , "NumberOfNodes"                          =? _sNumberOfNodes-        , "OwnerAccount"                           =? _sOwnerAccount-        , "Port"                                   =? _sPort-        , "SnapshotCreateTime"                     =? _sSnapshotCreateTime-        , "SnapshotIdentifier"                     =? _sSnapshotIdentifier-        , "SnapshotType"                           =? _sSnapshotType-        , "SourceRegion"                           =? _sSourceRegion-        , "Status"                                 =? _sStatus-        , "Tags"                                   =? _sTags-        , "TotalBackupSizeInMegaBytes"             =? _sTotalBackupSizeInMegaBytes-        , "VpcId"                                  =? _sVpcId-        ]--data ClusterParameterGroup = ClusterParameterGroup-    { _cpgDescription          :: Maybe Text-    , _cpgParameterGroupFamily :: Maybe Text-    , _cpgParameterGroupName   :: Maybe Text-    , _cpgTags                 :: List "member" Tag-    } deriving (Eq, Read, Show)---- | 'ClusterParameterGroup' constructor.------ The fields accessible through corresponding lenses are:------ * 'cpgDescription' @::@ 'Maybe' 'Text'------ * 'cpgParameterGroupFamily' @::@ 'Maybe' 'Text'------ * 'cpgParameterGroupName' @::@ 'Maybe' 'Text'------ * 'cpgTags' @::@ ['Tag']----clusterParameterGroup :: ClusterParameterGroup-clusterParameterGroup = ClusterParameterGroup-    { _cpgParameterGroupName   = Nothing-    , _cpgParameterGroupFamily = Nothing-    , _cpgDescription          = Nothing-    , _cpgTags                 = mempty-    }---- | The description of the parameter group.-cpgDescription :: Lens' ClusterParameterGroup (Maybe Text)-cpgDescription = lens _cpgDescription (\s a -> s { _cpgDescription = a })---- | The name of the cluster parameter group family that this cluster parameter--- group is compatible with.-cpgParameterGroupFamily :: Lens' ClusterParameterGroup (Maybe Text)-cpgParameterGroupFamily =-    lens _cpgParameterGroupFamily (\s a -> s { _cpgParameterGroupFamily = a })---- | The name of the cluster parameter group.-cpgParameterGroupName :: Lens' ClusterParameterGroup (Maybe Text)-cpgParameterGroupName =-    lens _cpgParameterGroupName (\s a -> s { _cpgParameterGroupName = a })---- | The list of tags for the cluster parameter group.-cpgTags :: Lens' ClusterParameterGroup [Tag]-cpgTags = lens _cpgTags (\s a -> s { _cpgTags = a }) . _List--instance FromXML ClusterParameterGroup where-    parseXML x = ClusterParameterGroup-        <$> x .@? "Description"-        <*> x .@? "ParameterGroupFamily"-        <*> x .@? "ParameterGroupName"-        <*> x .@? "Tags" .!@ mempty--instance ToQuery ClusterParameterGroup where-    toQuery ClusterParameterGroup{..} = mconcat-        [ "Description"          =? _cpgDescription-        , "ParameterGroupFamily" =? _cpgParameterGroupFamily-        , "ParameterGroupName"   =? _cpgParameterGroupName-        , "Tags"                 =? _cpgTags-        ]--data RestoreStatus = RestoreStatus-    { _rsCurrentRestoreRateInMegaBytesPerSecond :: Maybe Double-    , _rsElapsedTimeInSeconds                   :: Maybe Integer-    , _rsEstimatedTimeToCompletionInSeconds     :: Maybe Integer-    , _rsProgressInMegaBytes                    :: Maybe Integer-    , _rsSnapshotSizeInMegaBytes                :: Maybe Integer-    , _rsStatus                                 :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'RestoreStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'rsCurrentRestoreRateInMegaBytesPerSecond' @::@ 'Maybe' 'Double'------ * 'rsElapsedTimeInSeconds' @::@ 'Maybe' 'Integer'------ * 'rsEstimatedTimeToCompletionInSeconds' @::@ 'Maybe' 'Integer'------ * 'rsProgressInMegaBytes' @::@ 'Maybe' 'Integer'------ * 'rsSnapshotSizeInMegaBytes' @::@ 'Maybe' 'Integer'------ * 'rsStatus' @::@ 'Maybe' 'Text'----restoreStatus :: RestoreStatus-restoreStatus = RestoreStatus-    { _rsStatus                                 = Nothing-    , _rsCurrentRestoreRateInMegaBytesPerSecond = Nothing-    , _rsSnapshotSizeInMegaBytes                = Nothing-    , _rsProgressInMegaBytes                    = Nothing-    , _rsElapsedTimeInSeconds                   = Nothing-    , _rsEstimatedTimeToCompletionInSeconds     = Nothing-    }---- | The number of megabytes per second being transferred from the backup--- storage. Returns the average rate for a completed backup.-rsCurrentRestoreRateInMegaBytesPerSecond :: Lens' RestoreStatus (Maybe Double)-rsCurrentRestoreRateInMegaBytesPerSecond =-    lens _rsCurrentRestoreRateInMegaBytesPerSecond-        (\s a -> s { _rsCurrentRestoreRateInMegaBytesPerSecond = a })---- | The amount of time an in-progress restore has been running, or the amount of--- time it took a completed restore to finish.-rsElapsedTimeInSeconds :: Lens' RestoreStatus (Maybe Integer)-rsElapsedTimeInSeconds =-    lens _rsElapsedTimeInSeconds (\s a -> s { _rsElapsedTimeInSeconds = a })---- | The estimate of the time remaining before the restore will complete. Returns--- 0 for a completed restore.-rsEstimatedTimeToCompletionInSeconds :: Lens' RestoreStatus (Maybe Integer)-rsEstimatedTimeToCompletionInSeconds =-    lens _rsEstimatedTimeToCompletionInSeconds-        (\s a -> s { _rsEstimatedTimeToCompletionInSeconds = a })---- | The number of megabytes that have been transferred from snapshot storage.-rsProgressInMegaBytes :: Lens' RestoreStatus (Maybe Integer)-rsProgressInMegaBytes =-    lens _rsProgressInMegaBytes (\s a -> s { _rsProgressInMegaBytes = a })---- | The size of the set of snapshot data used to restore the cluster.-rsSnapshotSizeInMegaBytes :: Lens' RestoreStatus (Maybe Integer)-rsSnapshotSizeInMegaBytes =-    lens _rsSnapshotSizeInMegaBytes-        (\s a -> s { _rsSnapshotSizeInMegaBytes = a })---- | The status of the restore action. Returns starting, restoring, completed, or--- failed.-rsStatus :: Lens' RestoreStatus (Maybe Text)-rsStatus = lens _rsStatus (\s a -> s { _rsStatus = a })--instance FromXML RestoreStatus where-    parseXML x = RestoreStatus-        <$> x .@? "CurrentRestoreRateInMegaBytesPerSecond"-        <*> x .@? "ElapsedTimeInSeconds"-        <*> x .@? "EstimatedTimeToCompletionInSeconds"-        <*> x .@? "ProgressInMegaBytes"-        <*> x .@? "SnapshotSizeInMegaBytes"-        <*> x .@? "Status"--instance ToQuery RestoreStatus where-    toQuery RestoreStatus{..} = mconcat-        [ "CurrentRestoreRateInMegaBytesPerSecond" =? _rsCurrentRestoreRateInMegaBytesPerSecond-        , "ElapsedTimeInSeconds"                   =? _rsElapsedTimeInSeconds-        , "EstimatedTimeToCompletionInSeconds"     =? _rsEstimatedTimeToCompletionInSeconds-        , "ProgressInMegaBytes"                    =? _rsProgressInMegaBytes-        , "SnapshotSizeInMegaBytes"                =? _rsSnapshotSizeInMegaBytes-        , "Status"                                 =? _rsStatus-        ]--data Event = Event-    { _eDate             :: Maybe ISO8601-    , _eEventCategories  :: List "member" Text-    , _eEventId          :: Maybe Text-    , _eMessage          :: Maybe Text-    , _eSeverity         :: Maybe Text-    , _eSourceIdentifier :: Maybe Text-    , _eSourceType       :: Maybe SourceType-    } deriving (Eq, Read, Show)---- | 'Event' constructor.------ The fields accessible through corresponding lenses are:------ * 'eDate' @::@ 'Maybe' 'UTCTime'------ * 'eEventCategories' @::@ ['Text']------ * 'eEventId' @::@ 'Maybe' 'Text'------ * 'eMessage' @::@ 'Maybe' 'Text'------ * 'eSeverity' @::@ 'Maybe' 'Text'------ * 'eSourceIdentifier' @::@ 'Maybe' 'Text'------ * 'eSourceType' @::@ 'Maybe' 'SourceType'----event :: Event-event = Event-    { _eSourceIdentifier = Nothing-    , _eSourceType       = Nothing-    , _eMessage          = Nothing-    , _eEventCategories  = mempty-    , _eSeverity         = Nothing-    , _eDate             = Nothing-    , _eEventId          = Nothing-    }---- | The date and time of the event.-eDate :: Lens' Event (Maybe UTCTime)-eDate = lens _eDate (\s a -> s { _eDate = a }) . mapping _Time---- | A list of the event categories.-eEventCategories :: Lens' Event [Text]-eEventCategories = lens _eEventCategories (\s a -> s { _eEventCategories = a }) . _List---- | The identifier of the event.-eEventId :: Lens' Event (Maybe Text)-eEventId = lens _eEventId (\s a -> s { _eEventId = a })---- | The text of this event.-eMessage :: Lens' Event (Maybe Text)-eMessage = lens _eMessage (\s a -> s { _eMessage = a })---- | The severity of the event.------ Values: ERROR, INFO-eSeverity :: Lens' Event (Maybe Text)-eSeverity = lens _eSeverity (\s a -> s { _eSeverity = a })---- | The identifier for the source of the event.-eSourceIdentifier :: Lens' Event (Maybe Text)-eSourceIdentifier =-    lens _eSourceIdentifier (\s a -> s { _eSourceIdentifier = a })---- | The source type for this event.-eSourceType :: Lens' Event (Maybe SourceType)-eSourceType = lens _eSourceType (\s a -> s { _eSourceType = a })--instance FromXML Event where-    parseXML x = Event-        <$> x .@? "Date"-        <*> x .@? "EventCategories" .!@ mempty-        <*> x .@? "EventId"-        <*> x .@? "Message"-        <*> x .@? "Severity"-        <*> x .@? "SourceIdentifier"-        <*> x .@? "SourceType"--instance ToQuery Event where-    toQuery Event{..} = mconcat-        [ "Date"             =? _eDate-        , "EventCategories"  =? _eEventCategories-        , "EventId"          =? _eEventId-        , "Message"          =? _eMessage-        , "Severity"         =? _eSeverity-        , "SourceIdentifier" =? _eSourceIdentifier-        , "SourceType"       =? _eSourceType-        ]--data ClusterSnapshotCopyStatus = ClusterSnapshotCopyStatus-    { _cscsDestinationRegion :: Maybe Text-    , _cscsRetentionPeriod   :: Maybe Integer-    } deriving (Eq, Ord, Read, Show)---- | 'ClusterSnapshotCopyStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'cscsDestinationRegion' @::@ 'Maybe' 'Text'------ * 'cscsRetentionPeriod' @::@ 'Maybe' 'Integer'----clusterSnapshotCopyStatus :: ClusterSnapshotCopyStatus-clusterSnapshotCopyStatus = ClusterSnapshotCopyStatus-    { _cscsDestinationRegion = Nothing-    , _cscsRetentionPeriod   = Nothing-    }---- | The destination region that snapshots are automatically copied to when--- cross-region snapshot copy is enabled.-cscsDestinationRegion :: Lens' ClusterSnapshotCopyStatus (Maybe Text)-cscsDestinationRegion =-    lens _cscsDestinationRegion (\s a -> s { _cscsDestinationRegion = a })---- | The number of days that automated snapshots are retained in the destination--- region after they are copied from a source region.-cscsRetentionPeriod :: Lens' ClusterSnapshotCopyStatus (Maybe Integer)-cscsRetentionPeriod =-    lens _cscsRetentionPeriod (\s a -> s { _cscsRetentionPeriod = a })--instance FromXML ClusterSnapshotCopyStatus where-    parseXML x = ClusterSnapshotCopyStatus-        <$> x .@? "DestinationRegion"-        <*> x .@? "RetentionPeriod"--instance ToQuery ClusterSnapshotCopyStatus where-    toQuery ClusterSnapshotCopyStatus{..} = mconcat-        [ "DestinationRegion" =? _cscsDestinationRegion-        , "RetentionPeriod"   =? _cscsRetentionPeriod-        ]--data Tag = Tag-    { _tagKey   :: Maybe Text-    , _tagValue :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Tag' constructor.------ The fields accessible through corresponding lenses are:------ * 'tagKey' @::@ 'Maybe' 'Text'------ * 'tagValue' @::@ 'Maybe' 'Text'----tag :: Tag-tag = Tag-    { _tagKey   = Nothing-    , _tagValue = Nothing-    }---- | The key, or name, for the resource tag.-tagKey :: Lens' Tag (Maybe Text)-tagKey = lens _tagKey (\s a -> s { _tagKey = a })---- | The value for the resource tag.-tagValue :: Lens' Tag (Maybe Text)-tagValue = lens _tagValue (\s a -> s { _tagValue = a })--instance FromXML Tag where-    parseXML x = Tag-        <$> x .@? "Key"-        <*> x .@? "Value"--instance ToQuery Tag where-    toQuery Tag{..} = mconcat-        [ "Key"   =? _tagKey-        , "Value" =? _tagValue-        ]--data HsmClientCertificate = HsmClientCertificate-    { _hccHsmClientCertificateIdentifier :: Maybe Text-    , _hccHsmClientCertificatePublicKey  :: Maybe Text-    , _hccTags                           :: List "member" Tag-    } deriving (Eq, Read, Show)---- | 'HsmClientCertificate' constructor.------ The fields accessible through corresponding lenses are:------ * 'hccHsmClientCertificateIdentifier' @::@ 'Maybe' 'Text'------ * 'hccHsmClientCertificatePublicKey' @::@ 'Maybe' 'Text'------ * 'hccTags' @::@ ['Tag']----hsmClientCertificate :: HsmClientCertificate-hsmClientCertificate = HsmClientCertificate-    { _hccHsmClientCertificateIdentifier = Nothing-    , _hccHsmClientCertificatePublicKey  = Nothing-    , _hccTags                           = mempty-    }---- | The identifier of the HSM client certificate.-hccHsmClientCertificateIdentifier :: Lens' HsmClientCertificate (Maybe Text)-hccHsmClientCertificateIdentifier =-    lens _hccHsmClientCertificateIdentifier-        (\s a -> s { _hccHsmClientCertificateIdentifier = a })---- | The public key that the Amazon Redshift cluster will use to connect to the--- HSM. You must register the public key in the HSM.-hccHsmClientCertificatePublicKey :: Lens' HsmClientCertificate (Maybe Text)-hccHsmClientCertificatePublicKey =-    lens _hccHsmClientCertificatePublicKey-        (\s a -> s { _hccHsmClientCertificatePublicKey = a })---- | The list of tags for the HSM client certificate.-hccTags :: Lens' HsmClientCertificate [Tag]-hccTags = lens _hccTags (\s a -> s { _hccTags = a }) . _List--instance FromXML HsmClientCertificate where-    parseXML x = HsmClientCertificate-        <$> x .@? "HsmClientCertificateIdentifier"-        <*> x .@? "HsmClientCertificatePublicKey"-        <*> x .@? "Tags" .!@ mempty--instance ToQuery HsmClientCertificate where-    toQuery HsmClientCertificate{..} = mconcat-        [ "HsmClientCertificateIdentifier" =? _hccHsmClientCertificateIdentifier-        , "HsmClientCertificatePublicKey"  =? _hccHsmClientCertificatePublicKey-        , "Tags"                           =? _hccTags-        ]--data Cluster = Cluster-    { _cAllowVersionUpgrade              :: Maybe Bool-    , _cAutomatedSnapshotRetentionPeriod :: Maybe Int-    , _cAvailabilityZone                 :: Maybe Text-    , _cClusterCreateTime                :: Maybe ISO8601-    , _cClusterIdentifier                :: Maybe Text-    , _cClusterNodes                     :: List "member" ClusterNode-    , _cClusterParameterGroups           :: List "member" ClusterParameterGroupStatus-    , _cClusterPublicKey                 :: Maybe Text-    , _cClusterRevisionNumber            :: Maybe Text-    , _cClusterSecurityGroups            :: List "member" ClusterSecurityGroupMembership-    , _cClusterSnapshotCopyStatus        :: Maybe ClusterSnapshotCopyStatus-    , _cClusterStatus                    :: Maybe Text-    , _cClusterSubnetGroupName           :: Maybe Text-    , _cClusterVersion                   :: Maybe Text-    , _cDBName                           :: Maybe Text-    , _cElasticIpStatus                  :: Maybe ElasticIpStatus-    , _cEncrypted                        :: Maybe Bool-    , _cEndpoint                         :: Maybe Endpoint-    , _cHsmStatus                        :: Maybe HsmStatus-    , _cKmsKeyId                         :: Maybe Text-    , _cMasterUsername                   :: Maybe Text-    , _cModifyStatus                     :: Maybe Text-    , _cNodeType                         :: Maybe Text-    , _cNumberOfNodes                    :: Maybe Int-    , _cPendingModifiedValues            :: Maybe PendingModifiedValues-    , _cPreferredMaintenanceWindow       :: Maybe Text-    , _cPubliclyAccessible               :: Maybe Bool-    , _cRestoreStatus                    :: Maybe RestoreStatus-    , _cTags                             :: List "member" Tag-    , _cVpcId                            :: Maybe Text-    , _cVpcSecurityGroups                :: List "member" VpcSecurityGroupMembership-    } deriving (Eq, Read, Show)---- | 'Cluster' constructor.------ The fields accessible through corresponding lenses are:------ * 'cAllowVersionUpgrade' @::@ 'Maybe' 'Bool'------ * 'cAutomatedSnapshotRetentionPeriod' @::@ 'Maybe' 'Int'------ * 'cAvailabilityZone' @::@ 'Maybe' 'Text'------ * 'cClusterCreateTime' @::@ 'Maybe' 'UTCTime'------ * 'cClusterIdentifier' @::@ 'Maybe' 'Text'------ * 'cClusterNodes' @::@ ['ClusterNode']------ * 'cClusterParameterGroups' @::@ ['ClusterParameterGroupStatus']------ * 'cClusterPublicKey' @::@ 'Maybe' 'Text'------ * 'cClusterRevisionNumber' @::@ 'Maybe' 'Text'------ * 'cClusterSecurityGroups' @::@ ['ClusterSecurityGroupMembership']------ * 'cClusterSnapshotCopyStatus' @::@ 'Maybe' 'ClusterSnapshotCopyStatus'------ * 'cClusterStatus' @::@ 'Maybe' 'Text'------ * 'cClusterSubnetGroupName' @::@ 'Maybe' 'Text'------ * 'cClusterVersion' @::@ 'Maybe' 'Text'------ * 'cDBName' @::@ 'Maybe' 'Text'------ * 'cElasticIpStatus' @::@ 'Maybe' 'ElasticIpStatus'------ * 'cEncrypted' @::@ 'Maybe' 'Bool'------ * 'cEndpoint' @::@ 'Maybe' 'Endpoint'------ * 'cHsmStatus' @::@ 'Maybe' 'HsmStatus'------ * 'cKmsKeyId' @::@ 'Maybe' 'Text'------ * 'cMasterUsername' @::@ 'Maybe' 'Text'------ * 'cModifyStatus' @::@ 'Maybe' 'Text'------ * 'cNodeType' @::@ 'Maybe' 'Text'------ * 'cNumberOfNodes' @::@ 'Maybe' 'Int'------ * 'cPendingModifiedValues' @::@ 'Maybe' 'PendingModifiedValues'------ * 'cPreferredMaintenanceWindow' @::@ 'Maybe' 'Text'------ * 'cPubliclyAccessible' @::@ 'Maybe' 'Bool'------ * 'cRestoreStatus' @::@ 'Maybe' 'RestoreStatus'------ * 'cTags' @::@ ['Tag']------ * 'cVpcId' @::@ 'Maybe' 'Text'------ * 'cVpcSecurityGroups' @::@ ['VpcSecurityGroupMembership']----cluster :: Cluster-cluster = Cluster-    { _cClusterIdentifier                = Nothing-    , _cNodeType                         = Nothing-    , _cClusterStatus                    = Nothing-    , _cModifyStatus                     = Nothing-    , _cMasterUsername                   = Nothing-    , _cDBName                           = Nothing-    , _cEndpoint                         = Nothing-    , _cClusterCreateTime                = Nothing-    , _cAutomatedSnapshotRetentionPeriod = Nothing-    , _cClusterSecurityGroups            = mempty-    , _cVpcSecurityGroups                = mempty-    , _cClusterParameterGroups           = mempty-    , _cClusterSubnetGroupName           = Nothing-    , _cVpcId                            = Nothing-    , _cAvailabilityZone                 = Nothing-    , _cPreferredMaintenanceWindow       = Nothing-    , _cPendingModifiedValues            = Nothing-    , _cClusterVersion                   = Nothing-    , _cAllowVersionUpgrade              = Nothing-    , _cNumberOfNodes                    = Nothing-    , _cPubliclyAccessible               = Nothing-    , _cEncrypted                        = Nothing-    , _cRestoreStatus                    = Nothing-    , _cHsmStatus                        = Nothing-    , _cClusterSnapshotCopyStatus        = Nothing-    , _cClusterPublicKey                 = Nothing-    , _cClusterNodes                     = mempty-    , _cElasticIpStatus                  = Nothing-    , _cClusterRevisionNumber            = Nothing-    , _cTags                             = mempty-    , _cKmsKeyId                         = Nothing-    }---- | If 'true', major version upgrades will be applied automatically to the cluster--- during the maintenance window.-cAllowVersionUpgrade :: Lens' Cluster (Maybe Bool)-cAllowVersionUpgrade =-    lens _cAllowVersionUpgrade (\s a -> s { _cAllowVersionUpgrade = a })---- | The number of days that automatic cluster snapshots are retained.-cAutomatedSnapshotRetentionPeriod :: Lens' Cluster (Maybe Int)-cAutomatedSnapshotRetentionPeriod =-    lens _cAutomatedSnapshotRetentionPeriod-        (\s a -> s { _cAutomatedSnapshotRetentionPeriod = a })---- | The name of the Availability Zone in which the cluster is located.-cAvailabilityZone :: Lens' Cluster (Maybe Text)-cAvailabilityZone =-    lens _cAvailabilityZone (\s a -> s { _cAvailabilityZone = a })---- | The date and time that the cluster was created.-cClusterCreateTime :: Lens' Cluster (Maybe UTCTime)-cClusterCreateTime =-    lens _cClusterCreateTime (\s a -> s { _cClusterCreateTime = a })-        . mapping _Time---- | The unique identifier of the cluster.-cClusterIdentifier :: Lens' Cluster (Maybe Text)-cClusterIdentifier =-    lens _cClusterIdentifier (\s a -> s { _cClusterIdentifier = a })---- | The nodes in a cluster.-cClusterNodes :: Lens' Cluster [ClusterNode]-cClusterNodes = lens _cClusterNodes (\s a -> s { _cClusterNodes = a }) . _List---- | The list of cluster parameter groups that are associated with this cluster.-cClusterParameterGroups :: Lens' Cluster [ClusterParameterGroupStatus]-cClusterParameterGroups =-    lens _cClusterParameterGroups (\s a -> s { _cClusterParameterGroups = a })-        . _List---- | The public key for the cluster.-cClusterPublicKey :: Lens' Cluster (Maybe Text)-cClusterPublicKey =-    lens _cClusterPublicKey (\s a -> s { _cClusterPublicKey = a })---- | The specific revision number of the database in the cluster.-cClusterRevisionNumber :: Lens' Cluster (Maybe Text)-cClusterRevisionNumber =-    lens _cClusterRevisionNumber (\s a -> s { _cClusterRevisionNumber = a })---- | A list of cluster security group that are associated with the cluster. Each--- security group is represented by an element that contains 'ClusterSecurityGroup.Name' and 'ClusterSecurityGroup.Status' subelements.------ Cluster security groups are used when the cluster is not created in a VPC.--- Clusters that are created in a VPC use VPC security groups, which are listed--- by the VpcSecurityGroups parameter.-cClusterSecurityGroups :: Lens' Cluster [ClusterSecurityGroupMembership]-cClusterSecurityGroups =-    lens _cClusterSecurityGroups (\s a -> s { _cClusterSecurityGroups = a })-        . _List---- | Returns the destination region and retention period that are configured for--- cross-region snapshot copy.-cClusterSnapshotCopyStatus :: Lens' Cluster (Maybe ClusterSnapshotCopyStatus)-cClusterSnapshotCopyStatus =-    lens _cClusterSnapshotCopyStatus-        (\s a -> s { _cClusterSnapshotCopyStatus = a })---- | The current state of this cluster. Possible values include 'available', 'creating', 'deleting', 'rebooting', 'renaming', and 'resizing'.-cClusterStatus :: Lens' Cluster (Maybe Text)-cClusterStatus = lens _cClusterStatus (\s a -> s { _cClusterStatus = a })---- | The name of the subnet group that is associated with the cluster. This--- parameter is valid only when the cluster is in a VPC.-cClusterSubnetGroupName :: Lens' Cluster (Maybe Text)-cClusterSubnetGroupName =-    lens _cClusterSubnetGroupName (\s a -> s { _cClusterSubnetGroupName = a })---- | The version ID of the Amazon Redshift engine that is running on the cluster.-cClusterVersion :: Lens' Cluster (Maybe Text)-cClusterVersion = lens _cClusterVersion (\s a -> s { _cClusterVersion = a })---- | The name of the initial database that was created when the cluster was--- created. This same name is returned for the life of the cluster. If an--- initial database was not specified, a database named "dev" was created by--- default.-cDBName :: Lens' Cluster (Maybe Text)-cDBName = lens _cDBName (\s a -> s { _cDBName = a })---- | Describes the status of the elastic IP (EIP) address.-cElasticIpStatus :: Lens' Cluster (Maybe ElasticIpStatus)-cElasticIpStatus = lens _cElasticIpStatus (\s a -> s { _cElasticIpStatus = a })---- | If 'true', data in the cluster is encrypted at rest.-cEncrypted :: Lens' Cluster (Maybe Bool)-cEncrypted = lens _cEncrypted (\s a -> s { _cEncrypted = a })---- | The connection endpoint.-cEndpoint :: Lens' Cluster (Maybe Endpoint)-cEndpoint = lens _cEndpoint (\s a -> s { _cEndpoint = a })---- | Reports whether the Amazon Redshift cluster has finished applying any HSM--- settings changes specified in a modify cluster command.------ Values: active, applying-cHsmStatus :: Lens' Cluster (Maybe HsmStatus)-cHsmStatus = lens _cHsmStatus (\s a -> s { _cHsmStatus = a })---- | The AWS Key Management Service (KMS) key ID of the encryption key used to--- encrypt data in the cluster.-cKmsKeyId :: Lens' Cluster (Maybe Text)-cKmsKeyId = lens _cKmsKeyId (\s a -> s { _cKmsKeyId = a })---- | The master user name for the cluster. This name is used to connect to the--- database that is specified in DBName.-cMasterUsername :: Lens' Cluster (Maybe Text)-cMasterUsername = lens _cMasterUsername (\s a -> s { _cMasterUsername = a })---- | The status of a modify operation, if any, initiated for the cluster.-cModifyStatus :: Lens' Cluster (Maybe Text)-cModifyStatus = lens _cModifyStatus (\s a -> s { _cModifyStatus = a })---- | The node type for the nodes in the cluster.-cNodeType :: Lens' Cluster (Maybe Text)-cNodeType = lens _cNodeType (\s a -> s { _cNodeType = a })---- | The number of compute nodes in the cluster.-cNumberOfNodes :: Lens' Cluster (Maybe Int)-cNumberOfNodes = lens _cNumberOfNodes (\s a -> s { _cNumberOfNodes = a })---- | If present, changes to the cluster are pending. Specific pending changes are--- identified by subelements.-cPendingModifiedValues :: Lens' Cluster (Maybe PendingModifiedValues)-cPendingModifiedValues =-    lens _cPendingModifiedValues (\s a -> s { _cPendingModifiedValues = a })---- | The weekly time range (in UTC) during which system maintenance can occur.-cPreferredMaintenanceWindow :: Lens' Cluster (Maybe Text)-cPreferredMaintenanceWindow =-    lens _cPreferredMaintenanceWindow-        (\s a -> s { _cPreferredMaintenanceWindow = a })---- | If 'true', the cluster can be accessed from a public network.-cPubliclyAccessible :: Lens' Cluster (Maybe Bool)-cPubliclyAccessible =-    lens _cPubliclyAccessible (\s a -> s { _cPubliclyAccessible = a })---- | Describes the status of a cluster restore action. Returns null if the--- cluster was not created by restoring a snapshot.-cRestoreStatus :: Lens' Cluster (Maybe RestoreStatus)-cRestoreStatus = lens _cRestoreStatus (\s a -> s { _cRestoreStatus = a })---- | The list of tags for the cluster.-cTags :: Lens' Cluster [Tag]-cTags = lens _cTags (\s a -> s { _cTags = a }) . _List---- | The identifier of the VPC the cluster is in, if the cluster is in a VPC.-cVpcId :: Lens' Cluster (Maybe Text)-cVpcId = lens _cVpcId (\s a -> s { _cVpcId = a })---- | A list of Virtual Private Cloud (VPC) security groups that are associated--- with the cluster. This parameter is returned only if the cluster is in a VPC.-cVpcSecurityGroups :: Lens' Cluster [VpcSecurityGroupMembership]-cVpcSecurityGroups =-    lens _cVpcSecurityGroups (\s a -> s { _cVpcSecurityGroups = a })-        . _List--instance FromXML Cluster where-    parseXML x = Cluster-        <$> x .@? "AllowVersionUpgrade"-        <*> x .@? "AutomatedSnapshotRetentionPeriod"-        <*> x .@? "AvailabilityZone"-        <*> x .@? "ClusterCreateTime"-        <*> x .@? "ClusterIdentifier"-        <*> x .@? "ClusterNodes" .!@ mempty-        <*> x .@? "ClusterParameterGroups" .!@ mempty-        <*> x .@? "ClusterPublicKey"-        <*> x .@? "ClusterRevisionNumber"-        <*> x .@? "ClusterSecurityGroups" .!@ mempty-        <*> x .@? "ClusterSnapshotCopyStatus"-        <*> x .@? "ClusterStatus"-        <*> x .@? "ClusterSubnetGroupName"-        <*> x .@? "ClusterVersion"-        <*> x .@? "DBName"-        <*> x .@? "ElasticIpStatus"-        <*> x .@? "Encrypted"-        <*> x .@? "Endpoint"-        <*> x .@? "HsmStatus"-        <*> x .@? "KmsKeyId"-        <*> x .@? "MasterUsername"-        <*> x .@? "ModifyStatus"-        <*> x .@? "NodeType"-        <*> x .@? "NumberOfNodes"-        <*> x .@? "PendingModifiedValues"-        <*> x .@? "PreferredMaintenanceWindow"-        <*> x .@? "PubliclyAccessible"-        <*> x .@? "RestoreStatus"-        <*> x .@? "Tags" .!@ mempty-        <*> x .@? "VpcId"-        <*> x .@? "VpcSecurityGroups" .!@ mempty--instance ToQuery Cluster where-    toQuery Cluster{..} = mconcat-        [ "AllowVersionUpgrade"              =? _cAllowVersionUpgrade-        , "AutomatedSnapshotRetentionPeriod" =? _cAutomatedSnapshotRetentionPeriod-        , "AvailabilityZone"                 =? _cAvailabilityZone-        , "ClusterCreateTime"                =? _cClusterCreateTime-        , "ClusterIdentifier"                =? _cClusterIdentifier-        , "ClusterNodes"                     =? _cClusterNodes-        , "ClusterParameterGroups"           =? _cClusterParameterGroups-        , "ClusterPublicKey"                 =? _cClusterPublicKey-        , "ClusterRevisionNumber"            =? _cClusterRevisionNumber-        , "ClusterSecurityGroups"            =? _cClusterSecurityGroups-        , "ClusterSnapshotCopyStatus"        =? _cClusterSnapshotCopyStatus-        , "ClusterStatus"                    =? _cClusterStatus-        , "ClusterSubnetGroupName"           =? _cClusterSubnetGroupName-        , "ClusterVersion"                   =? _cClusterVersion-        , "DBName"                           =? _cDBName-        , "ElasticIpStatus"                  =? _cElasticIpStatus-        , "Encrypted"                        =? _cEncrypted-        , "Endpoint"                         =? _cEndpoint-        , "HsmStatus"                        =? _cHsmStatus-        , "KmsKeyId"                         =? _cKmsKeyId-        , "MasterUsername"                   =? _cMasterUsername-        , "ModifyStatus"                     =? _cModifyStatus-        , "NodeType"                         =? _cNodeType-        , "NumberOfNodes"                    =? _cNumberOfNodes-        , "PendingModifiedValues"            =? _cPendingModifiedValues-        , "PreferredMaintenanceWindow"       =? _cPreferredMaintenanceWindow-        , "PubliclyAccessible"               =? _cPubliclyAccessible-        , "RestoreStatus"                    =? _cRestoreStatus-        , "Tags"                             =? _cTags-        , "VpcId"                            =? _cVpcId-        , "VpcSecurityGroups"                =? _cVpcSecurityGroups-        ]--data ClusterNode = ClusterNode-    { _cnNodeRole         :: Maybe Text-    , _cnPrivateIPAddress :: Maybe Text-    , _cnPublicIPAddress  :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ClusterNode' constructor.------ The fields accessible through corresponding lenses are:------ * 'cnNodeRole' @::@ 'Maybe' 'Text'------ * 'cnPrivateIPAddress' @::@ 'Maybe' 'Text'------ * 'cnPublicIPAddress' @::@ 'Maybe' 'Text'----clusterNode :: ClusterNode-clusterNode = ClusterNode-    { _cnNodeRole         = Nothing-    , _cnPrivateIPAddress = Nothing-    , _cnPublicIPAddress  = Nothing-    }---- | Whether the node is a leader node or a compute node.-cnNodeRole :: Lens' ClusterNode (Maybe Text)-cnNodeRole = lens _cnNodeRole (\s a -> s { _cnNodeRole = a })---- | The private IP address of a node within a cluster.-cnPrivateIPAddress :: Lens' ClusterNode (Maybe Text)-cnPrivateIPAddress =-    lens _cnPrivateIPAddress (\s a -> s { _cnPrivateIPAddress = a })---- | The public IP address of a node within a cluster.-cnPublicIPAddress :: Lens' ClusterNode (Maybe Text)-cnPublicIPAddress =-    lens _cnPublicIPAddress (\s a -> s { _cnPublicIPAddress = a })--instance FromXML ClusterNode where-    parseXML x = ClusterNode-        <$> x .@? "NodeRole"-        <*> x .@? "PrivateIPAddress"-        <*> x .@? "PublicIPAddress"--instance ToQuery ClusterNode where-    toQuery ClusterNode{..} = mconcat-        [ "NodeRole"         =? _cnNodeRole-        , "PrivateIPAddress" =? _cnPrivateIPAddress-        , "PublicIPAddress"  =? _cnPublicIPAddress-        ]--data EC2SecurityGroup = EC2SecurityGroup-    { _ecsgEC2SecurityGroupName    :: Maybe Text-    , _ecsgEC2SecurityGroupOwnerId :: Maybe Text-    , _ecsgStatus                  :: Maybe Text-    , _ecsgTags                    :: List "member" Tag-    } deriving (Eq, Read, Show)---- | 'EC2SecurityGroup' constructor.------ The fields accessible through corresponding lenses are:------ * 'ecsgEC2SecurityGroupName' @::@ 'Maybe' 'Text'------ * 'ecsgEC2SecurityGroupOwnerId' @::@ 'Maybe' 'Text'------ * 'ecsgStatus' @::@ 'Maybe' 'Text'------ * 'ecsgTags' @::@ ['Tag']----ec2SecurityGroup :: EC2SecurityGroup-ec2SecurityGroup = EC2SecurityGroup-    { _ecsgStatus                  = Nothing-    , _ecsgEC2SecurityGroupName    = Nothing-    , _ecsgEC2SecurityGroupOwnerId = Nothing-    , _ecsgTags                    = mempty-    }---- | The name of the EC2 Security Group.-ecsgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)-ecsgEC2SecurityGroupName =-    lens _ecsgEC2SecurityGroupName-        (\s a -> s { _ecsgEC2SecurityGroupName = a })---- | The AWS ID of the owner of the EC2 security group specified in the 'EC2SecurityGroupName' field.-ecsgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)-ecsgEC2SecurityGroupOwnerId =-    lens _ecsgEC2SecurityGroupOwnerId-        (\s a -> s { _ecsgEC2SecurityGroupOwnerId = a })---- | The status of the EC2 security group.-ecsgStatus :: Lens' EC2SecurityGroup (Maybe Text)-ecsgStatus = lens _ecsgStatus (\s a -> s { _ecsgStatus = a })---- | The list of tags for the EC2 security group.-ecsgTags :: Lens' EC2SecurityGroup [Tag]-ecsgTags = lens _ecsgTags (\s a -> s { _ecsgTags = a }) . _List--instance FromXML EC2SecurityGroup where-    parseXML x = EC2SecurityGroup-        <$> x .@? "EC2SecurityGroupName"-        <*> x .@? "EC2SecurityGroupOwnerId"-        <*> x .@? "Status"-        <*> x .@? "Tags" .!@ mempty--instance ToQuery EC2SecurityGroup where-    toQuery EC2SecurityGroup{..} = mconcat-        [ "EC2SecurityGroupName"    =? _ecsgEC2SecurityGroupName-        , "EC2SecurityGroupOwnerId" =? _ecsgEC2SecurityGroupOwnerId-        , "Status"                  =? _ecsgStatus-        , "Tags"                    =? _ecsgTags-        ]--data OrderableClusterOption = OrderableClusterOption-    { _ocoAvailabilityZones :: List "member" AvailabilityZone-    , _ocoClusterType       :: Maybe Text-    , _ocoClusterVersion    :: Maybe Text-    , _ocoNodeType          :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'OrderableClusterOption' constructor.------ The fields accessible through corresponding lenses are:------ * 'ocoAvailabilityZones' @::@ ['AvailabilityZone']------ * 'ocoClusterType' @::@ 'Maybe' 'Text'------ * 'ocoClusterVersion' @::@ 'Maybe' 'Text'------ * 'ocoNodeType' @::@ 'Maybe' 'Text'----orderableClusterOption :: OrderableClusterOption-orderableClusterOption = OrderableClusterOption-    { _ocoClusterVersion    = Nothing-    , _ocoClusterType       = Nothing-    , _ocoNodeType          = Nothing-    , _ocoAvailabilityZones = mempty-    }---- | A list of availability zones for the orderable cluster.-ocoAvailabilityZones :: Lens' OrderableClusterOption [AvailabilityZone]-ocoAvailabilityZones =-    lens _ocoAvailabilityZones (\s a -> s { _ocoAvailabilityZones = a })-        . _List---- | The cluster type, for example 'multi-node'.-ocoClusterType :: Lens' OrderableClusterOption (Maybe Text)-ocoClusterType = lens _ocoClusterType (\s a -> s { _ocoClusterType = a })---- | The version of the orderable cluster.-ocoClusterVersion :: Lens' OrderableClusterOption (Maybe Text)-ocoClusterVersion =-    lens _ocoClusterVersion (\s a -> s { _ocoClusterVersion = a })---- | The node type for the orderable cluster.-ocoNodeType :: Lens' OrderableClusterOption (Maybe Text)-ocoNodeType = lens _ocoNodeType (\s a -> s { _ocoNodeType = a })--instance FromXML OrderableClusterOption where-    parseXML x = OrderableClusterOption-        <$> x .@? "AvailabilityZones" .!@ mempty-        <*> x .@? "ClusterType"-        <*> x .@? "ClusterVersion"-        <*> x .@? "NodeType"--instance ToQuery OrderableClusterOption where-    toQuery OrderableClusterOption{..} = mconcat-        [ "AvailabilityZones" =? _ocoAvailabilityZones-        , "ClusterType"       =? _ocoClusterType-        , "ClusterVersion"    =? _ocoClusterVersion-        , "NodeType"          =? _ocoNodeType-        ]--data SourceType-    = STCluster               -- ^ cluster-    | STClusterParameterGroup -- ^ cluster-parameter-group-    | STClusterSecurityGroup  -- ^ cluster-security-group-    | STClusterSnapshot       -- ^ cluster-snapshot-      deriving (Eq, Ord, Read, Show, Generic, Enum)--instance Hashable SourceType--instance FromText SourceType where-    parser = takeLowerText >>= \case-        "cluster"                 -> pure STCluster-        "cluster-parameter-group" -> pure STClusterParameterGroup-        "cluster-security-group"  -> pure STClusterSecurityGroup-        "cluster-snapshot"        -> pure STClusterSnapshot-        e                         -> fail $-            "Failure parsing SourceType from " ++ show e--instance ToText SourceType where-    toText = \case-        STCluster               -> "cluster"-        STClusterParameterGroup -> "cluster-parameter-group"-        STClusterSecurityGroup  -> "cluster-security-group"-        STClusterSnapshot       -> "cluster-snapshot"--instance ToByteString SourceType-instance ToHeader     SourceType-instance ToQuery      SourceType--instance FromXML SourceType where-    parseXML = parseXMLText "SourceType"--data ClusterParameterGroupStatus = ClusterParameterGroupStatus-    { _cpgsParameterApplyStatus :: Maybe Text-    , _cpgsParameterGroupName   :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ClusterParameterGroupStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'cpgsParameterApplyStatus' @::@ 'Maybe' 'Text'------ * 'cpgsParameterGroupName' @::@ 'Maybe' 'Text'----clusterParameterGroupStatus :: ClusterParameterGroupStatus-clusterParameterGroupStatus = ClusterParameterGroupStatus-    { _cpgsParameterGroupName   = Nothing-    , _cpgsParameterApplyStatus = Nothing-    }---- | The status of parameter updates.-cpgsParameterApplyStatus :: Lens' ClusterParameterGroupStatus (Maybe Text)-cpgsParameterApplyStatus =-    lens _cpgsParameterApplyStatus-        (\s a -> s { _cpgsParameterApplyStatus = a })---- | The name of the cluster parameter group.-cpgsParameterGroupName :: Lens' ClusterParameterGroupStatus (Maybe Text)-cpgsParameterGroupName =-    lens _cpgsParameterGroupName (\s a -> s { _cpgsParameterGroupName = a })--instance FromXML ClusterParameterGroupStatus where-    parseXML x = ClusterParameterGroupStatus-        <$> x .@? "ParameterApplyStatus"-        <*> x .@? "ParameterGroupName"--instance ToQuery ClusterParameterGroupStatus where-    toQuery ClusterParameterGroupStatus{..} = mconcat-        [ "ParameterApplyStatus" =? _cpgsParameterApplyStatus-        , "ParameterGroupName"   =? _cpgsParameterGroupName-        ]--data Subnet = Subnet-    { _sSubnetAvailabilityZone :: Maybe AvailabilityZone-    , _sSubnetIdentifier       :: Maybe Text-    , _sSubnetStatus           :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'Subnet' constructor.------ The fields accessible through corresponding lenses are:------ * 'sSubnetAvailabilityZone' @::@ 'Maybe' 'AvailabilityZone'------ * 'sSubnetIdentifier' @::@ 'Maybe' 'Text'------ * 'sSubnetStatus' @::@ 'Maybe' 'Text'----subnet :: Subnet-subnet = Subnet-    { _sSubnetIdentifier       = Nothing-    , _sSubnetAvailabilityZone = Nothing-    , _sSubnetStatus           = Nothing-    }--sSubnetAvailabilityZone :: Lens' Subnet (Maybe AvailabilityZone)-sSubnetAvailabilityZone =-    lens _sSubnetAvailabilityZone (\s a -> s { _sSubnetAvailabilityZone = a })---- | The identifier of the subnet.-sSubnetIdentifier :: Lens' Subnet (Maybe Text)-sSubnetIdentifier =-    lens _sSubnetIdentifier (\s a -> s { _sSubnetIdentifier = a })---- | The status of the subnet.-sSubnetStatus :: Lens' Subnet (Maybe Text)-sSubnetStatus = lens _sSubnetStatus (\s a -> s { _sSubnetStatus = a })--instance FromXML Subnet where-    parseXML x = Subnet-        <$> x .@? "SubnetAvailabilityZone"-        <*> x .@? "SubnetIdentifier"-        <*> x .@? "SubnetStatus"--instance ToQuery Subnet where-    toQuery Subnet{..} = mconcat-        [ "SubnetAvailabilityZone" =? _sSubnetAvailabilityZone-        , "SubnetIdentifier"       =? _sSubnetIdentifier-        , "SubnetStatus"           =? _sSubnetStatus-        ]--data ClusterSecurityGroup = ClusterSecurityGroup-    { _csgClusterSecurityGroupName :: Maybe Text-    , _csgDescription              :: Maybe Text-    , _csgEC2SecurityGroups        :: List "member" EC2SecurityGroup-    , _csgIPRanges                 :: List "member" IPRange-    , _csgTags                     :: List "member" Tag-    } deriving (Eq, Read, Show)---- | 'ClusterSecurityGroup' constructor.------ The fields accessible through corresponding lenses are:------ * 'csgClusterSecurityGroupName' @::@ 'Maybe' 'Text'------ * 'csgDescription' @::@ 'Maybe' 'Text'------ * 'csgEC2SecurityGroups' @::@ ['EC2SecurityGroup']------ * 'csgIPRanges' @::@ ['IPRange']------ * 'csgTags' @::@ ['Tag']----clusterSecurityGroup :: ClusterSecurityGroup-clusterSecurityGroup = ClusterSecurityGroup-    { _csgClusterSecurityGroupName = Nothing-    , _csgDescription              = Nothing-    , _csgEC2SecurityGroups        = mempty-    , _csgIPRanges                 = mempty-    , _csgTags                     = mempty-    }---- | The name of the cluster security group to which the operation was applied.-csgClusterSecurityGroupName :: Lens' ClusterSecurityGroup (Maybe Text)-csgClusterSecurityGroupName =-    lens _csgClusterSecurityGroupName-        (\s a -> s { _csgClusterSecurityGroupName = a })---- | A description of the security group.-csgDescription :: Lens' ClusterSecurityGroup (Maybe Text)-csgDescription = lens _csgDescription (\s a -> s { _csgDescription = a })---- | A list of EC2 security groups that are permitted to access clusters--- associated with this cluster security group.-csgEC2SecurityGroups :: Lens' ClusterSecurityGroup [EC2SecurityGroup]-csgEC2SecurityGroups =-    lens _csgEC2SecurityGroups (\s a -> s { _csgEC2SecurityGroups = a })-        . _List---- | A list of IP ranges (CIDR blocks) that are permitted to access clusters--- associated with this cluster security group.-csgIPRanges :: Lens' ClusterSecurityGroup [IPRange]-csgIPRanges = lens _csgIPRanges (\s a -> s { _csgIPRanges = a }) . _List---- | The list of tags for the cluster security group.-csgTags :: Lens' ClusterSecurityGroup [Tag]-csgTags = lens _csgTags (\s a -> s { _csgTags = a }) . _List--instance FromXML ClusterSecurityGroup where-    parseXML x = ClusterSecurityGroup-        <$> x .@? "ClusterSecurityGroupName"-        <*> x .@? "Description"-        <*> x .@? "EC2SecurityGroups" .!@ mempty-        <*> x .@? "IPRanges" .!@ mempty-        <*> x .@? "Tags" .!@ mempty--instance ToQuery ClusterSecurityGroup where-    toQuery ClusterSecurityGroup{..} = mconcat-        [ "ClusterSecurityGroupName" =? _csgClusterSecurityGroupName-        , "Description"              =? _csgDescription-        , "EC2SecurityGroups"        =? _csgEC2SecurityGroups-        , "IPRanges"                 =? _csgIPRanges-        , "Tags"                     =? _csgTags-        ]--data DefaultClusterParameters = DefaultClusterParameters-    { _dcpMarker               :: Maybe Text-    , _dcpParameterGroupFamily :: Maybe Text-    , _dcpParameters           :: List "member" Parameter-    } deriving (Eq, Read, Show)---- | 'DefaultClusterParameters' constructor.------ The fields accessible through corresponding lenses are:------ * 'dcpMarker' @::@ 'Maybe' 'Text'------ * 'dcpParameterGroupFamily' @::@ 'Maybe' 'Text'------ * 'dcpParameters' @::@ ['Parameter']----defaultClusterParameters :: DefaultClusterParameters-defaultClusterParameters = DefaultClusterParameters-    { _dcpParameterGroupFamily = Nothing-    , _dcpMarker               = Nothing-    , _dcpParameters           = mempty-    }---- | A value that indicates the starting point for the next set of response--- records in a subsequent request. If a value is returned in a response, you--- can retrieve the next set of records by providing this returned marker value--- in the 'Marker' parameter and retrying the command. If the 'Marker' field is--- empty, all response records have been retrieved for the request.-dcpMarker :: Lens' DefaultClusterParameters (Maybe Text)-dcpMarker = lens _dcpMarker (\s a -> s { _dcpMarker = a })---- | The name of the cluster parameter group family to which the engine default--- parameters apply.-dcpParameterGroupFamily :: Lens' DefaultClusterParameters (Maybe Text)-dcpParameterGroupFamily =-    lens _dcpParameterGroupFamily (\s a -> s { _dcpParameterGroupFamily = a })---- | The list of cluster default parameters.-dcpParameters :: Lens' DefaultClusterParameters [Parameter]-dcpParameters = lens _dcpParameters (\s a -> s { _dcpParameters = a }) . _List--instance FromXML DefaultClusterParameters where-    parseXML x = DefaultClusterParameters-        <$> x .@? "Marker"-        <*> x .@? "ParameterGroupFamily"-        <*> x .@? "Parameters" .!@ mempty--instance ToQuery DefaultClusterParameters where-    toQuery DefaultClusterParameters{..} = mconcat-        [ "Marker"               =? _dcpMarker-        , "ParameterGroupFamily" =? _dcpParameterGroupFamily-        , "Parameters"           =? _dcpParameters-        ]--data ClusterSubnetGroup = ClusterSubnetGroup-    { _csg1ClusterSubnetGroupName :: Maybe Text-    , _csg1Description            :: Maybe Text-    , _csg1SubnetGroupStatus      :: Maybe Text-    , _csg1Subnets                :: List "member" Subnet-    , _csg1Tags                   :: List "member" Tag-    , _csg1VpcId                  :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'ClusterSubnetGroup' constructor.------ The fields accessible through corresponding lenses are:------ * 'csg1ClusterSubnetGroupName' @::@ 'Maybe' 'Text'------ * 'csg1Description' @::@ 'Maybe' 'Text'------ * 'csg1SubnetGroupStatus' @::@ 'Maybe' 'Text'------ * 'csg1Subnets' @::@ ['Subnet']------ * 'csg1Tags' @::@ ['Tag']------ * 'csg1VpcId' @::@ 'Maybe' 'Text'----clusterSubnetGroup :: ClusterSubnetGroup-clusterSubnetGroup = ClusterSubnetGroup-    { _csg1ClusterSubnetGroupName = Nothing-    , _csg1Description            = Nothing-    , _csg1VpcId                  = Nothing-    , _csg1SubnetGroupStatus      = Nothing-    , _csg1Subnets                = mempty-    , _csg1Tags                   = mempty-    }---- | The name of the cluster subnet group.-csg1ClusterSubnetGroupName :: Lens' ClusterSubnetGroup (Maybe Text)-csg1ClusterSubnetGroupName =-    lens _csg1ClusterSubnetGroupName-        (\s a -> s { _csg1ClusterSubnetGroupName = a })---- | The description of the cluster subnet group.-csg1Description :: Lens' ClusterSubnetGroup (Maybe Text)-csg1Description = lens _csg1Description (\s a -> s { _csg1Description = a })---- | The status of the cluster subnet group. Possible values are 'Complete', 'Incomplete' and 'Invalid'.-csg1SubnetGroupStatus :: Lens' ClusterSubnetGroup (Maybe Text)-csg1SubnetGroupStatus =-    lens _csg1SubnetGroupStatus (\s a -> s { _csg1SubnetGroupStatus = a })---- | A list of the VPC 'Subnet' elements.-csg1Subnets :: Lens' ClusterSubnetGroup [Subnet]-csg1Subnets = lens _csg1Subnets (\s a -> s { _csg1Subnets = a }) . _List---- | The list of tags for the cluster subnet group.-csg1Tags :: Lens' ClusterSubnetGroup [Tag]-csg1Tags = lens _csg1Tags (\s a -> s { _csg1Tags = a }) . _List---- | The VPC ID of the cluster subnet group.-csg1VpcId :: Lens' ClusterSubnetGroup (Maybe Text)-csg1VpcId = lens _csg1VpcId (\s a -> s { _csg1VpcId = a })--instance FromXML ClusterSubnetGroup where-    parseXML x = ClusterSubnetGroup-        <$> x .@? "ClusterSubnetGroupName"-        <*> x .@? "Description"-        <*> x .@? "SubnetGroupStatus"-        <*> x .@? "Subnets" .!@ mempty-        <*> x .@? "Tags" .!@ mempty-        <*> x .@? "VpcId"--instance ToQuery ClusterSubnetGroup where-    toQuery ClusterSubnetGroup{..} = mconcat-        [ "ClusterSubnetGroupName" =? _csg1ClusterSubnetGroupName-        , "Description"            =? _csg1Description-        , "SubnetGroupStatus"      =? _csg1SubnetGroupStatus-        , "Subnets"                =? _csg1Subnets-        , "Tags"                   =? _csg1Tags-        , "VpcId"                  =? _csg1VpcId-        ]--data EventInfoMap = EventInfoMap-    { _eimEventCategories  :: List "member" Text-    , _eimEventDescription :: Maybe Text-    , _eimEventId          :: Maybe Text-    , _eimSeverity         :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'EventInfoMap' constructor.------ The fields accessible through corresponding lenses are:------ * 'eimEventCategories' @::@ ['Text']------ * 'eimEventDescription' @::@ 'Maybe' 'Text'------ * 'eimEventId' @::@ 'Maybe' 'Text'------ * 'eimSeverity' @::@ 'Maybe' 'Text'----eventInfoMap :: EventInfoMap-eventInfoMap = EventInfoMap-    { _eimEventId          = Nothing-    , _eimEventCategories  = mempty-    , _eimEventDescription = Nothing-    , _eimSeverity         = Nothing-    }---- | The category of an Amazon Redshift event.-eimEventCategories :: Lens' EventInfoMap [Text]-eimEventCategories =-    lens _eimEventCategories (\s a -> s { _eimEventCategories = a })-        . _List---- | The description of an Amazon Redshift event.-eimEventDescription :: Lens' EventInfoMap (Maybe Text)-eimEventDescription =-    lens _eimEventDescription (\s a -> s { _eimEventDescription = a })---- | The identifier of an Amazon Redshift event.-eimEventId :: Lens' EventInfoMap (Maybe Text)-eimEventId = lens _eimEventId (\s a -> s { _eimEventId = a })---- | The severity of the event.------ Values: ERROR, INFO-eimSeverity :: Lens' EventInfoMap (Maybe Text)-eimSeverity = lens _eimSeverity (\s a -> s { _eimSeverity = a })--instance FromXML EventInfoMap where-    parseXML x = EventInfoMap-        <$> x .@? "EventCategories" .!@ mempty-        <*> x .@? "EventDescription"-        <*> x .@? "EventId"-        <*> x .@? "Severity"--instance ToQuery EventInfoMap where-    toQuery EventInfoMap{..} = mconcat-        [ "EventCategories"  =? _eimEventCategories-        , "EventDescription" =? _eimEventDescription-        , "EventId"          =? _eimEventId-        , "Severity"         =? _eimSeverity-        ]--data ClusterSecurityGroupMembership = ClusterSecurityGroupMembership-    { _csgmClusterSecurityGroupName :: Maybe Text-    , _csgmStatus                   :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ClusterSecurityGroupMembership' constructor.------ The fields accessible through corresponding lenses are:------ * 'csgmClusterSecurityGroupName' @::@ 'Maybe' 'Text'------ * 'csgmStatus' @::@ 'Maybe' 'Text'----clusterSecurityGroupMembership :: ClusterSecurityGroupMembership-clusterSecurityGroupMembership = ClusterSecurityGroupMembership-    { _csgmClusterSecurityGroupName = Nothing-    , _csgmStatus                   = Nothing-    }---- | The name of the cluster security group.-csgmClusterSecurityGroupName :: Lens' ClusterSecurityGroupMembership (Maybe Text)-csgmClusterSecurityGroupName =-    lens _csgmClusterSecurityGroupName-        (\s a -> s { _csgmClusterSecurityGroupName = a })---- | The status of the cluster security group.-csgmStatus :: Lens' ClusterSecurityGroupMembership (Maybe Text)-csgmStatus = lens _csgmStatus (\s a -> s { _csgmStatus = a })--instance FromXML ClusterSecurityGroupMembership where-    parseXML x = ClusterSecurityGroupMembership-        <$> x .@? "ClusterSecurityGroupName"-        <*> x .@? "Status"--instance ToQuery ClusterSecurityGroupMembership where-    toQuery ClusterSecurityGroupMembership{..} = mconcat-        [ "ClusterSecurityGroupName" =? _csgmClusterSecurityGroupName-        , "Status"                   =? _csgmStatus-        ]--data ReservedNodeOffering = ReservedNodeOffering-    { _rnoCurrencyCode           :: Maybe Text-    , _rnoDuration               :: Maybe Int-    , _rnoFixedPrice             :: Maybe Double-    , _rnoNodeType               :: Maybe Text-    , _rnoOfferingType           :: Maybe Text-    , _rnoRecurringCharges       :: List "member" RecurringCharge-    , _rnoReservedNodeOfferingId :: Maybe Text-    , _rnoUsagePrice             :: Maybe Double-    } deriving (Eq, Read, Show)---- | 'ReservedNodeOffering' constructor.------ The fields accessible through corresponding lenses are:------ * 'rnoCurrencyCode' @::@ 'Maybe' 'Text'------ * 'rnoDuration' @::@ 'Maybe' 'Int'------ * 'rnoFixedPrice' @::@ 'Maybe' 'Double'------ * 'rnoNodeType' @::@ 'Maybe' 'Text'------ * 'rnoOfferingType' @::@ 'Maybe' 'Text'------ * 'rnoRecurringCharges' @::@ ['RecurringCharge']------ * 'rnoReservedNodeOfferingId' @::@ 'Maybe' 'Text'------ * 'rnoUsagePrice' @::@ 'Maybe' 'Double'----reservedNodeOffering :: ReservedNodeOffering-reservedNodeOffering = ReservedNodeOffering-    { _rnoReservedNodeOfferingId = Nothing-    , _rnoNodeType               = Nothing-    , _rnoDuration               = Nothing-    , _rnoFixedPrice             = Nothing-    , _rnoUsagePrice             = Nothing-    , _rnoCurrencyCode           = Nothing-    , _rnoOfferingType           = Nothing-    , _rnoRecurringCharges       = mempty-    }---- | The currency code for the compute nodes offering.-rnoCurrencyCode :: Lens' ReservedNodeOffering (Maybe Text)-rnoCurrencyCode = lens _rnoCurrencyCode (\s a -> s { _rnoCurrencyCode = a })---- | The duration, in seconds, for which the offering will reserve the node.-rnoDuration :: Lens' ReservedNodeOffering (Maybe Int)-rnoDuration = lens _rnoDuration (\s a -> s { _rnoDuration = a })---- | The upfront fixed charge you will pay to purchase the specific reserved node--- offering.-rnoFixedPrice :: Lens' ReservedNodeOffering (Maybe Double)-rnoFixedPrice = lens _rnoFixedPrice (\s a -> s { _rnoFixedPrice = a })---- | The node type offered by the reserved node offering.-rnoNodeType :: Lens' ReservedNodeOffering (Maybe Text)-rnoNodeType = lens _rnoNodeType (\s a -> s { _rnoNodeType = a })---- | The anticipated utilization of the reserved node, as defined in the reserved--- node offering.-rnoOfferingType :: Lens' ReservedNodeOffering (Maybe Text)-rnoOfferingType = lens _rnoOfferingType (\s a -> s { _rnoOfferingType = a })---- | The charge to your account regardless of whether you are creating any--- clusters using the node offering. Recurring charges are only in effect for--- heavy-utilization reserved nodes.-rnoRecurringCharges :: Lens' ReservedNodeOffering [RecurringCharge]-rnoRecurringCharges =-    lens _rnoRecurringCharges (\s a -> s { _rnoRecurringCharges = a })-        . _List---- | The offering identifier.-rnoReservedNodeOfferingId :: Lens' ReservedNodeOffering (Maybe Text)-rnoReservedNodeOfferingId =-    lens _rnoReservedNodeOfferingId-        (\s a -> s { _rnoReservedNodeOfferingId = a })---- | The rate you are charged for each hour the cluster that is using the--- offering is running.-rnoUsagePrice :: Lens' ReservedNodeOffering (Maybe Double)-rnoUsagePrice = lens _rnoUsagePrice (\s a -> s { _rnoUsagePrice = a })--instance FromXML ReservedNodeOffering where-    parseXML x = ReservedNodeOffering-        <$> x .@? "CurrencyCode"-        <*> x .@? "Duration"-        <*> x .@? "FixedPrice"-        <*> x .@? "NodeType"-        <*> x .@? "OfferingType"-        <*> x .@? "RecurringCharges" .!@ mempty-        <*> x .@? "ReservedNodeOfferingId"-        <*> x .@? "UsagePrice"--instance ToQuery ReservedNodeOffering where-    toQuery ReservedNodeOffering{..} = mconcat-        [ "CurrencyCode"           =? _rnoCurrencyCode-        , "Duration"               =? _rnoDuration-        , "FixedPrice"             =? _rnoFixedPrice-        , "NodeType"               =? _rnoNodeType-        , "OfferingType"           =? _rnoOfferingType-        , "RecurringCharges"       =? _rnoRecurringCharges-        , "ReservedNodeOfferingId" =? _rnoReservedNodeOfferingId-        , "UsagePrice"             =? _rnoUsagePrice-        ]--data ReservedNode = ReservedNode-    { _rnCurrencyCode           :: Maybe Text-    , _rnDuration               :: Maybe Int-    , _rnFixedPrice             :: Maybe Double-    , _rnNodeCount              :: Maybe Int-    , _rnNodeType               :: Maybe Text-    , _rnOfferingType           :: Maybe Text-    , _rnRecurringCharges       :: List "member" RecurringCharge-    , _rnReservedNodeId         :: Maybe Text-    , _rnReservedNodeOfferingId :: Maybe Text-    , _rnStartTime              :: Maybe ISO8601-    , _rnState                  :: Maybe Text-    , _rnUsagePrice             :: Maybe Double-    } deriving (Eq, Read, Show)---- | 'ReservedNode' constructor.------ The fields accessible through corresponding lenses are:------ * 'rnCurrencyCode' @::@ 'Maybe' 'Text'------ * 'rnDuration' @::@ 'Maybe' 'Int'------ * 'rnFixedPrice' @::@ 'Maybe' 'Double'------ * 'rnNodeCount' @::@ 'Maybe' 'Int'------ * 'rnNodeType' @::@ 'Maybe' 'Text'------ * 'rnOfferingType' @::@ 'Maybe' 'Text'------ * 'rnRecurringCharges' @::@ ['RecurringCharge']------ * 'rnReservedNodeId' @::@ 'Maybe' 'Text'------ * 'rnReservedNodeOfferingId' @::@ 'Maybe' 'Text'------ * 'rnStartTime' @::@ 'Maybe' 'UTCTime'------ * 'rnState' @::@ 'Maybe' 'Text'------ * 'rnUsagePrice' @::@ 'Maybe' 'Double'----reservedNode :: ReservedNode-reservedNode = ReservedNode-    { _rnReservedNodeId         = Nothing-    , _rnReservedNodeOfferingId = Nothing-    , _rnNodeType               = Nothing-    , _rnStartTime              = Nothing-    , _rnDuration               = Nothing-    , _rnFixedPrice             = Nothing-    , _rnUsagePrice             = Nothing-    , _rnCurrencyCode           = Nothing-    , _rnNodeCount              = Nothing-    , _rnState                  = Nothing-    , _rnOfferingType           = Nothing-    , _rnRecurringCharges       = mempty-    }---- | The currency code for the reserved cluster.-rnCurrencyCode :: Lens' ReservedNode (Maybe Text)-rnCurrencyCode = lens _rnCurrencyCode (\s a -> s { _rnCurrencyCode = a })---- | The duration of the node reservation in seconds.-rnDuration :: Lens' ReservedNode (Maybe Int)-rnDuration = lens _rnDuration (\s a -> s { _rnDuration = a })---- | The fixed cost Amazon Redshift charged you for this reserved node.-rnFixedPrice :: Lens' ReservedNode (Maybe Double)-rnFixedPrice = lens _rnFixedPrice (\s a -> s { _rnFixedPrice = a })---- | The number of reserved compute nodes.-rnNodeCount :: Lens' ReservedNode (Maybe Int)-rnNodeCount = lens _rnNodeCount (\s a -> s { _rnNodeCount = a })---- | The node type of the reserved node.-rnNodeType :: Lens' ReservedNode (Maybe Text)-rnNodeType = lens _rnNodeType (\s a -> s { _rnNodeType = a })---- | The anticipated utilization of the reserved node, as defined in the reserved--- node offering.-rnOfferingType :: Lens' ReservedNode (Maybe Text)-rnOfferingType = lens _rnOfferingType (\s a -> s { _rnOfferingType = a })---- | The recurring charges for the reserved node.-rnRecurringCharges :: Lens' ReservedNode [RecurringCharge]-rnRecurringCharges =-    lens _rnRecurringCharges (\s a -> s { _rnRecurringCharges = a })-        . _List---- | The unique identifier for the reservation.-rnReservedNodeId :: Lens' ReservedNode (Maybe Text)-rnReservedNodeId = lens _rnReservedNodeId (\s a -> s { _rnReservedNodeId = a })---- | The identifier for the reserved node offering.-rnReservedNodeOfferingId :: Lens' ReservedNode (Maybe Text)-rnReservedNodeOfferingId =-    lens _rnReservedNodeOfferingId-        (\s a -> s { _rnReservedNodeOfferingId = a })---- | The time the reservation started. You purchase a reserved node offering for--- a duration. This is the start time of that duration.-rnStartTime :: Lens' ReservedNode (Maybe UTCTime)-rnStartTime = lens _rnStartTime (\s a -> s { _rnStartTime = a }) . mapping _Time---- | The state of the reserved compute node.------ Possible Values:------ pending-payment-This reserved node has recently been purchased, and the--- sale has been approved, but payment has not yet been confirmed. active-This--- reserved node is owned by the caller and is available for use. payment-failed-Payment failed for the purchase attempt.----rnState :: Lens' ReservedNode (Maybe Text)-rnState = lens _rnState (\s a -> s { _rnState = a })---- | The hourly rate Amazon Redshift charge you for this reserved node.-rnUsagePrice :: Lens' ReservedNode (Maybe Double)-rnUsagePrice = lens _rnUsagePrice (\s a -> s { _rnUsagePrice = a })--instance FromXML ReservedNode where-    parseXML x = ReservedNode-        <$> x .@? "CurrencyCode"-        <*> x .@? "Duration"-        <*> x .@? "FixedPrice"-        <*> x .@? "NodeCount"-        <*> x .@? "NodeType"-        <*> x .@? "OfferingType"-        <*> x .@? "RecurringCharges" .!@ mempty-        <*> x .@? "ReservedNodeId"-        <*> x .@? "ReservedNodeOfferingId"-        <*> x .@? "StartTime"-        <*> x .@? "State"-        <*> x .@? "UsagePrice"--instance ToQuery ReservedNode where-    toQuery ReservedNode{..} = mconcat-        [ "CurrencyCode"           =? _rnCurrencyCode-        , "Duration"               =? _rnDuration-        , "FixedPrice"             =? _rnFixedPrice-        , "NodeCount"              =? _rnNodeCount-        , "NodeType"               =? _rnNodeType-        , "OfferingType"           =? _rnOfferingType-        , "RecurringCharges"       =? _rnRecurringCharges-        , "ReservedNodeId"         =? _rnReservedNodeId-        , "ReservedNodeOfferingId" =? _rnReservedNodeOfferingId-        , "StartTime"              =? _rnStartTime-        , "State"                  =? _rnState-        , "UsagePrice"             =? _rnUsagePrice-        ]--data LoggingStatus = LoggingStatus-    { _lsBucketName                 :: Maybe Text-    , _lsLastFailureMessage         :: Maybe Text-    , _lsLastFailureTime            :: Maybe ISO8601-    , _lsLastSuccessfulDeliveryTime :: Maybe ISO8601-    , _lsLoggingEnabled             :: Maybe Bool-    , _lsS3KeyPrefix                :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'LoggingStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'lsBucketName' @::@ 'Maybe' 'Text'------ * 'lsLastFailureMessage' @::@ 'Maybe' 'Text'------ * 'lsLastFailureTime' @::@ 'Maybe' 'UTCTime'------ * 'lsLastSuccessfulDeliveryTime' @::@ 'Maybe' 'UTCTime'------ * 'lsLoggingEnabled' @::@ 'Maybe' 'Bool'------ * 'lsS3KeyPrefix' @::@ 'Maybe' 'Text'----loggingStatus :: LoggingStatus-loggingStatus = LoggingStatus-    { _lsLoggingEnabled             = Nothing-    , _lsBucketName                 = Nothing-    , _lsS3KeyPrefix                = Nothing-    , _lsLastSuccessfulDeliveryTime = Nothing-    , _lsLastFailureTime            = Nothing-    , _lsLastFailureMessage         = Nothing-    }---- | The name of the S3 bucket where the log files are stored.-lsBucketName :: Lens' LoggingStatus (Maybe Text)-lsBucketName = lens _lsBucketName (\s a -> s { _lsBucketName = a })---- | The message indicating that logs failed to be delivered.-lsLastFailureMessage :: Lens' LoggingStatus (Maybe Text)-lsLastFailureMessage =-    lens _lsLastFailureMessage (\s a -> s { _lsLastFailureMessage = a })---- | The last time when logs failed to be delivered.-lsLastFailureTime :: Lens' LoggingStatus (Maybe UTCTime)-lsLastFailureTime =-    lens _lsLastFailureTime (\s a -> s { _lsLastFailureTime = a })-        . mapping _Time---- | The last time when logs were delivered.-lsLastSuccessfulDeliveryTime :: Lens' LoggingStatus (Maybe UTCTime)-lsLastSuccessfulDeliveryTime =-    lens _lsLastSuccessfulDeliveryTime-        (\s a -> s { _lsLastSuccessfulDeliveryTime = a })-            . mapping _Time---- | 'true' if logging is on, 'false' if logging is off.-lsLoggingEnabled :: Lens' LoggingStatus (Maybe Bool)-lsLoggingEnabled = lens _lsLoggingEnabled (\s a -> s { _lsLoggingEnabled = a })---- | The prefix applied to the log file names.-lsS3KeyPrefix :: Lens' LoggingStatus (Maybe Text)-lsS3KeyPrefix = lens _lsS3KeyPrefix (\s a -> s { _lsS3KeyPrefix = a })--instance FromXML LoggingStatus where-    parseXML x = LoggingStatus-        <$> x .@? "BucketName"-        <*> x .@? "LastFailureMessage"-        <*> x .@? "LastFailureTime"-        <*> x .@? "LastSuccessfulDeliveryTime"-        <*> x .@? "LoggingEnabled"-        <*> x .@? "S3KeyPrefix"--instance ToQuery LoggingStatus where-    toQuery LoggingStatus{..} = mconcat-        [ "BucketName"                 =? _lsBucketName-        , "LastFailureMessage"         =? _lsLastFailureMessage-        , "LastFailureTime"            =? _lsLastFailureTime-        , "LastSuccessfulDeliveryTime" =? _lsLastSuccessfulDeliveryTime-        , "LoggingEnabled"             =? _lsLoggingEnabled-        , "S3KeyPrefix"                =? _lsS3KeyPrefix-        ]--newtype AccountWithRestoreAccess = AccountWithRestoreAccess-    { _awraAccountId :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'AccountWithRestoreAccess' constructor.------ The fields accessible through corresponding lenses are:------ * 'awraAccountId' @::@ 'Maybe' 'Text'----accountWithRestoreAccess :: AccountWithRestoreAccess-accountWithRestoreAccess = AccountWithRestoreAccess-    { _awraAccountId = Nothing-    }---- | The identifier of an AWS customer account authorized to restore a snapshot.-awraAccountId :: Lens' AccountWithRestoreAccess (Maybe Text)-awraAccountId = lens _awraAccountId (\s a -> s { _awraAccountId = a })--instance FromXML AccountWithRestoreAccess where-    parseXML x = AccountWithRestoreAccess-        <$> x .@? "AccountId"--instance ToQuery AccountWithRestoreAccess where-    toQuery AccountWithRestoreAccess{..} = mconcat-        [ "AccountId" =? _awraAccountId-        ]--newtype AvailabilityZone = AvailabilityZone-    { _azName :: Maybe Text-    } deriving (Eq, Ord, Read, Show, Monoid)---- | 'AvailabilityZone' constructor.------ The fields accessible through corresponding lenses are:------ * 'azName' @::@ 'Maybe' 'Text'----availabilityZone :: AvailabilityZone-availabilityZone = AvailabilityZone-    { _azName = Nothing-    }---- | The name of the availability zone.-azName :: Lens' AvailabilityZone (Maybe Text)-azName = lens _azName (\s a -> s { _azName = a })--instance FromXML AvailabilityZone where-    parseXML x = AvailabilityZone-        <$> x .@? "Name"--instance ToQuery AvailabilityZone where-    toQuery AvailabilityZone{..} = mconcat-        [ "Name" =? _azName-        ]--data EventSubscription = EventSubscription-    { _esCustSubscriptionId       :: Maybe Text-    , _esCustomerAwsId            :: Maybe Text-    , _esEnabled                  :: Maybe Bool-    , _esEventCategoriesList      :: List "member" Text-    , _esSeverity                 :: Maybe Text-    , _esSnsTopicArn              :: Maybe Text-    , _esSourceIdsList            :: List "member" Text-    , _esSourceType               :: Maybe Text-    , _esStatus                   :: Maybe Text-    , _esSubscriptionCreationTime :: Maybe ISO8601-    , _esTags                     :: List "member" Tag-    } deriving (Eq, Read, Show)---- | 'EventSubscription' constructor.------ The fields accessible through corresponding lenses are:------ * 'esCustSubscriptionId' @::@ 'Maybe' 'Text'------ * 'esCustomerAwsId' @::@ 'Maybe' 'Text'------ * 'esEnabled' @::@ 'Maybe' 'Bool'------ * 'esEventCategoriesList' @::@ ['Text']------ * 'esSeverity' @::@ 'Maybe' 'Text'------ * 'esSnsTopicArn' @::@ 'Maybe' 'Text'------ * 'esSourceIdsList' @::@ ['Text']------ * 'esSourceType' @::@ 'Maybe' 'Text'------ * 'esStatus' @::@ 'Maybe' 'Text'------ * 'esSubscriptionCreationTime' @::@ 'Maybe' 'UTCTime'------ * 'esTags' @::@ ['Tag']----eventSubscription :: EventSubscription-eventSubscription = EventSubscription-    { _esCustomerAwsId            = Nothing-    , _esCustSubscriptionId       = Nothing-    , _esSnsTopicArn              = Nothing-    , _esStatus                   = Nothing-    , _esSubscriptionCreationTime = Nothing-    , _esSourceType               = Nothing-    , _esSourceIdsList            = mempty-    , _esEventCategoriesList      = mempty-    , _esSeverity                 = Nothing-    , _esEnabled                  = Nothing-    , _esTags                     = mempty-    }---- | The name of the Amazon Redshift event notification subscription.-esCustSubscriptionId :: Lens' EventSubscription (Maybe Text)-esCustSubscriptionId =-    lens _esCustSubscriptionId (\s a -> s { _esCustSubscriptionId = a })---- | The AWS customer account associated with the Amazon Redshift event--- notification subscription.-esCustomerAwsId :: Lens' EventSubscription (Maybe Text)-esCustomerAwsId = lens _esCustomerAwsId (\s a -> s { _esCustomerAwsId = a })---- | A Boolean value indicating whether the subscription is enabled. 'true'--- indicates the subscription is enabled.-esEnabled :: Lens' EventSubscription (Maybe Bool)-esEnabled = lens _esEnabled (\s a -> s { _esEnabled = a })---- | The list of Amazon Redshift event categories specified in the event--- notification subscription.------ Values: Configuration, Management, Monitoring, Security-esEventCategoriesList :: Lens' EventSubscription [Text]-esEventCategoriesList =-    lens _esEventCategoriesList (\s a -> s { _esEventCategoriesList = a })-        . _List---- | The event severity specified in the Amazon Redshift event notification--- subscription.------ Values: ERROR, INFO-esSeverity :: Lens' EventSubscription (Maybe Text)-esSeverity = lens _esSeverity (\s a -> s { _esSeverity = a })---- | The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event--- notification subscription.-esSnsTopicArn :: Lens' EventSubscription (Maybe Text)-esSnsTopicArn = lens _esSnsTopicArn (\s a -> s { _esSnsTopicArn = a })---- | A list of the sources that publish events to the Amazon Redshift event--- notification subscription.-esSourceIdsList :: Lens' EventSubscription [Text]-esSourceIdsList = lens _esSourceIdsList (\s a -> s { _esSourceIdsList = a }) . _List---- | The source type of the events returned the Amazon Redshift event--- notification, such as cluster, or cluster-snapshot.-esSourceType :: Lens' EventSubscription (Maybe Text)-esSourceType = lens _esSourceType (\s a -> s { _esSourceType = a })---- | The status of the Amazon Redshift event notification subscription.------ Constraints:------ Can be one of the following: active | no-permission | topic-not-exist The--- status "no-permission" indicates that Amazon Redshift no longer has--- permission to post to the Amazon SNS topic. The status "topic-not-exist"--- indicates that the topic was deleted after the subscription was created.-esStatus :: Lens' EventSubscription (Maybe Text)-esStatus = lens _esStatus (\s a -> s { _esStatus = a })---- | The date and time the Amazon Redshift event notification subscription was--- created.-esSubscriptionCreationTime :: Lens' EventSubscription (Maybe UTCTime)-esSubscriptionCreationTime =-    lens _esSubscriptionCreationTime-        (\s a -> s { _esSubscriptionCreationTime = a })-            . mapping _Time---- | The list of tags for the event subscription.-esTags :: Lens' EventSubscription [Tag]-esTags = lens _esTags (\s a -> s { _esTags = a }) . _List--instance FromXML EventSubscription where-    parseXML x = EventSubscription-        <$> x .@? "CustSubscriptionId"-        <*> x .@? "CustomerAwsId"-        <*> x .@? "Enabled"-        <*> x .@? "EventCategoriesList" .!@ mempty-        <*> x .@? "Severity"-        <*> x .@? "SnsTopicArn"-        <*> x .@? "SourceIdsList" .!@ mempty-        <*> x .@? "SourceType"-        <*> x .@? "Status"-        <*> x .@? "SubscriptionCreationTime"-        <*> x .@? "Tags" .!@ mempty--instance ToQuery EventSubscription where-    toQuery EventSubscription{..} = mconcat-        [ "CustSubscriptionId"       =? _esCustSubscriptionId-        , "CustomerAwsId"            =? _esCustomerAwsId-        , "Enabled"                  =? _esEnabled-        , "EventCategoriesList"      =? _esEventCategoriesList-        , "Severity"                 =? _esSeverity-        , "SnsTopicArn"              =? _esSnsTopicArn-        , "SourceIdsList"            =? _esSourceIdsList-        , "SourceType"               =? _esSourceType-        , "Status"                   =? _esStatus-        , "SubscriptionCreationTime" =? _esSubscriptionCreationTime-        , "Tags"                     =? _esTags-        ]--data HsmStatus = HsmStatus-    { _hsHsmClientCertificateIdentifier :: Maybe Text-    , _hsHsmConfigurationIdentifier     :: Maybe Text-    , _hsStatus                         :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'HsmStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'hsHsmClientCertificateIdentifier' @::@ 'Maybe' 'Text'------ * 'hsHsmConfigurationIdentifier' @::@ 'Maybe' 'Text'------ * 'hsStatus' @::@ 'Maybe' 'Text'----hsmStatus :: HsmStatus-hsmStatus = HsmStatus-    { _hsHsmClientCertificateIdentifier = Nothing-    , _hsHsmConfigurationIdentifier     = Nothing-    , _hsStatus                         = Nothing-    }---- | Specifies the name of the HSM client certificate the Amazon Redshift cluster--- uses to retrieve the data encryption keys stored in an HSM.-hsHsmClientCertificateIdentifier :: Lens' HsmStatus (Maybe Text)-hsHsmClientCertificateIdentifier =-    lens _hsHsmClientCertificateIdentifier-        (\s a -> s { _hsHsmClientCertificateIdentifier = a })---- | Specifies the name of the HSM configuration that contains the information the--- Amazon Redshift cluster can use to retrieve and store keys in an HSM.-hsHsmConfigurationIdentifier :: Lens' HsmStatus (Maybe Text)-hsHsmConfigurationIdentifier =-    lens _hsHsmConfigurationIdentifier-        (\s a -> s { _hsHsmConfigurationIdentifier = a })---- | Reports whether the Amazon Redshift cluster has finished applying any HSM--- settings changes specified in a modify cluster command.------ Values: active, applying-hsStatus :: Lens' HsmStatus (Maybe Text)-hsStatus = lens _hsStatus (\s a -> s { _hsStatus = a })--instance FromXML HsmStatus where-    parseXML x = HsmStatus-        <$> x .@? "HsmClientCertificateIdentifier"-        <*> x .@? "HsmConfigurationIdentifier"-        <*> x .@? "Status"--instance ToQuery HsmStatus where-    toQuery HsmStatus{..} = mconcat-        [ "HsmClientCertificateIdentifier" =? _hsHsmClientCertificateIdentifier-        , "HsmConfigurationIdentifier"     =? _hsHsmConfigurationIdentifier-        , "Status"                         =? _hsStatus-        ]--data ClusterParameterGroupNameMessage = ClusterParameterGroupNameMessage-    { _cpgnmParameterGroupName   :: Maybe Text-    , _cpgnmParameterGroupStatus :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ClusterParameterGroupNameMessage' constructor.------ The fields accessible through corresponding lenses are:------ * 'cpgnmParameterGroupName' @::@ 'Maybe' 'Text'------ * 'cpgnmParameterGroupStatus' @::@ 'Maybe' 'Text'----clusterParameterGroupNameMessage :: ClusterParameterGroupNameMessage-clusterParameterGroupNameMessage = ClusterParameterGroupNameMessage-    { _cpgnmParameterGroupName   = Nothing-    , _cpgnmParameterGroupStatus = Nothing-    }---- | The name of the cluster parameter group.-cpgnmParameterGroupName :: Lens' ClusterParameterGroupNameMessage (Maybe Text)-cpgnmParameterGroupName =-    lens _cpgnmParameterGroupName (\s a -> s { _cpgnmParameterGroupName = a })---- | The status of the parameter group. For example, if you made a change to a--- parameter group name-value pair, then the change could be pending a reboot of--- an associated cluster.-cpgnmParameterGroupStatus :: Lens' ClusterParameterGroupNameMessage (Maybe Text)-cpgnmParameterGroupStatus =-    lens _cpgnmParameterGroupStatus-        (\s a -> s { _cpgnmParameterGroupStatus = a })--instance FromXML ClusterParameterGroupNameMessage where-    parseXML x = ClusterParameterGroupNameMessage-        <$> x .@? "ParameterGroupName"-        <*> x .@? "ParameterGroupStatus"--instance ToQuery ClusterParameterGroupNameMessage where-    toQuery ClusterParameterGroupNameMessage{..} = mconcat-        [ "ParameterGroupName"   =? _cpgnmParameterGroupName-        , "ParameterGroupStatus" =? _cpgnmParameterGroupStatus-        ]--data ElasticIpStatus = ElasticIpStatus-    { _eisElasticIp :: Maybe Text-    , _eisStatus    :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ElasticIpStatus' constructor.------ The fields accessible through corresponding lenses are:------ * 'eisElasticIp' @::@ 'Maybe' 'Text'------ * 'eisStatus' @::@ 'Maybe' 'Text'----elasticIpStatus :: ElasticIpStatus-elasticIpStatus = ElasticIpStatus-    { _eisElasticIp = Nothing-    , _eisStatus    = Nothing-    }---- | The elastic IP (EIP) address for the cluster.-eisElasticIp :: Lens' ElasticIpStatus (Maybe Text)-eisElasticIp = lens _eisElasticIp (\s a -> s { _eisElasticIp = a })---- | Describes the status of the elastic IP (EIP) address.-eisStatus :: Lens' ElasticIpStatus (Maybe Text)-eisStatus = lens _eisStatus (\s a -> s { _eisStatus = a })--instance FromXML ElasticIpStatus where-    parseXML x = ElasticIpStatus-        <$> x .@? "ElasticIp"-        <*> x .@? "Status"--instance ToQuery ElasticIpStatus where-    toQuery ElasticIpStatus{..} = mconcat-        [ "ElasticIp" =? _eisElasticIp-        , "Status"    =? _eisStatus-        ]--data ClusterVersion = ClusterVersion-    { _cvClusterParameterGroupFamily :: Maybe Text-    , _cvClusterVersion              :: Maybe Text-    , _cvDescription                 :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'ClusterVersion' constructor.------ The fields accessible through corresponding lenses are:------ * 'cvClusterParameterGroupFamily' @::@ 'Maybe' 'Text'------ * 'cvClusterVersion' @::@ 'Maybe' 'Text'------ * 'cvDescription' @::@ 'Maybe' 'Text'----clusterVersion :: ClusterVersion-clusterVersion = ClusterVersion-    { _cvClusterVersion              = Nothing-    , _cvClusterParameterGroupFamily = Nothing-    , _cvDescription                 = Nothing-    }---- | The name of the cluster parameter group family for the cluster.-cvClusterParameterGroupFamily :: Lens' ClusterVersion (Maybe Text)-cvClusterParameterGroupFamily =-    lens _cvClusterParameterGroupFamily-        (\s a -> s { _cvClusterParameterGroupFamily = a })---- | The version number used by the cluster.-cvClusterVersion :: Lens' ClusterVersion (Maybe Text)-cvClusterVersion = lens _cvClusterVersion (\s a -> s { _cvClusterVersion = a })---- | The description of the cluster version.-cvDescription :: Lens' ClusterVersion (Maybe Text)-cvDescription = lens _cvDescription (\s a -> s { _cvDescription = a })--instance FromXML ClusterVersion where-    parseXML x = ClusterVersion-        <$> x .@? "ClusterParameterGroupFamily"-        <*> x .@? "ClusterVersion"-        <*> x .@? "Description"--instance ToQuery ClusterVersion where-    toQuery ClusterVersion{..} = mconcat-        [ "ClusterParameterGroupFamily" =? _cvClusterParameterGroupFamily-        , "ClusterVersion"              =? _cvClusterVersion-        , "Description"                 =? _cvDescription-        ]--data RecurringCharge = RecurringCharge-    { _rcRecurringChargeAmount    :: Maybe Double-    , _rcRecurringChargeFrequency :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'RecurringCharge' constructor.------ The fields accessible through corresponding lenses are:------ * 'rcRecurringChargeAmount' @::@ 'Maybe' 'Double'------ * 'rcRecurringChargeFrequency' @::@ 'Maybe' 'Text'----recurringCharge :: RecurringCharge-recurringCharge = RecurringCharge-    { _rcRecurringChargeAmount    = Nothing-    , _rcRecurringChargeFrequency = Nothing-    }---- | The amount charged per the period of time specified by the recurring charge--- frequency.-rcRecurringChargeAmount :: Lens' RecurringCharge (Maybe Double)-rcRecurringChargeAmount =-    lens _rcRecurringChargeAmount (\s a -> s { _rcRecurringChargeAmount = a })---- | The frequency at which the recurring charge amount is applied.-rcRecurringChargeFrequency :: Lens' RecurringCharge (Maybe Text)-rcRecurringChargeFrequency =-    lens _rcRecurringChargeFrequency-        (\s a -> s { _rcRecurringChargeFrequency = a })--instance FromXML RecurringCharge where-    parseXML x = RecurringCharge-        <$> x .@? "RecurringChargeAmount"-        <*> x .@? "RecurringChargeFrequency"--instance ToQuery RecurringCharge where-    toQuery RecurringCharge{..} = mconcat-        [ "RecurringChargeAmount"    =? _rcRecurringChargeAmount-        , "RecurringChargeFrequency" =? _rcRecurringChargeFrequency-        ]--data Endpoint = Endpoint-    { _eAddress :: Maybe Text-    , _ePort    :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'Endpoint' constructor.------ The fields accessible through corresponding lenses are:------ * 'eAddress' @::@ 'Maybe' 'Text'------ * 'ePort' @::@ 'Maybe' 'Int'----endpoint :: Endpoint-endpoint = Endpoint-    { _eAddress = Nothing-    , _ePort    = Nothing-    }---- | The DNS address of the Cluster.-eAddress :: Lens' Endpoint (Maybe Text)-eAddress = lens _eAddress (\s a -> s { _eAddress = a })---- | The port that the database engine is listening on.-ePort :: Lens' Endpoint (Maybe Int)-ePort = lens _ePort (\s a -> s { _ePort = a })--instance FromXML Endpoint where-    parseXML x = Endpoint-        <$> x .@? "Address"-        <*> x .@? "Port"--instance ToQuery Endpoint where-    toQuery Endpoint{..} = mconcat-        [ "Address" =? _eAddress-        , "Port"    =? _ePort-        ]--data IPRange = IPRange-    { _iprCIDRIP :: Maybe Text-    , _iprStatus :: Maybe Text-    , _iprTags   :: List "member" Tag-    } deriving (Eq, Read, Show)---- | 'IPRange' constructor.------ The fields accessible through corresponding lenses are:------ * 'iprCIDRIP' @::@ 'Maybe' 'Text'------ * 'iprStatus' @::@ 'Maybe' 'Text'------ * 'iprTags' @::@ ['Tag']----iprange :: IPRange-iprange = IPRange-    { _iprStatus = Nothing-    , _iprCIDRIP = Nothing-    , _iprTags   = mempty-    }---- | The IP range in Classless Inter-Domain Routing (CIDR) notation.-iprCIDRIP :: Lens' IPRange (Maybe Text)-iprCIDRIP = lens _iprCIDRIP (\s a -> s { _iprCIDRIP = a })---- | The status of the IP range, for example, "authorized".-iprStatus :: Lens' IPRange (Maybe Text)-iprStatus = lens _iprStatus (\s a -> s { _iprStatus = a })---- | The list of tags for the IP range.-iprTags :: Lens' IPRange [Tag]-iprTags = lens _iprTags (\s a -> s { _iprTags = a }) . _List--instance FromXML IPRange where-    parseXML x = IPRange-        <$> x .@? "CIDRIP"-        <*> x .@? "Status"-        <*> x .@? "Tags" .!@ mempty--instance ToQuery IPRange where-    toQuery IPRange{..} = mconcat-        [ "CIDRIP" =? _iprCIDRIP-        , "Status" =? _iprStatus-        , "Tags"   =? _iprTags-        ]--data TaggedResource = TaggedResource-    { _trResourceName :: Maybe Text-    , _trResourceType :: Maybe Text-    , _trTag          :: Maybe Tag-    } deriving (Eq, Read, Show)---- | 'TaggedResource' constructor.------ The fields accessible through corresponding lenses are:------ * 'trResourceName' @::@ 'Maybe' 'Text'------ * 'trResourceType' @::@ 'Maybe' 'Text'------ * 'trTag' @::@ 'Maybe' 'Tag'----taggedResource :: TaggedResource-taggedResource = TaggedResource-    { _trTag          = Nothing-    , _trResourceName = Nothing-    , _trResourceType = Nothing-    }---- | The Amazon Resource Name (ARN) with which the tag is associated. For example, 'arn:aws:redshift:us-east-1:123456789:cluster:t1'.-trResourceName :: Lens' TaggedResource (Maybe Text)-trResourceName = lens _trResourceName (\s a -> s { _trResourceName = a })---- | The type of resource with which the tag is associated. Valid resource types--- are:  Cluster CIDR/IP EC2 security group Snapshot Cluster security group Subnet group--- HSM connection HSM certificate Parameter group------ For more information about Amazon Redshift resource types and constructing--- ARNs, go to <http://docs.aws.amazon.com/redshift/latest/mgmt/constructing-redshift-arn.html Constructing an Amazon Redshift Amazon Resource Name (ARN)> in the--- Amazon Redshift Cluster Management Guide.-trResourceType :: Lens' TaggedResource (Maybe Text)-trResourceType = lens _trResourceType (\s a -> s { _trResourceType = a })---- | The tag for the resource.-trTag :: Lens' TaggedResource (Maybe Tag)-trTag = lens _trTag (\s a -> s { _trTag = a })--instance FromXML TaggedResource where-    parseXML x = TaggedResource-        <$> x .@? "ResourceName"-        <*> x .@? "ResourceType"-        <*> x .@? "Tag"--instance ToQuery TaggedResource where-    toQuery TaggedResource{..} = mconcat-        [ "ResourceName" =? _trResourceName-        , "ResourceType" =? _trResourceType-        , "Tag"          =? _trTag-        ]--data EventCategoriesMap = EventCategoriesMap-    { _ecmEvents     :: List "member" EventInfoMap-    , _ecmSourceType :: Maybe Text-    } deriving (Eq, Read, Show)---- | 'EventCategoriesMap' constructor.------ The fields accessible through corresponding lenses are:------ * 'ecmEvents' @::@ ['EventInfoMap']------ * 'ecmSourceType' @::@ 'Maybe' 'Text'----eventCategoriesMap :: EventCategoriesMap-eventCategoriesMap = EventCategoriesMap-    { _ecmSourceType = Nothing-    , _ecmEvents     = mempty-    }---- | The events in the event category.-ecmEvents :: Lens' EventCategoriesMap [EventInfoMap]-ecmEvents = lens _ecmEvents (\s a -> s { _ecmEvents = a }) . _List---- | The Amazon Redshift source type, such as cluster or cluster-snapshot, that--- the returned categories belong to.-ecmSourceType :: Lens' EventCategoriesMap (Maybe Text)-ecmSourceType = lens _ecmSourceType (\s a -> s { _ecmSourceType = a })--instance FromXML EventCategoriesMap where-    parseXML x = EventCategoriesMap-        <$> x .@? "Events" .!@ mempty-        <*> x .@? "SourceType"--instance ToQuery EventCategoriesMap where-    toQuery EventCategoriesMap{..} = mconcat-        [ "Events"     =? _ecmEvents-        , "SourceType" =? _ecmSourceType-        ]--data HsmConfiguration = HsmConfiguration-    { _hcDescription                :: Maybe Text-    , _hcHsmConfigurationIdentifier :: Maybe Text-    , _hcHsmIpAddress               :: Maybe Text-    , _hcHsmPartitionName           :: Maybe Text-    , _hcTags                       :: List "member" Tag-    } deriving (Eq, Read, Show)---- | 'HsmConfiguration' constructor.------ The fields accessible through corresponding lenses are:------ * 'hcDescription' @::@ 'Maybe' 'Text'------ * 'hcHsmConfigurationIdentifier' @::@ 'Maybe' 'Text'------ * 'hcHsmIpAddress' @::@ 'Maybe' 'Text'------ * 'hcHsmPartitionName' @::@ 'Maybe' 'Text'------ * 'hcTags' @::@ ['Tag']----hsmConfiguration :: HsmConfiguration-hsmConfiguration = HsmConfiguration-    { _hcHsmConfigurationIdentifier = Nothing-    , _hcDescription                = Nothing-    , _hcHsmIpAddress               = Nothing-    , _hcHsmPartitionName           = Nothing-    , _hcTags                       = mempty-    }---- | A text description of the HSM configuration.-hcDescription :: Lens' HsmConfiguration (Maybe Text)-hcDescription = lens _hcDescription (\s a -> s { _hcDescription = a })---- | The name of the Amazon Redshift HSM configuration.-hcHsmConfigurationIdentifier :: Lens' HsmConfiguration (Maybe Text)-hcHsmConfigurationIdentifier =-    lens _hcHsmConfigurationIdentifier-        (\s a -> s { _hcHsmConfigurationIdentifier = a })---- | The IP address that the Amazon Redshift cluster must use to access the HSM.-hcHsmIpAddress :: Lens' HsmConfiguration (Maybe Text)-hcHsmIpAddress = lens _hcHsmIpAddress (\s a -> s { _hcHsmIpAddress = a })---- | The name of the partition in the HSM where the Amazon Redshift clusters will--- store their database encryption keys.-hcHsmPartitionName :: Lens' HsmConfiguration (Maybe Text)-hcHsmPartitionName =-    lens _hcHsmPartitionName (\s a -> s { _hcHsmPartitionName = a })---- | The list of tags for the HSM configuration.-hcTags :: Lens' HsmConfiguration [Tag]-hcTags = lens _hcTags (\s a -> s { _hcTags = a }) . _List--instance FromXML HsmConfiguration where-    parseXML x = HsmConfiguration-        <$> x .@? "Description"-        <*> x .@? "HsmConfigurationIdentifier"-        <*> x .@? "HsmIpAddress"-        <*> x .@? "HsmPartitionName"-        <*> x .@? "Tags" .!@ mempty--instance ToQuery HsmConfiguration where-    toQuery HsmConfiguration{..} = mconcat-        [ "Description"                =? _hcDescription-        , "HsmConfigurationIdentifier" =? _hcHsmConfigurationIdentifier-        , "HsmIpAddress"               =? _hcHsmIpAddress-        , "HsmPartitionName"           =? _hcHsmPartitionName-        , "Tags"                       =? _hcTags-        ]--data PendingModifiedValues = PendingModifiedValues-    { _pmvAutomatedSnapshotRetentionPeriod :: Maybe Int-    , _pmvClusterIdentifier                :: Maybe Text-    , _pmvClusterType                      :: Maybe Text-    , _pmvClusterVersion                   :: Maybe Text-    , _pmvMasterUserPassword               :: Maybe Text-    , _pmvNodeType                         :: Maybe Text-    , _pmvNumberOfNodes                    :: Maybe Int-    } deriving (Eq, Ord, Read, Show)---- | 'PendingModifiedValues' constructor.------ The fields accessible through corresponding lenses are:------ * 'pmvAutomatedSnapshotRetentionPeriod' @::@ 'Maybe' 'Int'------ * 'pmvClusterIdentifier' @::@ 'Maybe' 'Text'------ * 'pmvClusterType' @::@ 'Maybe' 'Text'------ * 'pmvClusterVersion' @::@ 'Maybe' 'Text'------ * 'pmvMasterUserPassword' @::@ 'Maybe' 'Text'------ * 'pmvNodeType' @::@ 'Maybe' 'Text'------ * 'pmvNumberOfNodes' @::@ 'Maybe' 'Int'----pendingModifiedValues :: PendingModifiedValues-pendingModifiedValues = PendingModifiedValues-    { _pmvMasterUserPassword               = Nothing-    , _pmvNodeType                         = Nothing-    , _pmvNumberOfNodes                    = Nothing-    , _pmvClusterType                      = Nothing-    , _pmvClusterVersion                   = Nothing-    , _pmvAutomatedSnapshotRetentionPeriod = Nothing-    , _pmvClusterIdentifier                = Nothing-    }---- | The pending or in-progress change of the automated snapshot retention--- period.-pmvAutomatedSnapshotRetentionPeriod :: Lens' PendingModifiedValues (Maybe Int)-pmvAutomatedSnapshotRetentionPeriod =-    lens _pmvAutomatedSnapshotRetentionPeriod-        (\s a -> s { _pmvAutomatedSnapshotRetentionPeriod = a })---- | The pending or in-progress change of the new identifier for the cluster.-pmvClusterIdentifier :: Lens' PendingModifiedValues (Maybe Text)-pmvClusterIdentifier =-    lens _pmvClusterIdentifier (\s a -> s { _pmvClusterIdentifier = a })---- | The pending or in-progress change of the cluster type.-pmvClusterType :: Lens' PendingModifiedValues (Maybe Text)-pmvClusterType = lens _pmvClusterType (\s a -> s { _pmvClusterType = a })---- | The pending or in-progress change of the service version.-pmvClusterVersion :: Lens' PendingModifiedValues (Maybe Text)-pmvClusterVersion =-    lens _pmvClusterVersion (\s a -> s { _pmvClusterVersion = a })---- | The pending or in-progress change of the master user password for the--- cluster.-pmvMasterUserPassword :: Lens' PendingModifiedValues (Maybe Text)-pmvMasterUserPassword =-    lens _pmvMasterUserPassword (\s a -> s { _pmvMasterUserPassword = a })---- | The pending or in-progress change of the cluster's node type.-pmvNodeType :: Lens' PendingModifiedValues (Maybe Text)-pmvNodeType = lens _pmvNodeType (\s a -> s { _pmvNodeType = a })---- | The pending or in-progress change of the number of nodes in the cluster.-pmvNumberOfNodes :: Lens' PendingModifiedValues (Maybe Int)-pmvNumberOfNodes = lens _pmvNumberOfNodes (\s a -> s { _pmvNumberOfNodes = a })--instance FromXML PendingModifiedValues where-    parseXML x = PendingModifiedValues-        <$> x .@? "AutomatedSnapshotRetentionPeriod"-        <*> x .@? "ClusterIdentifier"-        <*> x .@? "ClusterType"-        <*> x .@? "ClusterVersion"-        <*> x .@? "MasterUserPassword"-        <*> x .@? "NodeType"-        <*> x .@? "NumberOfNodes"--instance ToQuery PendingModifiedValues where-    toQuery PendingModifiedValues{..} = mconcat-        [ "AutomatedSnapshotRetentionPeriod" =? _pmvAutomatedSnapshotRetentionPeriod-        , "ClusterIdentifier"                =? _pmvClusterIdentifier-        , "ClusterType"                      =? _pmvClusterType-        , "ClusterVersion"                   =? _pmvClusterVersion-        , "MasterUserPassword"               =? _pmvMasterUserPassword-        , "NodeType"                         =? _pmvNodeType-        , "NumberOfNodes"                    =? _pmvNumberOfNodes-        ]--data VpcSecurityGroupMembership = VpcSecurityGroupMembership-    { _vsgmStatus             :: Maybe Text-    , _vsgmVpcSecurityGroupId :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'VpcSecurityGroupMembership' constructor.------ The fields accessible through corresponding lenses are:------ * 'vsgmStatus' @::@ 'Maybe' 'Text'------ * 'vsgmVpcSecurityGroupId' @::@ 'Maybe' 'Text'----vpcSecurityGroupMembership :: VpcSecurityGroupMembership-vpcSecurityGroupMembership = VpcSecurityGroupMembership-    { _vsgmVpcSecurityGroupId = Nothing-    , _vsgmStatus             = Nothing-    }--vsgmStatus :: Lens' VpcSecurityGroupMembership (Maybe Text)-vsgmStatus = lens _vsgmStatus (\s a -> s { _vsgmStatus = a })--vsgmVpcSecurityGroupId :: Lens' VpcSecurityGroupMembership (Maybe Text)-vsgmVpcSecurityGroupId =-    lens _vsgmVpcSecurityGroupId (\s a -> s { _vsgmVpcSecurityGroupId = a })--instance FromXML VpcSecurityGroupMembership where-    parseXML x = VpcSecurityGroupMembership-        <$> x .@? "Status"-        <*> x .@? "VpcSecurityGroupId"--instance ToQuery VpcSecurityGroupMembership where-    toQuery VpcSecurityGroupMembership{..} = mconcat-        [ "Status"             =? _vsgmStatus-        , "VpcSecurityGroupId" =? _vsgmVpcSecurityGroupId-        ]--data Parameter = Parameter-    { _pAllowedValues        :: Maybe Text-    , _pDataType             :: Maybe Text-    , _pDescription          :: Maybe Text-    , _pIsModifiable         :: Maybe Bool-    , _pMinimumEngineVersion :: Maybe Text-    , _pParameterName        :: Maybe Text-    , _pParameterValue       :: Maybe Text-    , _pSource               :: Maybe Text-    } deriving (Eq, Ord, Read, Show)---- | 'Parameter' constructor.------ The fields accessible through corresponding lenses are:------ * 'pAllowedValues' @::@ 'Maybe' 'Text'------ * 'pDataType' @::@ 'Maybe' 'Text'------ * 'pDescription' @::@ 'Maybe' 'Text'------ * 'pIsModifiable' @::@ 'Maybe' 'Bool'------ * 'pMinimumEngineVersion' @::@ 'Maybe' 'Text'------ * 'pParameterName' @::@ 'Maybe' 'Text'------ * 'pParameterValue' @::@ 'Maybe' 'Text'------ * 'pSource' @::@ 'Maybe' 'Text'----parameter :: Parameter-parameter = Parameter-    { _pParameterName        = Nothing-    , _pParameterValue       = Nothing-    , _pDescription          = Nothing-    , _pSource               = Nothing-    , _pDataType             = Nothing-    , _pAllowedValues        = Nothing-    , _pIsModifiable         = Nothing-    , _pMinimumEngineVersion = Nothing-    }---- | The valid range of values for the parameter.-pAllowedValues :: Lens' Parameter (Maybe Text)-pAllowedValues = lens _pAllowedValues (\s a -> s { _pAllowedValues = a })---- | The data type of the parameter.-pDataType :: Lens' Parameter (Maybe Text)-pDataType = lens _pDataType (\s a -> s { _pDataType = a })---- | A description of the parameter.-pDescription :: Lens' Parameter (Maybe Text)-pDescription = lens _pDescription (\s a -> s { _pDescription = a })---- | If 'true', the parameter can be modified. Some parameters have security or--- operational implications that prevent them from being changed.-pIsModifiable :: Lens' Parameter (Maybe Bool)-pIsModifiable = lens _pIsModifiable (\s a -> s { _pIsModifiable = a })---- | The earliest engine version to which the parameter can apply.-pMinimumEngineVersion :: Lens' Parameter (Maybe Text)-pMinimumEngineVersion =-    lens _pMinimumEngineVersion (\s a -> s { _pMinimumEngineVersion = a })---- | The name of the parameter.-pParameterName :: Lens' Parameter (Maybe Text)-pParameterName = lens _pParameterName (\s a -> s { _pParameterName = a })---- | The value of the parameter.-pParameterValue :: Lens' Parameter (Maybe Text)-pParameterValue = lens _pParameterValue (\s a -> s { _pParameterValue = a })---- | The source of the parameter value, such as "engine-default" or "user".-pSource :: Lens' Parameter (Maybe Text)-pSource = lens _pSource (\s a -> s { _pSource = a })--instance FromXML Parameter where-    parseXML x = Parameter-        <$> x .@? "AllowedValues"-        <*> x .@? "DataType"-        <*> x .@? "Description"-        <*> x .@? "IsModifiable"-        <*> x .@? "MinimumEngineVersion"-        <*> x .@? "ParameterName"-        <*> x .@? "ParameterValue"-        <*> x .@? "Source"--instance ToQuery Parameter where-    toQuery Parameter{..} = mconcat-        [ "AllowedValues"        =? _pAllowedValues-        , "DataType"             =? _pDataType-        , "Description"          =? _pDescription-        , "IsModifiable"         =? _pIsModifiable-        , "MinimumEngineVersion" =? _pMinimumEngineVersion-        , "ParameterName"        =? _pParameterName-        , "ParameterValue"       =? _pParameterValue-        , "Source"               =? _pSource-        ]+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies      #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.Types+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Redshift.Types+    (+    -- * Service+      Redshift++    -- * Errors+    , _LimitExceededFault+    , _ClusterSecurityGroupQuotaExceededFault+    , _CopyToRegionDisabledFault+    , _AuthorizationQuotaExceededFault+    , _SourceNotFoundFault+    , _InvalidS3KeyPrefixFault+    , _AuthorizationAlreadyExistsFault+    , _InvalidClusterSecurityGroupStateFault+    , _ClusterSecurityGroupAlreadyExistsFault+    , _InvalidElasticIPFault+    , _ClusterSnapshotNotFoundFault+    , _HSMConfigurationNotFoundFault+    , _InvalidHSMConfigurationStateFault+    , _ClusterSnapshotAlreadyExistsFault+    , _HSMConfigurationAlreadyExistsFault+    , _SubscriptionCategoryNotFoundFault+    , _SubscriptionNotFoundFault+    , _InvalidSubnet+    , _InvalidS3BucketNameFault+    , _ClusterQuotaExceededFault+    , _SnapshotCopyAlreadyDisabledFault+    , _ClusterParameterGroupNotFoundFault+    , _HSMClientCertificateQuotaExceededFault+    , _SnapshotCopyGrantQuotaExceededFault+    , _SnapshotCopyAlreadyEnabledFault+    , _ClusterParameterGroupAlreadyExistsFault+    , _NumberOfNodesPerClusterLimitExceededFault+    , _SnapshotCopyDisabledFault+    , _ResizeNotFoundFault+    , _ClusterParameterGroupQuotaExceededFault+    , _SNSTopicARNNotFoundFault+    , _HSMClientCertificateNotFoundFault+    , _SnapshotCopyGrantAlreadyExistsFault+    , _ClusterNotFoundFault+    , _SNSNoAuthorizationFault+    , _SnapshotCopyGrantNotFoundFault+    , _InvalidClusterStateFault+    , _InsufficientClusterCapacityFault+    , _HSMConfigurationQuotaExceededFault+    , _ClusterSnapshotQuotaExceededFault+    , _SNSInvalidTopicFault+    , _UnsupportedOptionFault+    , _SubscriptionAlreadyExistFault+    , _InvalidVPCNetworkStateFault+    , _ClusterSubnetGroupNotFoundFault+    , _BucketNotFoundFault+    , _InvalidSubscriptionStateFault+    , _UnsupportedOperationFault+    , _AuthorizationNotFoundFault+    , _InvalidClusterSubnetGroupStateFault+    , _InvalidClusterSnapshotStateFault+    , _ClusterSubnetGroupAlreadyExistsFault+    , _ClusterSecurityGroupNotFoundFault+    , _IncompatibleOrderableOptions+    , _ReservedNodeOfferingNotFoundFault+    , _InvalidClusterSubnetStateFault+    , _ReservedNodeNotFoundFault+    , _EventSubscriptionQuotaExceededFault+    , _InvalidClusterParameterGroupStateFault+    , _ReservedNodeAlreadyExistsFault+    , _ReservedNodeQuotaExceededFault+    , _SubscriptionEventIdNotFoundFault+    , _ResourceNotFoundFault+    , _InvalidSnapshotCopyGrantStateFault+    , _InvalidRestoreFault+    , _UnknownSnapshotCopyRegionFault+    , _AccessToSnapshotDeniedFault+    , _ClusterAlreadyExistsFault+    , _HSMClientCertificateAlreadyExistsFault+    , _InvalidHSMClientCertificateStateFault+    , _NumberOfNodesQuotaExceededFault+    , _TagLimitExceededFault+    , _ClusterSubnetQuotaExceededFault+    , _SubnetAlreadyInUse+    , _InvalidTagFault+    , _InsufficientS3BucketPolicyFault+    , _ClusterSubnetGroupQuotaExceededFault+    , _SubscriptionSeverityNotFoundFault+    , _UnauthorizedOperation++    -- * ParameterApplyType+    , ParameterApplyType (..)++    -- * SourceType+    , SourceType (..)++    -- * AccountWithRestoreAccess+    , AccountWithRestoreAccess+    , accountWithRestoreAccess+    , awraAccountId++    -- * AvailabilityZone+    , AvailabilityZone+    , availabilityZone+    , azName++    -- * Cluster+    , Cluster+    , cluster+    , cRestoreStatus+    , cClusterSnapshotCopyStatus+    , cClusterRevisionNumber+    , cMasterUsername+    , cPubliclyAccessible+    , cVPCId+    , cClusterSecurityGroups+    , cAutomatedSnapshotRetentionPeriod+    , cEncrypted+    , cClusterIdentifier+    , cNumberOfNodes+    , cClusterSubnetGroupName+    , cPreferredMaintenanceWindow+    , cModifyStatus+    , cClusterPublicKey+    , cClusterParameterGroups+    , cAvailabilityZone+    , cVPCSecurityGroups+    , cKMSKeyId+    , cHSMStatus+    , cElasticIPStatus+    , cClusterVersion+    , cNodeType+    , cEndpoint+    , cClusterCreateTime+    , cAllowVersionUpgrade+    , cPendingModifiedValues+    , cClusterStatus+    , cDBName+    , cTags+    , cClusterNodes++    -- * ClusterNode+    , ClusterNode+    , clusterNode+    , cnNodeRole+    , cnPrivateIPAddress+    , cnPublicIPAddress++    -- * ClusterParameterGroup+    , ClusterParameterGroup+    , clusterParameterGroup+    , cpgParameterGroupFamily+    , cpgDescription+    , cpgParameterGroupName+    , cpgTags++    -- * ClusterParameterGroupNameMessage+    , ClusterParameterGroupNameMessage+    , clusterParameterGroupNameMessage+    , cpgnmParameterGroupStatus+    , cpgnmParameterGroupName++    -- * ClusterParameterGroupStatus+    , ClusterParameterGroupStatus+    , clusterParameterGroupStatus+    , cpgsClusterParameterStatusList+    , cpgsParameterApplyStatus+    , cpgsParameterGroupName++    -- * ClusterParameterStatus+    , ClusterParameterStatus+    , clusterParameterStatus+    , cpsParameterApplyErrorDescription+    , cpsParameterName+    , cpsParameterApplyStatus++    -- * ClusterSecurityGroup+    , ClusterSecurityGroup+    , clusterSecurityGroup+    , cluClusterSecurityGroupName+    , cluIPRanges+    , cluEC2SecurityGroups+    , cluDescription+    , cluTags++    -- * ClusterSecurityGroupMembership+    , ClusterSecurityGroupMembership+    , clusterSecurityGroupMembership+    , csgmStatus+    , csgmClusterSecurityGroupName++    -- * ClusterSnapshotCopyStatus+    , ClusterSnapshotCopyStatus+    , clusterSnapshotCopyStatus+    , cscsRetentionPeriod+    , cscsDestinationRegion+    , cscsSnapshotCopyGrantName++    -- * ClusterSubnetGroup+    , ClusterSubnetGroup+    , clusterSubnetGroup+    , csgVPCId+    , csgSubnets+    , csgClusterSubnetGroupName+    , csgSubnetGroupStatus+    , csgDescription+    , csgTags++    -- * ClusterVersion+    , ClusterVersion+    , clusterVersion+    , cvClusterParameterGroupFamily+    , cvClusterVersion+    , cvDescription++    -- * DefaultClusterParameters+    , DefaultClusterParameters+    , defaultClusterParameters+    , dcpParameters+    , dcpMarker+    , dcpParameterGroupFamily++    -- * EC2SecurityGroup+    , EC2SecurityGroup+    , ec2SecurityGroup+    , esgStatus+    , esgEC2SecurityGroupOwnerId+    , esgEC2SecurityGroupName+    , esgTags++    -- * ElasticIPStatus+    , ElasticIPStatus+    , elasticIPStatus+    , eisStatus+    , eisElasticIP++    -- * Endpoint+    , Endpoint+    , endpoint+    , eAddress+    , ePort++    -- * Event+    , Event+    , event+    , eSourceType+    , eSeverity+    , eSourceIdentifier+    , eDate+    , eEventCategories+    , eMessage+    , eEventId++    -- * EventCategoriesMap+    , EventCategoriesMap+    , eventCategoriesMap+    , ecmSourceType+    , ecmEvents++    -- * EventInfoMap+    , EventInfoMap+    , eventInfoMap+    , eimEventDescription+    , eimSeverity+    , eimEventCategories+    , eimEventId++    -- * EventSubscription+    , EventSubscription+    , eventSubscription+    , esCustomerAWSId+    , esStatus+    , esCustSubscriptionId+    , esSNSTopicARN+    , esEnabled+    , esSourceType+    , esSeverity+    , esSubscriptionCreationTime+    , esEventCategoriesList+    , esSourceIdsList+    , esTags++    -- * HSMClientCertificate+    , HSMClientCertificate+    , hsmClientCertificate+    , hccHSMClientCertificateIdentifier+    , hccHSMClientCertificatePublicKey+    , hccTags++    -- * HSMConfiguration+    , HSMConfiguration+    , hsmConfiguration+    , hcHSMConfigurationIdentifier+    , hcHSMPartitionName+    , hcDescription+    , hcHSMIPAddress+    , hcTags++    -- * HSMStatus+    , HSMStatus+    , hsmStatus+    , hsStatus+    , hsHSMConfigurationIdentifier+    , hsHSMClientCertificateIdentifier++    -- * IPRange+    , IPRange+    , ipRange+    , irStatus+    , irCIdRIP+    , irTags++    -- * LoggingStatus+    , LoggingStatus+    , loggingStatus+    , lsLastSuccessfulDeliveryTime+    , lsLastFailureTime+    , lsS3KeyPrefix+    , lsBucketName+    , lsLoggingEnabled+    , lsLastFailureMessage++    -- * OrderableClusterOption+    , OrderableClusterOption+    , orderableClusterOption+    , ocoAvailabilityZones+    , ocoClusterType+    , ocoClusterVersion+    , ocoNodeType++    -- * Parameter+    , Parameter+    , parameter+    , pApplyType+    , pParameterValue+    , pMinimumEngineVersion+    , pSource+    , pIsModifiable+    , pAllowedValues+    , pDataType+    , pParameterName+    , pDescription++    -- * PendingModifiedValues+    , PendingModifiedValues+    , pendingModifiedValues+    , pmvMasterUserPassword+    , pmvAutomatedSnapshotRetentionPeriod+    , pmvClusterIdentifier+    , pmvNumberOfNodes+    , pmvClusterType+    , pmvClusterVersion+    , pmvNodeType++    -- * RecurringCharge+    , RecurringCharge+    , recurringCharge+    , rcRecurringChargeFrequency+    , rcRecurringChargeAmount++    -- * ReservedNode+    , ReservedNode+    , reservedNode+    , rnState+    , rnCurrencyCode+    , rnStartTime+    , rnNodeCount+    , rnReservedNodeOfferingId+    , rnReservedNodeId+    , rnOfferingType+    , rnUsagePrice+    , rnNodeType+    , rnRecurringCharges+    , rnFixedPrice+    , rnDuration++    -- * ReservedNodeOffering+    , ReservedNodeOffering+    , reservedNodeOffering+    , rnoCurrencyCode+    , rnoReservedNodeOfferingId+    , rnoOfferingType+    , rnoUsagePrice+    , rnoNodeType+    , rnoRecurringCharges+    , rnoFixedPrice+    , rnoDuration++    -- * RestoreStatus+    , RestoreStatus+    , restoreStatus+    , rsEstimatedTimeToCompletionInSeconds+    , rsStatus+    , rsCurrentRestoreRateInMegaBytesPerSecond+    , rsProgressInMegaBytes+    , rsElapsedTimeInSeconds+    , rsSnapshotSizeInMegaBytes++    -- * Snapshot+    , Snapshot+    , snapshot+    , sRestorableNodeTypes+    , sStatus+    , sAccountsWithRestoreAccess+    , sSnapshotIdentifier+    , sEncryptedWithHSM+    , sMasterUsername+    , sSourceRegion+    , sVPCId+    , sBackupProgressInMegaBytes+    , sEncrypted+    , sClusterIdentifier+    , sNumberOfNodes+    , sSnapshotType+    , sAvailabilityZone+    , sKMSKeyId+    , sCurrentBackupRateInMegaBytesPerSecond+    , sSnapshotCreateTime+    , sClusterVersion+    , sOwnerAccount+    , sNodeType+    , sClusterCreateTime+    , sElapsedTimeInSeconds+    , sEstimatedSecondsToCompletion+    , sTotalBackupSizeInMegaBytes+    , sDBName+    , sTags+    , sActualIncrementalBackupSizeInMegaBytes+    , sPort++    -- * SnapshotCopyGrant+    , SnapshotCopyGrant+    , snapshotCopyGrant+    , scgKMSKeyId+    , scgSnapshotCopyGrantName+    , scgTags++    -- * Subnet+    , Subnet+    , subnet+    , sSubnetStatus+    , sSubnetIdentifier+    , sSubnetAvailabilityZone++    -- * Tag+    , Tag+    , tag+    , tagValue+    , tagKey++    -- * TaggedResource+    , TaggedResource+    , taggedResource+    , trResourceType+    , trTag+    , trResourceName++    -- * VPCSecurityGroupMembership+    , VPCSecurityGroupMembership+    , vpcSecurityGroupMembership+    , vsgmStatus+    , vsgmVPCSecurityGroupId+    ) where++import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types.Product+import           Network.AWS.Redshift.Types.Sum+import           Network.AWS.Sign.V4++-- | Version @2012-12-01@ of the Amazon Redshift SDK.+data Redshift++instance AWSService Redshift where+    type Sg Redshift = V4+    service = const svc+      where+        svc =+            Service+            { _svcAbbrev = "Redshift"+            , _svcPrefix = "redshift"+            , _svcVersion = "2012-12-01"+            , _svcEndpoint = defaultEndpoint svc+            , _svcTimeout = Just 70+            , _svcStatus = statusSuccess+            , _svcError = parseXMLError+            , _svcRetry = retry+            }+        retry =+            Exponential+            { _retryBase = 5.0e-2+            , _retryGrowth = 2+            , _retryAttempts = 5+            , _retryCheck = check+            }+        check e+          | has (hasCode "ThrottlingException" . hasStatus 400) e =+              Just "throttling_exception"+          | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+          | has (hasStatus 503) e = Just "service_unavailable"+          | has (hasStatus 500) e = Just "general_server_error"+          | has (hasStatus 509) e = Just "limit_exceeded"+          | otherwise = Nothing++-- | The encryption key has exceeded its grant limit in AWS KMS.+_LimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_LimitExceededFault =+    _ServiceError . hasStatus 400 . hasCode "LimitExceededFault"++-- | The request would result in the user exceeding the allowed number of+-- cluster security groups. For information about increasing your quota, go+-- to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_ClusterSecurityGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSecurityGroupQuotaExceededFault =+    _ServiceError .+    hasStatus 400 . hasCode "QuotaExceeded.ClusterSecurityGroup"++-- | Cross-region snapshot copy was temporarily disabled. Try your request+-- again.+_CopyToRegionDisabledFault :: AsError a => Getting (First ServiceError) a ServiceError+_CopyToRegionDisabledFault =+    _ServiceError . hasStatus 400 . hasCode "CopyToRegionDisabledFault"++-- | The authorization quota for the cluster security group has been reached.+_AuthorizationQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_AuthorizationQuotaExceededFault =+    _ServiceError . hasStatus 400 . hasCode "AuthorizationQuotaExceeded"++-- | The specified Amazon Redshift event source could not be found.+_SourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_SourceNotFoundFault = _ServiceError . hasStatus 404 . hasCode "SourceNotFound"++-- | The string specified for the logging S3 key prefix does not comply with+-- the documented constraints.+_InvalidS3KeyPrefixFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidS3KeyPrefixFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidS3KeyPrefixFault"++-- | The specified CIDR block or EC2 security group is already authorized for+-- the specified cluster security group.+_AuthorizationAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_AuthorizationAlreadyExistsFault =+    _ServiceError . hasStatus 400 . hasCode "AuthorizationAlreadyExists"++-- | The state of the cluster security group is not 'available'.+_InvalidClusterSecurityGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidClusterSecurityGroupStateFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidClusterSecurityGroupState"++-- | A cluster security group with the same name already exists.+_ClusterSecurityGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSecurityGroupAlreadyExistsFault =+    _ServiceError . hasStatus 400 . hasCode "ClusterSecurityGroupAlreadyExists"++-- | The Elastic IP (EIP) is invalid or cannot be found.+_InvalidElasticIPFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidElasticIPFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidElasticIpFault"++-- | The snapshot identifier does not refer to an existing cluster snapshot.+_ClusterSnapshotNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSnapshotNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "ClusterSnapshotNotFound"++-- | There is no Amazon Redshift HSM configuration with the specified+-- identifier.+_HSMConfigurationNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_HSMConfigurationNotFoundFault =+    _ServiceError . hasStatus 400 . hasCode "HsmConfigurationNotFoundFault"++-- | The specified HSM configuration is not in the 'available' state, or it+-- is still in use by one or more Amazon Redshift clusters.+_InvalidHSMConfigurationStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidHSMConfigurationStateFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidHsmConfigurationStateFault"++-- | The value specified as a snapshot identifier is already used by an+-- existing snapshot.+_ClusterSnapshotAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSnapshotAlreadyExistsFault =+    _ServiceError . hasStatus 400 . hasCode "ClusterSnapshotAlreadyExists"++-- | There is already an existing Amazon Redshift HSM configuration with the+-- specified identifier.+_HSMConfigurationAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_HSMConfigurationAlreadyExistsFault =+    _ServiceError .+    hasStatus 400 . hasCode "HsmConfigurationAlreadyExistsFault"++-- | The value specified for the event category was not one of the allowed+-- values, or it specified a category that does not apply to the specified+-- source type. The allowed values are Configuration, Management,+-- Monitoring, and Security.+_SubscriptionCategoryNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_SubscriptionCategoryNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "SubscriptionCategoryNotFound"++-- | An Amazon Redshift event notification subscription with the specified+-- name does not exist.+_SubscriptionNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_SubscriptionNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "SubscriptionNotFound"++-- | The requested subnet is not valid, or not all of the subnets are in the+-- same VPC.+_InvalidSubnet :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidSubnet = _ServiceError . hasStatus 400 . hasCode "InvalidSubnet"++-- | The S3 bucket name is invalid. For more information about naming rules,+-- go to+-- <http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html Bucket Restrictions and Limitations>+-- in the Amazon Simple Storage Service (S3) Developer Guide.+_InvalidS3BucketNameFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidS3BucketNameFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidS3BucketNameFault"++-- | The request would exceed the allowed number of cluster instances for+-- this account. For information about increasing your quota, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_ClusterQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterQuotaExceededFault =+    _ServiceError . hasStatus 400 . hasCode "ClusterQuotaExceeded"++-- | The cluster already has cross-region snapshot copy disabled.+_SnapshotCopyAlreadyDisabledFault :: AsError a => Getting (First ServiceError) a ServiceError+_SnapshotCopyAlreadyDisabledFault =+    _ServiceError . hasStatus 400 . hasCode "SnapshotCopyAlreadyDisabledFault"++-- | The parameter group name does not refer to an existing parameter group.+_ClusterParameterGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterParameterGroupNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "ClusterParameterGroupNotFound"++-- | The quota for HSM client certificates has been reached. For information+-- about increasing your quota, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_HSMClientCertificateQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_HSMClientCertificateQuotaExceededFault =+    _ServiceError .+    hasStatus 400 . hasCode "HsmClientCertificateQuotaExceededFault"++-- | The AWS account has exceeded the maximum number of snapshot copy grants+-- in this region.+_SnapshotCopyGrantQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_SnapshotCopyGrantQuotaExceededFault =+    _ServiceError .+    hasStatus 400 . hasCode "SnapshotCopyGrantQuotaExceededFault"++-- | The cluster already has cross-region snapshot copy enabled.+_SnapshotCopyAlreadyEnabledFault :: AsError a => Getting (First ServiceError) a ServiceError+_SnapshotCopyAlreadyEnabledFault =+    _ServiceError . hasStatus 400 . hasCode "SnapshotCopyAlreadyEnabledFault"++-- | A cluster parameter group with the same name already exists.+_ClusterParameterGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterParameterGroupAlreadyExistsFault =+    _ServiceError .+    hasStatus 400 . hasCode "ClusterParameterGroupAlreadyExists"++-- | The operation would exceed the number of nodes allowed for a cluster.+_NumberOfNodesPerClusterLimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_NumberOfNodesPerClusterLimitExceededFault =+    _ServiceError .+    hasStatus 400 . hasCode "NumberOfNodesPerClusterLimitExceeded"++-- | Cross-region snapshot copy was temporarily disabled. Try your request+-- again.+_SnapshotCopyDisabledFault :: AsError a => Getting (First ServiceError) a ServiceError+_SnapshotCopyDisabledFault =+    _ServiceError . hasStatus 400 . hasCode "SnapshotCopyDisabledFault"++-- | A resize operation for the specified cluster is not found.+_ResizeNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_ResizeNotFoundFault = _ServiceError . hasStatus 404 . hasCode "ResizeNotFound"++-- | The request would result in the user exceeding the allowed number of+-- cluster parameter groups. For information about increasing your quota,+-- go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_ClusterParameterGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterParameterGroupQuotaExceededFault =+    _ServiceError .+    hasStatus 400 . hasCode "ClusterParameterGroupQuotaExceeded"++-- | An Amazon SNS topic with the specified Amazon Resource Name (ARN) does+-- not exist.+_SNSTopicARNNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_SNSTopicARNNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "SNSTopicArnNotFound"++-- | There is no Amazon Redshift HSM client certificate with the specified+-- identifier.+_HSMClientCertificateNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_HSMClientCertificateNotFoundFault =+    _ServiceError . hasStatus 400 . hasCode "HsmClientCertificateNotFoundFault"++-- | The snapshot copy grant can\'t be created because a grant with the same+-- name already exists.+_SnapshotCopyGrantAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_SnapshotCopyGrantAlreadyExistsFault =+    _ServiceError .+    hasStatus 400 . hasCode "SnapshotCopyGrantAlreadyExistsFault"++-- | The /ClusterIdentifier/ parameter does not refer to an existing cluster.+_ClusterNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "ClusterNotFound"++-- | You do not have permission to publish to the specified Amazon SNS topic.+_SNSNoAuthorizationFault :: AsError a => Getting (First ServiceError) a ServiceError+_SNSNoAuthorizationFault =+    _ServiceError . hasStatus 400 . hasCode "SNSNoAuthorization"++-- | The specified snapshot copy grant can\'t be found. Make sure that the+-- name is typed correctly and that the grant exists in the destination+-- region.+_SnapshotCopyGrantNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_SnapshotCopyGrantNotFoundFault =+    _ServiceError . hasStatus 400 . hasCode "SnapshotCopyGrantNotFoundFault"++-- | The specified cluster is not in the 'available' state.+_InvalidClusterStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidClusterStateFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidClusterState"++-- | The number of nodes specified exceeds the allotted capacity of the+-- cluster.+_InsufficientClusterCapacityFault :: AsError a => Getting (First ServiceError) a ServiceError+_InsufficientClusterCapacityFault =+    _ServiceError . hasStatus 400 . hasCode "InsufficientClusterCapacity"++-- | The quota for HSM configurations has been reached. For information about+-- increasing your quota, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_HSMConfigurationQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_HSMConfigurationQuotaExceededFault =+    _ServiceError .+    hasStatus 400 . hasCode "HsmConfigurationQuotaExceededFault"++-- | The request would result in the user exceeding the allowed number of+-- cluster snapshots.+_ClusterSnapshotQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSnapshotQuotaExceededFault =+    _ServiceError . hasStatus 400 . hasCode "ClusterSnapshotQuotaExceeded"++-- | Amazon SNS has responded that there is a problem with the specified+-- Amazon SNS topic.+_SNSInvalidTopicFault :: AsError a => Getting (First ServiceError) a ServiceError+_SNSInvalidTopicFault =+    _ServiceError . hasStatus 400 . hasCode "SNSInvalidTopic"++-- | A request option was specified that is not supported.+_UnsupportedOptionFault :: AsError a => Getting (First ServiceError) a ServiceError+_UnsupportedOptionFault =+    _ServiceError . hasStatus 400 . hasCode "UnsupportedOptionFault"++-- | There is already an existing event notification subscription with the+-- specified name.+_SubscriptionAlreadyExistFault :: AsError a => Getting (First ServiceError) a ServiceError+_SubscriptionAlreadyExistFault =+    _ServiceError . hasStatus 400 . hasCode "SubscriptionAlreadyExist"++-- | The cluster subnet group does not cover all Availability Zones.+_InvalidVPCNetworkStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidVPCNetworkStateFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidVPCNetworkStateFault"++-- | The cluster subnet group name does not refer to an existing cluster+-- subnet group.+_ClusterSubnetGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSubnetGroupNotFoundFault =+    _ServiceError . hasStatus 400 . hasCode "ClusterSubnetGroupNotFoundFault"++-- | Could not find the specified S3 bucket.+_BucketNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_BucketNotFoundFault =+    _ServiceError . hasStatus 400 . hasCode "BucketNotFoundFault"++-- | The subscription request is invalid because it is a duplicate request.+-- This subscription request is already in progress.+_InvalidSubscriptionStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidSubscriptionStateFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidSubscriptionStateFault"++-- | The requested operation isn\'t supported.+_UnsupportedOperationFault :: AsError a => Getting (First ServiceError) a ServiceError+_UnsupportedOperationFault =+    _ServiceError . hasStatus 400 . hasCode "UnsupportedOperation"++-- | The specified CIDR IP range or EC2 security group is not authorized for+-- the specified cluster security group.+_AuthorizationNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_AuthorizationNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "AuthorizationNotFound"++-- | The cluster subnet group cannot be deleted because it is in use.+_InvalidClusterSubnetGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidClusterSubnetGroupStateFault =+    _ServiceError .+    hasStatus 400 . hasCode "InvalidClusterSubnetGroupStateFault"++-- | The state of the cluster snapshot is not 'available', or other accounts+-- are authorized to access the snapshot.+_InvalidClusterSnapshotStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidClusterSnapshotStateFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidClusterSnapshotState"++-- | A /ClusterSubnetGroupName/ is already used by an existing cluster subnet+-- group.+_ClusterSubnetGroupAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSubnetGroupAlreadyExistsFault =+    _ServiceError . hasStatus 400 . hasCode "ClusterSubnetGroupAlreadyExists"++-- | The cluster security group name does not refer to an existing cluster+-- security group.+_ClusterSecurityGroupNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSecurityGroupNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "ClusterSecurityGroupNotFound"++-- | The specified options are incompatible.+_IncompatibleOrderableOptions :: AsError a => Getting (First ServiceError) a ServiceError+_IncompatibleOrderableOptions =+    _ServiceError . hasStatus 400 . hasCode "IncompatibleOrderableOptions"++-- | Specified offering does not exist.+_ReservedNodeOfferingNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_ReservedNodeOfferingNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "ReservedNodeOfferingNotFound"++-- | The state of the subnet is invalid.+_InvalidClusterSubnetStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidClusterSubnetStateFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidClusterSubnetStateFault"++-- | The specified reserved compute node not found.+_ReservedNodeNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_ReservedNodeNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "ReservedNodeNotFound"++-- | The request would exceed the allowed number of event subscriptions for+-- this account. For information about increasing your quota, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_EventSubscriptionQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_EventSubscriptionQuotaExceededFault =+    _ServiceError . hasStatus 400 . hasCode "EventSubscriptionQuotaExceeded"++-- | The cluster parameter group action can not be completed because another+-- task is in progress that involves the parameter group. Wait a few+-- moments and try the operation again.+_InvalidClusterParameterGroupStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidClusterParameterGroupStateFault =+    _ServiceError . hasStatus 400 . hasCode "InvalidClusterParameterGroupState"++-- | User already has a reservation with the given identifier.+_ReservedNodeAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_ReservedNodeAlreadyExistsFault =+    _ServiceError . hasStatus 404 . hasCode "ReservedNodeAlreadyExists"++-- | Request would exceed the user\'s compute node quota. For information+-- about increasing your quota, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_ReservedNodeQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_ReservedNodeQuotaExceededFault =+    _ServiceError . hasStatus 400 . hasCode "ReservedNodeQuotaExceeded"++-- | An Amazon Redshift event with the specified event ID does not exist.+_SubscriptionEventIdNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_SubscriptionEventIdNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "SubscriptionEventIdNotFound"++-- | The resource could not be found.+_ResourceNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_ResourceNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "ResourceNotFoundFault"++-- | The snapshot copy grant can\'t be deleted because it is used by one or+-- more clusters.+_InvalidSnapshotCopyGrantStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidSnapshotCopyGrantStateFault =+    _ServiceError .+    hasStatus 400 . hasCode "InvalidSnapshotCopyGrantStateFault"++-- | The restore is invalid.+_InvalidRestoreFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidRestoreFault = _ServiceError . hasStatus 406 . hasCode "InvalidRestore"++-- | The specified region is incorrect or does not exist.+_UnknownSnapshotCopyRegionFault :: AsError a => Getting (First ServiceError) a ServiceError+_UnknownSnapshotCopyRegionFault =+    _ServiceError . hasStatus 404 . hasCode "UnknownSnapshotCopyRegionFault"++-- | The owner of the specified snapshot has not authorized your account to+-- access the snapshot.+_AccessToSnapshotDeniedFault :: AsError a => Getting (First ServiceError) a ServiceError+_AccessToSnapshotDeniedFault =+    _ServiceError . hasStatus 400 . hasCode "AccessToSnapshotDenied"++-- | The account already has a cluster with the given identifier.+_ClusterAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterAlreadyExistsFault =+    _ServiceError . hasStatus 400 . hasCode "ClusterAlreadyExists"++-- | There is already an existing Amazon Redshift HSM client certificate with+-- the specified identifier.+_HSMClientCertificateAlreadyExistsFault :: AsError a => Getting (First ServiceError) a ServiceError+_HSMClientCertificateAlreadyExistsFault =+    _ServiceError .+    hasStatus 400 . hasCode "HsmClientCertificateAlreadyExistsFault"++-- | The specified HSM client certificate is not in the 'available' state, or+-- it is still in use by one or more Amazon Redshift clusters.+_InvalidHSMClientCertificateStateFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidHSMClientCertificateStateFault =+    _ServiceError .+    hasStatus 400 . hasCode "InvalidHsmClientCertificateStateFault"++-- | The operation would exceed the number of nodes allotted to the account.+-- For information about increasing your quota, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_NumberOfNodesQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_NumberOfNodesQuotaExceededFault =+    _ServiceError . hasStatus 400 . hasCode "NumberOfNodesQuotaExceeded"++-- | The request exceeds the limit of 10 tags for the resource.+_TagLimitExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_TagLimitExceededFault =+    _ServiceError . hasStatus 400 . hasCode "TagLimitExceededFault"++-- | The request would result in user exceeding the allowed number of subnets+-- in a cluster subnet groups. For information about increasing your quota,+-- go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_ClusterSubnetQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSubnetQuotaExceededFault =+    _ServiceError . hasStatus 400 . hasCode "ClusterSubnetQuotaExceededFault"++-- | A specified subnet is already in use by another cluster.+_SubnetAlreadyInUse :: AsError a => Getting (First ServiceError) a ServiceError+_SubnetAlreadyInUse =+    _ServiceError . hasStatus 400 . hasCode "SubnetAlreadyInUse"++-- | The tag is invalid.+_InvalidTagFault :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidTagFault = _ServiceError . hasStatus 400 . hasCode "InvalidTagFault"++-- | The cluster does not have read bucket or put object permissions on the+-- S3 bucket specified when enabling logging.+_InsufficientS3BucketPolicyFault :: AsError a => Getting (First ServiceError) a ServiceError+_InsufficientS3BucketPolicyFault =+    _ServiceError . hasStatus 400 . hasCode "InsufficientS3BucketPolicyFault"++-- | The request would result in user exceeding the allowed number of cluster+-- subnet groups. For information about increasing your quota, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html Limits in Amazon Redshift>+-- in the /Amazon Redshift Cluster Management Guide/.+_ClusterSubnetGroupQuotaExceededFault :: AsError a => Getting (First ServiceError) a ServiceError+_ClusterSubnetGroupQuotaExceededFault =+    _ServiceError . hasStatus 400 . hasCode "ClusterSubnetGroupQuotaExceeded"++-- | The value specified for the event severity was not one of the allowed+-- values, or it specified a severity that does not apply to the specified+-- source type. The allowed values are ERROR and INFO.+_SubscriptionSeverityNotFoundFault :: AsError a => Getting (First ServiceError) a ServiceError+_SubscriptionSeverityNotFoundFault =+    _ServiceError . hasStatus 404 . hasCode "SubscriptionSeverityNotFound"++-- | Your account is not authorized to perform the requested operation.+_UnauthorizedOperation :: AsError a => Getting (First ServiceError) a ServiceError+_UnauthorizedOperation =+    _ServiceError . hasStatus 400 . hasCode "UnauthorizedOperation"
+ gen/Network/AWS/Redshift/Types/Product.hs view
@@ -0,0 +1,2897 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE OverloadedStrings  #-}+{-# LANGUAGE RecordWildCards    #-}+{-# LANGUAGE TypeFamilies       #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.Types.Product+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Redshift.Types.Product where++import           Network.AWS.Prelude+import           Network.AWS.Redshift.Types.Sum++-- | Describes an AWS customer account authorized to restore a snapshot.+--+-- /See:/ 'accountWithRestoreAccess' smart constructor.+newtype AccountWithRestoreAccess = AccountWithRestoreAccess'+    { _awraAccountId :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AccountWithRestoreAccess' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'awraAccountId'+accountWithRestoreAccess+    :: AccountWithRestoreAccess+accountWithRestoreAccess =+    AccountWithRestoreAccess'+    { _awraAccountId = Nothing+    }++-- | The identifier of an AWS customer account authorized to restore a+-- snapshot.+awraAccountId :: Lens' AccountWithRestoreAccess (Maybe Text)+awraAccountId = lens _awraAccountId (\ s a -> s{_awraAccountId = a});++instance FromXML AccountWithRestoreAccess where+        parseXML x+          = AccountWithRestoreAccess' <$> (x .@? "AccountId")++-- | Describes an availability zone.+--+-- /See:/ 'availabilityZone' smart constructor.+newtype AvailabilityZone = AvailabilityZone'+    { _azName :: Maybe Text+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'azName'+availabilityZone+    :: AvailabilityZone+availabilityZone =+    AvailabilityZone'+    { _azName = Nothing+    }++-- | The name of the availability zone.+azName :: Lens' AvailabilityZone (Maybe Text)+azName = lens _azName (\ s a -> s{_azName = a});++instance FromXML AvailabilityZone where+        parseXML x = AvailabilityZone' <$> (x .@? "Name")++-- | Describes a cluster.+--+-- /See:/ 'cluster' smart constructor.+data Cluster = Cluster'+    { _cRestoreStatus                    :: !(Maybe RestoreStatus)+    , _cClusterSnapshotCopyStatus        :: !(Maybe ClusterSnapshotCopyStatus)+    , _cClusterRevisionNumber            :: !(Maybe Text)+    , _cMasterUsername                   :: !(Maybe Text)+    , _cPubliclyAccessible               :: !(Maybe Bool)+    , _cVPCId                            :: !(Maybe Text)+    , _cClusterSecurityGroups            :: !(Maybe [ClusterSecurityGroupMembership])+    , _cAutomatedSnapshotRetentionPeriod :: !(Maybe Int)+    , _cEncrypted                        :: !(Maybe Bool)+    , _cClusterIdentifier                :: !(Maybe Text)+    , _cNumberOfNodes                    :: !(Maybe Int)+    , _cClusterSubnetGroupName           :: !(Maybe Text)+    , _cPreferredMaintenanceWindow       :: !(Maybe Text)+    , _cModifyStatus                     :: !(Maybe Text)+    , _cClusterPublicKey                 :: !(Maybe Text)+    , _cClusterParameterGroups           :: !(Maybe [ClusterParameterGroupStatus])+    , _cAvailabilityZone                 :: !(Maybe Text)+    , _cVPCSecurityGroups                :: !(Maybe [VPCSecurityGroupMembership])+    , _cKMSKeyId                         :: !(Maybe Text)+    , _cHSMStatus                        :: !(Maybe HSMStatus)+    , _cElasticIPStatus                  :: !(Maybe ElasticIPStatus)+    , _cClusterVersion                   :: !(Maybe Text)+    , _cNodeType                         :: !(Maybe Text)+    , _cEndpoint                         :: !(Maybe Endpoint)+    , _cClusterCreateTime                :: !(Maybe ISO8601)+    , _cAllowVersionUpgrade              :: !(Maybe Bool)+    , _cPendingModifiedValues            :: !(Maybe PendingModifiedValues)+    , _cClusterStatus                    :: !(Maybe Text)+    , _cDBName                           :: !(Maybe Text)+    , _cTags                             :: !(Maybe [Tag])+    , _cClusterNodes                     :: !(Maybe [ClusterNode])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Cluster' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cRestoreStatus'+--+-- * 'cClusterSnapshotCopyStatus'+--+-- * 'cClusterRevisionNumber'+--+-- * 'cMasterUsername'+--+-- * 'cPubliclyAccessible'+--+-- * 'cVPCId'+--+-- * 'cClusterSecurityGroups'+--+-- * 'cAutomatedSnapshotRetentionPeriod'+--+-- * 'cEncrypted'+--+-- * 'cClusterIdentifier'+--+-- * 'cNumberOfNodes'+--+-- * 'cClusterSubnetGroupName'+--+-- * 'cPreferredMaintenanceWindow'+--+-- * 'cModifyStatus'+--+-- * 'cClusterPublicKey'+--+-- * 'cClusterParameterGroups'+--+-- * 'cAvailabilityZone'+--+-- * 'cVPCSecurityGroups'+--+-- * 'cKMSKeyId'+--+-- * 'cHSMStatus'+--+-- * 'cElasticIPStatus'+--+-- * 'cClusterVersion'+--+-- * 'cNodeType'+--+-- * 'cEndpoint'+--+-- * 'cClusterCreateTime'+--+-- * 'cAllowVersionUpgrade'+--+-- * 'cPendingModifiedValues'+--+-- * 'cClusterStatus'+--+-- * 'cDBName'+--+-- * 'cTags'+--+-- * 'cClusterNodes'+cluster+    :: Cluster+cluster =+    Cluster'+    { _cRestoreStatus = Nothing+    , _cClusterSnapshotCopyStatus = Nothing+    , _cClusterRevisionNumber = Nothing+    , _cMasterUsername = Nothing+    , _cPubliclyAccessible = Nothing+    , _cVPCId = Nothing+    , _cClusterSecurityGroups = Nothing+    , _cAutomatedSnapshotRetentionPeriod = Nothing+    , _cEncrypted = Nothing+    , _cClusterIdentifier = Nothing+    , _cNumberOfNodes = Nothing+    , _cClusterSubnetGroupName = Nothing+    , _cPreferredMaintenanceWindow = Nothing+    , _cModifyStatus = Nothing+    , _cClusterPublicKey = Nothing+    , _cClusterParameterGroups = Nothing+    , _cAvailabilityZone = Nothing+    , _cVPCSecurityGroups = Nothing+    , _cKMSKeyId = Nothing+    , _cHSMStatus = Nothing+    , _cElasticIPStatus = Nothing+    , _cClusterVersion = Nothing+    , _cNodeType = Nothing+    , _cEndpoint = Nothing+    , _cClusterCreateTime = Nothing+    , _cAllowVersionUpgrade = Nothing+    , _cPendingModifiedValues = Nothing+    , _cClusterStatus = Nothing+    , _cDBName = Nothing+    , _cTags = Nothing+    , _cClusterNodes = Nothing+    }++-- | Describes the status of a cluster restore action. Returns null if the+-- cluster was not created by restoring a snapshot.+cRestoreStatus :: Lens' Cluster (Maybe RestoreStatus)+cRestoreStatus = lens _cRestoreStatus (\ s a -> s{_cRestoreStatus = a});++-- | Returns the destination region and retention period that are configured+-- for cross-region snapshot copy.+cClusterSnapshotCopyStatus :: Lens' Cluster (Maybe ClusterSnapshotCopyStatus)+cClusterSnapshotCopyStatus = lens _cClusterSnapshotCopyStatus (\ s a -> s{_cClusterSnapshotCopyStatus = a});++-- | The specific revision number of the database in the cluster.+cClusterRevisionNumber :: Lens' Cluster (Maybe Text)+cClusterRevisionNumber = lens _cClusterRevisionNumber (\ s a -> s{_cClusterRevisionNumber = a});++-- | The master user name for the cluster. This name is used to connect to+-- the database that is specified in __DBName__.+cMasterUsername :: Lens' Cluster (Maybe Text)+cMasterUsername = lens _cMasterUsername (\ s a -> s{_cMasterUsername = a});++-- | If 'true', the cluster can be accessed from a public network.+cPubliclyAccessible :: Lens' Cluster (Maybe Bool)+cPubliclyAccessible = lens _cPubliclyAccessible (\ s a -> s{_cPubliclyAccessible = a});++-- | The identifier of the VPC the cluster is in, if the cluster is in a VPC.+cVPCId :: Lens' Cluster (Maybe Text)+cVPCId = lens _cVPCId (\ s a -> s{_cVPCId = a});++-- | A list of cluster security group that are associated with the cluster.+-- Each security group is represented by an element that contains+-- 'ClusterSecurityGroup.Name' and 'ClusterSecurityGroup.Status'+-- subelements.+--+-- Cluster security groups are used when the cluster is not created in a+-- VPC. Clusters that are created in a VPC use VPC security groups, which+-- are listed by the __VpcSecurityGroups__ parameter.+cClusterSecurityGroups :: Lens' Cluster [ClusterSecurityGroupMembership]+cClusterSecurityGroups = lens _cClusterSecurityGroups (\ s a -> s{_cClusterSecurityGroups = a}) . _Default . _Coerce;++-- | The number of days that automatic cluster snapshots are retained.+cAutomatedSnapshotRetentionPeriod :: Lens' Cluster (Maybe Int)+cAutomatedSnapshotRetentionPeriod = lens _cAutomatedSnapshotRetentionPeriod (\ s a -> s{_cAutomatedSnapshotRetentionPeriod = a});++-- | If 'true', data in the cluster is encrypted at rest.+cEncrypted :: Lens' Cluster (Maybe Bool)+cEncrypted = lens _cEncrypted (\ s a -> s{_cEncrypted = a});++-- | The unique identifier of the cluster.+cClusterIdentifier :: Lens' Cluster (Maybe Text)+cClusterIdentifier = lens _cClusterIdentifier (\ s a -> s{_cClusterIdentifier = a});++-- | The number of compute nodes in the cluster.+cNumberOfNodes :: Lens' Cluster (Maybe Int)+cNumberOfNodes = lens _cNumberOfNodes (\ s a -> s{_cNumberOfNodes = a});++-- | The name of the subnet group that is associated with the cluster. This+-- parameter is valid only when the cluster is in a VPC.+cClusterSubnetGroupName :: Lens' Cluster (Maybe Text)+cClusterSubnetGroupName = lens _cClusterSubnetGroupName (\ s a -> s{_cClusterSubnetGroupName = a});++-- | The weekly time range (in UTC) during which system maintenance can+-- occur.+cPreferredMaintenanceWindow :: Lens' Cluster (Maybe Text)+cPreferredMaintenanceWindow = lens _cPreferredMaintenanceWindow (\ s a -> s{_cPreferredMaintenanceWindow = a});++-- | The status of a modify operation, if any, initiated for the cluster.+cModifyStatus :: Lens' Cluster (Maybe Text)+cModifyStatus = lens _cModifyStatus (\ s a -> s{_cModifyStatus = a});++-- | The public key for the cluster.+cClusterPublicKey :: Lens' Cluster (Maybe Text)+cClusterPublicKey = lens _cClusterPublicKey (\ s a -> s{_cClusterPublicKey = a});++-- | The list of cluster parameter groups that are associated with this+-- cluster. Each parameter group in the list is returned with its status.+cClusterParameterGroups :: Lens' Cluster [ClusterParameterGroupStatus]+cClusterParameterGroups = lens _cClusterParameterGroups (\ s a -> s{_cClusterParameterGroups = a}) . _Default . _Coerce;++-- | The name of the Availability Zone in which the cluster is located.+cAvailabilityZone :: Lens' Cluster (Maybe Text)+cAvailabilityZone = lens _cAvailabilityZone (\ s a -> s{_cAvailabilityZone = a});++-- | A list of Virtual Private Cloud (VPC) security groups that are+-- associated with the cluster. This parameter is returned only if the+-- cluster is in a VPC.+cVPCSecurityGroups :: Lens' Cluster [VPCSecurityGroupMembership]+cVPCSecurityGroups = lens _cVPCSecurityGroups (\ s a -> s{_cVPCSecurityGroups = a}) . _Default . _Coerce;++-- | The AWS Key Management Service (KMS) key ID of the encryption key used+-- to encrypt data in the cluster.+cKMSKeyId :: Lens' Cluster (Maybe Text)+cKMSKeyId = lens _cKMSKeyId (\ s a -> s{_cKMSKeyId = a});++-- | Reports whether the Amazon Redshift cluster has finished applying any+-- HSM settings changes specified in a modify cluster command.+--+-- Values: active, applying+cHSMStatus :: Lens' Cluster (Maybe HSMStatus)+cHSMStatus = lens _cHSMStatus (\ s a -> s{_cHSMStatus = a});++-- | Describes the status of the elastic IP (EIP) address.+cElasticIPStatus :: Lens' Cluster (Maybe ElasticIPStatus)+cElasticIPStatus = lens _cElasticIPStatus (\ s a -> s{_cElasticIPStatus = a});++-- | The version ID of the Amazon Redshift engine that is running on the+-- cluster.+cClusterVersion :: Lens' Cluster (Maybe Text)+cClusterVersion = lens _cClusterVersion (\ s a -> s{_cClusterVersion = a});++-- | The node type for the nodes in the cluster.+cNodeType :: Lens' Cluster (Maybe Text)+cNodeType = lens _cNodeType (\ s a -> s{_cNodeType = a});++-- | The connection endpoint.+cEndpoint :: Lens' Cluster (Maybe Endpoint)+cEndpoint = lens _cEndpoint (\ s a -> s{_cEndpoint = a});++-- | The date and time that the cluster was created.+cClusterCreateTime :: Lens' Cluster (Maybe UTCTime)+cClusterCreateTime = lens _cClusterCreateTime (\ s a -> s{_cClusterCreateTime = a}) . mapping _Time;++-- | If 'true', major version upgrades will be applied automatically to the+-- cluster during the maintenance window.+cAllowVersionUpgrade :: Lens' Cluster (Maybe Bool)+cAllowVersionUpgrade = lens _cAllowVersionUpgrade (\ s a -> s{_cAllowVersionUpgrade = a});++-- | If present, changes to the cluster are pending. Specific pending changes+-- are identified by subelements.+cPendingModifiedValues :: Lens' Cluster (Maybe PendingModifiedValues)+cPendingModifiedValues = lens _cPendingModifiedValues (\ s a -> s{_cPendingModifiedValues = a});++-- | The current state of this cluster. Possible values include 'available',+-- 'creating', 'deleting', 'rebooting', 'renaming', and 'resizing'.+cClusterStatus :: Lens' Cluster (Maybe Text)+cClusterStatus = lens _cClusterStatus (\ s a -> s{_cClusterStatus = a});++-- | The name of the initial database that was created when the cluster was+-- created. This same name is returned for the life of the cluster. If an+-- initial database was not specified, a database named \"dev\" was created+-- by default.+cDBName :: Lens' Cluster (Maybe Text)+cDBName = lens _cDBName (\ s a -> s{_cDBName = a});++-- | The list of tags for the cluster.+cTags :: Lens' Cluster [Tag]+cTags = lens _cTags (\ s a -> s{_cTags = a}) . _Default . _Coerce;++-- | The nodes in a cluster.+cClusterNodes :: Lens' Cluster [ClusterNode]+cClusterNodes = lens _cClusterNodes (\ s a -> s{_cClusterNodes = a}) . _Default . _Coerce;++instance FromXML Cluster where+        parseXML x+          = Cluster' <$>+              (x .@? "RestoreStatus") <*>+                (x .@? "ClusterSnapshotCopyStatus")+                <*> (x .@? "ClusterRevisionNumber")+                <*> (x .@? "MasterUsername")+                <*> (x .@? "PubliclyAccessible")+                <*> (x .@? "VpcId")+                <*>+                (x .@? "ClusterSecurityGroups" .!@ mempty >>=+                   may (parseXMLList "ClusterSecurityGroup"))+                <*> (x .@? "AutomatedSnapshotRetentionPeriod")+                <*> (x .@? "Encrypted")+                <*> (x .@? "ClusterIdentifier")+                <*> (x .@? "NumberOfNodes")+                <*> (x .@? "ClusterSubnetGroupName")+                <*> (x .@? "PreferredMaintenanceWindow")+                <*> (x .@? "ModifyStatus")+                <*> (x .@? "ClusterPublicKey")+                <*>+                (x .@? "ClusterParameterGroups" .!@ mempty >>=+                   may (parseXMLList "ClusterParameterGroup"))+                <*> (x .@? "AvailabilityZone")+                <*>+                (x .@? "VpcSecurityGroups" .!@ mempty >>=+                   may (parseXMLList "VpcSecurityGroup"))+                <*> (x .@? "KmsKeyId")+                <*> (x .@? "HsmStatus")+                <*> (x .@? "ElasticIpStatus")+                <*> (x .@? "ClusterVersion")+                <*> (x .@? "NodeType")+                <*> (x .@? "Endpoint")+                <*> (x .@? "ClusterCreateTime")+                <*> (x .@? "AllowVersionUpgrade")+                <*> (x .@? "PendingModifiedValues")+                <*> (x .@? "ClusterStatus")+                <*> (x .@? "DBName")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))+                <*>+                (x .@? "ClusterNodes" .!@ mempty >>=+                   may (parseXMLList "member"))++-- | The identifier of a node in a cluster.+--+-- /See:/ 'clusterNode' smart constructor.+data ClusterNode = ClusterNode'+    { _cnNodeRole         :: !(Maybe Text)+    , _cnPrivateIPAddress :: !(Maybe Text)+    , _cnPublicIPAddress  :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterNode' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cnNodeRole'+--+-- * 'cnPrivateIPAddress'+--+-- * 'cnPublicIPAddress'+clusterNode+    :: ClusterNode+clusterNode =+    ClusterNode'+    { _cnNodeRole = Nothing+    , _cnPrivateIPAddress = Nothing+    , _cnPublicIPAddress = Nothing+    }++-- | Whether the node is a leader node or a compute node.+cnNodeRole :: Lens' ClusterNode (Maybe Text)+cnNodeRole = lens _cnNodeRole (\ s a -> s{_cnNodeRole = a});++-- | The private IP address of a node within a cluster.+cnPrivateIPAddress :: Lens' ClusterNode (Maybe Text)+cnPrivateIPAddress = lens _cnPrivateIPAddress (\ s a -> s{_cnPrivateIPAddress = a});++-- | The public IP address of a node within a cluster.+cnPublicIPAddress :: Lens' ClusterNode (Maybe Text)+cnPublicIPAddress = lens _cnPublicIPAddress (\ s a -> s{_cnPublicIPAddress = a});++instance FromXML ClusterNode where+        parseXML x+          = ClusterNode' <$>+              (x .@? "NodeRole") <*> (x .@? "PrivateIPAddress") <*>+                (x .@? "PublicIPAddress")++-- | Describes a parameter group.+--+-- /See:/ 'clusterParameterGroup' smart constructor.+data ClusterParameterGroup = ClusterParameterGroup'+    { _cpgParameterGroupFamily :: !(Maybe Text)+    , _cpgDescription          :: !(Maybe Text)+    , _cpgParameterGroupName   :: !(Maybe Text)+    , _cpgTags                 :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterParameterGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpgParameterGroupFamily'+--+-- * 'cpgDescription'+--+-- * 'cpgParameterGroupName'+--+-- * 'cpgTags'+clusterParameterGroup+    :: ClusterParameterGroup+clusterParameterGroup =+    ClusterParameterGroup'+    { _cpgParameterGroupFamily = Nothing+    , _cpgDescription = Nothing+    , _cpgParameterGroupName = Nothing+    , _cpgTags = Nothing+    }++-- | The name of the cluster parameter group family that this cluster+-- parameter group is compatible with.+cpgParameterGroupFamily :: Lens' ClusterParameterGroup (Maybe Text)+cpgParameterGroupFamily = lens _cpgParameterGroupFamily (\ s a -> s{_cpgParameterGroupFamily = a});++-- | The description of the parameter group.+cpgDescription :: Lens' ClusterParameterGroup (Maybe Text)+cpgDescription = lens _cpgDescription (\ s a -> s{_cpgDescription = a});++-- | The name of the cluster parameter group.+cpgParameterGroupName :: Lens' ClusterParameterGroup (Maybe Text)+cpgParameterGroupName = lens _cpgParameterGroupName (\ s a -> s{_cpgParameterGroupName = a});++-- | The list of tags for the cluster parameter group.+cpgTags :: Lens' ClusterParameterGroup [Tag]+cpgTags = lens _cpgTags (\ s a -> s{_cpgTags = a}) . _Default . _Coerce;++instance FromXML ClusterParameterGroup where+        parseXML x+          = ClusterParameterGroup' <$>+              (x .@? "ParameterGroupFamily") <*>+                (x .@? "Description")+                <*> (x .@? "ParameterGroupName")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))++-- | Contains the output from the ModifyClusterParameterGroup and+-- ResetClusterParameterGroup actions and indicate the parameter group+-- involved and the status of the operation on the parameter group.+--+-- /See:/ 'clusterParameterGroupNameMessage' smart constructor.+data ClusterParameterGroupNameMessage = ClusterParameterGroupNameMessage'+    { _cpgnmParameterGroupStatus :: !(Maybe Text)+    , _cpgnmParameterGroupName   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterParameterGroupNameMessage' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpgnmParameterGroupStatus'+--+-- * 'cpgnmParameterGroupName'+clusterParameterGroupNameMessage+    :: ClusterParameterGroupNameMessage+clusterParameterGroupNameMessage =+    ClusterParameterGroupNameMessage'+    { _cpgnmParameterGroupStatus = Nothing+    , _cpgnmParameterGroupName = Nothing+    }++-- | The status of the parameter group. For example, if you made a change to+-- a parameter group name-value pair, then the change could be pending a+-- reboot of an associated cluster.+cpgnmParameterGroupStatus :: Lens' ClusterParameterGroupNameMessage (Maybe Text)+cpgnmParameterGroupStatus = lens _cpgnmParameterGroupStatus (\ s a -> s{_cpgnmParameterGroupStatus = a});++-- | The name of the cluster parameter group.+cpgnmParameterGroupName :: Lens' ClusterParameterGroupNameMessage (Maybe Text)+cpgnmParameterGroupName = lens _cpgnmParameterGroupName (\ s a -> s{_cpgnmParameterGroupName = a});++instance FromXML ClusterParameterGroupNameMessage+         where+        parseXML x+          = ClusterParameterGroupNameMessage' <$>+              (x .@? "ParameterGroupStatus") <*>+                (x .@? "ParameterGroupName")++-- | Describes the status of a parameter group.+--+-- /See:/ 'clusterParameterGroupStatus' smart constructor.+data ClusterParameterGroupStatus = ClusterParameterGroupStatus'+    { _cpgsClusterParameterStatusList :: !(Maybe [ClusterParameterStatus])+    , _cpgsParameterApplyStatus       :: !(Maybe Text)+    , _cpgsParameterGroupName         :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterParameterGroupStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpgsClusterParameterStatusList'+--+-- * 'cpgsParameterApplyStatus'+--+-- * 'cpgsParameterGroupName'+clusterParameterGroupStatus+    :: ClusterParameterGroupStatus+clusterParameterGroupStatus =+    ClusterParameterGroupStatus'+    { _cpgsClusterParameterStatusList = Nothing+    , _cpgsParameterApplyStatus = Nothing+    , _cpgsParameterGroupName = Nothing+    }++-- | The list of parameter statuses.+--+-- For more information about parameters and parameter groups, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html Amazon Redshift Parameter Groups>+-- in the /Amazon Redshift Cluster Management Guide/.+cpgsClusterParameterStatusList :: Lens' ClusterParameterGroupStatus [ClusterParameterStatus]+cpgsClusterParameterStatusList = lens _cpgsClusterParameterStatusList (\ s a -> s{_cpgsClusterParameterStatusList = a}) . _Default . _Coerce;++-- | The status of parameter updates.+cpgsParameterApplyStatus :: Lens' ClusterParameterGroupStatus (Maybe Text)+cpgsParameterApplyStatus = lens _cpgsParameterApplyStatus (\ s a -> s{_cpgsParameterApplyStatus = a});++-- | The name of the cluster parameter group.+cpgsParameterGroupName :: Lens' ClusterParameterGroupStatus (Maybe Text)+cpgsParameterGroupName = lens _cpgsParameterGroupName (\ s a -> s{_cpgsParameterGroupName = a});++instance FromXML ClusterParameterGroupStatus where+        parseXML x+          = ClusterParameterGroupStatus' <$>+              (x .@? "ClusterParameterStatusList" .!@ mempty >>=+                 may (parseXMLList "member"))+                <*> (x .@? "ParameterApplyStatus")+                <*> (x .@? "ParameterGroupName")++-- | Describes the status of a parameter group.+--+-- /See:/ 'clusterParameterStatus' smart constructor.+data ClusterParameterStatus = ClusterParameterStatus'+    { _cpsParameterApplyErrorDescription :: !(Maybe Text)+    , _cpsParameterName                  :: !(Maybe Text)+    , _cpsParameterApplyStatus           :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterParameterStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cpsParameterApplyErrorDescription'+--+-- * 'cpsParameterName'+--+-- * 'cpsParameterApplyStatus'+clusterParameterStatus+    :: ClusterParameterStatus+clusterParameterStatus =+    ClusterParameterStatus'+    { _cpsParameterApplyErrorDescription = Nothing+    , _cpsParameterName = Nothing+    , _cpsParameterApplyStatus = Nothing+    }++-- | The error that prevented the parameter from being applied to the+-- database.+cpsParameterApplyErrorDescription :: Lens' ClusterParameterStatus (Maybe Text)+cpsParameterApplyErrorDescription = lens _cpsParameterApplyErrorDescription (\ s a -> s{_cpsParameterApplyErrorDescription = a});++-- | The name of the parameter.+cpsParameterName :: Lens' ClusterParameterStatus (Maybe Text)+cpsParameterName = lens _cpsParameterName (\ s a -> s{_cpsParameterName = a});++-- | The status of the parameter that indicates whether the parameter is in+-- sync with the database, waiting for a cluster reboot, or encountered an+-- error when being applied.+--+-- The following are possible statuses and descriptions.+--+-- -   'in-sync': The parameter value is in sync with the database.+-- -   'pending-reboot': The parameter value will be applied after the+--     cluster reboots.+-- -   'applying': The parameter value is being applied to the database.+-- -   'invalid-parameter': Cannot apply the parameter value because it has+--     an invalid value or syntax.+-- -   'apply-deferred': The parameter contains static property changes.+--     The changes are deferred until the cluster reboots.+-- -   'apply-error': Cannot connect to the cluster. The parameter change+--     will be applied after the cluster reboots.+-- -   'unknown-error': Cannot apply the parameter change right now. The+--     change will be applied after the cluster reboots.+cpsParameterApplyStatus :: Lens' ClusterParameterStatus (Maybe Text)+cpsParameterApplyStatus = lens _cpsParameterApplyStatus (\ s a -> s{_cpsParameterApplyStatus = a});++instance FromXML ClusterParameterStatus where+        parseXML x+          = ClusterParameterStatus' <$>+              (x .@? "ParameterApplyErrorDescription") <*>+                (x .@? "ParameterName")+                <*> (x .@? "ParameterApplyStatus")++-- | Describes a security group.+--+-- /See:/ 'clusterSecurityGroup' smart constructor.+data ClusterSecurityGroup = ClusterSecurityGroup'+    { _cluClusterSecurityGroupName :: !(Maybe Text)+    , _cluIPRanges                 :: !(Maybe [IPRange])+    , _cluEC2SecurityGroups        :: !(Maybe [EC2SecurityGroup])+    , _cluDescription              :: !(Maybe Text)+    , _cluTags                     :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterSecurityGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cluClusterSecurityGroupName'+--+-- * 'cluIPRanges'+--+-- * 'cluEC2SecurityGroups'+--+-- * 'cluDescription'+--+-- * 'cluTags'+clusterSecurityGroup+    :: ClusterSecurityGroup+clusterSecurityGroup =+    ClusterSecurityGroup'+    { _cluClusterSecurityGroupName = Nothing+    , _cluIPRanges = Nothing+    , _cluEC2SecurityGroups = Nothing+    , _cluDescription = Nothing+    , _cluTags = Nothing+    }++-- | The name of the cluster security group to which the operation was+-- applied.+cluClusterSecurityGroupName :: Lens' ClusterSecurityGroup (Maybe Text)+cluClusterSecurityGroupName = lens _cluClusterSecurityGroupName (\ s a -> s{_cluClusterSecurityGroupName = a});++-- | A list of IP ranges (CIDR blocks) that are permitted to access clusters+-- associated with this cluster security group.+cluIPRanges :: Lens' ClusterSecurityGroup [IPRange]+cluIPRanges = lens _cluIPRanges (\ s a -> s{_cluIPRanges = a}) . _Default . _Coerce;++-- | A list of EC2 security groups that are permitted to access clusters+-- associated with this cluster security group.+cluEC2SecurityGroups :: Lens' ClusterSecurityGroup [EC2SecurityGroup]+cluEC2SecurityGroups = lens _cluEC2SecurityGroups (\ s a -> s{_cluEC2SecurityGroups = a}) . _Default . _Coerce;++-- | A description of the security group.+cluDescription :: Lens' ClusterSecurityGroup (Maybe Text)+cluDescription = lens _cluDescription (\ s a -> s{_cluDescription = a});++-- | The list of tags for the cluster security group.+cluTags :: Lens' ClusterSecurityGroup [Tag]+cluTags = lens _cluTags (\ s a -> s{_cluTags = a}) . _Default . _Coerce;++instance FromXML ClusterSecurityGroup where+        parseXML x+          = ClusterSecurityGroup' <$>+              (x .@? "ClusterSecurityGroupName") <*>+                (x .@? "IPRanges" .!@ mempty >>=+                   may (parseXMLList "IPRange"))+                <*>+                (x .@? "EC2SecurityGroups" .!@ mempty >>=+                   may (parseXMLList "EC2SecurityGroup"))+                <*> (x .@? "Description")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))++-- | Describes a security group.+--+-- /See:/ 'clusterSecurityGroupMembership' smart constructor.+data ClusterSecurityGroupMembership = ClusterSecurityGroupMembership'+    { _csgmStatus                   :: !(Maybe Text)+    , _csgmClusterSecurityGroupName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterSecurityGroupMembership' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csgmStatus'+--+-- * 'csgmClusterSecurityGroupName'+clusterSecurityGroupMembership+    :: ClusterSecurityGroupMembership+clusterSecurityGroupMembership =+    ClusterSecurityGroupMembership'+    { _csgmStatus = Nothing+    , _csgmClusterSecurityGroupName = Nothing+    }++-- | The status of the cluster security group.+csgmStatus :: Lens' ClusterSecurityGroupMembership (Maybe Text)+csgmStatus = lens _csgmStatus (\ s a -> s{_csgmStatus = a});++-- | The name of the cluster security group.+csgmClusterSecurityGroupName :: Lens' ClusterSecurityGroupMembership (Maybe Text)+csgmClusterSecurityGroupName = lens _csgmClusterSecurityGroupName (\ s a -> s{_csgmClusterSecurityGroupName = a});++instance FromXML ClusterSecurityGroupMembership where+        parseXML x+          = ClusterSecurityGroupMembership' <$>+              (x .@? "Status") <*>+                (x .@? "ClusterSecurityGroupName")++-- | Returns the destination region and retention period that are configured+-- for cross-region snapshot copy.+--+-- /See:/ 'clusterSnapshotCopyStatus' smart constructor.+data ClusterSnapshotCopyStatus = ClusterSnapshotCopyStatus'+    { _cscsRetentionPeriod       :: !(Maybe Integer)+    , _cscsDestinationRegion     :: !(Maybe Text)+    , _cscsSnapshotCopyGrantName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterSnapshotCopyStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cscsRetentionPeriod'+--+-- * 'cscsDestinationRegion'+--+-- * 'cscsSnapshotCopyGrantName'+clusterSnapshotCopyStatus+    :: ClusterSnapshotCopyStatus+clusterSnapshotCopyStatus =+    ClusterSnapshotCopyStatus'+    { _cscsRetentionPeriod = Nothing+    , _cscsDestinationRegion = Nothing+    , _cscsSnapshotCopyGrantName = Nothing+    }++-- | The number of days that automated snapshots are retained in the+-- destination region after they are copied from a source region.+cscsRetentionPeriod :: Lens' ClusterSnapshotCopyStatus (Maybe Integer)+cscsRetentionPeriod = lens _cscsRetentionPeriod (\ s a -> s{_cscsRetentionPeriod = a});++-- | The destination region that snapshots are automatically copied to when+-- cross-region snapshot copy is enabled.+cscsDestinationRegion :: Lens' ClusterSnapshotCopyStatus (Maybe Text)+cscsDestinationRegion = lens _cscsDestinationRegion (\ s a -> s{_cscsDestinationRegion = a});++-- | The name of the snapshot copy grant.+cscsSnapshotCopyGrantName :: Lens' ClusterSnapshotCopyStatus (Maybe Text)+cscsSnapshotCopyGrantName = lens _cscsSnapshotCopyGrantName (\ s a -> s{_cscsSnapshotCopyGrantName = a});++instance FromXML ClusterSnapshotCopyStatus where+        parseXML x+          = ClusterSnapshotCopyStatus' <$>+              (x .@? "RetentionPeriod") <*>+                (x .@? "DestinationRegion")+                <*> (x .@? "SnapshotCopyGrantName")++-- | Describes a subnet group.+--+-- /See:/ 'clusterSubnetGroup' smart constructor.+data ClusterSubnetGroup = ClusterSubnetGroup'+    { _csgVPCId                  :: !(Maybe Text)+    , _csgSubnets                :: !(Maybe [Subnet])+    , _csgClusterSubnetGroupName :: !(Maybe Text)+    , _csgSubnetGroupStatus      :: !(Maybe Text)+    , _csgDescription            :: !(Maybe Text)+    , _csgTags                   :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterSubnetGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csgVPCId'+--+-- * 'csgSubnets'+--+-- * 'csgClusterSubnetGroupName'+--+-- * 'csgSubnetGroupStatus'+--+-- * 'csgDescription'+--+-- * 'csgTags'+clusterSubnetGroup+    :: ClusterSubnetGroup+clusterSubnetGroup =+    ClusterSubnetGroup'+    { _csgVPCId = Nothing+    , _csgSubnets = Nothing+    , _csgClusterSubnetGroupName = Nothing+    , _csgSubnetGroupStatus = Nothing+    , _csgDescription = Nothing+    , _csgTags = Nothing+    }++-- | The VPC ID of the cluster subnet group.+csgVPCId :: Lens' ClusterSubnetGroup (Maybe Text)+csgVPCId = lens _csgVPCId (\ s a -> s{_csgVPCId = a});++-- | A list of the VPC Subnet elements.+csgSubnets :: Lens' ClusterSubnetGroup [Subnet]+csgSubnets = lens _csgSubnets (\ s a -> s{_csgSubnets = a}) . _Default . _Coerce;++-- | The name of the cluster subnet group.+csgClusterSubnetGroupName :: Lens' ClusterSubnetGroup (Maybe Text)+csgClusterSubnetGroupName = lens _csgClusterSubnetGroupName (\ s a -> s{_csgClusterSubnetGroupName = a});++-- | The status of the cluster subnet group. Possible values are 'Complete',+-- 'Incomplete' and 'Invalid'.+csgSubnetGroupStatus :: Lens' ClusterSubnetGroup (Maybe Text)+csgSubnetGroupStatus = lens _csgSubnetGroupStatus (\ s a -> s{_csgSubnetGroupStatus = a});++-- | The description of the cluster subnet group.+csgDescription :: Lens' ClusterSubnetGroup (Maybe Text)+csgDescription = lens _csgDescription (\ s a -> s{_csgDescription = a});++-- | The list of tags for the cluster subnet group.+csgTags :: Lens' ClusterSubnetGroup [Tag]+csgTags = lens _csgTags (\ s a -> s{_csgTags = a}) . _Default . _Coerce;++instance FromXML ClusterSubnetGroup where+        parseXML x+          = ClusterSubnetGroup' <$>+              (x .@? "VpcId") <*>+                (x .@? "Subnets" .!@ mempty >>=+                   may (parseXMLList "Subnet"))+                <*> (x .@? "ClusterSubnetGroupName")+                <*> (x .@? "SubnetGroupStatus")+                <*> (x .@? "Description")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))++-- | Describes a cluster version, including the parameter group family and+-- description of the version.+--+-- /See:/ 'clusterVersion' smart constructor.+data ClusterVersion = ClusterVersion'+    { _cvClusterParameterGroupFamily :: !(Maybe Text)+    , _cvClusterVersion              :: !(Maybe Text)+    , _cvDescription                 :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ClusterVersion' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cvClusterParameterGroupFamily'+--+-- * 'cvClusterVersion'+--+-- * 'cvDescription'+clusterVersion+    :: ClusterVersion+clusterVersion =+    ClusterVersion'+    { _cvClusterParameterGroupFamily = Nothing+    , _cvClusterVersion = Nothing+    , _cvDescription = Nothing+    }++-- | The name of the cluster parameter group family for the cluster.+cvClusterParameterGroupFamily :: Lens' ClusterVersion (Maybe Text)+cvClusterParameterGroupFamily = lens _cvClusterParameterGroupFamily (\ s a -> s{_cvClusterParameterGroupFamily = a});++-- | The version number used by the cluster.+cvClusterVersion :: Lens' ClusterVersion (Maybe Text)+cvClusterVersion = lens _cvClusterVersion (\ s a -> s{_cvClusterVersion = a});++-- | The description of the cluster version.+cvDescription :: Lens' ClusterVersion (Maybe Text)+cvDescription = lens _cvDescription (\ s a -> s{_cvDescription = a});++instance FromXML ClusterVersion where+        parseXML x+          = ClusterVersion' <$>+              (x .@? "ClusterParameterGroupFamily") <*>+                (x .@? "ClusterVersion")+                <*> (x .@? "Description")++-- | Describes the default cluster parameters for a parameter group family.+--+-- /See:/ 'defaultClusterParameters' smart constructor.+data DefaultClusterParameters = DefaultClusterParameters'+    { _dcpParameters           :: !(Maybe [Parameter])+    , _dcpMarker               :: !(Maybe Text)+    , _dcpParameterGroupFamily :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DefaultClusterParameters' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcpParameters'+--+-- * 'dcpMarker'+--+-- * 'dcpParameterGroupFamily'+defaultClusterParameters+    :: DefaultClusterParameters+defaultClusterParameters =+    DefaultClusterParameters'+    { _dcpParameters = Nothing+    , _dcpMarker = Nothing+    , _dcpParameterGroupFamily = Nothing+    }++-- | The list of cluster default parameters.+dcpParameters :: Lens' DefaultClusterParameters [Parameter]+dcpParameters = lens _dcpParameters (\ s a -> s{_dcpParameters = a}) . _Default . _Coerce;++-- | A value that indicates the starting point for the next set of response+-- records in a subsequent request. If a value is returned in a response,+-- you can retrieve the next set of records by providing this returned+-- marker value in the 'Marker' parameter and retrying the command. If the+-- 'Marker' field is empty, all response records have been retrieved for+-- the request.+dcpMarker :: Lens' DefaultClusterParameters (Maybe Text)+dcpMarker = lens _dcpMarker (\ s a -> s{_dcpMarker = a});++-- | The name of the cluster parameter group family to which the engine+-- default parameters apply.+dcpParameterGroupFamily :: Lens' DefaultClusterParameters (Maybe Text)+dcpParameterGroupFamily = lens _dcpParameterGroupFamily (\ s a -> s{_dcpParameterGroupFamily = a});++instance FromXML DefaultClusterParameters where+        parseXML x+          = DefaultClusterParameters' <$>+              (x .@? "Parameters" .!@ mempty >>=+                 may (parseXMLList "Parameter"))+                <*> (x .@? "Marker")+                <*> (x .@? "ParameterGroupFamily")++-- | Describes an Amazon EC2 security group.+--+-- /See:/ 'ec2SecurityGroup' smart constructor.+data EC2SecurityGroup = EC2SecurityGroup'+    { _esgStatus                  :: !(Maybe Text)+    , _esgEC2SecurityGroupOwnerId :: !(Maybe Text)+    , _esgEC2SecurityGroupName    :: !(Maybe Text)+    , _esgTags                    :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EC2SecurityGroup' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esgStatus'+--+-- * 'esgEC2SecurityGroupOwnerId'+--+-- * 'esgEC2SecurityGroupName'+--+-- * 'esgTags'+ec2SecurityGroup+    :: EC2SecurityGroup+ec2SecurityGroup =+    EC2SecurityGroup'+    { _esgStatus = Nothing+    , _esgEC2SecurityGroupOwnerId = Nothing+    , _esgEC2SecurityGroupName = Nothing+    , _esgTags = Nothing+    }++-- | The status of the EC2 security group.+esgStatus :: Lens' EC2SecurityGroup (Maybe Text)+esgStatus = lens _esgStatus (\ s a -> s{_esgStatus = a});++-- | The AWS ID of the owner of the EC2 security group specified in the+-- 'EC2SecurityGroupName' field.+esgEC2SecurityGroupOwnerId :: Lens' EC2SecurityGroup (Maybe Text)+esgEC2SecurityGroupOwnerId = lens _esgEC2SecurityGroupOwnerId (\ s a -> s{_esgEC2SecurityGroupOwnerId = a});++-- | The name of the EC2 Security Group.+esgEC2SecurityGroupName :: Lens' EC2SecurityGroup (Maybe Text)+esgEC2SecurityGroupName = lens _esgEC2SecurityGroupName (\ s a -> s{_esgEC2SecurityGroupName = a});++-- | The list of tags for the EC2 security group.+esgTags :: Lens' EC2SecurityGroup [Tag]+esgTags = lens _esgTags (\ s a -> s{_esgTags = a}) . _Default . _Coerce;++instance FromXML EC2SecurityGroup where+        parseXML x+          = EC2SecurityGroup' <$>+              (x .@? "Status") <*>+                (x .@? "EC2SecurityGroupOwnerId")+                <*> (x .@? "EC2SecurityGroupName")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))++-- | Describes the status of the elastic IP (EIP) address.+--+-- /See:/ 'elasticIPStatus' smart constructor.+data ElasticIPStatus = ElasticIPStatus'+    { _eisStatus    :: !(Maybe Text)+    , _eisElasticIP :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ElasticIPStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eisStatus'+--+-- * 'eisElasticIP'+elasticIPStatus+    :: ElasticIPStatus+elasticIPStatus =+    ElasticIPStatus'+    { _eisStatus = Nothing+    , _eisElasticIP = Nothing+    }++-- | Describes the status of the elastic IP (EIP) address.+eisStatus :: Lens' ElasticIPStatus (Maybe Text)+eisStatus = lens _eisStatus (\ s a -> s{_eisStatus = a});++-- | The elastic IP (EIP) address for the cluster.+eisElasticIP :: Lens' ElasticIPStatus (Maybe Text)+eisElasticIP = lens _eisElasticIP (\ s a -> s{_eisElasticIP = a});++instance FromXML ElasticIPStatus where+        parseXML x+          = ElasticIPStatus' <$>+              (x .@? "Status") <*> (x .@? "ElasticIp")++-- | Describes a connection endpoint.+--+-- /See:/ 'endpoint' smart constructor.+data Endpoint = Endpoint'+    { _eAddress :: !(Maybe Text)+    , _ePort    :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Endpoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eAddress'+--+-- * 'ePort'+endpoint+    :: Endpoint+endpoint =+    Endpoint'+    { _eAddress = Nothing+    , _ePort = Nothing+    }++-- | The DNS address of the Cluster.+eAddress :: Lens' Endpoint (Maybe Text)+eAddress = lens _eAddress (\ s a -> s{_eAddress = a});++-- | The port that the database engine is listening on.+ePort :: Lens' Endpoint (Maybe Int)+ePort = lens _ePort (\ s a -> s{_ePort = a});++instance FromXML Endpoint where+        parseXML x+          = Endpoint' <$> (x .@? "Address") <*> (x .@? "Port")++-- | Describes an event.+--+-- /See:/ 'event' smart constructor.+data Event = Event'+    { _eSourceType       :: !(Maybe SourceType)+    , _eSeverity         :: !(Maybe Text)+    , _eSourceIdentifier :: !(Maybe Text)+    , _eDate             :: !(Maybe ISO8601)+    , _eEventCategories  :: !(Maybe [Text])+    , _eMessage          :: !(Maybe Text)+    , _eEventId          :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Event' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eSourceType'+--+-- * 'eSeverity'+--+-- * 'eSourceIdentifier'+--+-- * 'eDate'+--+-- * 'eEventCategories'+--+-- * 'eMessage'+--+-- * 'eEventId'+event+    :: Event+event =+    Event'+    { _eSourceType = Nothing+    , _eSeverity = Nothing+    , _eSourceIdentifier = Nothing+    , _eDate = Nothing+    , _eEventCategories = Nothing+    , _eMessage = Nothing+    , _eEventId = Nothing+    }++-- | The source type for this event.+eSourceType :: Lens' Event (Maybe SourceType)+eSourceType = lens _eSourceType (\ s a -> s{_eSourceType = a});++-- | The severity of the event.+--+-- Values: ERROR, INFO+eSeverity :: Lens' Event (Maybe Text)+eSeverity = lens _eSeverity (\ s a -> s{_eSeverity = a});++-- | The identifier for the source of the event.+eSourceIdentifier :: Lens' Event (Maybe Text)+eSourceIdentifier = lens _eSourceIdentifier (\ s a -> s{_eSourceIdentifier = a});++-- | The date and time of the event.+eDate :: Lens' Event (Maybe UTCTime)+eDate = lens _eDate (\ s a -> s{_eDate = a}) . mapping _Time;++-- | A list of the event categories.+--+-- Values: Configuration, Management, Monitoring, Security+eEventCategories :: Lens' Event [Text]+eEventCategories = lens _eEventCategories (\ s a -> s{_eEventCategories = a}) . _Default . _Coerce;++-- | The text of this event.+eMessage :: Lens' Event (Maybe Text)+eMessage = lens _eMessage (\ s a -> s{_eMessage = a});++-- | The identifier of the event.+eEventId :: Lens' Event (Maybe Text)+eEventId = lens _eEventId (\ s a -> s{_eEventId = a});++instance FromXML Event where+        parseXML x+          = Event' <$>+              (x .@? "SourceType") <*> (x .@? "Severity") <*>+                (x .@? "SourceIdentifier")+                <*> (x .@? "Date")+                <*>+                (x .@? "EventCategories" .!@ mempty >>=+                   may (parseXMLList "EventCategory"))+                <*> (x .@? "Message")+                <*> (x .@? "EventId")++-- | /See:/ 'eventCategoriesMap' smart constructor.+data EventCategoriesMap = EventCategoriesMap'+    { _ecmSourceType :: !(Maybe Text)+    , _ecmEvents     :: !(Maybe [EventInfoMap])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventCategoriesMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ecmSourceType'+--+-- * 'ecmEvents'+eventCategoriesMap+    :: EventCategoriesMap+eventCategoriesMap =+    EventCategoriesMap'+    { _ecmSourceType = Nothing+    , _ecmEvents = Nothing+    }++-- | The Amazon Redshift source type, such as cluster or cluster-snapshot,+-- that the returned categories belong to.+ecmSourceType :: Lens' EventCategoriesMap (Maybe Text)+ecmSourceType = lens _ecmSourceType (\ s a -> s{_ecmSourceType = a});++-- | The events in the event category.+ecmEvents :: Lens' EventCategoriesMap [EventInfoMap]+ecmEvents = lens _ecmEvents (\ s a -> s{_ecmEvents = a}) . _Default . _Coerce;++instance FromXML EventCategoriesMap where+        parseXML x+          = EventCategoriesMap' <$>+              (x .@? "SourceType") <*>+                (x .@? "Events" .!@ mempty >>=+                   may (parseXMLList "EventInfoMap"))++-- | /See:/ 'eventInfoMap' smart constructor.+data EventInfoMap = EventInfoMap'+    { _eimEventDescription :: !(Maybe Text)+    , _eimSeverity         :: !(Maybe Text)+    , _eimEventCategories  :: !(Maybe [Text])+    , _eimEventId          :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventInfoMap' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'eimEventDescription'+--+-- * 'eimSeverity'+--+-- * 'eimEventCategories'+--+-- * 'eimEventId'+eventInfoMap+    :: EventInfoMap+eventInfoMap =+    EventInfoMap'+    { _eimEventDescription = Nothing+    , _eimSeverity = Nothing+    , _eimEventCategories = Nothing+    , _eimEventId = Nothing+    }++-- | The description of an Amazon Redshift event.+eimEventDescription :: Lens' EventInfoMap (Maybe Text)+eimEventDescription = lens _eimEventDescription (\ s a -> s{_eimEventDescription = a});++-- | The severity of the event.+--+-- Values: ERROR, INFO+eimSeverity :: Lens' EventInfoMap (Maybe Text)+eimSeverity = lens _eimSeverity (\ s a -> s{_eimSeverity = a});++-- | The category of an Amazon Redshift event.+eimEventCategories :: Lens' EventInfoMap [Text]+eimEventCategories = lens _eimEventCategories (\ s a -> s{_eimEventCategories = a}) . _Default . _Coerce;++-- | The identifier of an Amazon Redshift event.+eimEventId :: Lens' EventInfoMap (Maybe Text)+eimEventId = lens _eimEventId (\ s a -> s{_eimEventId = a});++instance FromXML EventInfoMap where+        parseXML x+          = EventInfoMap' <$>+              (x .@? "EventDescription") <*> (x .@? "Severity") <*>+                (x .@? "EventCategories" .!@ mempty >>=+                   may (parseXMLList "EventCategory"))+                <*> (x .@? "EventId")++-- | /See:/ 'eventSubscription' smart constructor.+data EventSubscription = EventSubscription'+    { _esCustomerAWSId            :: !(Maybe Text)+    , _esStatus                   :: !(Maybe Text)+    , _esCustSubscriptionId       :: !(Maybe Text)+    , _esSNSTopicARN              :: !(Maybe Text)+    , _esEnabled                  :: !(Maybe Bool)+    , _esSourceType               :: !(Maybe Text)+    , _esSeverity                 :: !(Maybe Text)+    , _esSubscriptionCreationTime :: !(Maybe ISO8601)+    , _esEventCategoriesList      :: !(Maybe [Text])+    , _esSourceIdsList            :: !(Maybe [Text])+    , _esTags                     :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EventSubscription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esCustomerAWSId'+--+-- * 'esStatus'+--+-- * 'esCustSubscriptionId'+--+-- * 'esSNSTopicARN'+--+-- * 'esEnabled'+--+-- * 'esSourceType'+--+-- * 'esSeverity'+--+-- * 'esSubscriptionCreationTime'+--+-- * 'esEventCategoriesList'+--+-- * 'esSourceIdsList'+--+-- * 'esTags'+eventSubscription+    :: EventSubscription+eventSubscription =+    EventSubscription'+    { _esCustomerAWSId = Nothing+    , _esStatus = Nothing+    , _esCustSubscriptionId = Nothing+    , _esSNSTopicARN = Nothing+    , _esEnabled = Nothing+    , _esSourceType = Nothing+    , _esSeverity = Nothing+    , _esSubscriptionCreationTime = Nothing+    , _esEventCategoriesList = Nothing+    , _esSourceIdsList = Nothing+    , _esTags = Nothing+    }++-- | The AWS customer account associated with the Amazon Redshift event+-- notification subscription.+esCustomerAWSId :: Lens' EventSubscription (Maybe Text)+esCustomerAWSId = lens _esCustomerAWSId (\ s a -> s{_esCustomerAWSId = a});++-- | The status of the Amazon Redshift event notification subscription.+--+-- Constraints:+--+-- -   Can be one of the following: active | no-permission |+--     topic-not-exist+-- -   The status \"no-permission\" indicates that Amazon Redshift no+--     longer has permission to post to the Amazon SNS topic. The status+--     \"topic-not-exist\" indicates that the topic was deleted after the+--     subscription was created.+esStatus :: Lens' EventSubscription (Maybe Text)+esStatus = lens _esStatus (\ s a -> s{_esStatus = a});++-- | The name of the Amazon Redshift event notification subscription.+esCustSubscriptionId :: Lens' EventSubscription (Maybe Text)+esCustSubscriptionId = lens _esCustSubscriptionId (\ s a -> s{_esCustSubscriptionId = a});++-- | The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event+-- notification subscription.+esSNSTopicARN :: Lens' EventSubscription (Maybe Text)+esSNSTopicARN = lens _esSNSTopicARN (\ s a -> s{_esSNSTopicARN = a});++-- | A Boolean value indicating whether the subscription is enabled. 'true'+-- indicates the subscription is enabled.+esEnabled :: Lens' EventSubscription (Maybe Bool)+esEnabled = lens _esEnabled (\ s a -> s{_esEnabled = a});++-- | The source type of the events returned the Amazon Redshift event+-- notification, such as cluster, or cluster-snapshot.+esSourceType :: Lens' EventSubscription (Maybe Text)+esSourceType = lens _esSourceType (\ s a -> s{_esSourceType = a});++-- | The event severity specified in the Amazon Redshift event notification+-- subscription.+--+-- Values: ERROR, INFO+esSeverity :: Lens' EventSubscription (Maybe Text)+esSeverity = lens _esSeverity (\ s a -> s{_esSeverity = a});++-- | The date and time the Amazon Redshift event notification subscription+-- was created.+esSubscriptionCreationTime :: Lens' EventSubscription (Maybe UTCTime)+esSubscriptionCreationTime = lens _esSubscriptionCreationTime (\ s a -> s{_esSubscriptionCreationTime = a}) . mapping _Time;++-- | The list of Amazon Redshift event categories specified in the event+-- notification subscription.+--+-- Values: Configuration, Management, Monitoring, Security+esEventCategoriesList :: Lens' EventSubscription [Text]+esEventCategoriesList = lens _esEventCategoriesList (\ s a -> s{_esEventCategoriesList = a}) . _Default . _Coerce;++-- | A list of the sources that publish events to the Amazon Redshift event+-- notification subscription.+esSourceIdsList :: Lens' EventSubscription [Text]+esSourceIdsList = lens _esSourceIdsList (\ s a -> s{_esSourceIdsList = a}) . _Default . _Coerce;++-- | The list of tags for the event subscription.+esTags :: Lens' EventSubscription [Tag]+esTags = lens _esTags (\ s a -> s{_esTags = a}) . _Default . _Coerce;++instance FromXML EventSubscription where+        parseXML x+          = EventSubscription' <$>+              (x .@? "CustomerAwsId") <*> (x .@? "Status") <*>+                (x .@? "CustSubscriptionId")+                <*> (x .@? "SnsTopicArn")+                <*> (x .@? "Enabled")+                <*> (x .@? "SourceType")+                <*> (x .@? "Severity")+                <*> (x .@? "SubscriptionCreationTime")+                <*>+                (x .@? "EventCategoriesList" .!@ mempty >>=+                   may (parseXMLList "EventCategory"))+                <*>+                (x .@? "SourceIdsList" .!@ mempty >>=+                   may (parseXMLList "SourceId"))+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))++-- | Returns information about an HSM client certificate. The certificate is+-- stored in a secure Hardware Storage Module (HSM), and used by the Amazon+-- Redshift cluster to encrypt data files.+--+-- /See:/ 'hsmClientCertificate' smart constructor.+data HSMClientCertificate = HSMClientCertificate'+    { _hccHSMClientCertificateIdentifier :: !(Maybe Text)+    , _hccHSMClientCertificatePublicKey  :: !(Maybe Text)+    , _hccTags                           :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'HSMClientCertificate' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hccHSMClientCertificateIdentifier'+--+-- * 'hccHSMClientCertificatePublicKey'+--+-- * 'hccTags'+hsmClientCertificate+    :: HSMClientCertificate+hsmClientCertificate =+    HSMClientCertificate'+    { _hccHSMClientCertificateIdentifier = Nothing+    , _hccHSMClientCertificatePublicKey = Nothing+    , _hccTags = Nothing+    }++-- | The identifier of the HSM client certificate.+hccHSMClientCertificateIdentifier :: Lens' HSMClientCertificate (Maybe Text)+hccHSMClientCertificateIdentifier = lens _hccHSMClientCertificateIdentifier (\ s a -> s{_hccHSMClientCertificateIdentifier = a});++-- | The public key that the Amazon Redshift cluster will use to connect to+-- the HSM. You must register the public key in the HSM.+hccHSMClientCertificatePublicKey :: Lens' HSMClientCertificate (Maybe Text)+hccHSMClientCertificatePublicKey = lens _hccHSMClientCertificatePublicKey (\ s a -> s{_hccHSMClientCertificatePublicKey = a});++-- | The list of tags for the HSM client certificate.+hccTags :: Lens' HSMClientCertificate [Tag]+hccTags = lens _hccTags (\ s a -> s{_hccTags = a}) . _Default . _Coerce;++instance FromXML HSMClientCertificate where+        parseXML x+          = HSMClientCertificate' <$>+              (x .@? "HsmClientCertificateIdentifier") <*>+                (x .@? "HsmClientCertificatePublicKey")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))++-- | Returns information about an HSM configuration, which is an object that+-- describes to Amazon Redshift clusters the information they require to+-- connect to an HSM where they can store database encryption keys.+--+-- /See:/ 'hsmConfiguration' smart constructor.+data HSMConfiguration = HSMConfiguration'+    { _hcHSMConfigurationIdentifier :: !(Maybe Text)+    , _hcHSMPartitionName           :: !(Maybe Text)+    , _hcDescription                :: !(Maybe Text)+    , _hcHSMIPAddress               :: !(Maybe Text)+    , _hcTags                       :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'HSMConfiguration' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hcHSMConfigurationIdentifier'+--+-- * 'hcHSMPartitionName'+--+-- * 'hcDescription'+--+-- * 'hcHSMIPAddress'+--+-- * 'hcTags'+hsmConfiguration+    :: HSMConfiguration+hsmConfiguration =+    HSMConfiguration'+    { _hcHSMConfigurationIdentifier = Nothing+    , _hcHSMPartitionName = Nothing+    , _hcDescription = Nothing+    , _hcHSMIPAddress = Nothing+    , _hcTags = Nothing+    }++-- | The name of the Amazon Redshift HSM configuration.+hcHSMConfigurationIdentifier :: Lens' HSMConfiguration (Maybe Text)+hcHSMConfigurationIdentifier = lens _hcHSMConfigurationIdentifier (\ s a -> s{_hcHSMConfigurationIdentifier = a});++-- | The name of the partition in the HSM where the Amazon Redshift clusters+-- will store their database encryption keys.+hcHSMPartitionName :: Lens' HSMConfiguration (Maybe Text)+hcHSMPartitionName = lens _hcHSMPartitionName (\ s a -> s{_hcHSMPartitionName = a});++-- | A text description of the HSM configuration.+hcDescription :: Lens' HSMConfiguration (Maybe Text)+hcDescription = lens _hcDescription (\ s a -> s{_hcDescription = a});++-- | The IP address that the Amazon Redshift cluster must use to access the+-- HSM.+hcHSMIPAddress :: Lens' HSMConfiguration (Maybe Text)+hcHSMIPAddress = lens _hcHSMIPAddress (\ s a -> s{_hcHSMIPAddress = a});++-- | The list of tags for the HSM configuration.+hcTags :: Lens' HSMConfiguration [Tag]+hcTags = lens _hcTags (\ s a -> s{_hcTags = a}) . _Default . _Coerce;++instance FromXML HSMConfiguration where+        parseXML x+          = HSMConfiguration' <$>+              (x .@? "HsmConfigurationIdentifier") <*>+                (x .@? "HsmPartitionName")+                <*> (x .@? "Description")+                <*> (x .@? "HsmIpAddress")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))++-- |+--+-- /See:/ 'hsmStatus' smart constructor.+data HSMStatus = HSMStatus'+    { _hsStatus                         :: !(Maybe Text)+    , _hsHSMConfigurationIdentifier     :: !(Maybe Text)+    , _hsHSMClientCertificateIdentifier :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'HSMStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'hsStatus'+--+-- * 'hsHSMConfigurationIdentifier'+--+-- * 'hsHSMClientCertificateIdentifier'+hsmStatus+    :: HSMStatus+hsmStatus =+    HSMStatus'+    { _hsStatus = Nothing+    , _hsHSMConfigurationIdentifier = Nothing+    , _hsHSMClientCertificateIdentifier = Nothing+    }++-- | Reports whether the Amazon Redshift cluster has finished applying any+-- HSM settings changes specified in a modify cluster command.+--+-- Values: active, applying+hsStatus :: Lens' HSMStatus (Maybe Text)+hsStatus = lens _hsStatus (\ s a -> s{_hsStatus = a});++-- | Specifies the name of the HSM configuration that contains the+-- information the Amazon Redshift cluster can use to retrieve and store+-- keys in an HSM.+hsHSMConfigurationIdentifier :: Lens' HSMStatus (Maybe Text)+hsHSMConfigurationIdentifier = lens _hsHSMConfigurationIdentifier (\ s a -> s{_hsHSMConfigurationIdentifier = a});++-- | Specifies the name of the HSM client certificate the Amazon Redshift+-- cluster uses to retrieve the data encryption keys stored in an HSM.+hsHSMClientCertificateIdentifier :: Lens' HSMStatus (Maybe Text)+hsHSMClientCertificateIdentifier = lens _hsHSMClientCertificateIdentifier (\ s a -> s{_hsHSMClientCertificateIdentifier = a});++instance FromXML HSMStatus where+        parseXML x+          = HSMStatus' <$>+              (x .@? "Status") <*>+                (x .@? "HsmConfigurationIdentifier")+                <*> (x .@? "HsmClientCertificateIdentifier")++-- | Describes an IP range used in a security group.+--+-- /See:/ 'ipRange' smart constructor.+data IPRange = IPRange'+    { _irStatus :: !(Maybe Text)+    , _irCIdRIP :: !(Maybe Text)+    , _irTags   :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'IPRange' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'irStatus'+--+-- * 'irCIdRIP'+--+-- * 'irTags'+ipRange+    :: IPRange+ipRange =+    IPRange'+    { _irStatus = Nothing+    , _irCIdRIP = Nothing+    , _irTags = Nothing+    }++-- | The status of the IP range, for example, \"authorized\".+irStatus :: Lens' IPRange (Maybe Text)+irStatus = lens _irStatus (\ s a -> s{_irStatus = a});++-- | The IP range in Classless Inter-Domain Routing (CIDR) notation.+irCIdRIP :: Lens' IPRange (Maybe Text)+irCIdRIP = lens _irCIdRIP (\ s a -> s{_irCIdRIP = a});++-- | The list of tags for the IP range.+irTags :: Lens' IPRange [Tag]+irTags = lens _irTags (\ s a -> s{_irTags = a}) . _Default . _Coerce;++instance FromXML IPRange where+        parseXML x+          = IPRange' <$>+              (x .@? "Status") <*> (x .@? "CIDRIP") <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))++-- | Describes the status of logging for a cluster.+--+-- /See:/ 'loggingStatus' smart constructor.+data LoggingStatus = LoggingStatus'+    { _lsLastSuccessfulDeliveryTime :: !(Maybe ISO8601)+    , _lsLastFailureTime            :: !(Maybe ISO8601)+    , _lsS3KeyPrefix                :: !(Maybe Text)+    , _lsBucketName                 :: !(Maybe Text)+    , _lsLoggingEnabled             :: !(Maybe Bool)+    , _lsLastFailureMessage         :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'LoggingStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'lsLastSuccessfulDeliveryTime'+--+-- * 'lsLastFailureTime'+--+-- * 'lsS3KeyPrefix'+--+-- * 'lsBucketName'+--+-- * 'lsLoggingEnabled'+--+-- * 'lsLastFailureMessage'+loggingStatus+    :: LoggingStatus+loggingStatus =+    LoggingStatus'+    { _lsLastSuccessfulDeliveryTime = Nothing+    , _lsLastFailureTime = Nothing+    , _lsS3KeyPrefix = Nothing+    , _lsBucketName = Nothing+    , _lsLoggingEnabled = Nothing+    , _lsLastFailureMessage = Nothing+    }++-- | The last time when logs were delivered.+lsLastSuccessfulDeliveryTime :: Lens' LoggingStatus (Maybe UTCTime)+lsLastSuccessfulDeliveryTime = lens _lsLastSuccessfulDeliveryTime (\ s a -> s{_lsLastSuccessfulDeliveryTime = a}) . mapping _Time;++-- | The last time when logs failed to be delivered.+lsLastFailureTime :: Lens' LoggingStatus (Maybe UTCTime)+lsLastFailureTime = lens _lsLastFailureTime (\ s a -> s{_lsLastFailureTime = a}) . mapping _Time;++-- | The prefix applied to the log file names.+lsS3KeyPrefix :: Lens' LoggingStatus (Maybe Text)+lsS3KeyPrefix = lens _lsS3KeyPrefix (\ s a -> s{_lsS3KeyPrefix = a});++-- | The name of the S3 bucket where the log files are stored.+lsBucketName :: Lens' LoggingStatus (Maybe Text)+lsBucketName = lens _lsBucketName (\ s a -> s{_lsBucketName = a});++-- | 'true' if logging is on, 'false' if logging is off.+lsLoggingEnabled :: Lens' LoggingStatus (Maybe Bool)+lsLoggingEnabled = lens _lsLoggingEnabled (\ s a -> s{_lsLoggingEnabled = a});++-- | The message indicating that logs failed to be delivered.+lsLastFailureMessage :: Lens' LoggingStatus (Maybe Text)+lsLastFailureMessage = lens _lsLastFailureMessage (\ s a -> s{_lsLastFailureMessage = a});++instance FromXML LoggingStatus where+        parseXML x+          = LoggingStatus' <$>+              (x .@? "LastSuccessfulDeliveryTime") <*>+                (x .@? "LastFailureTime")+                <*> (x .@? "S3KeyPrefix")+                <*> (x .@? "BucketName")+                <*> (x .@? "LoggingEnabled")+                <*> (x .@? "LastFailureMessage")++-- | Describes an orderable cluster option.+--+-- /See:/ 'orderableClusterOption' smart constructor.+data OrderableClusterOption = OrderableClusterOption'+    { _ocoAvailabilityZones :: !(Maybe [AvailabilityZone])+    , _ocoClusterType       :: !(Maybe Text)+    , _ocoClusterVersion    :: !(Maybe Text)+    , _ocoNodeType          :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'OrderableClusterOption' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ocoAvailabilityZones'+--+-- * 'ocoClusterType'+--+-- * 'ocoClusterVersion'+--+-- * 'ocoNodeType'+orderableClusterOption+    :: OrderableClusterOption+orderableClusterOption =+    OrderableClusterOption'+    { _ocoAvailabilityZones = Nothing+    , _ocoClusterType = Nothing+    , _ocoClusterVersion = Nothing+    , _ocoNodeType = Nothing+    }++-- | A list of availability zones for the orderable cluster.+ocoAvailabilityZones :: Lens' OrderableClusterOption [AvailabilityZone]+ocoAvailabilityZones = lens _ocoAvailabilityZones (\ s a -> s{_ocoAvailabilityZones = a}) . _Default . _Coerce;++-- | The cluster type, for example 'multi-node'.+ocoClusterType :: Lens' OrderableClusterOption (Maybe Text)+ocoClusterType = lens _ocoClusterType (\ s a -> s{_ocoClusterType = a});++-- | The version of the orderable cluster.+ocoClusterVersion :: Lens' OrderableClusterOption (Maybe Text)+ocoClusterVersion = lens _ocoClusterVersion (\ s a -> s{_ocoClusterVersion = a});++-- | The node type for the orderable cluster.+ocoNodeType :: Lens' OrderableClusterOption (Maybe Text)+ocoNodeType = lens _ocoNodeType (\ s a -> s{_ocoNodeType = a});++instance FromXML OrderableClusterOption where+        parseXML x+          = OrderableClusterOption' <$>+              (x .@? "AvailabilityZones" .!@ mempty >>=+                 may (parseXMLList "AvailabilityZone"))+                <*> (x .@? "ClusterType")+                <*> (x .@? "ClusterVersion")+                <*> (x .@? "NodeType")++-- | Describes a parameter in a cluster parameter group.+--+-- /See:/ 'parameter' smart constructor.+data Parameter = Parameter'+    { _pApplyType            :: !(Maybe ParameterApplyType)+    , _pParameterValue       :: !(Maybe Text)+    , _pMinimumEngineVersion :: !(Maybe Text)+    , _pSource               :: !(Maybe Text)+    , _pIsModifiable         :: !(Maybe Bool)+    , _pAllowedValues        :: !(Maybe Text)+    , _pDataType             :: !(Maybe Text)+    , _pParameterName        :: !(Maybe Text)+    , _pDescription          :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Parameter' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pApplyType'+--+-- * 'pParameterValue'+--+-- * 'pMinimumEngineVersion'+--+-- * 'pSource'+--+-- * 'pIsModifiable'+--+-- * 'pAllowedValues'+--+-- * 'pDataType'+--+-- * 'pParameterName'+--+-- * 'pDescription'+parameter+    :: Parameter+parameter =+    Parameter'+    { _pApplyType = Nothing+    , _pParameterValue = Nothing+    , _pMinimumEngineVersion = Nothing+    , _pSource = Nothing+    , _pIsModifiable = Nothing+    , _pAllowedValues = Nothing+    , _pDataType = Nothing+    , _pParameterName = Nothing+    , _pDescription = Nothing+    }++-- | Specifies how to apply the parameter. Supported value: 'static'.+pApplyType :: Lens' Parameter (Maybe ParameterApplyType)+pApplyType = lens _pApplyType (\ s a -> s{_pApplyType = a});++-- | The value of the parameter.+pParameterValue :: Lens' Parameter (Maybe Text)+pParameterValue = lens _pParameterValue (\ s a -> s{_pParameterValue = a});++-- | The earliest engine version to which the parameter can apply.+pMinimumEngineVersion :: Lens' Parameter (Maybe Text)+pMinimumEngineVersion = lens _pMinimumEngineVersion (\ s a -> s{_pMinimumEngineVersion = a});++-- | The source of the parameter value, such as \"engine-default\" or+-- \"user\".+pSource :: Lens' Parameter (Maybe Text)+pSource = lens _pSource (\ s a -> s{_pSource = a});++-- | If 'true', the parameter can be modified. Some parameters have security+-- or operational implications that prevent them from being changed.+pIsModifiable :: Lens' Parameter (Maybe Bool)+pIsModifiable = lens _pIsModifiable (\ s a -> s{_pIsModifiable = a});++-- | The valid range of values for the parameter.+pAllowedValues :: Lens' Parameter (Maybe Text)+pAllowedValues = lens _pAllowedValues (\ s a -> s{_pAllowedValues = a});++-- | The data type of the parameter.+pDataType :: Lens' Parameter (Maybe Text)+pDataType = lens _pDataType (\ s a -> s{_pDataType = a});++-- | The name of the parameter.+pParameterName :: Lens' Parameter (Maybe Text)+pParameterName = lens _pParameterName (\ s a -> s{_pParameterName = a});++-- | A description of the parameter.+pDescription :: Lens' Parameter (Maybe Text)+pDescription = lens _pDescription (\ s a -> s{_pDescription = a});++instance FromXML Parameter where+        parseXML x+          = Parameter' <$>+              (x .@? "ApplyType") <*> (x .@? "ParameterValue") <*>+                (x .@? "MinimumEngineVersion")+                <*> (x .@? "Source")+                <*> (x .@? "IsModifiable")+                <*> (x .@? "AllowedValues")+                <*> (x .@? "DataType")+                <*> (x .@? "ParameterName")+                <*> (x .@? "Description")++instance ToQuery Parameter where+        toQuery Parameter'{..}+          = mconcat+              ["ApplyType" =: _pApplyType,+               "ParameterValue" =: _pParameterValue,+               "MinimumEngineVersion" =: _pMinimumEngineVersion,+               "Source" =: _pSource,+               "IsModifiable" =: _pIsModifiable,+               "AllowedValues" =: _pAllowedValues,+               "DataType" =: _pDataType,+               "ParameterName" =: _pParameterName,+               "Description" =: _pDescription]++-- | Describes cluster attributes that are in a pending state. A change to+-- one or more the attributes was requested and is in progress or will be+-- applied.+--+-- /See:/ 'pendingModifiedValues' smart constructor.+data PendingModifiedValues = PendingModifiedValues'+    { _pmvMasterUserPassword               :: !(Maybe Text)+    , _pmvAutomatedSnapshotRetentionPeriod :: !(Maybe Int)+    , _pmvClusterIdentifier                :: !(Maybe Text)+    , _pmvNumberOfNodes                    :: !(Maybe Int)+    , _pmvClusterType                      :: !(Maybe Text)+    , _pmvClusterVersion                   :: !(Maybe Text)+    , _pmvNodeType                         :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'PendingModifiedValues' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pmvMasterUserPassword'+--+-- * 'pmvAutomatedSnapshotRetentionPeriod'+--+-- * 'pmvClusterIdentifier'+--+-- * 'pmvNumberOfNodes'+--+-- * 'pmvClusterType'+--+-- * 'pmvClusterVersion'+--+-- * 'pmvNodeType'+pendingModifiedValues+    :: PendingModifiedValues+pendingModifiedValues =+    PendingModifiedValues'+    { _pmvMasterUserPassword = Nothing+    , _pmvAutomatedSnapshotRetentionPeriod = Nothing+    , _pmvClusterIdentifier = Nothing+    , _pmvNumberOfNodes = Nothing+    , _pmvClusterType = Nothing+    , _pmvClusterVersion = Nothing+    , _pmvNodeType = Nothing+    }++-- | The pending or in-progress change of the master user password for the+-- cluster.+pmvMasterUserPassword :: Lens' PendingModifiedValues (Maybe Text)+pmvMasterUserPassword = lens _pmvMasterUserPassword (\ s a -> s{_pmvMasterUserPassword = a});++-- | The pending or in-progress change of the automated snapshot retention+-- period.+pmvAutomatedSnapshotRetentionPeriod :: Lens' PendingModifiedValues (Maybe Int)+pmvAutomatedSnapshotRetentionPeriod = lens _pmvAutomatedSnapshotRetentionPeriod (\ s a -> s{_pmvAutomatedSnapshotRetentionPeriod = a});++-- | The pending or in-progress change of the new identifier for the cluster.+pmvClusterIdentifier :: Lens' PendingModifiedValues (Maybe Text)+pmvClusterIdentifier = lens _pmvClusterIdentifier (\ s a -> s{_pmvClusterIdentifier = a});++-- | The pending or in-progress change of the number of nodes in the cluster.+pmvNumberOfNodes :: Lens' PendingModifiedValues (Maybe Int)+pmvNumberOfNodes = lens _pmvNumberOfNodes (\ s a -> s{_pmvNumberOfNodes = a});++-- | The pending or in-progress change of the cluster type.+pmvClusterType :: Lens' PendingModifiedValues (Maybe Text)+pmvClusterType = lens _pmvClusterType (\ s a -> s{_pmvClusterType = a});++-- | The pending or in-progress change of the service version.+pmvClusterVersion :: Lens' PendingModifiedValues (Maybe Text)+pmvClusterVersion = lens _pmvClusterVersion (\ s a -> s{_pmvClusterVersion = a});++-- | The pending or in-progress change of the cluster\'s node type.+pmvNodeType :: Lens' PendingModifiedValues (Maybe Text)+pmvNodeType = lens _pmvNodeType (\ s a -> s{_pmvNodeType = a});++instance FromXML PendingModifiedValues where+        parseXML x+          = PendingModifiedValues' <$>+              (x .@? "MasterUserPassword") <*>+                (x .@? "AutomatedSnapshotRetentionPeriod")+                <*> (x .@? "ClusterIdentifier")+                <*> (x .@? "NumberOfNodes")+                <*> (x .@? "ClusterType")+                <*> (x .@? "ClusterVersion")+                <*> (x .@? "NodeType")++-- | Describes a recurring charge.+--+-- /See:/ 'recurringCharge' smart constructor.+data RecurringCharge = RecurringCharge'+    { _rcRecurringChargeFrequency :: !(Maybe Text)+    , _rcRecurringChargeAmount    :: !(Maybe Double)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RecurringCharge' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rcRecurringChargeFrequency'+--+-- * 'rcRecurringChargeAmount'+recurringCharge+    :: RecurringCharge+recurringCharge =+    RecurringCharge'+    { _rcRecurringChargeFrequency = Nothing+    , _rcRecurringChargeAmount = Nothing+    }++-- | The frequency at which the recurring charge amount is applied.+rcRecurringChargeFrequency :: Lens' RecurringCharge (Maybe Text)+rcRecurringChargeFrequency = lens _rcRecurringChargeFrequency (\ s a -> s{_rcRecurringChargeFrequency = a});++-- | The amount charged per the period of time specified by the recurring+-- charge frequency.+rcRecurringChargeAmount :: Lens' RecurringCharge (Maybe Double)+rcRecurringChargeAmount = lens _rcRecurringChargeAmount (\ s a -> s{_rcRecurringChargeAmount = a});++instance FromXML RecurringCharge where+        parseXML x+          = RecurringCharge' <$>+              (x .@? "RecurringChargeFrequency") <*>+                (x .@? "RecurringChargeAmount")++-- | Describes a reserved node. You can call the+-- DescribeReservedNodeOfferings API to obtain the available reserved node+-- offerings.+--+-- /See:/ 'reservedNode' smart constructor.+data ReservedNode = ReservedNode'+    { _rnState                  :: !(Maybe Text)+    , _rnCurrencyCode           :: !(Maybe Text)+    , _rnStartTime              :: !(Maybe ISO8601)+    , _rnNodeCount              :: !(Maybe Int)+    , _rnReservedNodeOfferingId :: !(Maybe Text)+    , _rnReservedNodeId         :: !(Maybe Text)+    , _rnOfferingType           :: !(Maybe Text)+    , _rnUsagePrice             :: !(Maybe Double)+    , _rnNodeType               :: !(Maybe Text)+    , _rnRecurringCharges       :: !(Maybe [RecurringCharge])+    , _rnFixedPrice             :: !(Maybe Double)+    , _rnDuration               :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedNode' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rnState'+--+-- * 'rnCurrencyCode'+--+-- * 'rnStartTime'+--+-- * 'rnNodeCount'+--+-- * 'rnReservedNodeOfferingId'+--+-- * 'rnReservedNodeId'+--+-- * 'rnOfferingType'+--+-- * 'rnUsagePrice'+--+-- * 'rnNodeType'+--+-- * 'rnRecurringCharges'+--+-- * 'rnFixedPrice'+--+-- * 'rnDuration'+reservedNode+    :: ReservedNode+reservedNode =+    ReservedNode'+    { _rnState = Nothing+    , _rnCurrencyCode = Nothing+    , _rnStartTime = Nothing+    , _rnNodeCount = Nothing+    , _rnReservedNodeOfferingId = Nothing+    , _rnReservedNodeId = Nothing+    , _rnOfferingType = Nothing+    , _rnUsagePrice = Nothing+    , _rnNodeType = Nothing+    , _rnRecurringCharges = Nothing+    , _rnFixedPrice = Nothing+    , _rnDuration = Nothing+    }++-- | The state of the reserved compute node.+--+-- Possible Values:+--+-- -   pending-payment-This reserved node has recently been purchased, and+--     the sale has been approved, but payment has not yet been confirmed.+-- -   active-This reserved node is owned by the caller and is available+--     for use.+-- -   payment-failed-Payment failed for the purchase attempt.+rnState :: Lens' ReservedNode (Maybe Text)+rnState = lens _rnState (\ s a -> s{_rnState = a});++-- | The currency code for the reserved cluster.+rnCurrencyCode :: Lens' ReservedNode (Maybe Text)+rnCurrencyCode = lens _rnCurrencyCode (\ s a -> s{_rnCurrencyCode = a});++-- | The time the reservation started. You purchase a reserved node offering+-- for a duration. This is the start time of that duration.+rnStartTime :: Lens' ReservedNode (Maybe UTCTime)+rnStartTime = lens _rnStartTime (\ s a -> s{_rnStartTime = a}) . mapping _Time;++-- | The number of reserved compute nodes.+rnNodeCount :: Lens' ReservedNode (Maybe Int)+rnNodeCount = lens _rnNodeCount (\ s a -> s{_rnNodeCount = a});++-- | The identifier for the reserved node offering.+rnReservedNodeOfferingId :: Lens' ReservedNode (Maybe Text)+rnReservedNodeOfferingId = lens _rnReservedNodeOfferingId (\ s a -> s{_rnReservedNodeOfferingId = a});++-- | The unique identifier for the reservation.+rnReservedNodeId :: Lens' ReservedNode (Maybe Text)+rnReservedNodeId = lens _rnReservedNodeId (\ s a -> s{_rnReservedNodeId = a});++-- | The anticipated utilization of the reserved node, as defined in the+-- reserved node offering.+rnOfferingType :: Lens' ReservedNode (Maybe Text)+rnOfferingType = lens _rnOfferingType (\ s a -> s{_rnOfferingType = a});++-- | The hourly rate Amazon Redshift charges you for this reserved node.+rnUsagePrice :: Lens' ReservedNode (Maybe Double)+rnUsagePrice = lens _rnUsagePrice (\ s a -> s{_rnUsagePrice = a});++-- | The node type of the reserved node.+rnNodeType :: Lens' ReservedNode (Maybe Text)+rnNodeType = lens _rnNodeType (\ s a -> s{_rnNodeType = a});++-- | The recurring charges for the reserved node.+rnRecurringCharges :: Lens' ReservedNode [RecurringCharge]+rnRecurringCharges = lens _rnRecurringCharges (\ s a -> s{_rnRecurringCharges = a}) . _Default . _Coerce;++-- | The fixed cost Amazon Redshift charges you for this reserved node.+rnFixedPrice :: Lens' ReservedNode (Maybe Double)+rnFixedPrice = lens _rnFixedPrice (\ s a -> s{_rnFixedPrice = a});++-- | The duration of the node reservation in seconds.+rnDuration :: Lens' ReservedNode (Maybe Int)+rnDuration = lens _rnDuration (\ s a -> s{_rnDuration = a});++instance FromXML ReservedNode where+        parseXML x+          = ReservedNode' <$>+              (x .@? "State") <*> (x .@? "CurrencyCode") <*>+                (x .@? "StartTime")+                <*> (x .@? "NodeCount")+                <*> (x .@? "ReservedNodeOfferingId")+                <*> (x .@? "ReservedNodeId")+                <*> (x .@? "OfferingType")+                <*> (x .@? "UsagePrice")+                <*> (x .@? "NodeType")+                <*>+                (x .@? "RecurringCharges" .!@ mempty >>=+                   may (parseXMLList "RecurringCharge"))+                <*> (x .@? "FixedPrice")+                <*> (x .@? "Duration")++-- | Describes a reserved node offering.+--+-- /See:/ 'reservedNodeOffering' smart constructor.+data ReservedNodeOffering = ReservedNodeOffering'+    { _rnoCurrencyCode           :: !(Maybe Text)+    , _rnoReservedNodeOfferingId :: !(Maybe Text)+    , _rnoOfferingType           :: !(Maybe Text)+    , _rnoUsagePrice             :: !(Maybe Double)+    , _rnoNodeType               :: !(Maybe Text)+    , _rnoRecurringCharges       :: !(Maybe [RecurringCharge])+    , _rnoFixedPrice             :: !(Maybe Double)+    , _rnoDuration               :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ReservedNodeOffering' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rnoCurrencyCode'+--+-- * 'rnoReservedNodeOfferingId'+--+-- * 'rnoOfferingType'+--+-- * 'rnoUsagePrice'+--+-- * 'rnoNodeType'+--+-- * 'rnoRecurringCharges'+--+-- * 'rnoFixedPrice'+--+-- * 'rnoDuration'+reservedNodeOffering+    :: ReservedNodeOffering+reservedNodeOffering =+    ReservedNodeOffering'+    { _rnoCurrencyCode = Nothing+    , _rnoReservedNodeOfferingId = Nothing+    , _rnoOfferingType = Nothing+    , _rnoUsagePrice = Nothing+    , _rnoNodeType = Nothing+    , _rnoRecurringCharges = Nothing+    , _rnoFixedPrice = Nothing+    , _rnoDuration = Nothing+    }++-- | The currency code for the compute nodes offering.+rnoCurrencyCode :: Lens' ReservedNodeOffering (Maybe Text)+rnoCurrencyCode = lens _rnoCurrencyCode (\ s a -> s{_rnoCurrencyCode = a});++-- | The offering identifier.+rnoReservedNodeOfferingId :: Lens' ReservedNodeOffering (Maybe Text)+rnoReservedNodeOfferingId = lens _rnoReservedNodeOfferingId (\ s a -> s{_rnoReservedNodeOfferingId = a});++-- | The anticipated utilization of the reserved node, as defined in the+-- reserved node offering.+rnoOfferingType :: Lens' ReservedNodeOffering (Maybe Text)+rnoOfferingType = lens _rnoOfferingType (\ s a -> s{_rnoOfferingType = a});++-- | The rate you are charged for each hour the cluster that is using the+-- offering is running.+rnoUsagePrice :: Lens' ReservedNodeOffering (Maybe Double)+rnoUsagePrice = lens _rnoUsagePrice (\ s a -> s{_rnoUsagePrice = a});++-- | The node type offered by the reserved node offering.+rnoNodeType :: Lens' ReservedNodeOffering (Maybe Text)+rnoNodeType = lens _rnoNodeType (\ s a -> s{_rnoNodeType = a});++-- | The charge to your account regardless of whether you are creating any+-- clusters using the node offering. Recurring charges are only in effect+-- for heavy-utilization reserved nodes.+rnoRecurringCharges :: Lens' ReservedNodeOffering [RecurringCharge]+rnoRecurringCharges = lens _rnoRecurringCharges (\ s a -> s{_rnoRecurringCharges = a}) . _Default . _Coerce;++-- | The upfront fixed charge you will pay to purchase the specific reserved+-- node offering.+rnoFixedPrice :: Lens' ReservedNodeOffering (Maybe Double)+rnoFixedPrice = lens _rnoFixedPrice (\ s a -> s{_rnoFixedPrice = a});++-- | The duration, in seconds, for which the offering will reserve the node.+rnoDuration :: Lens' ReservedNodeOffering (Maybe Int)+rnoDuration = lens _rnoDuration (\ s a -> s{_rnoDuration = a});++instance FromXML ReservedNodeOffering where+        parseXML x+          = ReservedNodeOffering' <$>+              (x .@? "CurrencyCode") <*>+                (x .@? "ReservedNodeOfferingId")+                <*> (x .@? "OfferingType")+                <*> (x .@? "UsagePrice")+                <*> (x .@? "NodeType")+                <*>+                (x .@? "RecurringCharges" .!@ mempty >>=+                   may (parseXMLList "RecurringCharge"))+                <*> (x .@? "FixedPrice")+                <*> (x .@? "Duration")++-- | Describes the status of a cluster restore action. Returns null if the+-- cluster was not created by restoring a snapshot.+--+-- /See:/ 'restoreStatus' smart constructor.+data RestoreStatus = RestoreStatus'+    { _rsEstimatedTimeToCompletionInSeconds     :: !(Maybe Integer)+    , _rsStatus                                 :: !(Maybe Text)+    , _rsCurrentRestoreRateInMegaBytesPerSecond :: !(Maybe Double)+    , _rsProgressInMegaBytes                    :: !(Maybe Integer)+    , _rsElapsedTimeInSeconds                   :: !(Maybe Integer)+    , _rsSnapshotSizeInMegaBytes                :: !(Maybe Integer)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RestoreStatus' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsEstimatedTimeToCompletionInSeconds'+--+-- * 'rsStatus'+--+-- * 'rsCurrentRestoreRateInMegaBytesPerSecond'+--+-- * 'rsProgressInMegaBytes'+--+-- * 'rsElapsedTimeInSeconds'+--+-- * 'rsSnapshotSizeInMegaBytes'+restoreStatus+    :: RestoreStatus+restoreStatus =+    RestoreStatus'+    { _rsEstimatedTimeToCompletionInSeconds = Nothing+    , _rsStatus = Nothing+    , _rsCurrentRestoreRateInMegaBytesPerSecond = Nothing+    , _rsProgressInMegaBytes = Nothing+    , _rsElapsedTimeInSeconds = Nothing+    , _rsSnapshotSizeInMegaBytes = Nothing+    }++-- | The estimate of the time remaining before the restore will complete.+-- Returns 0 for a completed restore.+rsEstimatedTimeToCompletionInSeconds :: Lens' RestoreStatus (Maybe Integer)+rsEstimatedTimeToCompletionInSeconds = lens _rsEstimatedTimeToCompletionInSeconds (\ s a -> s{_rsEstimatedTimeToCompletionInSeconds = a});++-- | The status of the restore action. Returns starting, restoring,+-- completed, or failed.+rsStatus :: Lens' RestoreStatus (Maybe Text)+rsStatus = lens _rsStatus (\ s a -> s{_rsStatus = a});++-- | The number of megabytes per second being transferred from the backup+-- storage. Returns the average rate for a completed backup.+rsCurrentRestoreRateInMegaBytesPerSecond :: Lens' RestoreStatus (Maybe Double)+rsCurrentRestoreRateInMegaBytesPerSecond = lens _rsCurrentRestoreRateInMegaBytesPerSecond (\ s a -> s{_rsCurrentRestoreRateInMegaBytesPerSecond = a});++-- | The number of megabytes that have been transferred from snapshot+-- storage.+rsProgressInMegaBytes :: Lens' RestoreStatus (Maybe Integer)+rsProgressInMegaBytes = lens _rsProgressInMegaBytes (\ s a -> s{_rsProgressInMegaBytes = a});++-- | The amount of time an in-progress restore has been running, or the+-- amount of time it took a completed restore to finish.+rsElapsedTimeInSeconds :: Lens' RestoreStatus (Maybe Integer)+rsElapsedTimeInSeconds = lens _rsElapsedTimeInSeconds (\ s a -> s{_rsElapsedTimeInSeconds = a});++-- | The size of the set of snapshot data used to restore the cluster.+rsSnapshotSizeInMegaBytes :: Lens' RestoreStatus (Maybe Integer)+rsSnapshotSizeInMegaBytes = lens _rsSnapshotSizeInMegaBytes (\ s a -> s{_rsSnapshotSizeInMegaBytes = a});++instance FromXML RestoreStatus where+        parseXML x+          = RestoreStatus' <$>+              (x .@? "EstimatedTimeToCompletionInSeconds") <*>+                (x .@? "Status")+                <*> (x .@? "CurrentRestoreRateInMegaBytesPerSecond")+                <*> (x .@? "ProgressInMegaBytes")+                <*> (x .@? "ElapsedTimeInSeconds")+                <*> (x .@? "SnapshotSizeInMegaBytes")++-- | Describes a snapshot.+--+-- /See:/ 'snapshot' smart constructor.+data Snapshot = Snapshot'+    { _sRestorableNodeTypes                    :: !(Maybe [Text])+    , _sStatus                                 :: !(Maybe Text)+    , _sAccountsWithRestoreAccess              :: !(Maybe [AccountWithRestoreAccess])+    , _sSnapshotIdentifier                     :: !(Maybe Text)+    , _sEncryptedWithHSM                       :: !(Maybe Bool)+    , _sMasterUsername                         :: !(Maybe Text)+    , _sSourceRegion                           :: !(Maybe Text)+    , _sVPCId                                  :: !(Maybe Text)+    , _sBackupProgressInMegaBytes              :: !(Maybe Double)+    , _sEncrypted                              :: !(Maybe Bool)+    , _sClusterIdentifier                      :: !(Maybe Text)+    , _sNumberOfNodes                          :: !(Maybe Int)+    , _sSnapshotType                           :: !(Maybe Text)+    , _sAvailabilityZone                       :: !(Maybe Text)+    , _sKMSKeyId                               :: !(Maybe Text)+    , _sCurrentBackupRateInMegaBytesPerSecond  :: !(Maybe Double)+    , _sSnapshotCreateTime                     :: !(Maybe ISO8601)+    , _sClusterVersion                         :: !(Maybe Text)+    , _sOwnerAccount                           :: !(Maybe Text)+    , _sNodeType                               :: !(Maybe Text)+    , _sClusterCreateTime                      :: !(Maybe ISO8601)+    , _sElapsedTimeInSeconds                   :: !(Maybe Integer)+    , _sEstimatedSecondsToCompletion           :: !(Maybe Integer)+    , _sTotalBackupSizeInMegaBytes             :: !(Maybe Double)+    , _sDBName                                 :: !(Maybe Text)+    , _sTags                                   :: !(Maybe [Tag])+    , _sActualIncrementalBackupSizeInMegaBytes :: !(Maybe Double)+    , _sPort                                   :: !(Maybe Int)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Snapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sRestorableNodeTypes'+--+-- * 'sStatus'+--+-- * 'sAccountsWithRestoreAccess'+--+-- * 'sSnapshotIdentifier'+--+-- * 'sEncryptedWithHSM'+--+-- * 'sMasterUsername'+--+-- * 'sSourceRegion'+--+-- * 'sVPCId'+--+-- * 'sBackupProgressInMegaBytes'+--+-- * 'sEncrypted'+--+-- * 'sClusterIdentifier'+--+-- * 'sNumberOfNodes'+--+-- * 'sSnapshotType'+--+-- * 'sAvailabilityZone'+--+-- * 'sKMSKeyId'+--+-- * 'sCurrentBackupRateInMegaBytesPerSecond'+--+-- * 'sSnapshotCreateTime'+--+-- * 'sClusterVersion'+--+-- * 'sOwnerAccount'+--+-- * 'sNodeType'+--+-- * 'sClusterCreateTime'+--+-- * 'sElapsedTimeInSeconds'+--+-- * 'sEstimatedSecondsToCompletion'+--+-- * 'sTotalBackupSizeInMegaBytes'+--+-- * 'sDBName'+--+-- * 'sTags'+--+-- * 'sActualIncrementalBackupSizeInMegaBytes'+--+-- * 'sPort'+snapshot+    :: Snapshot+snapshot =+    Snapshot'+    { _sRestorableNodeTypes = Nothing+    , _sStatus = Nothing+    , _sAccountsWithRestoreAccess = Nothing+    , _sSnapshotIdentifier = Nothing+    , _sEncryptedWithHSM = Nothing+    , _sMasterUsername = Nothing+    , _sSourceRegion = Nothing+    , _sVPCId = Nothing+    , _sBackupProgressInMegaBytes = Nothing+    , _sEncrypted = Nothing+    , _sClusterIdentifier = Nothing+    , _sNumberOfNodes = Nothing+    , _sSnapshotType = Nothing+    , _sAvailabilityZone = Nothing+    , _sKMSKeyId = Nothing+    , _sCurrentBackupRateInMegaBytesPerSecond = Nothing+    , _sSnapshotCreateTime = Nothing+    , _sClusterVersion = Nothing+    , _sOwnerAccount = Nothing+    , _sNodeType = Nothing+    , _sClusterCreateTime = Nothing+    , _sElapsedTimeInSeconds = Nothing+    , _sEstimatedSecondsToCompletion = Nothing+    , _sTotalBackupSizeInMegaBytes = Nothing+    , _sDBName = Nothing+    , _sTags = Nothing+    , _sActualIncrementalBackupSizeInMegaBytes = Nothing+    , _sPort = Nothing+    }++-- | The list of node types that this cluster snapshot is able to restore+-- into.+sRestorableNodeTypes :: Lens' Snapshot [Text]+sRestorableNodeTypes = lens _sRestorableNodeTypes (\ s a -> s{_sRestorableNodeTypes = a}) . _Default . _Coerce;++-- | The snapshot status. The value of the status depends on the API+-- operation used.+--+-- -   CreateClusterSnapshot and CopyClusterSnapshot returns status as+--     \"creating\".+-- -   DescribeClusterSnapshots returns status as \"creating\",+--     \"available\", \"final snapshot\", or \"failed\".+-- -   DeleteClusterSnapshot returns status as \"deleted\".+sStatus :: Lens' Snapshot (Maybe Text)+sStatus = lens _sStatus (\ s a -> s{_sStatus = a});++-- | A list of the AWS customer accounts authorized to restore the snapshot.+-- Returns 'null' if no accounts are authorized. Visible only to the+-- snapshot owner.+sAccountsWithRestoreAccess :: Lens' Snapshot [AccountWithRestoreAccess]+sAccountsWithRestoreAccess = lens _sAccountsWithRestoreAccess (\ s a -> s{_sAccountsWithRestoreAccess = a}) . _Default . _Coerce;++-- | The snapshot identifier that is provided in the request.+sSnapshotIdentifier :: Lens' Snapshot (Maybe Text)+sSnapshotIdentifier = lens _sSnapshotIdentifier (\ s a -> s{_sSnapshotIdentifier = a});++-- | A boolean that indicates whether the snapshot data is encrypted using+-- the HSM keys of the source cluster. 'true' indicates that the data is+-- encrypted using HSM keys.+sEncryptedWithHSM :: Lens' Snapshot (Maybe Bool)+sEncryptedWithHSM = lens _sEncryptedWithHSM (\ s a -> s{_sEncryptedWithHSM = a});++-- | The master user name for the cluster.+sMasterUsername :: Lens' Snapshot (Maybe Text)+sMasterUsername = lens _sMasterUsername (\ s a -> s{_sMasterUsername = a});++-- | The source region from which the snapshot was copied.+sSourceRegion :: Lens' Snapshot (Maybe Text)+sSourceRegion = lens _sSourceRegion (\ s a -> s{_sSourceRegion = a});++-- | The VPC identifier of the cluster if the snapshot is from a cluster in a+-- VPC. Otherwise, this field is not in the output.+sVPCId :: Lens' Snapshot (Maybe Text)+sVPCId = lens _sVPCId (\ s a -> s{_sVPCId = a});++-- | The number of megabytes that have been transferred to the snapshot+-- backup.+sBackupProgressInMegaBytes :: Lens' Snapshot (Maybe Double)+sBackupProgressInMegaBytes = lens _sBackupProgressInMegaBytes (\ s a -> s{_sBackupProgressInMegaBytes = a});++-- | If 'true', the data in the snapshot is encrypted at rest.+sEncrypted :: Lens' Snapshot (Maybe Bool)+sEncrypted = lens _sEncrypted (\ s a -> s{_sEncrypted = a});++-- | The identifier of the cluster for which the snapshot was taken.+sClusterIdentifier :: Lens' Snapshot (Maybe Text)+sClusterIdentifier = lens _sClusterIdentifier (\ s a -> s{_sClusterIdentifier = a});++-- | The number of nodes in the cluster.+sNumberOfNodes :: Lens' Snapshot (Maybe Int)+sNumberOfNodes = lens _sNumberOfNodes (\ s a -> s{_sNumberOfNodes = a});++-- | The snapshot type. Snapshots created using CreateClusterSnapshot and+-- CopyClusterSnapshot will be of type \"manual\".+sSnapshotType :: Lens' Snapshot (Maybe Text)+sSnapshotType = lens _sSnapshotType (\ s a -> s{_sSnapshotType = a});++-- | The Availability Zone in which the cluster was created.+sAvailabilityZone :: Lens' Snapshot (Maybe Text)+sAvailabilityZone = lens _sAvailabilityZone (\ s a -> s{_sAvailabilityZone = a});++-- | The AWS Key Management Service (KMS) key ID of the encryption key that+-- was used to encrypt data in the cluster from which the snapshot was+-- taken.+sKMSKeyId :: Lens' Snapshot (Maybe Text)+sKMSKeyId = lens _sKMSKeyId (\ s a -> s{_sKMSKeyId = a});++-- | The number of megabytes per second being transferred to the snapshot+-- backup. Returns '0' for a completed backup.+sCurrentBackupRateInMegaBytesPerSecond :: Lens' Snapshot (Maybe Double)+sCurrentBackupRateInMegaBytesPerSecond = lens _sCurrentBackupRateInMegaBytesPerSecond (\ s a -> s{_sCurrentBackupRateInMegaBytesPerSecond = a});++-- | The time (UTC) when Amazon Redshift began the snapshot. A snapshot+-- contains a copy of the cluster data as of this exact time.+sSnapshotCreateTime :: Lens' Snapshot (Maybe UTCTime)+sSnapshotCreateTime = lens _sSnapshotCreateTime (\ s a -> s{_sSnapshotCreateTime = a}) . mapping _Time;++-- | The version ID of the Amazon Redshift engine that is running on the+-- cluster.+sClusterVersion :: Lens' Snapshot (Maybe Text)+sClusterVersion = lens _sClusterVersion (\ s a -> s{_sClusterVersion = a});++-- | For manual snapshots, the AWS customer account used to create or copy+-- the snapshot. For automatic snapshots, the owner of the cluster. The+-- owner can perform all snapshot actions, such as sharing a manual+-- snapshot.+sOwnerAccount :: Lens' Snapshot (Maybe Text)+sOwnerAccount = lens _sOwnerAccount (\ s a -> s{_sOwnerAccount = a});++-- | The node type of the nodes in the cluster.+sNodeType :: Lens' Snapshot (Maybe Text)+sNodeType = lens _sNodeType (\ s a -> s{_sNodeType = a});++-- | The time (UTC) when the cluster was originally created.+sClusterCreateTime :: Lens' Snapshot (Maybe UTCTime)+sClusterCreateTime = lens _sClusterCreateTime (\ s a -> s{_sClusterCreateTime = a}) . mapping _Time;++-- | The amount of time an in-progress snapshot backup has been running, or+-- the amount of time it took a completed backup to finish.+sElapsedTimeInSeconds :: Lens' Snapshot (Maybe Integer)+sElapsedTimeInSeconds = lens _sElapsedTimeInSeconds (\ s a -> s{_sElapsedTimeInSeconds = a});++-- | The estimate of the time remaining before the snapshot backup will+-- complete. Returns '0' for a completed backup.+sEstimatedSecondsToCompletion :: Lens' Snapshot (Maybe Integer)+sEstimatedSecondsToCompletion = lens _sEstimatedSecondsToCompletion (\ s a -> s{_sEstimatedSecondsToCompletion = a});++-- | The size of the complete set of backup data that would be used to+-- restore the cluster.+sTotalBackupSizeInMegaBytes :: Lens' Snapshot (Maybe Double)+sTotalBackupSizeInMegaBytes = lens _sTotalBackupSizeInMegaBytes (\ s a -> s{_sTotalBackupSizeInMegaBytes = a});++-- | The name of the database that was created when the cluster was created.+sDBName :: Lens' Snapshot (Maybe Text)+sDBName = lens _sDBName (\ s a -> s{_sDBName = a});++-- | The list of tags for the cluster snapshot.+sTags :: Lens' Snapshot [Tag]+sTags = lens _sTags (\ s a -> s{_sTags = a}) . _Default . _Coerce;++-- | The size of the incremental backup.+sActualIncrementalBackupSizeInMegaBytes :: Lens' Snapshot (Maybe Double)+sActualIncrementalBackupSizeInMegaBytes = lens _sActualIncrementalBackupSizeInMegaBytes (\ s a -> s{_sActualIncrementalBackupSizeInMegaBytes = a});++-- | The port that the cluster is listening on.+sPort :: Lens' Snapshot (Maybe Int)+sPort = lens _sPort (\ s a -> s{_sPort = a});++instance FromXML Snapshot where+        parseXML x+          = Snapshot' <$>+              (x .@? "RestorableNodeTypes" .!@ mempty >>=+                 may (parseXMLList "NodeType"))+                <*> (x .@? "Status")+                <*>+                (x .@? "AccountsWithRestoreAccess" .!@ mempty >>=+                   may (parseXMLList "AccountWithRestoreAccess"))+                <*> (x .@? "SnapshotIdentifier")+                <*> (x .@? "EncryptedWithHSM")+                <*> (x .@? "MasterUsername")+                <*> (x .@? "SourceRegion")+                <*> (x .@? "VpcId")+                <*> (x .@? "BackupProgressInMegaBytes")+                <*> (x .@? "Encrypted")+                <*> (x .@? "ClusterIdentifier")+                <*> (x .@? "NumberOfNodes")+                <*> (x .@? "SnapshotType")+                <*> (x .@? "AvailabilityZone")+                <*> (x .@? "KmsKeyId")+                <*> (x .@? "CurrentBackupRateInMegaBytesPerSecond")+                <*> (x .@? "SnapshotCreateTime")+                <*> (x .@? "ClusterVersion")+                <*> (x .@? "OwnerAccount")+                <*> (x .@? "NodeType")+                <*> (x .@? "ClusterCreateTime")+                <*> (x .@? "ElapsedTimeInSeconds")+                <*> (x .@? "EstimatedSecondsToCompletion")+                <*> (x .@? "TotalBackupSizeInMegaBytes")+                <*> (x .@? "DBName")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))+                <*> (x .@? "ActualIncrementalBackupSizeInMegaBytes")+                <*> (x .@? "Port")++-- | The snapshot copy grant that grants Amazon Redshift permission to+-- encrypt copied snapshots with the specified customer master key (CMK)+-- from AWS KMS in the destination region.+--+-- For more information about managing snapshot copy grants, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html Amazon Redshift Database Encryption>+-- in the /Amazon Redshift Cluster Management Guide/.+--+-- /See:/ 'snapshotCopyGrant' smart constructor.+data SnapshotCopyGrant = SnapshotCopyGrant'+    { _scgKMSKeyId              :: !(Maybe Text)+    , _scgSnapshotCopyGrantName :: !(Maybe Text)+    , _scgTags                  :: !(Maybe [Tag])+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotCopyGrant' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'scgKMSKeyId'+--+-- * 'scgSnapshotCopyGrantName'+--+-- * 'scgTags'+snapshotCopyGrant+    :: SnapshotCopyGrant+snapshotCopyGrant =+    SnapshotCopyGrant'+    { _scgKMSKeyId = Nothing+    , _scgSnapshotCopyGrantName = Nothing+    , _scgTags = Nothing+    }++-- | The unique identifier of the customer master key (CMK) in AWS KMS to+-- which Amazon Redshift is granted permission.+scgKMSKeyId :: Lens' SnapshotCopyGrant (Maybe Text)+scgKMSKeyId = lens _scgKMSKeyId (\ s a -> s{_scgKMSKeyId = a});++-- | The name of the snapshot copy grant.+scgSnapshotCopyGrantName :: Lens' SnapshotCopyGrant (Maybe Text)+scgSnapshotCopyGrantName = lens _scgSnapshotCopyGrantName (\ s a -> s{_scgSnapshotCopyGrantName = a});++-- | A list of tag instances.+scgTags :: Lens' SnapshotCopyGrant [Tag]+scgTags = lens _scgTags (\ s a -> s{_scgTags = a}) . _Default . _Coerce;++instance FromXML SnapshotCopyGrant where+        parseXML x+          = SnapshotCopyGrant' <$>+              (x .@? "KmsKeyId") <*>+                (x .@? "SnapshotCopyGrantName")+                <*>+                (x .@? "Tags" .!@ mempty >>=+                   may (parseXMLList "Tag"))++-- | Describes a subnet.+--+-- /See:/ 'subnet' smart constructor.+data Subnet = Subnet'+    { _sSubnetStatus           :: !(Maybe Text)+    , _sSubnetIdentifier       :: !(Maybe Text)+    , _sSubnetAvailabilityZone :: !(Maybe AvailabilityZone)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Subnet' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sSubnetStatus'+--+-- * 'sSubnetIdentifier'+--+-- * 'sSubnetAvailabilityZone'+subnet+    :: Subnet+subnet =+    Subnet'+    { _sSubnetStatus = Nothing+    , _sSubnetIdentifier = Nothing+    , _sSubnetAvailabilityZone = Nothing+    }++-- | The status of the subnet.+sSubnetStatus :: Lens' Subnet (Maybe Text)+sSubnetStatus = lens _sSubnetStatus (\ s a -> s{_sSubnetStatus = a});++-- | The identifier of the subnet.+sSubnetIdentifier :: Lens' Subnet (Maybe Text)+sSubnetIdentifier = lens _sSubnetIdentifier (\ s a -> s{_sSubnetIdentifier = a});++-- | Undocumented member.+sSubnetAvailabilityZone :: Lens' Subnet (Maybe AvailabilityZone)+sSubnetAvailabilityZone = lens _sSubnetAvailabilityZone (\ s a -> s{_sSubnetAvailabilityZone = a});++instance FromXML Subnet where+        parseXML x+          = Subnet' <$>+              (x .@? "SubnetStatus") <*> (x .@? "SubnetIdentifier")+                <*> (x .@? "SubnetAvailabilityZone")++-- | A tag consisting of a name\/value pair for a resource.+--+-- /See:/ 'tag' smart constructor.+data Tag = Tag'+    { _tagValue :: !(Maybe Text)+    , _tagKey   :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Tag' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'tagValue'+--+-- * 'tagKey'+tag+    :: Tag+tag =+    Tag'+    { _tagValue = Nothing+    , _tagKey = Nothing+    }++-- | The value for the resource tag.+tagValue :: Lens' Tag (Maybe Text)+tagValue = lens _tagValue (\ s a -> s{_tagValue = a});++-- | The key, or name, for the resource tag.+tagKey :: Lens' Tag (Maybe Text)+tagKey = lens _tagKey (\ s a -> s{_tagKey = a});++instance FromXML Tag where+        parseXML x+          = Tag' <$> (x .@? "Value") <*> (x .@? "Key")++instance ToQuery Tag where+        toQuery Tag'{..}+          = mconcat ["Value" =: _tagValue, "Key" =: _tagKey]++-- | A tag and its associated resource.+--+-- /See:/ 'taggedResource' smart constructor.+data TaggedResource = TaggedResource'+    { _trResourceType :: !(Maybe Text)+    , _trTag          :: !(Maybe Tag)+    , _trResourceName :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'TaggedResource' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'trResourceType'+--+-- * 'trTag'+--+-- * 'trResourceName'+taggedResource+    :: TaggedResource+taggedResource =+    TaggedResource'+    { _trResourceType = Nothing+    , _trTag = Nothing+    , _trResourceName = Nothing+    }++-- | The type of resource with which the tag is associated. Valid resource+-- types are:+--+-- -   Cluster+-- -   CIDR\/IP+-- -   EC2 security group+-- -   Snapshot+-- -   Cluster security group+-- -   Subnet group+-- -   HSM connection+-- -   HSM certificate+-- -   Parameter group+--+-- For more information about Amazon Redshift resource types and+-- constructing ARNs, go to+-- <http://docs.aws.amazon.com/redshift/latest/mgmt/constructing-redshift-arn.html Constructing an Amazon Redshift Amazon Resource Name (ARN)>+-- in the Amazon Redshift Cluster Management Guide.+trResourceType :: Lens' TaggedResource (Maybe Text)+trResourceType = lens _trResourceType (\ s a -> s{_trResourceType = a});++-- | The tag for the resource.+trTag :: Lens' TaggedResource (Maybe Tag)+trTag = lens _trTag (\ s a -> s{_trTag = a});++-- | The Amazon Resource Name (ARN) with which the tag is associated. For+-- example, 'arn:aws:redshift:us-east-1:123456789:cluster:t1'.+trResourceName :: Lens' TaggedResource (Maybe Text)+trResourceName = lens _trResourceName (\ s a -> s{_trResourceName = a});++instance FromXML TaggedResource where+        parseXML x+          = TaggedResource' <$>+              (x .@? "ResourceType") <*> (x .@? "Tag") <*>+                (x .@? "ResourceName")++-- | Describes the members of a VPC security group.+--+-- /See:/ 'vpcSecurityGroupMembership' smart constructor.+data VPCSecurityGroupMembership = VPCSecurityGroupMembership'+    { _vsgmStatus             :: !(Maybe Text)+    , _vsgmVPCSecurityGroupId :: !(Maybe Text)+    } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'VPCSecurityGroupMembership' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'vsgmStatus'+--+-- * 'vsgmVPCSecurityGroupId'+vpcSecurityGroupMembership+    :: VPCSecurityGroupMembership+vpcSecurityGroupMembership =+    VPCSecurityGroupMembership'+    { _vsgmStatus = Nothing+    , _vsgmVPCSecurityGroupId = Nothing+    }++-- | Undocumented member.+vsgmStatus :: Lens' VPCSecurityGroupMembership (Maybe Text)+vsgmStatus = lens _vsgmStatus (\ s a -> s{_vsgmStatus = a});++-- | Undocumented member.+vsgmVPCSecurityGroupId :: Lens' VPCSecurityGroupMembership (Maybe Text)+vsgmVPCSecurityGroupId = lens _vsgmVPCSecurityGroupId (\ s a -> s{_vsgmVPCSecurityGroupId = a});++instance FromXML VPCSecurityGroupMembership where+        parseXML x+          = VPCSecurityGroupMembership' <$>+              (x .@? "Status") <*> (x .@? "VpcSecurityGroupId")
+ gen/Network/AWS/Redshift/Types/Sum.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric      #-}+{-# LANGUAGE LambdaCase         #-}+{-# LANGUAGE OverloadedStrings  #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Network.AWS.Redshift.Types.Sum+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Network.AWS.Redshift.Types.Sum where++import           Network.AWS.Prelude++data ParameterApplyType+    = Dynamic+    | Static+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText ParameterApplyType where+    parser = takeLowerText >>= \case+        "dynamic" -> pure Dynamic+        "static" -> pure Static+        e -> fromTextError $ "Failure parsing ParameterApplyType from value: '" <> e+           <> "'. Accepted values: dynamic, static"++instance ToText ParameterApplyType where+    toText = \case+        Dynamic -> "dynamic"+        Static -> "static"++instance Hashable     ParameterApplyType+instance ToByteString ParameterApplyType+instance ToQuery      ParameterApplyType+instance ToHeader     ParameterApplyType++instance FromXML ParameterApplyType where+    parseXML = parseXMLText "ParameterApplyType"++data SourceType+    = Cluster+    | ClusterParameterGroup+    | ClusterSecurityGroup+    | ClusterSnapshot+    deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SourceType where+    parser = takeLowerText >>= \case+        "cluster" -> pure Cluster+        "cluster-parameter-group" -> pure ClusterParameterGroup+        "cluster-security-group" -> pure ClusterSecurityGroup+        "cluster-snapshot" -> pure ClusterSnapshot+        e -> fromTextError $ "Failure parsing SourceType from value: '" <> e+           <> "'. Accepted values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot"++instance ToText SourceType where+    toText = \case+        Cluster -> "cluster"+        ClusterParameterGroup -> "cluster-parameter-group"+        ClusterSecurityGroup -> "cluster-security-group"+        ClusterSnapshot -> "cluster-snapshot"++instance Hashable     SourceType+instance ToByteString SourceType+instance ToQuery      SourceType+instance ToHeader     SourceType++instance FromXML SourceType where+    parseXML = parseXMLText "SourceType"
gen/Network/AWS/Redshift/Waiters.hs view
@@ -1,64 +1,90 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TypeFamilies      #-} +{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- | -- Module      : Network.AWS.Redshift.Waiters--- Copyright   : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0. -- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental+-- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Derived from AWS service descriptions, licensed under Apache 2.0.- module Network.AWS.Redshift.Waiters where -import Network.AWS.Redshift.DescribeClusterSnapshots-import Network.AWS.Redshift.DescribeClusters-import Network.AWS.Redshift.Types-import Network.AWS.Waiters--clusterAvailable :: Wait DescribeClusters-clusterAvailable = Wait-    { _waitName      = "ClusterAvailable"-    , _waitAttempts  = 30-    , _waitDelay     = 60-    , _waitAcceptors =-        [ matchAll "available" AcceptSuccess-            (folding (concatOf dcrClusters) . cClusterStatus . _Just)-        , matchAny "deleting" AcceptFailure-            (folding (concatOf dcrClusters) . cClusterStatus . _Just)-        , matchError "ClusterNotFound" AcceptRetry-        ]-    }+import           Network.AWS.Prelude+import           Network.AWS.Redshift.DescribeClusters+import           Network.AWS.Redshift.DescribeClusters+import           Network.AWS.Redshift.DescribeClusterSnapshots+import           Network.AWS.Redshift.Types+import           Network.AWS.Waiter +-- | Polls 'Network.AWS.Redshift.DescribeClusters' every 60 seconds until a+-- successful state is reached. An error is returned after 30 failed checks. clusterDeleted :: Wait DescribeClusters-clusterDeleted = Wait-    { _waitName      = "ClusterDeleted"-    , _waitAttempts  = 30-    , _waitDelay     = 60-    , _waitAcceptors =-        [ matchError "ClusterNotFound" AcceptSuccess-        , matchAny "creating" AcceptFailure-            (folding (concatOf dcrClusters) . cClusterStatus . _Just)-        , matchAny "rebooting" AcceptFailure-            (folding (concatOf dcrClusters) . cClusterStatus . _Just)-        ]+clusterDeleted =+    Wait+    { _waitName = "ClusterDeleted"+    , _waitAttempts = 30+    , _waitDelay = 60+    , _waitAcceptors = [ matchError "ClusterNotFound" AcceptSuccess+                       , matchAny+                             "creating"+                             AcceptFailure+                             (folding (concatOf dcrsClusters) .+                              cClusterStatus . _Just . to toTextCI)+                       , matchAny+                             "rebooting"+                             AcceptFailure+                             (folding (concatOf dcrsClusters) .+                              cClusterStatus . _Just . to toTextCI)]     } +-- | Polls 'Network.AWS.Redshift.DescribeClusterSnapshots' every 15 seconds until a+-- successful state is reached. An error is returned after 20 failed checks. snapshotAvailable :: Wait DescribeClusterSnapshots-snapshotAvailable = Wait-    { _waitName      = "SnapshotAvailable"-    , _waitAttempts  = 20-    , _waitDelay     = 15-    , _waitAcceptors =-        [ matchAll "available" AcceptSuccess-            (folding (concatOf dcsrSnapshots) . sStatus . _Just)-        , matchAny "failed" AcceptFailure-            (folding (concatOf dcsrSnapshots) . sStatus . _Just)-        , matchAny "deleted" AcceptFailure-            (folding (concatOf dcsrSnapshots) . sStatus . _Just)-        ]+snapshotAvailable =+    Wait+    { _waitName = "SnapshotAvailable"+    , _waitAttempts = 20+    , _waitDelay = 15+    , _waitAcceptors = [ matchAll+                             "available"+                             AcceptSuccess+                             (folding (concatOf dcssrsSnapshots) .+                              sStatus . _Just . to toTextCI)+                       , matchAny+                             "failed"+                             AcceptFailure+                             (folding (concatOf dcssrsSnapshots) .+                              sStatus . _Just . to toTextCI)+                       , matchAny+                             "deleted"+                             AcceptFailure+                             (folding (concatOf dcssrsSnapshots) .+                              sStatus . _Just . to toTextCI)]+    }++-- | Polls 'Network.AWS.Redshift.DescribeClusters' every 60 seconds until a+-- successful state is reached. An error is returned after 30 failed checks.+clusterAvailable :: Wait DescribeClusters+clusterAvailable =+    Wait+    { _waitName = "ClusterAvailable"+    , _waitAttempts = 30+    , _waitDelay = 60+    , _waitAcceptors = [ matchAll+                             "available"+                             AcceptSuccess+                             (folding (concatOf dcrsClusters) .+                              cClusterStatus . _Just . to toTextCI)+                       , matchAny+                             "deleting"+                             AcceptFailure+                             (folding (concatOf dcrsClusters) .+                              cClusterStatus . _Just . to toTextCI)+                       , matchError "ClusterNotFound" AcceptRetry]     }
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Main (main) where++import Test.Tasty+import Test.AWS.Redshift+import Test.AWS.Redshift.Internal++main :: IO ()+main = defaultMain $ testGroup "Redshift"+    [ testGroup "tests"    tests+    , testGroup "fixtures" fixtures+    ]
+ test/Test/AWS/Gen/Redshift.hs view
@@ -0,0 +1,1042 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans        #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.AWS.Gen.Redshift+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+module Test.AWS.Gen.Redshift where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.Redshift+import Test.AWS.Redshift.Internal++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ testDescribeClusters $+--             describeClusters+--+--         , testDescribeTags $+--             describeTags+--+--         , testModifyEventSubscription $+--             modifyEventSubscription+--+--         , testDisableLogging $+--             disableLogging+--+--         , testPurchaseReservedNodeOffering $+--             purchaseReservedNodeOffering+--+--         , testDeleteClusterSubnetGroup $+--             deleteClusterSubnetGroup+--+--         , testDeleteClusterSnapshot $+--             deleteClusterSnapshot+--+--         , testDescribeEvents $+--             describeEvents+--+--         , testDescribeReservedNodeOfferings $+--             describeReservedNodeOfferings+--+--         , testDescribeClusterParameterGroups $+--             describeClusterParameterGroups+--+--         , testCreateClusterSubnetGroup $+--             createClusterSubnetGroup+--+--         , testDescribeReservedNodes $+--             describeReservedNodes+--+--         , testEnableLogging $+--             enableLogging+--+--         , testCreateTags $+--             createTags+--+--         , testDescribeClusterSecurityGroups $+--             describeClusterSecurityGroups+--+--         , testDeleteClusterParameterGroup $+--             deleteClusterParameterGroup+--+--         , testDeleteTags $+--             deleteTags+--+--         , testEnableSnapshotCopy $+--             enableSnapshotCopy+--+--         , testModifySnapshotCopyRetentionPeriod $+--             modifySnapshotCopyRetentionPeriod+--+--         , testDescribeClusterSnapshots $+--             describeClusterSnapshots+--+--         , testDescribeClusterSubnetGroups $+--             describeClusterSubnetGroups+--+--         , testAuthorizeSnapshotAccess $+--             authorizeSnapshotAccess+--+--         , testCreateEventSubscription $+--             createEventSubscription+--+--         , testRebootCluster $+--             rebootCluster+--+--         , testDescribeOrderableClusterOptions $+--             describeOrderableClusterOptions+--+--         , testDeleteCluster $+--             deleteCluster+--+--         , testDeleteEventSubscription $+--             deleteEventSubscription+--+--         , testDescribeDefaultClusterParameters $+--             describeDefaultClusterParameters+--+--         , testCreateCluster $+--             createCluster+--+--         , testCreateHSMClientCertificate $+--             createHSMClientCertificate+--+--         , testResetClusterParameterGroup $+--             resetClusterParameterGroup+--+--         , testDescribeEventSubscriptions $+--             describeEventSubscriptions+--+--         , testDescribeHSMClientCertificates $+--             describeHSMClientCertificates+--+--         , testModifyClusterParameterGroup $+--             modifyClusterParameterGroup+--+--         , testRevokeClusterSecurityGroupIngress $+--             revokeClusterSecurityGroupIngress+--+--         , testAuthorizeClusterSecurityGroupIngress $+--             authorizeClusterSecurityGroupIngress+--+--         , testCreateClusterSecurityGroup $+--             createClusterSecurityGroup+--+--         , testDescribeResize $+--             describeResize+--+--         , testDescribeEventCategories $+--             describeEventCategories+--+--         , testDeleteHSMConfiguration $+--             deleteHSMConfiguration+--+--         , testDeleteClusterSecurityGroup $+--             deleteClusterSecurityGroup+--+--         , testCreateHSMConfiguration $+--             createHSMConfiguration+--+--         , testModifyCluster $+--             modifyCluster+--+--         , testCreateClusterSnapshot $+--             createClusterSnapshot+--+--         , testDescribeLoggingStatus $+--             describeLoggingStatus+--+--         , testDescribeClusterParameters $+--             describeClusterParameters+--+--         , testDisableSnapshotCopy $+--             disableSnapshotCopy+--+--         , testRestoreFromClusterSnapshot $+--             restoreFromClusterSnapshot+--+--         , testDescribeHSMConfigurations $+--             describeHSMConfigurations+--+--         , testCreateClusterParameterGroup $+--             createClusterParameterGroup+--+--         , testRevokeSnapshotAccess $+--             revokeSnapshotAccess+--+--         , testDeleteHSMClientCertificate $+--             deleteHSMClientCertificate+--+--         , testCreateSnapshotCopyGrant $+--             createSnapshotCopyGrant+--+--         , testCopyClusterSnapshot $+--             copyClusterSnapshot+--+--         , testDescribeClusterVersions $+--             describeClusterVersions+--+--         , testModifyClusterSubnetGroup $+--             modifyClusterSubnetGroup+--+--         , testDeleteSnapshotCopyGrant $+--             deleteSnapshotCopyGrant+--+--         , testDescribeSnapshotCopyGrants $+--             describeSnapshotCopyGrants+--+--         , testRotateEncryptionKey $+--             rotateEncryptionKey+--+--           ]++--     , testGroup "response"+--         [ testDescribeClustersResponse $+--             describeClustersResponse+--+--         , testDescribeTagsResponse $+--             describeTagsResponse+--+--         , testModifyEventSubscriptionResponse $+--             modifyEventSubscriptionResponse+--+--         , testDisableLoggingResponse $+--             loggingStatus+--+--         , testPurchaseReservedNodeOfferingResponse $+--             purchaseReservedNodeOfferingResponse+--+--         , testDeleteClusterSubnetGroupResponse $+--             deleteClusterSubnetGroupResponse+--+--         , testDeleteClusterSnapshotResponse $+--             deleteClusterSnapshotResponse+--+--         , testDescribeEventsResponse $+--             describeEventsResponse+--+--         , testDescribeReservedNodeOfferingsResponse $+--             describeReservedNodeOfferingsResponse+--+--         , testDescribeClusterParameterGroupsResponse $+--             describeClusterParameterGroupsResponse+--+--         , testCreateClusterSubnetGroupResponse $+--             createClusterSubnetGroupResponse+--+--         , testDescribeReservedNodesResponse $+--             describeReservedNodesResponse+--+--         , testEnableLoggingResponse $+--             loggingStatus+--+--         , testCreateTagsResponse $+--             createTagsResponse+--+--         , testDescribeClusterSecurityGroupsResponse $+--             describeClusterSecurityGroupsResponse+--+--         , testDeleteClusterParameterGroupResponse $+--             deleteClusterParameterGroupResponse+--+--         , testDeleteTagsResponse $+--             deleteTagsResponse+--+--         , testEnableSnapshotCopyResponse $+--             enableSnapshotCopyResponse+--+--         , testModifySnapshotCopyRetentionPeriodResponse $+--             modifySnapshotCopyRetentionPeriodResponse+--+--         , testDescribeClusterSnapshotsResponse $+--             describeClusterSnapshotsResponse+--+--         , testDescribeClusterSubnetGroupsResponse $+--             describeClusterSubnetGroupsResponse+--+--         , testAuthorizeSnapshotAccessResponse $+--             authorizeSnapshotAccessResponse+--+--         , testCreateEventSubscriptionResponse $+--             createEventSubscriptionResponse+--+--         , testRebootClusterResponse $+--             rebootClusterResponse+--+--         , testDescribeOrderableClusterOptionsResponse $+--             describeOrderableClusterOptionsResponse+--+--         , testDeleteClusterResponse $+--             deleteClusterResponse+--+--         , testDeleteEventSubscriptionResponse $+--             deleteEventSubscriptionResponse+--+--         , testDescribeDefaultClusterParametersResponse $+--             describeDefaultClusterParametersResponse+--+--         , testCreateClusterResponse $+--             createClusterResponse+--+--         , testCreateHSMClientCertificateResponse $+--             createHSMClientCertificateResponse+--+--         , testResetClusterParameterGroupResponse $+--             clusterParameterGroupNameMessage+--+--         , testDescribeEventSubscriptionsResponse $+--             describeEventSubscriptionsResponse+--+--         , testDescribeHSMClientCertificatesResponse $+--             describeHSMClientCertificatesResponse+--+--         , testModifyClusterParameterGroupResponse $+--             clusterParameterGroupNameMessage+--+--         , testRevokeClusterSecurityGroupIngressResponse $+--             revokeClusterSecurityGroupIngressResponse+--+--         , testAuthorizeClusterSecurityGroupIngressResponse $+--             authorizeClusterSecurityGroupIngressResponse+--+--         , testCreateClusterSecurityGroupResponse $+--             createClusterSecurityGroupResponse+--+--         , testDescribeResizeResponse $+--             describeResizeResponse+--+--         , testDescribeEventCategoriesResponse $+--             describeEventCategoriesResponse+--+--         , testDeleteHSMConfigurationResponse $+--             deleteHSMConfigurationResponse+--+--         , testDeleteClusterSecurityGroupResponse $+--             deleteClusterSecurityGroupResponse+--+--         , testCreateHSMConfigurationResponse $+--             createHSMConfigurationResponse+--+--         , testModifyClusterResponse $+--             modifyClusterResponse+--+--         , testCreateClusterSnapshotResponse $+--             createClusterSnapshotResponse+--+--         , testDescribeLoggingStatusResponse $+--             loggingStatus+--+--         , testDescribeClusterParametersResponse $+--             describeClusterParametersResponse+--+--         , testDisableSnapshotCopyResponse $+--             disableSnapshotCopyResponse+--+--         , testRestoreFromClusterSnapshotResponse $+--             restoreFromClusterSnapshotResponse+--+--         , testDescribeHSMConfigurationsResponse $+--             describeHSMConfigurationsResponse+--+--         , testCreateClusterParameterGroupResponse $+--             createClusterParameterGroupResponse+--+--         , testRevokeSnapshotAccessResponse $+--             revokeSnapshotAccessResponse+--+--         , testDeleteHSMClientCertificateResponse $+--             deleteHSMClientCertificateResponse+--+--         , testCreateSnapshotCopyGrantResponse $+--             createSnapshotCopyGrantResponse+--+--         , testCopyClusterSnapshotResponse $+--             copyClusterSnapshotResponse+--+--         , testDescribeClusterVersionsResponse $+--             describeClusterVersionsResponse+--+--         , testModifyClusterSubnetGroupResponse $+--             modifyClusterSubnetGroupResponse+--+--         , testDeleteSnapshotCopyGrantResponse $+--             deleteSnapshotCopyGrantResponse+--+--         , testDescribeSnapshotCopyGrantsResponse $+--             describeSnapshotCopyGrantsResponse+--+--         , testRotateEncryptionKeyResponse $+--             rotateEncryptionKeyResponse+--+--           ]+--     ]++-- Requests++testDescribeClusters :: DescribeClusters -> TestTree+testDescribeClusters = req+    "DescribeClusters"+    "fixture/DescribeClusters"++testDescribeTags :: DescribeTags -> TestTree+testDescribeTags = req+    "DescribeTags"+    "fixture/DescribeTags"++testModifyEventSubscription :: ModifyEventSubscription -> TestTree+testModifyEventSubscription = req+    "ModifyEventSubscription"+    "fixture/ModifyEventSubscription"++testDisableLogging :: DisableLogging -> TestTree+testDisableLogging = req+    "DisableLogging"+    "fixture/DisableLogging"++testPurchaseReservedNodeOffering :: PurchaseReservedNodeOffering -> TestTree+testPurchaseReservedNodeOffering = req+    "PurchaseReservedNodeOffering"+    "fixture/PurchaseReservedNodeOffering"++testDeleteClusterSubnetGroup :: DeleteClusterSubnetGroup -> TestTree+testDeleteClusterSubnetGroup = req+    "DeleteClusterSubnetGroup"+    "fixture/DeleteClusterSubnetGroup"++testDeleteClusterSnapshot :: DeleteClusterSnapshot -> TestTree+testDeleteClusterSnapshot = req+    "DeleteClusterSnapshot"+    "fixture/DeleteClusterSnapshot"++testDescribeEvents :: DescribeEvents -> TestTree+testDescribeEvents = req+    "DescribeEvents"+    "fixture/DescribeEvents"++testDescribeReservedNodeOfferings :: DescribeReservedNodeOfferings -> TestTree+testDescribeReservedNodeOfferings = req+    "DescribeReservedNodeOfferings"+    "fixture/DescribeReservedNodeOfferings"++testDescribeClusterParameterGroups :: DescribeClusterParameterGroups -> TestTree+testDescribeClusterParameterGroups = req+    "DescribeClusterParameterGroups"+    "fixture/DescribeClusterParameterGroups"++testCreateClusterSubnetGroup :: CreateClusterSubnetGroup -> TestTree+testCreateClusterSubnetGroup = req+    "CreateClusterSubnetGroup"+    "fixture/CreateClusterSubnetGroup"++testDescribeReservedNodes :: DescribeReservedNodes -> TestTree+testDescribeReservedNodes = req+    "DescribeReservedNodes"+    "fixture/DescribeReservedNodes"++testEnableLogging :: EnableLogging -> TestTree+testEnableLogging = req+    "EnableLogging"+    "fixture/EnableLogging"++testCreateTags :: CreateTags -> TestTree+testCreateTags = req+    "CreateTags"+    "fixture/CreateTags"++testDescribeClusterSecurityGroups :: DescribeClusterSecurityGroups -> TestTree+testDescribeClusterSecurityGroups = req+    "DescribeClusterSecurityGroups"+    "fixture/DescribeClusterSecurityGroups"++testDeleteClusterParameterGroup :: DeleteClusterParameterGroup -> TestTree+testDeleteClusterParameterGroup = req+    "DeleteClusterParameterGroup"+    "fixture/DeleteClusterParameterGroup"++testDeleteTags :: DeleteTags -> TestTree+testDeleteTags = req+    "DeleteTags"+    "fixture/DeleteTags"++testEnableSnapshotCopy :: EnableSnapshotCopy -> TestTree+testEnableSnapshotCopy = req+    "EnableSnapshotCopy"+    "fixture/EnableSnapshotCopy"++testModifySnapshotCopyRetentionPeriod :: ModifySnapshotCopyRetentionPeriod -> TestTree+testModifySnapshotCopyRetentionPeriod = req+    "ModifySnapshotCopyRetentionPeriod"+    "fixture/ModifySnapshotCopyRetentionPeriod"++testDescribeClusterSnapshots :: DescribeClusterSnapshots -> TestTree+testDescribeClusterSnapshots = req+    "DescribeClusterSnapshots"+    "fixture/DescribeClusterSnapshots"++testDescribeClusterSubnetGroups :: DescribeClusterSubnetGroups -> TestTree+testDescribeClusterSubnetGroups = req+    "DescribeClusterSubnetGroups"+    "fixture/DescribeClusterSubnetGroups"++testAuthorizeSnapshotAccess :: AuthorizeSnapshotAccess -> TestTree+testAuthorizeSnapshotAccess = req+    "AuthorizeSnapshotAccess"+    "fixture/AuthorizeSnapshotAccess"++testCreateEventSubscription :: CreateEventSubscription -> TestTree+testCreateEventSubscription = req+    "CreateEventSubscription"+    "fixture/CreateEventSubscription"++testRebootCluster :: RebootCluster -> TestTree+testRebootCluster = req+    "RebootCluster"+    "fixture/RebootCluster"++testDescribeOrderableClusterOptions :: DescribeOrderableClusterOptions -> TestTree+testDescribeOrderableClusterOptions = req+    "DescribeOrderableClusterOptions"+    "fixture/DescribeOrderableClusterOptions"++testDeleteCluster :: DeleteCluster -> TestTree+testDeleteCluster = req+    "DeleteCluster"+    "fixture/DeleteCluster"++testDeleteEventSubscription :: DeleteEventSubscription -> TestTree+testDeleteEventSubscription = req+    "DeleteEventSubscription"+    "fixture/DeleteEventSubscription"++testDescribeDefaultClusterParameters :: DescribeDefaultClusterParameters -> TestTree+testDescribeDefaultClusterParameters = req+    "DescribeDefaultClusterParameters"+    "fixture/DescribeDefaultClusterParameters"++testCreateCluster :: CreateCluster -> TestTree+testCreateCluster = req+    "CreateCluster"+    "fixture/CreateCluster"++testCreateHSMClientCertificate :: CreateHSMClientCertificate -> TestTree+testCreateHSMClientCertificate = req+    "CreateHSMClientCertificate"+    "fixture/CreateHSMClientCertificate"++testResetClusterParameterGroup :: ResetClusterParameterGroup -> TestTree+testResetClusterParameterGroup = req+    "ResetClusterParameterGroup"+    "fixture/ResetClusterParameterGroup"++testDescribeEventSubscriptions :: DescribeEventSubscriptions -> TestTree+testDescribeEventSubscriptions = req+    "DescribeEventSubscriptions"+    "fixture/DescribeEventSubscriptions"++testDescribeHSMClientCertificates :: DescribeHSMClientCertificates -> TestTree+testDescribeHSMClientCertificates = req+    "DescribeHSMClientCertificates"+    "fixture/DescribeHSMClientCertificates"++testModifyClusterParameterGroup :: ModifyClusterParameterGroup -> TestTree+testModifyClusterParameterGroup = req+    "ModifyClusterParameterGroup"+    "fixture/ModifyClusterParameterGroup"++testRevokeClusterSecurityGroupIngress :: RevokeClusterSecurityGroupIngress -> TestTree+testRevokeClusterSecurityGroupIngress = req+    "RevokeClusterSecurityGroupIngress"+    "fixture/RevokeClusterSecurityGroupIngress"++testAuthorizeClusterSecurityGroupIngress :: AuthorizeClusterSecurityGroupIngress -> TestTree+testAuthorizeClusterSecurityGroupIngress = req+    "AuthorizeClusterSecurityGroupIngress"+    "fixture/AuthorizeClusterSecurityGroupIngress"++testCreateClusterSecurityGroup :: CreateClusterSecurityGroup -> TestTree+testCreateClusterSecurityGroup = req+    "CreateClusterSecurityGroup"+    "fixture/CreateClusterSecurityGroup"++testDescribeResize :: DescribeResize -> TestTree+testDescribeResize = req+    "DescribeResize"+    "fixture/DescribeResize"++testDescribeEventCategories :: DescribeEventCategories -> TestTree+testDescribeEventCategories = req+    "DescribeEventCategories"+    "fixture/DescribeEventCategories"++testDeleteHSMConfiguration :: DeleteHSMConfiguration -> TestTree+testDeleteHSMConfiguration = req+    "DeleteHSMConfiguration"+    "fixture/DeleteHSMConfiguration"++testDeleteClusterSecurityGroup :: DeleteClusterSecurityGroup -> TestTree+testDeleteClusterSecurityGroup = req+    "DeleteClusterSecurityGroup"+    "fixture/DeleteClusterSecurityGroup"++testCreateHSMConfiguration :: CreateHSMConfiguration -> TestTree+testCreateHSMConfiguration = req+    "CreateHSMConfiguration"+    "fixture/CreateHSMConfiguration"++testModifyCluster :: ModifyCluster -> TestTree+testModifyCluster = req+    "ModifyCluster"+    "fixture/ModifyCluster"++testCreateClusterSnapshot :: CreateClusterSnapshot -> TestTree+testCreateClusterSnapshot = req+    "CreateClusterSnapshot"+    "fixture/CreateClusterSnapshot"++testDescribeLoggingStatus :: DescribeLoggingStatus -> TestTree+testDescribeLoggingStatus = req+    "DescribeLoggingStatus"+    "fixture/DescribeLoggingStatus"++testDescribeClusterParameters :: DescribeClusterParameters -> TestTree+testDescribeClusterParameters = req+    "DescribeClusterParameters"+    "fixture/DescribeClusterParameters"++testDisableSnapshotCopy :: DisableSnapshotCopy -> TestTree+testDisableSnapshotCopy = req+    "DisableSnapshotCopy"+    "fixture/DisableSnapshotCopy"++testRestoreFromClusterSnapshot :: RestoreFromClusterSnapshot -> TestTree+testRestoreFromClusterSnapshot = req+    "RestoreFromClusterSnapshot"+    "fixture/RestoreFromClusterSnapshot"++testDescribeHSMConfigurations :: DescribeHSMConfigurations -> TestTree+testDescribeHSMConfigurations = req+    "DescribeHSMConfigurations"+    "fixture/DescribeHSMConfigurations"++testCreateClusterParameterGroup :: CreateClusterParameterGroup -> TestTree+testCreateClusterParameterGroup = req+    "CreateClusterParameterGroup"+    "fixture/CreateClusterParameterGroup"++testRevokeSnapshotAccess :: RevokeSnapshotAccess -> TestTree+testRevokeSnapshotAccess = req+    "RevokeSnapshotAccess"+    "fixture/RevokeSnapshotAccess"++testDeleteHSMClientCertificate :: DeleteHSMClientCertificate -> TestTree+testDeleteHSMClientCertificate = req+    "DeleteHSMClientCertificate"+    "fixture/DeleteHSMClientCertificate"++testCreateSnapshotCopyGrant :: CreateSnapshotCopyGrant -> TestTree+testCreateSnapshotCopyGrant = req+    "CreateSnapshotCopyGrant"+    "fixture/CreateSnapshotCopyGrant"++testCopyClusterSnapshot :: CopyClusterSnapshot -> TestTree+testCopyClusterSnapshot = req+    "CopyClusterSnapshot"+    "fixture/CopyClusterSnapshot"++testDescribeClusterVersions :: DescribeClusterVersions -> TestTree+testDescribeClusterVersions = req+    "DescribeClusterVersions"+    "fixture/DescribeClusterVersions"++testModifyClusterSubnetGroup :: ModifyClusterSubnetGroup -> TestTree+testModifyClusterSubnetGroup = req+    "ModifyClusterSubnetGroup"+    "fixture/ModifyClusterSubnetGroup"++testDeleteSnapshotCopyGrant :: DeleteSnapshotCopyGrant -> TestTree+testDeleteSnapshotCopyGrant = req+    "DeleteSnapshotCopyGrant"+    "fixture/DeleteSnapshotCopyGrant"++testDescribeSnapshotCopyGrants :: DescribeSnapshotCopyGrants -> TestTree+testDescribeSnapshotCopyGrants = req+    "DescribeSnapshotCopyGrants"+    "fixture/DescribeSnapshotCopyGrants"++testRotateEncryptionKey :: RotateEncryptionKey -> TestTree+testRotateEncryptionKey = req+    "RotateEncryptionKey"+    "fixture/RotateEncryptionKey"++-- Responses++testDescribeClustersResponse :: DescribeClustersResponse -> TestTree+testDescribeClustersResponse = res+    "DescribeClustersResponse"+    "fixture/DescribeClustersResponse"+    (Proxy :: Proxy DescribeClusters)++testDescribeTagsResponse :: DescribeTagsResponse -> TestTree+testDescribeTagsResponse = res+    "DescribeTagsResponse"+    "fixture/DescribeTagsResponse"+    (Proxy :: Proxy DescribeTags)++testModifyEventSubscriptionResponse :: ModifyEventSubscriptionResponse -> TestTree+testModifyEventSubscriptionResponse = res+    "ModifyEventSubscriptionResponse"+    "fixture/ModifyEventSubscriptionResponse"+    (Proxy :: Proxy ModifyEventSubscription)++testDisableLoggingResponse :: LoggingStatus -> TestTree+testDisableLoggingResponse = res+    "DisableLoggingResponse"+    "fixture/DisableLoggingResponse"+    (Proxy :: Proxy DisableLogging)++testPurchaseReservedNodeOfferingResponse :: PurchaseReservedNodeOfferingResponse -> TestTree+testPurchaseReservedNodeOfferingResponse = res+    "PurchaseReservedNodeOfferingResponse"+    "fixture/PurchaseReservedNodeOfferingResponse"+    (Proxy :: Proxy PurchaseReservedNodeOffering)++testDeleteClusterSubnetGroupResponse :: DeleteClusterSubnetGroupResponse -> TestTree+testDeleteClusterSubnetGroupResponse = res+    "DeleteClusterSubnetGroupResponse"+    "fixture/DeleteClusterSubnetGroupResponse"+    (Proxy :: Proxy DeleteClusterSubnetGroup)++testDeleteClusterSnapshotResponse :: DeleteClusterSnapshotResponse -> TestTree+testDeleteClusterSnapshotResponse = res+    "DeleteClusterSnapshotResponse"+    "fixture/DeleteClusterSnapshotResponse"+    (Proxy :: Proxy DeleteClusterSnapshot)++testDescribeEventsResponse :: DescribeEventsResponse -> TestTree+testDescribeEventsResponse = res+    "DescribeEventsResponse"+    "fixture/DescribeEventsResponse"+    (Proxy :: Proxy DescribeEvents)++testDescribeReservedNodeOfferingsResponse :: DescribeReservedNodeOfferingsResponse -> TestTree+testDescribeReservedNodeOfferingsResponse = res+    "DescribeReservedNodeOfferingsResponse"+    "fixture/DescribeReservedNodeOfferingsResponse"+    (Proxy :: Proxy DescribeReservedNodeOfferings)++testDescribeClusterParameterGroupsResponse :: DescribeClusterParameterGroupsResponse -> TestTree+testDescribeClusterParameterGroupsResponse = res+    "DescribeClusterParameterGroupsResponse"+    "fixture/DescribeClusterParameterGroupsResponse"+    (Proxy :: Proxy DescribeClusterParameterGroups)++testCreateClusterSubnetGroupResponse :: CreateClusterSubnetGroupResponse -> TestTree+testCreateClusterSubnetGroupResponse = res+    "CreateClusterSubnetGroupResponse"+    "fixture/CreateClusterSubnetGroupResponse"+    (Proxy :: Proxy CreateClusterSubnetGroup)++testDescribeReservedNodesResponse :: DescribeReservedNodesResponse -> TestTree+testDescribeReservedNodesResponse = res+    "DescribeReservedNodesResponse"+    "fixture/DescribeReservedNodesResponse"+    (Proxy :: Proxy DescribeReservedNodes)++testEnableLoggingResponse :: LoggingStatus -> TestTree+testEnableLoggingResponse = res+    "EnableLoggingResponse"+    "fixture/EnableLoggingResponse"+    (Proxy :: Proxy EnableLogging)++testCreateTagsResponse :: CreateTagsResponse -> TestTree+testCreateTagsResponse = res+    "CreateTagsResponse"+    "fixture/CreateTagsResponse"+    (Proxy :: Proxy CreateTags)++testDescribeClusterSecurityGroupsResponse :: DescribeClusterSecurityGroupsResponse -> TestTree+testDescribeClusterSecurityGroupsResponse = res+    "DescribeClusterSecurityGroupsResponse"+    "fixture/DescribeClusterSecurityGroupsResponse"+    (Proxy :: Proxy DescribeClusterSecurityGroups)++testDeleteClusterParameterGroupResponse :: DeleteClusterParameterGroupResponse -> TestTree+testDeleteClusterParameterGroupResponse = res+    "DeleteClusterParameterGroupResponse"+    "fixture/DeleteClusterParameterGroupResponse"+    (Proxy :: Proxy DeleteClusterParameterGroup)++testDeleteTagsResponse :: DeleteTagsResponse -> TestTree+testDeleteTagsResponse = res+    "DeleteTagsResponse"+    "fixture/DeleteTagsResponse"+    (Proxy :: Proxy DeleteTags)++testEnableSnapshotCopyResponse :: EnableSnapshotCopyResponse -> TestTree+testEnableSnapshotCopyResponse = res+    "EnableSnapshotCopyResponse"+    "fixture/EnableSnapshotCopyResponse"+    (Proxy :: Proxy EnableSnapshotCopy)++testModifySnapshotCopyRetentionPeriodResponse :: ModifySnapshotCopyRetentionPeriodResponse -> TestTree+testModifySnapshotCopyRetentionPeriodResponse = res+    "ModifySnapshotCopyRetentionPeriodResponse"+    "fixture/ModifySnapshotCopyRetentionPeriodResponse"+    (Proxy :: Proxy ModifySnapshotCopyRetentionPeriod)++testDescribeClusterSnapshotsResponse :: DescribeClusterSnapshotsResponse -> TestTree+testDescribeClusterSnapshotsResponse = res+    "DescribeClusterSnapshotsResponse"+    "fixture/DescribeClusterSnapshotsResponse"+    (Proxy :: Proxy DescribeClusterSnapshots)++testDescribeClusterSubnetGroupsResponse :: DescribeClusterSubnetGroupsResponse -> TestTree+testDescribeClusterSubnetGroupsResponse = res+    "DescribeClusterSubnetGroupsResponse"+    "fixture/DescribeClusterSubnetGroupsResponse"+    (Proxy :: Proxy DescribeClusterSubnetGroups)++testAuthorizeSnapshotAccessResponse :: AuthorizeSnapshotAccessResponse -> TestTree+testAuthorizeSnapshotAccessResponse = res+    "AuthorizeSnapshotAccessResponse"+    "fixture/AuthorizeSnapshotAccessResponse"+    (Proxy :: Proxy AuthorizeSnapshotAccess)++testCreateEventSubscriptionResponse :: CreateEventSubscriptionResponse -> TestTree+testCreateEventSubscriptionResponse = res+    "CreateEventSubscriptionResponse"+    "fixture/CreateEventSubscriptionResponse"+    (Proxy :: Proxy CreateEventSubscription)++testRebootClusterResponse :: RebootClusterResponse -> TestTree+testRebootClusterResponse = res+    "RebootClusterResponse"+    "fixture/RebootClusterResponse"+    (Proxy :: Proxy RebootCluster)++testDescribeOrderableClusterOptionsResponse :: DescribeOrderableClusterOptionsResponse -> TestTree+testDescribeOrderableClusterOptionsResponse = res+    "DescribeOrderableClusterOptionsResponse"+    "fixture/DescribeOrderableClusterOptionsResponse"+    (Proxy :: Proxy DescribeOrderableClusterOptions)++testDeleteClusterResponse :: DeleteClusterResponse -> TestTree+testDeleteClusterResponse = res+    "DeleteClusterResponse"+    "fixture/DeleteClusterResponse"+    (Proxy :: Proxy DeleteCluster)++testDeleteEventSubscriptionResponse :: DeleteEventSubscriptionResponse -> TestTree+testDeleteEventSubscriptionResponse = res+    "DeleteEventSubscriptionResponse"+    "fixture/DeleteEventSubscriptionResponse"+    (Proxy :: Proxy DeleteEventSubscription)++testDescribeDefaultClusterParametersResponse :: DescribeDefaultClusterParametersResponse -> TestTree+testDescribeDefaultClusterParametersResponse = res+    "DescribeDefaultClusterParametersResponse"+    "fixture/DescribeDefaultClusterParametersResponse"+    (Proxy :: Proxy DescribeDefaultClusterParameters)++testCreateClusterResponse :: CreateClusterResponse -> TestTree+testCreateClusterResponse = res+    "CreateClusterResponse"+    "fixture/CreateClusterResponse"+    (Proxy :: Proxy CreateCluster)++testCreateHSMClientCertificateResponse :: CreateHSMClientCertificateResponse -> TestTree+testCreateHSMClientCertificateResponse = res+    "CreateHSMClientCertificateResponse"+    "fixture/CreateHSMClientCertificateResponse"+    (Proxy :: Proxy CreateHSMClientCertificate)++testResetClusterParameterGroupResponse :: ClusterParameterGroupNameMessage -> TestTree+testResetClusterParameterGroupResponse = res+    "ResetClusterParameterGroupResponse"+    "fixture/ResetClusterParameterGroupResponse"+    (Proxy :: Proxy ResetClusterParameterGroup)++testDescribeEventSubscriptionsResponse :: DescribeEventSubscriptionsResponse -> TestTree+testDescribeEventSubscriptionsResponse = res+    "DescribeEventSubscriptionsResponse"+    "fixture/DescribeEventSubscriptionsResponse"+    (Proxy :: Proxy DescribeEventSubscriptions)++testDescribeHSMClientCertificatesResponse :: DescribeHSMClientCertificatesResponse -> TestTree+testDescribeHSMClientCertificatesResponse = res+    "DescribeHSMClientCertificatesResponse"+    "fixture/DescribeHSMClientCertificatesResponse"+    (Proxy :: Proxy DescribeHSMClientCertificates)++testModifyClusterParameterGroupResponse :: ClusterParameterGroupNameMessage -> TestTree+testModifyClusterParameterGroupResponse = res+    "ModifyClusterParameterGroupResponse"+    "fixture/ModifyClusterParameterGroupResponse"+    (Proxy :: Proxy ModifyClusterParameterGroup)++testRevokeClusterSecurityGroupIngressResponse :: RevokeClusterSecurityGroupIngressResponse -> TestTree+testRevokeClusterSecurityGroupIngressResponse = res+    "RevokeClusterSecurityGroupIngressResponse"+    "fixture/RevokeClusterSecurityGroupIngressResponse"+    (Proxy :: Proxy RevokeClusterSecurityGroupIngress)++testAuthorizeClusterSecurityGroupIngressResponse :: AuthorizeClusterSecurityGroupIngressResponse -> TestTree+testAuthorizeClusterSecurityGroupIngressResponse = res+    "AuthorizeClusterSecurityGroupIngressResponse"+    "fixture/AuthorizeClusterSecurityGroupIngressResponse"+    (Proxy :: Proxy AuthorizeClusterSecurityGroupIngress)++testCreateClusterSecurityGroupResponse :: CreateClusterSecurityGroupResponse -> TestTree+testCreateClusterSecurityGroupResponse = res+    "CreateClusterSecurityGroupResponse"+    "fixture/CreateClusterSecurityGroupResponse"+    (Proxy :: Proxy CreateClusterSecurityGroup)++testDescribeResizeResponse :: DescribeResizeResponse -> TestTree+testDescribeResizeResponse = res+    "DescribeResizeResponse"+    "fixture/DescribeResizeResponse"+    (Proxy :: Proxy DescribeResize)++testDescribeEventCategoriesResponse :: DescribeEventCategoriesResponse -> TestTree+testDescribeEventCategoriesResponse = res+    "DescribeEventCategoriesResponse"+    "fixture/DescribeEventCategoriesResponse"+    (Proxy :: Proxy DescribeEventCategories)++testDeleteHSMConfigurationResponse :: DeleteHSMConfigurationResponse -> TestTree+testDeleteHSMConfigurationResponse = res+    "DeleteHSMConfigurationResponse"+    "fixture/DeleteHSMConfigurationResponse"+    (Proxy :: Proxy DeleteHSMConfiguration)++testDeleteClusterSecurityGroupResponse :: DeleteClusterSecurityGroupResponse -> TestTree+testDeleteClusterSecurityGroupResponse = res+    "DeleteClusterSecurityGroupResponse"+    "fixture/DeleteClusterSecurityGroupResponse"+    (Proxy :: Proxy DeleteClusterSecurityGroup)++testCreateHSMConfigurationResponse :: CreateHSMConfigurationResponse -> TestTree+testCreateHSMConfigurationResponse = res+    "CreateHSMConfigurationResponse"+    "fixture/CreateHSMConfigurationResponse"+    (Proxy :: Proxy CreateHSMConfiguration)++testModifyClusterResponse :: ModifyClusterResponse -> TestTree+testModifyClusterResponse = res+    "ModifyClusterResponse"+    "fixture/ModifyClusterResponse"+    (Proxy :: Proxy ModifyCluster)++testCreateClusterSnapshotResponse :: CreateClusterSnapshotResponse -> TestTree+testCreateClusterSnapshotResponse = res+    "CreateClusterSnapshotResponse"+    "fixture/CreateClusterSnapshotResponse"+    (Proxy :: Proxy CreateClusterSnapshot)++testDescribeLoggingStatusResponse :: LoggingStatus -> TestTree+testDescribeLoggingStatusResponse = res+    "DescribeLoggingStatusResponse"+    "fixture/DescribeLoggingStatusResponse"+    (Proxy :: Proxy DescribeLoggingStatus)++testDescribeClusterParametersResponse :: DescribeClusterParametersResponse -> TestTree+testDescribeClusterParametersResponse = res+    "DescribeClusterParametersResponse"+    "fixture/DescribeClusterParametersResponse"+    (Proxy :: Proxy DescribeClusterParameters)++testDisableSnapshotCopyResponse :: DisableSnapshotCopyResponse -> TestTree+testDisableSnapshotCopyResponse = res+    "DisableSnapshotCopyResponse"+    "fixture/DisableSnapshotCopyResponse"+    (Proxy :: Proxy DisableSnapshotCopy)++testRestoreFromClusterSnapshotResponse :: RestoreFromClusterSnapshotResponse -> TestTree+testRestoreFromClusterSnapshotResponse = res+    "RestoreFromClusterSnapshotResponse"+    "fixture/RestoreFromClusterSnapshotResponse"+    (Proxy :: Proxy RestoreFromClusterSnapshot)++testDescribeHSMConfigurationsResponse :: DescribeHSMConfigurationsResponse -> TestTree+testDescribeHSMConfigurationsResponse = res+    "DescribeHSMConfigurationsResponse"+    "fixture/DescribeHSMConfigurationsResponse"+    (Proxy :: Proxy DescribeHSMConfigurations)++testCreateClusterParameterGroupResponse :: CreateClusterParameterGroupResponse -> TestTree+testCreateClusterParameterGroupResponse = res+    "CreateClusterParameterGroupResponse"+    "fixture/CreateClusterParameterGroupResponse"+    (Proxy :: Proxy CreateClusterParameterGroup)++testRevokeSnapshotAccessResponse :: RevokeSnapshotAccessResponse -> TestTree+testRevokeSnapshotAccessResponse = res+    "RevokeSnapshotAccessResponse"+    "fixture/RevokeSnapshotAccessResponse"+    (Proxy :: Proxy RevokeSnapshotAccess)++testDeleteHSMClientCertificateResponse :: DeleteHSMClientCertificateResponse -> TestTree+testDeleteHSMClientCertificateResponse = res+    "DeleteHSMClientCertificateResponse"+    "fixture/DeleteHSMClientCertificateResponse"+    (Proxy :: Proxy DeleteHSMClientCertificate)++testCreateSnapshotCopyGrantResponse :: CreateSnapshotCopyGrantResponse -> TestTree+testCreateSnapshotCopyGrantResponse = res+    "CreateSnapshotCopyGrantResponse"+    "fixture/CreateSnapshotCopyGrantResponse"+    (Proxy :: Proxy CreateSnapshotCopyGrant)++testCopyClusterSnapshotResponse :: CopyClusterSnapshotResponse -> TestTree+testCopyClusterSnapshotResponse = res+    "CopyClusterSnapshotResponse"+    "fixture/CopyClusterSnapshotResponse"+    (Proxy :: Proxy CopyClusterSnapshot)++testDescribeClusterVersionsResponse :: DescribeClusterVersionsResponse -> TestTree+testDescribeClusterVersionsResponse = res+    "DescribeClusterVersionsResponse"+    "fixture/DescribeClusterVersionsResponse"+    (Proxy :: Proxy DescribeClusterVersions)++testModifyClusterSubnetGroupResponse :: ModifyClusterSubnetGroupResponse -> TestTree+testModifyClusterSubnetGroupResponse = res+    "ModifyClusterSubnetGroupResponse"+    "fixture/ModifyClusterSubnetGroupResponse"+    (Proxy :: Proxy ModifyClusterSubnetGroup)++testDeleteSnapshotCopyGrantResponse :: DeleteSnapshotCopyGrantResponse -> TestTree+testDeleteSnapshotCopyGrantResponse = res+    "DeleteSnapshotCopyGrantResponse"+    "fixture/DeleteSnapshotCopyGrantResponse"+    (Proxy :: Proxy DeleteSnapshotCopyGrant)++testDescribeSnapshotCopyGrantsResponse :: DescribeSnapshotCopyGrantsResponse -> TestTree+testDescribeSnapshotCopyGrantsResponse = res+    "DescribeSnapshotCopyGrantsResponse"+    "fixture/DescribeSnapshotCopyGrantsResponse"+    (Proxy :: Proxy DescribeSnapshotCopyGrants)++testRotateEncryptionKeyResponse :: RotateEncryptionKeyResponse -> TestTree+testRotateEncryptionKeyResponse = res+    "RotateEncryptionKeyResponse"+    "fixture/RotateEncryptionKeyResponse"+    (Proxy :: Proxy RotateEncryptionKey)
+ test/Test/AWS/Redshift.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE OverloadedStrings #-}++-- Module      : Test.AWS.Redshift+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.Redshift+    ( tests+    , fixtures+    ) where++import           Network.AWS.Redshift+import           Test.AWS.Gen.Redshift+import           Test.Tasty++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/Redshift/Internal.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module      : Test.AWS.Redshift.Internal+-- Copyright   : (c) 2013-2015 Brendan Hay+-- License     : This Source Code Form is subject to the terms of+--               the Mozilla Public License, v. 2.0.+--               A copy of the MPL can be found in the LICENSE file or+--               you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.Redshift.Internal where++import Test.AWS.Prelude