{-# 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.ELB.Types.Policies where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.ELB.Internal
import Amazonka.ELB.Types.AppCookieStickinessPolicy
import Amazonka.ELB.Types.LBCookieStickinessPolicy
import qualified Amazonka.Prelude as Prelude
data Policies = Policies'
{
Policies -> Maybe [AppCookieStickinessPolicy]
appCookieStickinessPolicies :: Prelude.Maybe [AppCookieStickinessPolicy],
Policies -> Maybe [LBCookieStickinessPolicy]
lBCookieStickinessPolicies :: Prelude.Maybe [LBCookieStickinessPolicy],
Policies -> Maybe [Text]
otherPolicies :: Prelude.Maybe [Prelude.Text]
}
deriving (Policies -> Policies -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Policies -> Policies -> Bool
$c/= :: Policies -> Policies -> Bool
== :: Policies -> Policies -> Bool
$c== :: Policies -> Policies -> Bool
Prelude.Eq, ReadPrec [Policies]
ReadPrec Policies
Int -> ReadS Policies
ReadS [Policies]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Policies]
$creadListPrec :: ReadPrec [Policies]
readPrec :: ReadPrec Policies
$creadPrec :: ReadPrec Policies
readList :: ReadS [Policies]
$creadList :: ReadS [Policies]
readsPrec :: Int -> ReadS Policies
$creadsPrec :: Int -> ReadS Policies
Prelude.Read, Int -> Policies -> ShowS
[Policies] -> ShowS
Policies -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Policies] -> ShowS
$cshowList :: [Policies] -> ShowS
show :: Policies -> String
$cshow :: Policies -> String
showsPrec :: Int -> Policies -> ShowS
$cshowsPrec :: Int -> Policies -> ShowS
Prelude.Show, forall x. Rep Policies x -> Policies
forall x. Policies -> Rep Policies x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Policies x -> Policies
$cfrom :: forall x. Policies -> Rep Policies x
Prelude.Generic)
newPolicies ::
Policies
newPolicies :: Policies
newPolicies =
Policies'
{ $sel:appCookieStickinessPolicies:Policies' :: Maybe [AppCookieStickinessPolicy]
appCookieStickinessPolicies =
forall a. Maybe a
Prelude.Nothing,
$sel:lBCookieStickinessPolicies:Policies' :: Maybe [LBCookieStickinessPolicy]
lBCookieStickinessPolicies = forall a. Maybe a
Prelude.Nothing,
$sel:otherPolicies:Policies' :: Maybe [Text]
otherPolicies = forall a. Maybe a
Prelude.Nothing
}
policies_appCookieStickinessPolicies :: Lens.Lens' Policies (Prelude.Maybe [AppCookieStickinessPolicy])
policies_appCookieStickinessPolicies :: Lens' Policies (Maybe [AppCookieStickinessPolicy])
policies_appCookieStickinessPolicies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Policies' {Maybe [AppCookieStickinessPolicy]
appCookieStickinessPolicies :: Maybe [AppCookieStickinessPolicy]
$sel:appCookieStickinessPolicies:Policies' :: Policies -> Maybe [AppCookieStickinessPolicy]
appCookieStickinessPolicies} -> Maybe [AppCookieStickinessPolicy]
appCookieStickinessPolicies) (\s :: Policies
s@Policies' {} Maybe [AppCookieStickinessPolicy]
a -> Policies
s {$sel:appCookieStickinessPolicies:Policies' :: Maybe [AppCookieStickinessPolicy]
appCookieStickinessPolicies = Maybe [AppCookieStickinessPolicy]
a} :: Policies) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
policies_lBCookieStickinessPolicies :: Lens.Lens' Policies (Prelude.Maybe [LBCookieStickinessPolicy])
policies_lBCookieStickinessPolicies :: Lens' Policies (Maybe [LBCookieStickinessPolicy])
policies_lBCookieStickinessPolicies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Policies' {Maybe [LBCookieStickinessPolicy]
lBCookieStickinessPolicies :: Maybe [LBCookieStickinessPolicy]
$sel:lBCookieStickinessPolicies:Policies' :: Policies -> Maybe [LBCookieStickinessPolicy]
lBCookieStickinessPolicies} -> Maybe [LBCookieStickinessPolicy]
lBCookieStickinessPolicies) (\s :: Policies
s@Policies' {} Maybe [LBCookieStickinessPolicy]
a -> Policies
s {$sel:lBCookieStickinessPolicies:Policies' :: Maybe [LBCookieStickinessPolicy]
lBCookieStickinessPolicies = Maybe [LBCookieStickinessPolicy]
a} :: Policies) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
policies_otherPolicies :: Lens.Lens' Policies (Prelude.Maybe [Prelude.Text])
policies_otherPolicies :: Lens' Policies (Maybe [Text])
policies_otherPolicies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Policies' {Maybe [Text]
otherPolicies :: Maybe [Text]
$sel:otherPolicies:Policies' :: Policies -> Maybe [Text]
otherPolicies} -> Maybe [Text]
otherPolicies) (\s :: Policies
s@Policies' {} Maybe [Text]
a -> Policies
s {$sel:otherPolicies:Policies' :: Maybe [Text]
otherPolicies = Maybe [Text]
a} :: Policies) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Data.FromXML Policies where
parseXML :: [Node] -> Either String Policies
parseXML [Node]
x =
Maybe [AppCookieStickinessPolicy]
-> Maybe [LBCookieStickinessPolicy] -> Maybe [Text] -> Policies
Policies'
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
"AppCookieStickinessPolicies"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
)
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
"LBCookieStickinessPolicies"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
)
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
"OtherPolicies"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (forall a. FromXML a => Text -> [Node] -> Either String [a]
Data.parseXMLList Text
"member")
)
instance Prelude.Hashable Policies where
hashWithSalt :: Int -> Policies -> Int
hashWithSalt Int
_salt Policies' {Maybe [Text]
Maybe [AppCookieStickinessPolicy]
Maybe [LBCookieStickinessPolicy]
otherPolicies :: Maybe [Text]
lBCookieStickinessPolicies :: Maybe [LBCookieStickinessPolicy]
appCookieStickinessPolicies :: Maybe [AppCookieStickinessPolicy]
$sel:otherPolicies:Policies' :: Policies -> Maybe [Text]
$sel:lBCookieStickinessPolicies:Policies' :: Policies -> Maybe [LBCookieStickinessPolicy]
$sel:appCookieStickinessPolicies:Policies' :: Policies -> Maybe [AppCookieStickinessPolicy]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [AppCookieStickinessPolicy]
appCookieStickinessPolicies
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [LBCookieStickinessPolicy]
lBCookieStickinessPolicies
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
otherPolicies
instance Prelude.NFData Policies where
rnf :: Policies -> ()
rnf Policies' {Maybe [Text]
Maybe [AppCookieStickinessPolicy]
Maybe [LBCookieStickinessPolicy]
otherPolicies :: Maybe [Text]
lBCookieStickinessPolicies :: Maybe [LBCookieStickinessPolicy]
appCookieStickinessPolicies :: Maybe [AppCookieStickinessPolicy]
$sel:otherPolicies:Policies' :: Policies -> Maybe [Text]
$sel:lBCookieStickinessPolicies:Policies' :: Policies -> Maybe [LBCookieStickinessPolicy]
$sel:appCookieStickinessPolicies:Policies' :: Policies -> Maybe [AppCookieStickinessPolicy]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [AppCookieStickinessPolicy]
appCookieStickinessPolicies
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [LBCookieStickinessPolicy]
lBCookieStickinessPolicies
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
otherPolicies