{-# 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.AWSHealth.Types.OrganizationEvent where
import Amazonka.AWSHealth.Types.EventScopeCode
import Amazonka.AWSHealth.Types.EventStatusCode
import Amazonka.AWSHealth.Types.EventTypeCategory
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 OrganizationEvent = OrganizationEvent'
{
OrganizationEvent -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
OrganizationEvent -> Maybe POSIX
endTime :: Prelude.Maybe Data.POSIX,
OrganizationEvent -> Maybe EventScopeCode
eventScopeCode :: Prelude.Maybe EventScopeCode,
OrganizationEvent -> Maybe EventTypeCategory
eventTypeCategory :: Prelude.Maybe EventTypeCategory,
OrganizationEvent -> Maybe Text
eventTypeCode :: Prelude.Maybe Prelude.Text,
OrganizationEvent -> Maybe POSIX
lastUpdatedTime :: Prelude.Maybe Data.POSIX,
OrganizationEvent -> Maybe Text
region :: Prelude.Maybe Prelude.Text,
OrganizationEvent -> Maybe Text
service :: Prelude.Maybe Prelude.Text,
OrganizationEvent -> Maybe POSIX
startTime :: Prelude.Maybe Data.POSIX,
OrganizationEvent -> Maybe EventStatusCode
statusCode :: Prelude.Maybe EventStatusCode
}
deriving (OrganizationEvent -> OrganizationEvent -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OrganizationEvent -> OrganizationEvent -> Bool
$c/= :: OrganizationEvent -> OrganizationEvent -> Bool
== :: OrganizationEvent -> OrganizationEvent -> Bool
$c== :: OrganizationEvent -> OrganizationEvent -> Bool
Prelude.Eq, ReadPrec [OrganizationEvent]
ReadPrec OrganizationEvent
Int -> ReadS OrganizationEvent
ReadS [OrganizationEvent]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [OrganizationEvent]
$creadListPrec :: ReadPrec [OrganizationEvent]
readPrec :: ReadPrec OrganizationEvent
$creadPrec :: ReadPrec OrganizationEvent
readList :: ReadS [OrganizationEvent]
$creadList :: ReadS [OrganizationEvent]
readsPrec :: Int -> ReadS OrganizationEvent
$creadsPrec :: Int -> ReadS OrganizationEvent
Prelude.Read, Int -> OrganizationEvent -> ShowS
[OrganizationEvent] -> ShowS
OrganizationEvent -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OrganizationEvent] -> ShowS
$cshowList :: [OrganizationEvent] -> ShowS
show :: OrganizationEvent -> String
$cshow :: OrganizationEvent -> String
showsPrec :: Int -> OrganizationEvent -> ShowS
$cshowsPrec :: Int -> OrganizationEvent -> ShowS
Prelude.Show, forall x. Rep OrganizationEvent x -> OrganizationEvent
forall x. OrganizationEvent -> Rep OrganizationEvent x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep OrganizationEvent x -> OrganizationEvent
$cfrom :: forall x. OrganizationEvent -> Rep OrganizationEvent x
Prelude.Generic)
newOrganizationEvent ::
OrganizationEvent
newOrganizationEvent :: OrganizationEvent
newOrganizationEvent =
OrganizationEvent'
{ $sel:arn:OrganizationEvent' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
$sel:endTime:OrganizationEvent' :: Maybe POSIX
endTime = forall a. Maybe a
Prelude.Nothing,
$sel:eventScopeCode:OrganizationEvent' :: Maybe EventScopeCode
eventScopeCode = forall a. Maybe a
Prelude.Nothing,
$sel:eventTypeCategory:OrganizationEvent' :: Maybe EventTypeCategory
eventTypeCategory = forall a. Maybe a
Prelude.Nothing,
$sel:eventTypeCode:OrganizationEvent' :: Maybe Text
eventTypeCode = forall a. Maybe a
Prelude.Nothing,
$sel:lastUpdatedTime:OrganizationEvent' :: Maybe POSIX
lastUpdatedTime = forall a. Maybe a
Prelude.Nothing,
$sel:region:OrganizationEvent' :: Maybe Text
region = forall a. Maybe a
Prelude.Nothing,
$sel:service:OrganizationEvent' :: Maybe Text
service = forall a. Maybe a
Prelude.Nothing,
$sel:startTime:OrganizationEvent' :: Maybe POSIX
startTime = forall a. Maybe a
Prelude.Nothing,
$sel:statusCode:OrganizationEvent' :: Maybe EventStatusCode
statusCode = forall a. Maybe a
Prelude.Nothing
}
organizationEvent_arn :: Lens.Lens' OrganizationEvent (Prelude.Maybe Prelude.Text)
organizationEvent_arn :: Lens' OrganizationEvent (Maybe Text)
organizationEvent_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe Text
arn :: Maybe Text
$sel:arn:OrganizationEvent' :: OrganizationEvent -> Maybe Text
arn} -> Maybe Text
arn) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe Text
a -> OrganizationEvent
s {$sel:arn:OrganizationEvent' :: Maybe Text
arn = Maybe Text
a} :: OrganizationEvent)
organizationEvent_endTime :: Lens.Lens' OrganizationEvent (Prelude.Maybe Prelude.UTCTime)
organizationEvent_endTime :: Lens' OrganizationEvent (Maybe UTCTime)
organizationEvent_endTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe POSIX
endTime :: Maybe POSIX
$sel:endTime:OrganizationEvent' :: OrganizationEvent -> Maybe POSIX
endTime} -> Maybe POSIX
endTime) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe POSIX
a -> OrganizationEvent
s {$sel:endTime:OrganizationEvent' :: Maybe POSIX
endTime = Maybe POSIX
a} :: OrganizationEvent) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
organizationEvent_eventScopeCode :: Lens.Lens' OrganizationEvent (Prelude.Maybe EventScopeCode)
organizationEvent_eventScopeCode :: Lens' OrganizationEvent (Maybe EventScopeCode)
organizationEvent_eventScopeCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe EventScopeCode
eventScopeCode :: Maybe EventScopeCode
$sel:eventScopeCode:OrganizationEvent' :: OrganizationEvent -> Maybe EventScopeCode
eventScopeCode} -> Maybe EventScopeCode
eventScopeCode) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe EventScopeCode
a -> OrganizationEvent
s {$sel:eventScopeCode:OrganizationEvent' :: Maybe EventScopeCode
eventScopeCode = Maybe EventScopeCode
a} :: OrganizationEvent)
organizationEvent_eventTypeCategory :: Lens.Lens' OrganizationEvent (Prelude.Maybe EventTypeCategory)
organizationEvent_eventTypeCategory :: Lens' OrganizationEvent (Maybe EventTypeCategory)
organizationEvent_eventTypeCategory = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe EventTypeCategory
eventTypeCategory :: Maybe EventTypeCategory
$sel:eventTypeCategory:OrganizationEvent' :: OrganizationEvent -> Maybe EventTypeCategory
eventTypeCategory} -> Maybe EventTypeCategory
eventTypeCategory) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe EventTypeCategory
a -> OrganizationEvent
s {$sel:eventTypeCategory:OrganizationEvent' :: Maybe EventTypeCategory
eventTypeCategory = Maybe EventTypeCategory
a} :: OrganizationEvent)
organizationEvent_eventTypeCode :: Lens.Lens' OrganizationEvent (Prelude.Maybe Prelude.Text)
organizationEvent_eventTypeCode :: Lens' OrganizationEvent (Maybe Text)
organizationEvent_eventTypeCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe Text
eventTypeCode :: Maybe Text
$sel:eventTypeCode:OrganizationEvent' :: OrganizationEvent -> Maybe Text
eventTypeCode} -> Maybe Text
eventTypeCode) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe Text
a -> OrganizationEvent
s {$sel:eventTypeCode:OrganizationEvent' :: Maybe Text
eventTypeCode = Maybe Text
a} :: OrganizationEvent)
organizationEvent_lastUpdatedTime :: Lens.Lens' OrganizationEvent (Prelude.Maybe Prelude.UTCTime)
organizationEvent_lastUpdatedTime :: Lens' OrganizationEvent (Maybe UTCTime)
organizationEvent_lastUpdatedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe POSIX
lastUpdatedTime :: Maybe POSIX
$sel:lastUpdatedTime:OrganizationEvent' :: OrganizationEvent -> Maybe POSIX
lastUpdatedTime} -> Maybe POSIX
lastUpdatedTime) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe POSIX
a -> OrganizationEvent
s {$sel:lastUpdatedTime:OrganizationEvent' :: Maybe POSIX
lastUpdatedTime = Maybe POSIX
a} :: OrganizationEvent) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
organizationEvent_region :: Lens.Lens' OrganizationEvent (Prelude.Maybe Prelude.Text)
organizationEvent_region :: Lens' OrganizationEvent (Maybe Text)
organizationEvent_region = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe Text
region :: Maybe Text
$sel:region:OrganizationEvent' :: OrganizationEvent -> Maybe Text
region} -> Maybe Text
region) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe Text
a -> OrganizationEvent
s {$sel:region:OrganizationEvent' :: Maybe Text
region = Maybe Text
a} :: OrganizationEvent)
organizationEvent_service :: Lens.Lens' OrganizationEvent (Prelude.Maybe Prelude.Text)
organizationEvent_service :: Lens' OrganizationEvent (Maybe Text)
organizationEvent_service = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe Text
service :: Maybe Text
$sel:service:OrganizationEvent' :: OrganizationEvent -> Maybe Text
service} -> Maybe Text
service) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe Text
a -> OrganizationEvent
s {$sel:service:OrganizationEvent' :: Maybe Text
service = Maybe Text
a} :: OrganizationEvent)
organizationEvent_startTime :: Lens.Lens' OrganizationEvent (Prelude.Maybe Prelude.UTCTime)
organizationEvent_startTime :: Lens' OrganizationEvent (Maybe UTCTime)
organizationEvent_startTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe POSIX
startTime :: Maybe POSIX
$sel:startTime:OrganizationEvent' :: OrganizationEvent -> Maybe POSIX
startTime} -> Maybe POSIX
startTime) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe POSIX
a -> OrganizationEvent
s {$sel:startTime:OrganizationEvent' :: Maybe POSIX
startTime = Maybe POSIX
a} :: OrganizationEvent) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
organizationEvent_statusCode :: Lens.Lens' OrganizationEvent (Prelude.Maybe EventStatusCode)
organizationEvent_statusCode :: Lens' OrganizationEvent (Maybe EventStatusCode)
organizationEvent_statusCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OrganizationEvent' {Maybe EventStatusCode
statusCode :: Maybe EventStatusCode
$sel:statusCode:OrganizationEvent' :: OrganizationEvent -> Maybe EventStatusCode
statusCode} -> Maybe EventStatusCode
statusCode) (\s :: OrganizationEvent
s@OrganizationEvent' {} Maybe EventStatusCode
a -> OrganizationEvent
s {$sel:statusCode:OrganizationEvent' :: Maybe EventStatusCode
statusCode = Maybe EventStatusCode
a} :: OrganizationEvent)
instance Data.FromJSON OrganizationEvent where
parseJSON :: Value -> Parser OrganizationEvent
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"OrganizationEvent"
( \Object
x ->
Maybe Text
-> Maybe POSIX
-> Maybe EventScopeCode
-> Maybe EventTypeCategory
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe EventStatusCode
-> OrganizationEvent
OrganizationEvent'
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
"arn")
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
"endTime")
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
"eventScopeCode")
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
"eventTypeCategory")
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
"eventTypeCode")
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
"lastUpdatedTime")
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
"region")
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
"service")
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
"startTime")
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
"statusCode")
)
instance Prelude.Hashable OrganizationEvent where
hashWithSalt :: Int -> OrganizationEvent -> Int
hashWithSalt Int
_salt OrganizationEvent' {Maybe Text
Maybe POSIX
Maybe EventScopeCode
Maybe EventStatusCode
Maybe EventTypeCategory
statusCode :: Maybe EventStatusCode
startTime :: Maybe POSIX
service :: Maybe Text
region :: Maybe Text
lastUpdatedTime :: Maybe POSIX
eventTypeCode :: Maybe Text
eventTypeCategory :: Maybe EventTypeCategory
eventScopeCode :: Maybe EventScopeCode
endTime :: Maybe POSIX
arn :: Maybe Text
$sel:statusCode:OrganizationEvent' :: OrganizationEvent -> Maybe EventStatusCode
$sel:startTime:OrganizationEvent' :: OrganizationEvent -> Maybe POSIX
$sel:service:OrganizationEvent' :: OrganizationEvent -> Maybe Text
$sel:region:OrganizationEvent' :: OrganizationEvent -> Maybe Text
$sel:lastUpdatedTime:OrganizationEvent' :: OrganizationEvent -> Maybe POSIX
$sel:eventTypeCode:OrganizationEvent' :: OrganizationEvent -> Maybe Text
$sel:eventTypeCategory:OrganizationEvent' :: OrganizationEvent -> Maybe EventTypeCategory
$sel:eventScopeCode:OrganizationEvent' :: OrganizationEvent -> Maybe EventScopeCode
$sel:endTime:OrganizationEvent' :: OrganizationEvent -> Maybe POSIX
$sel:arn:OrganizationEvent' :: OrganizationEvent -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
arn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
endTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EventScopeCode
eventScopeCode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EventTypeCategory
eventTypeCategory
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
eventTypeCode
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
lastUpdatedTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
region
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
service
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
startTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EventStatusCode
statusCode
instance Prelude.NFData OrganizationEvent where
rnf :: OrganizationEvent -> ()
rnf OrganizationEvent' {Maybe Text
Maybe POSIX
Maybe EventScopeCode
Maybe EventStatusCode
Maybe EventTypeCategory
statusCode :: Maybe EventStatusCode
startTime :: Maybe POSIX
service :: Maybe Text
region :: Maybe Text
lastUpdatedTime :: Maybe POSIX
eventTypeCode :: Maybe Text
eventTypeCategory :: Maybe EventTypeCategory
eventScopeCode :: Maybe EventScopeCode
endTime :: Maybe POSIX
arn :: Maybe Text
$sel:statusCode:OrganizationEvent' :: OrganizationEvent -> Maybe EventStatusCode
$sel:startTime:OrganizationEvent' :: OrganizationEvent -> Maybe POSIX
$sel:service:OrganizationEvent' :: OrganizationEvent -> Maybe Text
$sel:region:OrganizationEvent' :: OrganizationEvent -> Maybe Text
$sel:lastUpdatedTime:OrganizationEvent' :: OrganizationEvent -> Maybe POSIX
$sel:eventTypeCode:OrganizationEvent' :: OrganizationEvent -> Maybe Text
$sel:eventTypeCategory:OrganizationEvent' :: OrganizationEvent -> Maybe EventTypeCategory
$sel:eventScopeCode:OrganizationEvent' :: OrganizationEvent -> Maybe EventScopeCode
$sel:endTime:OrganizationEvent' :: OrganizationEvent -> Maybe POSIX
$sel:arn:OrganizationEvent' :: OrganizationEvent -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
endTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EventScopeCode
eventScopeCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EventTypeCategory
eventTypeCategory
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
eventTypeCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
region
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
service
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
startTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EventStatusCode
statusCode