{-# 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.CertificateManager.Types.RenewalSummary where
import Amazonka.CertificateManager.Types.DomainValidation
import Amazonka.CertificateManager.Types.FailureReason
import Amazonka.CertificateManager.Types.RenewalStatus
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 RenewalSummary = RenewalSummary'
{
RenewalSummary -> Maybe FailureReason
renewalStatusReason :: Prelude.Maybe FailureReason,
RenewalSummary -> RenewalStatus
renewalStatus :: RenewalStatus,
RenewalSummary -> NonEmpty DomainValidation
domainValidationOptions :: Prelude.NonEmpty DomainValidation,
RenewalSummary -> POSIX
updatedAt :: Data.POSIX
}
deriving (RenewalSummary -> RenewalSummary -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RenewalSummary -> RenewalSummary -> Bool
$c/= :: RenewalSummary -> RenewalSummary -> Bool
== :: RenewalSummary -> RenewalSummary -> Bool
$c== :: RenewalSummary -> RenewalSummary -> Bool
Prelude.Eq, ReadPrec [RenewalSummary]
ReadPrec RenewalSummary
Int -> ReadS RenewalSummary
ReadS [RenewalSummary]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RenewalSummary]
$creadListPrec :: ReadPrec [RenewalSummary]
readPrec :: ReadPrec RenewalSummary
$creadPrec :: ReadPrec RenewalSummary
readList :: ReadS [RenewalSummary]
$creadList :: ReadS [RenewalSummary]
readsPrec :: Int -> ReadS RenewalSummary
$creadsPrec :: Int -> ReadS RenewalSummary
Prelude.Read, Int -> RenewalSummary -> ShowS
[RenewalSummary] -> ShowS
RenewalSummary -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RenewalSummary] -> ShowS
$cshowList :: [RenewalSummary] -> ShowS
show :: RenewalSummary -> String
$cshow :: RenewalSummary -> String
showsPrec :: Int -> RenewalSummary -> ShowS
$cshowsPrec :: Int -> RenewalSummary -> ShowS
Prelude.Show, forall x. Rep RenewalSummary x -> RenewalSummary
forall x. RenewalSummary -> Rep RenewalSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RenewalSummary x -> RenewalSummary
$cfrom :: forall x. RenewalSummary -> Rep RenewalSummary x
Prelude.Generic)
newRenewalSummary ::
RenewalStatus ->
Prelude.NonEmpty DomainValidation ->
Prelude.UTCTime ->
RenewalSummary
newRenewalSummary :: RenewalStatus
-> NonEmpty DomainValidation -> UTCTime -> RenewalSummary
newRenewalSummary
RenewalStatus
pRenewalStatus_
NonEmpty DomainValidation
pDomainValidationOptions_
UTCTime
pUpdatedAt_ =
RenewalSummary'
{ $sel:renewalStatusReason:RenewalSummary' :: Maybe FailureReason
renewalStatusReason =
forall a. Maybe a
Prelude.Nothing,
$sel:renewalStatus:RenewalSummary' :: RenewalStatus
renewalStatus = RenewalStatus
pRenewalStatus_,
$sel:domainValidationOptions:RenewalSummary' :: NonEmpty DomainValidation
domainValidationOptions =
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty DomainValidation
pDomainValidationOptions_,
$sel:updatedAt:RenewalSummary' :: POSIX
updatedAt = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pUpdatedAt_
}
renewalSummary_renewalStatusReason :: Lens.Lens' RenewalSummary (Prelude.Maybe FailureReason)
renewalSummary_renewalStatusReason :: Lens' RenewalSummary (Maybe FailureReason)
renewalSummary_renewalStatusReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RenewalSummary' {Maybe FailureReason
renewalStatusReason :: Maybe FailureReason
$sel:renewalStatusReason:RenewalSummary' :: RenewalSummary -> Maybe FailureReason
renewalStatusReason} -> Maybe FailureReason
renewalStatusReason) (\s :: RenewalSummary
s@RenewalSummary' {} Maybe FailureReason
a -> RenewalSummary
s {$sel:renewalStatusReason:RenewalSummary' :: Maybe FailureReason
renewalStatusReason = Maybe FailureReason
a} :: RenewalSummary)
renewalSummary_renewalStatus :: Lens.Lens' RenewalSummary RenewalStatus
renewalSummary_renewalStatus :: Lens' RenewalSummary RenewalStatus
renewalSummary_renewalStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RenewalSummary' {RenewalStatus
renewalStatus :: RenewalStatus
$sel:renewalStatus:RenewalSummary' :: RenewalSummary -> RenewalStatus
renewalStatus} -> RenewalStatus
renewalStatus) (\s :: RenewalSummary
s@RenewalSummary' {} RenewalStatus
a -> RenewalSummary
s {$sel:renewalStatus:RenewalSummary' :: RenewalStatus
renewalStatus = RenewalStatus
a} :: RenewalSummary)
renewalSummary_domainValidationOptions :: Lens.Lens' RenewalSummary (Prelude.NonEmpty DomainValidation)
renewalSummary_domainValidationOptions :: Lens' RenewalSummary (NonEmpty DomainValidation)
renewalSummary_domainValidationOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RenewalSummary' {NonEmpty DomainValidation
domainValidationOptions :: NonEmpty DomainValidation
$sel:domainValidationOptions:RenewalSummary' :: RenewalSummary -> NonEmpty DomainValidation
domainValidationOptions} -> NonEmpty DomainValidation
domainValidationOptions) (\s :: RenewalSummary
s@RenewalSummary' {} NonEmpty DomainValidation
a -> RenewalSummary
s {$sel:domainValidationOptions:RenewalSummary' :: NonEmpty DomainValidation
domainValidationOptions = NonEmpty DomainValidation
a} :: RenewalSummary) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
renewalSummary_updatedAt :: Lens.Lens' RenewalSummary Prelude.UTCTime
renewalSummary_updatedAt :: Lens' RenewalSummary UTCTime
renewalSummary_updatedAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RenewalSummary' {POSIX
updatedAt :: POSIX
$sel:updatedAt:RenewalSummary' :: RenewalSummary -> POSIX
updatedAt} -> POSIX
updatedAt) (\s :: RenewalSummary
s@RenewalSummary' {} POSIX
a -> RenewalSummary
s {$sel:updatedAt:RenewalSummary' :: POSIX
updatedAt = POSIX
a} :: RenewalSummary) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
instance Data.FromJSON RenewalSummary where
parseJSON :: Value -> Parser RenewalSummary
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"RenewalSummary"
( \Object
x ->
Maybe FailureReason
-> RenewalStatus
-> NonEmpty DomainValidation
-> POSIX
-> RenewalSummary
RenewalSummary'
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
"RenewalStatusReason")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"RenewalStatus")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"DomainValidationOptions")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser a
Data..: Key
"UpdatedAt")
)
instance Prelude.Hashable RenewalSummary where
hashWithSalt :: Int -> RenewalSummary -> Int
hashWithSalt Int
_salt RenewalSummary' {Maybe FailureReason
NonEmpty DomainValidation
POSIX
RenewalStatus
updatedAt :: POSIX
domainValidationOptions :: NonEmpty DomainValidation
renewalStatus :: RenewalStatus
renewalStatusReason :: Maybe FailureReason
$sel:updatedAt:RenewalSummary' :: RenewalSummary -> POSIX
$sel:domainValidationOptions:RenewalSummary' :: RenewalSummary -> NonEmpty DomainValidation
$sel:renewalStatus:RenewalSummary' :: RenewalSummary -> RenewalStatus
$sel:renewalStatusReason:RenewalSummary' :: RenewalSummary -> Maybe FailureReason
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FailureReason
renewalStatusReason
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` RenewalStatus
renewalStatus
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty DomainValidation
domainValidationOptions
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` POSIX
updatedAt
instance Prelude.NFData RenewalSummary where
rnf :: RenewalSummary -> ()
rnf RenewalSummary' {Maybe FailureReason
NonEmpty DomainValidation
POSIX
RenewalStatus
updatedAt :: POSIX
domainValidationOptions :: NonEmpty DomainValidation
renewalStatus :: RenewalStatus
renewalStatusReason :: Maybe FailureReason
$sel:updatedAt:RenewalSummary' :: RenewalSummary -> POSIX
$sel:domainValidationOptions:RenewalSummary' :: RenewalSummary -> NonEmpty DomainValidation
$sel:renewalStatus:RenewalSummary' :: RenewalSummary -> RenewalStatus
$sel:renewalStatusReason:RenewalSummary' :: RenewalSummary -> Maybe FailureReason
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe FailureReason
renewalStatusReason
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf RenewalStatus
renewalStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty DomainValidation
domainValidationOptions
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
updatedAt