{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Amazonka.Redshift.Types.AquaConfiguration where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.Redshift.Internal
import Amazonka.Redshift.Types.AquaConfigurationStatus
import Amazonka.Redshift.Types.AquaStatus
data AquaConfiguration = AquaConfiguration'
{
AquaConfiguration -> Maybe AquaConfigurationStatus
aquaConfigurationStatus :: Prelude.Maybe AquaConfigurationStatus,
AquaConfiguration -> Maybe AquaStatus
aquaStatus :: Prelude.Maybe AquaStatus
}
deriving (AquaConfiguration -> AquaConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AquaConfiguration -> AquaConfiguration -> Bool
$c/= :: AquaConfiguration -> AquaConfiguration -> Bool
== :: AquaConfiguration -> AquaConfiguration -> Bool
$c== :: AquaConfiguration -> AquaConfiguration -> Bool
Prelude.Eq, ReadPrec [AquaConfiguration]
ReadPrec AquaConfiguration
Int -> ReadS AquaConfiguration
ReadS [AquaConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AquaConfiguration]
$creadListPrec :: ReadPrec [AquaConfiguration]
readPrec :: ReadPrec AquaConfiguration
$creadPrec :: ReadPrec AquaConfiguration
readList :: ReadS [AquaConfiguration]
$creadList :: ReadS [AquaConfiguration]
readsPrec :: Int -> ReadS AquaConfiguration
$creadsPrec :: Int -> ReadS AquaConfiguration
Prelude.Read, Int -> AquaConfiguration -> ShowS
[AquaConfiguration] -> ShowS
AquaConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AquaConfiguration] -> ShowS
$cshowList :: [AquaConfiguration] -> ShowS
show :: AquaConfiguration -> String
$cshow :: AquaConfiguration -> String
showsPrec :: Int -> AquaConfiguration -> ShowS
$cshowsPrec :: Int -> AquaConfiguration -> ShowS
Prelude.Show, forall x. Rep AquaConfiguration x -> AquaConfiguration
forall x. AquaConfiguration -> Rep AquaConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AquaConfiguration x -> AquaConfiguration
$cfrom :: forall x. AquaConfiguration -> Rep AquaConfiguration x
Prelude.Generic)
newAquaConfiguration ::
AquaConfiguration
newAquaConfiguration :: AquaConfiguration
newAquaConfiguration =
AquaConfiguration'
{ $sel:aquaConfigurationStatus:AquaConfiguration' :: Maybe AquaConfigurationStatus
aquaConfigurationStatus =
forall a. Maybe a
Prelude.Nothing,
$sel:aquaStatus:AquaConfiguration' :: Maybe AquaStatus
aquaStatus = forall a. Maybe a
Prelude.Nothing
}
aquaConfiguration_aquaConfigurationStatus :: Lens.Lens' AquaConfiguration (Prelude.Maybe AquaConfigurationStatus)
aquaConfiguration_aquaConfigurationStatus :: Lens' AquaConfiguration (Maybe AquaConfigurationStatus)
aquaConfiguration_aquaConfigurationStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AquaConfiguration' {Maybe AquaConfigurationStatus
aquaConfigurationStatus :: Maybe AquaConfigurationStatus
$sel:aquaConfigurationStatus:AquaConfiguration' :: AquaConfiguration -> Maybe AquaConfigurationStatus
aquaConfigurationStatus} -> Maybe AquaConfigurationStatus
aquaConfigurationStatus) (\s :: AquaConfiguration
s@AquaConfiguration' {} Maybe AquaConfigurationStatus
a -> AquaConfiguration
s {$sel:aquaConfigurationStatus:AquaConfiguration' :: Maybe AquaConfigurationStatus
aquaConfigurationStatus = Maybe AquaConfigurationStatus
a} :: AquaConfiguration)
aquaConfiguration_aquaStatus :: Lens.Lens' AquaConfiguration (Prelude.Maybe AquaStatus)
aquaConfiguration_aquaStatus :: Lens' AquaConfiguration (Maybe AquaStatus)
aquaConfiguration_aquaStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AquaConfiguration' {Maybe AquaStatus
aquaStatus :: Maybe AquaStatus
$sel:aquaStatus:AquaConfiguration' :: AquaConfiguration -> Maybe AquaStatus
aquaStatus} -> Maybe AquaStatus
aquaStatus) (\s :: AquaConfiguration
s@AquaConfiguration' {} Maybe AquaStatus
a -> AquaConfiguration
s {$sel:aquaStatus:AquaConfiguration' :: Maybe AquaStatus
aquaStatus = Maybe AquaStatus
a} :: AquaConfiguration)
instance Data.FromXML AquaConfiguration where
parseXML :: [Node] -> Either String AquaConfiguration
parseXML [Node]
x =
Maybe AquaConfigurationStatus
-> Maybe AquaStatus -> AquaConfiguration
AquaConfiguration'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AquaConfigurationStatus")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"AquaStatus")
instance Prelude.Hashable AquaConfiguration where
hashWithSalt :: Int -> AquaConfiguration -> Int
hashWithSalt Int
_salt AquaConfiguration' {Maybe AquaConfigurationStatus
Maybe AquaStatus
aquaStatus :: Maybe AquaStatus
aquaConfigurationStatus :: Maybe AquaConfigurationStatus
$sel:aquaStatus:AquaConfiguration' :: AquaConfiguration -> Maybe AquaStatus
$sel:aquaConfigurationStatus:AquaConfiguration' :: AquaConfiguration -> Maybe AquaConfigurationStatus
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AquaConfigurationStatus
aquaConfigurationStatus
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe AquaStatus
aquaStatus
instance Prelude.NFData AquaConfiguration where
rnf :: AquaConfiguration -> ()
rnf AquaConfiguration' {Maybe AquaConfigurationStatus
Maybe AquaStatus
aquaStatus :: Maybe AquaStatus
aquaConfigurationStatus :: Maybe AquaConfigurationStatus
$sel:aquaStatus:AquaConfiguration' :: AquaConfiguration -> Maybe AquaStatus
$sel:aquaConfigurationStatus:AquaConfiguration' :: AquaConfiguration -> Maybe AquaConfigurationStatus
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe AquaConfigurationStatus
aquaConfigurationStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe AquaStatus
aquaStatus