{-# 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.CloudFront.Types.ViewerCertificate where
import Amazonka.CloudFront.Types.CertificateSource
import Amazonka.CloudFront.Types.MinimumProtocolVersion
import Amazonka.CloudFront.Types.SSLSupportMethod
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 ViewerCertificate = ViewerCertificate'
{
ViewerCertificate -> Maybe Text
aCMCertificateArn :: Prelude.Maybe Prelude.Text,
ViewerCertificate -> Maybe Text
certificate :: Prelude.Maybe Prelude.Text,
ViewerCertificate -> Maybe CertificateSource
certificateSource :: Prelude.Maybe CertificateSource,
ViewerCertificate -> Maybe Bool
cloudFrontDefaultCertificate :: Prelude.Maybe Prelude.Bool,
ViewerCertificate -> Maybe Text
iAMCertificateId :: Prelude.Maybe Prelude.Text,
ViewerCertificate -> Maybe MinimumProtocolVersion
minimumProtocolVersion :: Prelude.Maybe MinimumProtocolVersion,
ViewerCertificate -> Maybe SSLSupportMethod
sSLSupportMethod :: Prelude.Maybe SSLSupportMethod
}
deriving (ViewerCertificate -> ViewerCertificate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ViewerCertificate -> ViewerCertificate -> Bool
$c/= :: ViewerCertificate -> ViewerCertificate -> Bool
== :: ViewerCertificate -> ViewerCertificate -> Bool
$c== :: ViewerCertificate -> ViewerCertificate -> Bool
Prelude.Eq, ReadPrec [ViewerCertificate]
ReadPrec ViewerCertificate
Int -> ReadS ViewerCertificate
ReadS [ViewerCertificate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ViewerCertificate]
$creadListPrec :: ReadPrec [ViewerCertificate]
readPrec :: ReadPrec ViewerCertificate
$creadPrec :: ReadPrec ViewerCertificate
readList :: ReadS [ViewerCertificate]
$creadList :: ReadS [ViewerCertificate]
readsPrec :: Int -> ReadS ViewerCertificate
$creadsPrec :: Int -> ReadS ViewerCertificate
Prelude.Read, Int -> ViewerCertificate -> ShowS
[ViewerCertificate] -> ShowS
ViewerCertificate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ViewerCertificate] -> ShowS
$cshowList :: [ViewerCertificate] -> ShowS
show :: ViewerCertificate -> String
$cshow :: ViewerCertificate -> String
showsPrec :: Int -> ViewerCertificate -> ShowS
$cshowsPrec :: Int -> ViewerCertificate -> ShowS
Prelude.Show, forall x. Rep ViewerCertificate x -> ViewerCertificate
forall x. ViewerCertificate -> Rep ViewerCertificate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ViewerCertificate x -> ViewerCertificate
$cfrom :: forall x. ViewerCertificate -> Rep ViewerCertificate x
Prelude.Generic)
newViewerCertificate ::
ViewerCertificate
newViewerCertificate :: ViewerCertificate
newViewerCertificate =
ViewerCertificate'
{ $sel:aCMCertificateArn:ViewerCertificate' :: Maybe Text
aCMCertificateArn =
forall a. Maybe a
Prelude.Nothing,
$sel:certificate:ViewerCertificate' :: Maybe Text
certificate = forall a. Maybe a
Prelude.Nothing,
$sel:certificateSource:ViewerCertificate' :: Maybe CertificateSource
certificateSource = forall a. Maybe a
Prelude.Nothing,
$sel:cloudFrontDefaultCertificate:ViewerCertificate' :: Maybe Bool
cloudFrontDefaultCertificate = forall a. Maybe a
Prelude.Nothing,
$sel:iAMCertificateId:ViewerCertificate' :: Maybe Text
iAMCertificateId = forall a. Maybe a
Prelude.Nothing,
$sel:minimumProtocolVersion:ViewerCertificate' :: Maybe MinimumProtocolVersion
minimumProtocolVersion = forall a. Maybe a
Prelude.Nothing,
$sel:sSLSupportMethod:ViewerCertificate' :: Maybe SSLSupportMethod
sSLSupportMethod = forall a. Maybe a
Prelude.Nothing
}
viewerCertificate_aCMCertificateArn :: Lens.Lens' ViewerCertificate (Prelude.Maybe Prelude.Text)
viewerCertificate_aCMCertificateArn :: Lens' ViewerCertificate (Maybe Text)
viewerCertificate_aCMCertificateArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ViewerCertificate' {Maybe Text
aCMCertificateArn :: Maybe Text
$sel:aCMCertificateArn:ViewerCertificate' :: ViewerCertificate -> Maybe Text
aCMCertificateArn} -> Maybe Text
aCMCertificateArn) (\s :: ViewerCertificate
s@ViewerCertificate' {} Maybe Text
a -> ViewerCertificate
s {$sel:aCMCertificateArn:ViewerCertificate' :: Maybe Text
aCMCertificateArn = Maybe Text
a} :: ViewerCertificate)
viewerCertificate_certificate :: Lens.Lens' ViewerCertificate (Prelude.Maybe Prelude.Text)
viewerCertificate_certificate :: Lens' ViewerCertificate (Maybe Text)
viewerCertificate_certificate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ViewerCertificate' {Maybe Text
certificate :: Maybe Text
$sel:certificate:ViewerCertificate' :: ViewerCertificate -> Maybe Text
certificate} -> Maybe Text
certificate) (\s :: ViewerCertificate
s@ViewerCertificate' {} Maybe Text
a -> ViewerCertificate
s {$sel:certificate:ViewerCertificate' :: Maybe Text
certificate = Maybe Text
a} :: ViewerCertificate)
viewerCertificate_certificateSource :: Lens.Lens' ViewerCertificate (Prelude.Maybe CertificateSource)
viewerCertificate_certificateSource :: Lens' ViewerCertificate (Maybe CertificateSource)
viewerCertificate_certificateSource = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ViewerCertificate' {Maybe CertificateSource
certificateSource :: Maybe CertificateSource
$sel:certificateSource:ViewerCertificate' :: ViewerCertificate -> Maybe CertificateSource
certificateSource} -> Maybe CertificateSource
certificateSource) (\s :: ViewerCertificate
s@ViewerCertificate' {} Maybe CertificateSource
a -> ViewerCertificate
s {$sel:certificateSource:ViewerCertificate' :: Maybe CertificateSource
certificateSource = Maybe CertificateSource
a} :: ViewerCertificate)
viewerCertificate_cloudFrontDefaultCertificate :: Lens.Lens' ViewerCertificate (Prelude.Maybe Prelude.Bool)
viewerCertificate_cloudFrontDefaultCertificate :: Lens' ViewerCertificate (Maybe Bool)
viewerCertificate_cloudFrontDefaultCertificate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ViewerCertificate' {Maybe Bool
cloudFrontDefaultCertificate :: Maybe Bool
$sel:cloudFrontDefaultCertificate:ViewerCertificate' :: ViewerCertificate -> Maybe Bool
cloudFrontDefaultCertificate} -> Maybe Bool
cloudFrontDefaultCertificate) (\s :: ViewerCertificate
s@ViewerCertificate' {} Maybe Bool
a -> ViewerCertificate
s {$sel:cloudFrontDefaultCertificate:ViewerCertificate' :: Maybe Bool
cloudFrontDefaultCertificate = Maybe Bool
a} :: ViewerCertificate)
viewerCertificate_iAMCertificateId :: Lens.Lens' ViewerCertificate (Prelude.Maybe Prelude.Text)
viewerCertificate_iAMCertificateId :: Lens' ViewerCertificate (Maybe Text)
viewerCertificate_iAMCertificateId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ViewerCertificate' {Maybe Text
iAMCertificateId :: Maybe Text
$sel:iAMCertificateId:ViewerCertificate' :: ViewerCertificate -> Maybe Text
iAMCertificateId} -> Maybe Text
iAMCertificateId) (\s :: ViewerCertificate
s@ViewerCertificate' {} Maybe Text
a -> ViewerCertificate
s {$sel:iAMCertificateId:ViewerCertificate' :: Maybe Text
iAMCertificateId = Maybe Text
a} :: ViewerCertificate)
viewerCertificate_minimumProtocolVersion :: Lens.Lens' ViewerCertificate (Prelude.Maybe MinimumProtocolVersion)
viewerCertificate_minimumProtocolVersion :: Lens' ViewerCertificate (Maybe MinimumProtocolVersion)
viewerCertificate_minimumProtocolVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ViewerCertificate' {Maybe MinimumProtocolVersion
minimumProtocolVersion :: Maybe MinimumProtocolVersion
$sel:minimumProtocolVersion:ViewerCertificate' :: ViewerCertificate -> Maybe MinimumProtocolVersion
minimumProtocolVersion} -> Maybe MinimumProtocolVersion
minimumProtocolVersion) (\s :: ViewerCertificate
s@ViewerCertificate' {} Maybe MinimumProtocolVersion
a -> ViewerCertificate
s {$sel:minimumProtocolVersion:ViewerCertificate' :: Maybe MinimumProtocolVersion
minimumProtocolVersion = Maybe MinimumProtocolVersion
a} :: ViewerCertificate)
viewerCertificate_sSLSupportMethod :: Lens.Lens' ViewerCertificate (Prelude.Maybe SSLSupportMethod)
viewerCertificate_sSLSupportMethod :: Lens' ViewerCertificate (Maybe SSLSupportMethod)
viewerCertificate_sSLSupportMethod = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ViewerCertificate' {Maybe SSLSupportMethod
sSLSupportMethod :: Maybe SSLSupportMethod
$sel:sSLSupportMethod:ViewerCertificate' :: ViewerCertificate -> Maybe SSLSupportMethod
sSLSupportMethod} -> Maybe SSLSupportMethod
sSLSupportMethod) (\s :: ViewerCertificate
s@ViewerCertificate' {} Maybe SSLSupportMethod
a -> ViewerCertificate
s {$sel:sSLSupportMethod:ViewerCertificate' :: Maybe SSLSupportMethod
sSLSupportMethod = Maybe SSLSupportMethod
a} :: ViewerCertificate)
instance Data.FromXML ViewerCertificate where
parseXML :: [Node] -> Either String ViewerCertificate
parseXML [Node]
x =
Maybe Text
-> Maybe Text
-> Maybe CertificateSource
-> Maybe Bool
-> Maybe Text
-> Maybe MinimumProtocolVersion
-> Maybe SSLSupportMethod
-> ViewerCertificate
ViewerCertificate'
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
"ACMCertificateArn")
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
"Certificate")
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
"CertificateSource")
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
"CloudFrontDefaultCertificate")
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
"IAMCertificateId")
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
"MinimumProtocolVersion")
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
"SSLSupportMethod")
instance Prelude.Hashable ViewerCertificate where
hashWithSalt :: Int -> ViewerCertificate -> Int
hashWithSalt Int
_salt ViewerCertificate' {Maybe Bool
Maybe Text
Maybe CertificateSource
Maybe MinimumProtocolVersion
Maybe SSLSupportMethod
sSLSupportMethod :: Maybe SSLSupportMethod
minimumProtocolVersion :: Maybe MinimumProtocolVersion
iAMCertificateId :: Maybe Text
cloudFrontDefaultCertificate :: Maybe Bool
certificateSource :: Maybe CertificateSource
certificate :: Maybe Text
aCMCertificateArn :: Maybe Text
$sel:sSLSupportMethod:ViewerCertificate' :: ViewerCertificate -> Maybe SSLSupportMethod
$sel:minimumProtocolVersion:ViewerCertificate' :: ViewerCertificate -> Maybe MinimumProtocolVersion
$sel:iAMCertificateId:ViewerCertificate' :: ViewerCertificate -> Maybe Text
$sel:cloudFrontDefaultCertificate:ViewerCertificate' :: ViewerCertificate -> Maybe Bool
$sel:certificateSource:ViewerCertificate' :: ViewerCertificate -> Maybe CertificateSource
$sel:certificate:ViewerCertificate' :: ViewerCertificate -> Maybe Text
$sel:aCMCertificateArn:ViewerCertificate' :: ViewerCertificate -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
aCMCertificateArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
certificate
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CertificateSource
certificateSource
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
cloudFrontDefaultCertificate
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
iAMCertificateId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MinimumProtocolVersion
minimumProtocolVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SSLSupportMethod
sSLSupportMethod
instance Prelude.NFData ViewerCertificate where
rnf :: ViewerCertificate -> ()
rnf ViewerCertificate' {Maybe Bool
Maybe Text
Maybe CertificateSource
Maybe MinimumProtocolVersion
Maybe SSLSupportMethod
sSLSupportMethod :: Maybe SSLSupportMethod
minimumProtocolVersion :: Maybe MinimumProtocolVersion
iAMCertificateId :: Maybe Text
cloudFrontDefaultCertificate :: Maybe Bool
certificateSource :: Maybe CertificateSource
certificate :: Maybe Text
aCMCertificateArn :: Maybe Text
$sel:sSLSupportMethod:ViewerCertificate' :: ViewerCertificate -> Maybe SSLSupportMethod
$sel:minimumProtocolVersion:ViewerCertificate' :: ViewerCertificate -> Maybe MinimumProtocolVersion
$sel:iAMCertificateId:ViewerCertificate' :: ViewerCertificate -> Maybe Text
$sel:cloudFrontDefaultCertificate:ViewerCertificate' :: ViewerCertificate -> Maybe Bool
$sel:certificateSource:ViewerCertificate' :: ViewerCertificate -> Maybe CertificateSource
$sel:certificate:ViewerCertificate' :: ViewerCertificate -> Maybe Text
$sel:aCMCertificateArn:ViewerCertificate' :: ViewerCertificate -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
aCMCertificateArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
certificate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe CertificateSource
certificateSource
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
cloudFrontDefaultCertificate
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
iAMCertificateId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MinimumProtocolVersion
minimumProtocolVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SSLSupportMethod
sSLSupportMethod
instance Data.ToXML ViewerCertificate where
toXML :: ViewerCertificate -> XML
toXML ViewerCertificate' {Maybe Bool
Maybe Text
Maybe CertificateSource
Maybe MinimumProtocolVersion
Maybe SSLSupportMethod
sSLSupportMethod :: Maybe SSLSupportMethod
minimumProtocolVersion :: Maybe MinimumProtocolVersion
iAMCertificateId :: Maybe Text
cloudFrontDefaultCertificate :: Maybe Bool
certificateSource :: Maybe CertificateSource
certificate :: Maybe Text
aCMCertificateArn :: Maybe Text
$sel:sSLSupportMethod:ViewerCertificate' :: ViewerCertificate -> Maybe SSLSupportMethod
$sel:minimumProtocolVersion:ViewerCertificate' :: ViewerCertificate -> Maybe MinimumProtocolVersion
$sel:iAMCertificateId:ViewerCertificate' :: ViewerCertificate -> Maybe Text
$sel:cloudFrontDefaultCertificate:ViewerCertificate' :: ViewerCertificate -> Maybe Bool
$sel:certificateSource:ViewerCertificate' :: ViewerCertificate -> Maybe CertificateSource
$sel:certificate:ViewerCertificate' :: ViewerCertificate -> Maybe Text
$sel:aCMCertificateArn:ViewerCertificate' :: ViewerCertificate -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ Name
"ACMCertificateArn" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe Text
aCMCertificateArn,
Name
"Certificate" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe Text
certificate,
Name
"CertificateSource" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe CertificateSource
certificateSource,
Name
"CloudFrontDefaultCertificate"
forall a. ToXML a => Name -> a -> XML
Data.@= Maybe Bool
cloudFrontDefaultCertificate,
Name
"IAMCertificateId" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe Text
iAMCertificateId,
Name
"MinimumProtocolVersion"
forall a. ToXML a => Name -> a -> XML
Data.@= Maybe MinimumProtocolVersion
minimumProtocolVersion,
Name
"SSLSupportMethod" forall a. ToXML a => Name -> a -> XML
Data.@= Maybe SSLSupportMethod
sSLSupportMethod
]