{-# 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.AppMesh.Types.ListenerTlsCertificate where
import Amazonka.AppMesh.Types.ListenerTlsAcmCertificate
import Amazonka.AppMesh.Types.ListenerTlsFileCertificate
import Amazonka.AppMesh.Types.ListenerTlsSdsCertificate
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
data ListenerTlsCertificate = ListenerTlsCertificate'
{
ListenerTlsCertificate -> Maybe ListenerTlsAcmCertificate
acm :: Prelude.Maybe ListenerTlsAcmCertificate,
ListenerTlsCertificate -> Maybe ListenerTlsFileCertificate
file :: Prelude.Maybe ListenerTlsFileCertificate,
ListenerTlsCertificate -> Maybe ListenerTlsSdsCertificate
sds :: Prelude.Maybe ListenerTlsSdsCertificate
}
deriving (ListenerTlsCertificate -> ListenerTlsCertificate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListenerTlsCertificate -> ListenerTlsCertificate -> Bool
$c/= :: ListenerTlsCertificate -> ListenerTlsCertificate -> Bool
== :: ListenerTlsCertificate -> ListenerTlsCertificate -> Bool
$c== :: ListenerTlsCertificate -> ListenerTlsCertificate -> Bool
Prelude.Eq, ReadPrec [ListenerTlsCertificate]
ReadPrec ListenerTlsCertificate
Int -> ReadS ListenerTlsCertificate
ReadS [ListenerTlsCertificate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListenerTlsCertificate]
$creadListPrec :: ReadPrec [ListenerTlsCertificate]
readPrec :: ReadPrec ListenerTlsCertificate
$creadPrec :: ReadPrec ListenerTlsCertificate
readList :: ReadS [ListenerTlsCertificate]
$creadList :: ReadS [ListenerTlsCertificate]
readsPrec :: Int -> ReadS ListenerTlsCertificate
$creadsPrec :: Int -> ReadS ListenerTlsCertificate
Prelude.Read, Int -> ListenerTlsCertificate -> ShowS
[ListenerTlsCertificate] -> ShowS
ListenerTlsCertificate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListenerTlsCertificate] -> ShowS
$cshowList :: [ListenerTlsCertificate] -> ShowS
show :: ListenerTlsCertificate -> String
$cshow :: ListenerTlsCertificate -> String
showsPrec :: Int -> ListenerTlsCertificate -> ShowS
$cshowsPrec :: Int -> ListenerTlsCertificate -> ShowS
Prelude.Show, forall x. Rep ListenerTlsCertificate x -> ListenerTlsCertificate
forall x. ListenerTlsCertificate -> Rep ListenerTlsCertificate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListenerTlsCertificate x -> ListenerTlsCertificate
$cfrom :: forall x. ListenerTlsCertificate -> Rep ListenerTlsCertificate x
Prelude.Generic)
newListenerTlsCertificate ::
ListenerTlsCertificate
newListenerTlsCertificate :: ListenerTlsCertificate
newListenerTlsCertificate =
ListenerTlsCertificate'
{ $sel:acm:ListenerTlsCertificate' :: Maybe ListenerTlsAcmCertificate
acm = forall a. Maybe a
Prelude.Nothing,
$sel:file:ListenerTlsCertificate' :: Maybe ListenerTlsFileCertificate
file = forall a. Maybe a
Prelude.Nothing,
$sel:sds:ListenerTlsCertificate' :: Maybe ListenerTlsSdsCertificate
sds = forall a. Maybe a
Prelude.Nothing
}
listenerTlsCertificate_acm :: Lens.Lens' ListenerTlsCertificate (Prelude.Maybe ListenerTlsAcmCertificate)
listenerTlsCertificate_acm :: Lens' ListenerTlsCertificate (Maybe ListenerTlsAcmCertificate)
listenerTlsCertificate_acm = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListenerTlsCertificate' {Maybe ListenerTlsAcmCertificate
acm :: Maybe ListenerTlsAcmCertificate
$sel:acm:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsAcmCertificate
acm} -> Maybe ListenerTlsAcmCertificate
acm) (\s :: ListenerTlsCertificate
s@ListenerTlsCertificate' {} Maybe ListenerTlsAcmCertificate
a -> ListenerTlsCertificate
s {$sel:acm:ListenerTlsCertificate' :: Maybe ListenerTlsAcmCertificate
acm = Maybe ListenerTlsAcmCertificate
a} :: ListenerTlsCertificate)
listenerTlsCertificate_file :: Lens.Lens' ListenerTlsCertificate (Prelude.Maybe ListenerTlsFileCertificate)
listenerTlsCertificate_file :: Lens' ListenerTlsCertificate (Maybe ListenerTlsFileCertificate)
listenerTlsCertificate_file = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListenerTlsCertificate' {Maybe ListenerTlsFileCertificate
file :: Maybe ListenerTlsFileCertificate
$sel:file:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsFileCertificate
file} -> Maybe ListenerTlsFileCertificate
file) (\s :: ListenerTlsCertificate
s@ListenerTlsCertificate' {} Maybe ListenerTlsFileCertificate
a -> ListenerTlsCertificate
s {$sel:file:ListenerTlsCertificate' :: Maybe ListenerTlsFileCertificate
file = Maybe ListenerTlsFileCertificate
a} :: ListenerTlsCertificate)
listenerTlsCertificate_sds :: Lens.Lens' ListenerTlsCertificate (Prelude.Maybe ListenerTlsSdsCertificate)
listenerTlsCertificate_sds :: Lens' ListenerTlsCertificate (Maybe ListenerTlsSdsCertificate)
listenerTlsCertificate_sds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListenerTlsCertificate' {Maybe ListenerTlsSdsCertificate
sds :: Maybe ListenerTlsSdsCertificate
$sel:sds:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsSdsCertificate
sds} -> Maybe ListenerTlsSdsCertificate
sds) (\s :: ListenerTlsCertificate
s@ListenerTlsCertificate' {} Maybe ListenerTlsSdsCertificate
a -> ListenerTlsCertificate
s {$sel:sds:ListenerTlsCertificate' :: Maybe ListenerTlsSdsCertificate
sds = Maybe ListenerTlsSdsCertificate
a} :: ListenerTlsCertificate)
instance Data.FromJSON ListenerTlsCertificate where
parseJSON :: Value -> Parser ListenerTlsCertificate
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"ListenerTlsCertificate"
( \Object
x ->
Maybe ListenerTlsAcmCertificate
-> Maybe ListenerTlsFileCertificate
-> Maybe ListenerTlsSdsCertificate
-> ListenerTlsCertificate
ListenerTlsCertificate'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"acm")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"file")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"sds")
)
instance Prelude.Hashable ListenerTlsCertificate where
hashWithSalt :: Int -> ListenerTlsCertificate -> Int
hashWithSalt Int
_salt ListenerTlsCertificate' {Maybe ListenerTlsAcmCertificate
Maybe ListenerTlsFileCertificate
Maybe ListenerTlsSdsCertificate
sds :: Maybe ListenerTlsSdsCertificate
file :: Maybe ListenerTlsFileCertificate
acm :: Maybe ListenerTlsAcmCertificate
$sel:sds:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsSdsCertificate
$sel:file:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsFileCertificate
$sel:acm:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsAcmCertificate
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ListenerTlsAcmCertificate
acm
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ListenerTlsFileCertificate
file
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ListenerTlsSdsCertificate
sds
instance Prelude.NFData ListenerTlsCertificate where
rnf :: ListenerTlsCertificate -> ()
rnf ListenerTlsCertificate' {Maybe ListenerTlsAcmCertificate
Maybe ListenerTlsFileCertificate
Maybe ListenerTlsSdsCertificate
sds :: Maybe ListenerTlsSdsCertificate
file :: Maybe ListenerTlsFileCertificate
acm :: Maybe ListenerTlsAcmCertificate
$sel:sds:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsSdsCertificate
$sel:file:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsFileCertificate
$sel:acm:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsAcmCertificate
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ListenerTlsAcmCertificate
acm
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ListenerTlsFileCertificate
file
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ListenerTlsSdsCertificate
sds
instance Data.ToJSON ListenerTlsCertificate where
toJSON :: ListenerTlsCertificate -> Value
toJSON ListenerTlsCertificate' {Maybe ListenerTlsAcmCertificate
Maybe ListenerTlsFileCertificate
Maybe ListenerTlsSdsCertificate
sds :: Maybe ListenerTlsSdsCertificate
file :: Maybe ListenerTlsFileCertificate
acm :: Maybe ListenerTlsAcmCertificate
$sel:sds:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsSdsCertificate
$sel:file:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsFileCertificate
$sel:acm:ListenerTlsCertificate' :: ListenerTlsCertificate -> Maybe ListenerTlsAcmCertificate
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"acm" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ListenerTlsAcmCertificate
acm,
(Key
"file" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ListenerTlsFileCertificate
file,
(Key
"sds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ListenerTlsSdsCertificate
sds
]
)