{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.SSM.Types.OpsItemRelatedItemSummary
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SSM.Types.OpsItemRelatedItemSummary where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SSM.Types.OpsItemIdentity

-- | Summary information about related-item resources for an OpsItem.
--
-- /See:/ 'newOpsItemRelatedItemSummary' smart constructor.
data OpsItemRelatedItemSummary = OpsItemRelatedItemSummary'
  { -- | The association ID.
    OpsItemRelatedItemSummary -> Maybe Text
associationId :: Prelude.Maybe Prelude.Text,
    -- | The OpsItem ID.
    OpsItemRelatedItemSummary -> Maybe Text
opsItemId :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the related-item resource.
    OpsItemRelatedItemSummary -> Maybe Text
resourceUri :: Prelude.Maybe Prelude.Text,
    -- | The resource type.
    OpsItemRelatedItemSummary -> Maybe Text
resourceType :: Prelude.Maybe Prelude.Text,
    -- | The time the related-item association was created.
    OpsItemRelatedItemSummary -> Maybe POSIX
createdTime :: Prelude.Maybe Core.POSIX,
    OpsItemRelatedItemSummary -> Maybe OpsItemIdentity
createdBy :: Prelude.Maybe OpsItemIdentity,
    -- | The time the related-item association was last updated.
    OpsItemRelatedItemSummary -> Maybe POSIX
lastModifiedTime :: Prelude.Maybe Core.POSIX,
    -- | The association type.
    OpsItemRelatedItemSummary -> Maybe Text
associationType :: Prelude.Maybe Prelude.Text,
    OpsItemRelatedItemSummary -> Maybe OpsItemIdentity
lastModifiedBy :: Prelude.Maybe OpsItemIdentity
  }
  deriving (OpsItemRelatedItemSummary -> OpsItemRelatedItemSummary -> Bool
(OpsItemRelatedItemSummary -> OpsItemRelatedItemSummary -> Bool)
-> (OpsItemRelatedItemSummary -> OpsItemRelatedItemSummary -> Bool)
-> Eq OpsItemRelatedItemSummary
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OpsItemRelatedItemSummary -> OpsItemRelatedItemSummary -> Bool
$c/= :: OpsItemRelatedItemSummary -> OpsItemRelatedItemSummary -> Bool
== :: OpsItemRelatedItemSummary -> OpsItemRelatedItemSummary -> Bool
$c== :: OpsItemRelatedItemSummary -> OpsItemRelatedItemSummary -> Bool
Prelude.Eq, ReadPrec [OpsItemRelatedItemSummary]
ReadPrec OpsItemRelatedItemSummary
Int -> ReadS OpsItemRelatedItemSummary
ReadS [OpsItemRelatedItemSummary]
(Int -> ReadS OpsItemRelatedItemSummary)
-> ReadS [OpsItemRelatedItemSummary]
-> ReadPrec OpsItemRelatedItemSummary
-> ReadPrec [OpsItemRelatedItemSummary]
-> Read OpsItemRelatedItemSummary
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [OpsItemRelatedItemSummary]
$creadListPrec :: ReadPrec [OpsItemRelatedItemSummary]
readPrec :: ReadPrec OpsItemRelatedItemSummary
$creadPrec :: ReadPrec OpsItemRelatedItemSummary
readList :: ReadS [OpsItemRelatedItemSummary]
$creadList :: ReadS [OpsItemRelatedItemSummary]
readsPrec :: Int -> ReadS OpsItemRelatedItemSummary
$creadsPrec :: Int -> ReadS OpsItemRelatedItemSummary
Prelude.Read, Int -> OpsItemRelatedItemSummary -> ShowS
[OpsItemRelatedItemSummary] -> ShowS
OpsItemRelatedItemSummary -> String
(Int -> OpsItemRelatedItemSummary -> ShowS)
-> (OpsItemRelatedItemSummary -> String)
-> ([OpsItemRelatedItemSummary] -> ShowS)
-> Show OpsItemRelatedItemSummary
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OpsItemRelatedItemSummary] -> ShowS
$cshowList :: [OpsItemRelatedItemSummary] -> ShowS
show :: OpsItemRelatedItemSummary -> String
$cshow :: OpsItemRelatedItemSummary -> String
showsPrec :: Int -> OpsItemRelatedItemSummary -> ShowS
$cshowsPrec :: Int -> OpsItemRelatedItemSummary -> ShowS
Prelude.Show, (forall x.
 OpsItemRelatedItemSummary -> Rep OpsItemRelatedItemSummary x)
-> (forall x.
    Rep OpsItemRelatedItemSummary x -> OpsItemRelatedItemSummary)
-> Generic OpsItemRelatedItemSummary
forall x.
Rep OpsItemRelatedItemSummary x -> OpsItemRelatedItemSummary
forall x.
OpsItemRelatedItemSummary -> Rep OpsItemRelatedItemSummary x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep OpsItemRelatedItemSummary x -> OpsItemRelatedItemSummary
$cfrom :: forall x.
OpsItemRelatedItemSummary -> Rep OpsItemRelatedItemSummary x
Prelude.Generic)

-- |
-- Create a value of 'OpsItemRelatedItemSummary' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'associationId', 'opsItemRelatedItemSummary_associationId' - The association ID.
--
-- 'opsItemId', 'opsItemRelatedItemSummary_opsItemId' - The OpsItem ID.
--
-- 'resourceUri', 'opsItemRelatedItemSummary_resourceUri' - The Amazon Resource Name (ARN) of the related-item resource.
--
-- 'resourceType', 'opsItemRelatedItemSummary_resourceType' - The resource type.
--
-- 'createdTime', 'opsItemRelatedItemSummary_createdTime' - The time the related-item association was created.
--
-- 'createdBy', 'opsItemRelatedItemSummary_createdBy' - Undocumented member.
--
-- 'lastModifiedTime', 'opsItemRelatedItemSummary_lastModifiedTime' - The time the related-item association was last updated.
--
-- 'associationType', 'opsItemRelatedItemSummary_associationType' - The association type.
--
-- 'lastModifiedBy', 'opsItemRelatedItemSummary_lastModifiedBy' - Undocumented member.
newOpsItemRelatedItemSummary ::
  OpsItemRelatedItemSummary
newOpsItemRelatedItemSummary :: OpsItemRelatedItemSummary
newOpsItemRelatedItemSummary =
  OpsItemRelatedItemSummary' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe OpsItemIdentity
-> Maybe POSIX
-> Maybe Text
-> Maybe OpsItemIdentity
-> OpsItemRelatedItemSummary
OpsItemRelatedItemSummary'
    { $sel:associationId:OpsItemRelatedItemSummary' :: Maybe Text
associationId =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:opsItemId:OpsItemRelatedItemSummary' :: Maybe Text
opsItemId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:resourceUri:OpsItemRelatedItemSummary' :: Maybe Text
resourceUri = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:resourceType:OpsItemRelatedItemSummary' :: Maybe Text
resourceType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:createdTime:OpsItemRelatedItemSummary' :: Maybe POSIX
createdTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:createdBy:OpsItemRelatedItemSummary' :: Maybe OpsItemIdentity
createdBy = Maybe OpsItemIdentity
forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedTime:OpsItemRelatedItemSummary' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:associationType:OpsItemRelatedItemSummary' :: Maybe Text
associationType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedBy:OpsItemRelatedItemSummary' :: Maybe OpsItemIdentity
lastModifiedBy = Maybe OpsItemIdentity
forall a. Maybe a
Prelude.Nothing
    }

-- | The association ID.
opsItemRelatedItemSummary_associationId :: Lens.Lens' OpsItemRelatedItemSummary (Prelude.Maybe Prelude.Text)
opsItemRelatedItemSummary_associationId :: (Maybe Text -> f (Maybe Text))
-> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary
opsItemRelatedItemSummary_associationId = (OpsItemRelatedItemSummary -> Maybe Text)
-> (OpsItemRelatedItemSummary
    -> Maybe Text -> OpsItemRelatedItemSummary)
-> Lens
     OpsItemRelatedItemSummary
     OpsItemRelatedItemSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OpsItemRelatedItemSummary' {Maybe Text
associationId :: Maybe Text
$sel:associationId:OpsItemRelatedItemSummary' :: OpsItemRelatedItemSummary -> Maybe Text
associationId} -> Maybe Text
associationId) (\s :: OpsItemRelatedItemSummary
s@OpsItemRelatedItemSummary' {} Maybe Text
a -> OpsItemRelatedItemSummary
s {$sel:associationId:OpsItemRelatedItemSummary' :: Maybe Text
associationId = Maybe Text
a} :: OpsItemRelatedItemSummary)

-- | The OpsItem ID.
opsItemRelatedItemSummary_opsItemId :: Lens.Lens' OpsItemRelatedItemSummary (Prelude.Maybe Prelude.Text)
opsItemRelatedItemSummary_opsItemId :: (Maybe Text -> f (Maybe Text))
-> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary
opsItemRelatedItemSummary_opsItemId = (OpsItemRelatedItemSummary -> Maybe Text)
-> (OpsItemRelatedItemSummary
    -> Maybe Text -> OpsItemRelatedItemSummary)
-> Lens
     OpsItemRelatedItemSummary
     OpsItemRelatedItemSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OpsItemRelatedItemSummary' {Maybe Text
opsItemId :: Maybe Text
$sel:opsItemId:OpsItemRelatedItemSummary' :: OpsItemRelatedItemSummary -> Maybe Text
opsItemId} -> Maybe Text
opsItemId) (\s :: OpsItemRelatedItemSummary
s@OpsItemRelatedItemSummary' {} Maybe Text
a -> OpsItemRelatedItemSummary
s {$sel:opsItemId:OpsItemRelatedItemSummary' :: Maybe Text
opsItemId = Maybe Text
a} :: OpsItemRelatedItemSummary)

-- | The Amazon Resource Name (ARN) of the related-item resource.
opsItemRelatedItemSummary_resourceUri :: Lens.Lens' OpsItemRelatedItemSummary (Prelude.Maybe Prelude.Text)
opsItemRelatedItemSummary_resourceUri :: (Maybe Text -> f (Maybe Text))
-> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary
opsItemRelatedItemSummary_resourceUri = (OpsItemRelatedItemSummary -> Maybe Text)
-> (OpsItemRelatedItemSummary
    -> Maybe Text -> OpsItemRelatedItemSummary)
-> Lens
     OpsItemRelatedItemSummary
     OpsItemRelatedItemSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OpsItemRelatedItemSummary' {Maybe Text
resourceUri :: Maybe Text
$sel:resourceUri:OpsItemRelatedItemSummary' :: OpsItemRelatedItemSummary -> Maybe Text
resourceUri} -> Maybe Text
resourceUri) (\s :: OpsItemRelatedItemSummary
s@OpsItemRelatedItemSummary' {} Maybe Text
a -> OpsItemRelatedItemSummary
s {$sel:resourceUri:OpsItemRelatedItemSummary' :: Maybe Text
resourceUri = Maybe Text
a} :: OpsItemRelatedItemSummary)

-- | The resource type.
opsItemRelatedItemSummary_resourceType :: Lens.Lens' OpsItemRelatedItemSummary (Prelude.Maybe Prelude.Text)
opsItemRelatedItemSummary_resourceType :: (Maybe Text -> f (Maybe Text))
-> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary
opsItemRelatedItemSummary_resourceType = (OpsItemRelatedItemSummary -> Maybe Text)
-> (OpsItemRelatedItemSummary
    -> Maybe Text -> OpsItemRelatedItemSummary)
-> Lens
     OpsItemRelatedItemSummary
     OpsItemRelatedItemSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OpsItemRelatedItemSummary' {Maybe Text
resourceType :: Maybe Text
$sel:resourceType:OpsItemRelatedItemSummary' :: OpsItemRelatedItemSummary -> Maybe Text
resourceType} -> Maybe Text
resourceType) (\s :: OpsItemRelatedItemSummary
s@OpsItemRelatedItemSummary' {} Maybe Text
a -> OpsItemRelatedItemSummary
s {$sel:resourceType:OpsItemRelatedItemSummary' :: Maybe Text
resourceType = Maybe Text
a} :: OpsItemRelatedItemSummary)

-- | The time the related-item association was created.
opsItemRelatedItemSummary_createdTime :: Lens.Lens' OpsItemRelatedItemSummary (Prelude.Maybe Prelude.UTCTime)
opsItemRelatedItemSummary_createdTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary
opsItemRelatedItemSummary_createdTime = (OpsItemRelatedItemSummary -> Maybe POSIX)
-> (OpsItemRelatedItemSummary
    -> Maybe POSIX -> OpsItemRelatedItemSummary)
-> Lens
     OpsItemRelatedItemSummary
     OpsItemRelatedItemSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OpsItemRelatedItemSummary' {Maybe POSIX
createdTime :: Maybe POSIX
$sel:createdTime:OpsItemRelatedItemSummary' :: OpsItemRelatedItemSummary -> Maybe POSIX
createdTime} -> Maybe POSIX
createdTime) (\s :: OpsItemRelatedItemSummary
s@OpsItemRelatedItemSummary' {} Maybe POSIX
a -> OpsItemRelatedItemSummary
s {$sel:createdTime:OpsItemRelatedItemSummary' :: Maybe POSIX
createdTime = Maybe POSIX
a} :: OpsItemRelatedItemSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> OpsItemRelatedItemSummary
-> f OpsItemRelatedItemSummary
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | Undocumented member.
opsItemRelatedItemSummary_createdBy :: Lens.Lens' OpsItemRelatedItemSummary (Prelude.Maybe OpsItemIdentity)
opsItemRelatedItemSummary_createdBy :: (Maybe OpsItemIdentity -> f (Maybe OpsItemIdentity))
-> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary
opsItemRelatedItemSummary_createdBy = (OpsItemRelatedItemSummary -> Maybe OpsItemIdentity)
-> (OpsItemRelatedItemSummary
    -> Maybe OpsItemIdentity -> OpsItemRelatedItemSummary)
-> Lens
     OpsItemRelatedItemSummary
     OpsItemRelatedItemSummary
     (Maybe OpsItemIdentity)
     (Maybe OpsItemIdentity)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OpsItemRelatedItemSummary' {Maybe OpsItemIdentity
createdBy :: Maybe OpsItemIdentity
$sel:createdBy:OpsItemRelatedItemSummary' :: OpsItemRelatedItemSummary -> Maybe OpsItemIdentity
createdBy} -> Maybe OpsItemIdentity
createdBy) (\s :: OpsItemRelatedItemSummary
s@OpsItemRelatedItemSummary' {} Maybe OpsItemIdentity
a -> OpsItemRelatedItemSummary
s {$sel:createdBy:OpsItemRelatedItemSummary' :: Maybe OpsItemIdentity
createdBy = Maybe OpsItemIdentity
a} :: OpsItemRelatedItemSummary)

-- | The time the related-item association was last updated.
opsItemRelatedItemSummary_lastModifiedTime :: Lens.Lens' OpsItemRelatedItemSummary (Prelude.Maybe Prelude.UTCTime)
opsItemRelatedItemSummary_lastModifiedTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary
opsItemRelatedItemSummary_lastModifiedTime = (OpsItemRelatedItemSummary -> Maybe POSIX)
-> (OpsItemRelatedItemSummary
    -> Maybe POSIX -> OpsItemRelatedItemSummary)
-> Lens
     OpsItemRelatedItemSummary
     OpsItemRelatedItemSummary
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OpsItemRelatedItemSummary' {Maybe POSIX
lastModifiedTime :: Maybe POSIX
$sel:lastModifiedTime:OpsItemRelatedItemSummary' :: OpsItemRelatedItemSummary -> Maybe POSIX
lastModifiedTime} -> Maybe POSIX
lastModifiedTime) (\s :: OpsItemRelatedItemSummary
s@OpsItemRelatedItemSummary' {} Maybe POSIX
a -> OpsItemRelatedItemSummary
s {$sel:lastModifiedTime:OpsItemRelatedItemSummary' :: Maybe POSIX
lastModifiedTime = Maybe POSIX
a} :: OpsItemRelatedItemSummary) ((Maybe POSIX -> f (Maybe POSIX))
 -> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> OpsItemRelatedItemSummary
-> f OpsItemRelatedItemSummary
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The association type.
opsItemRelatedItemSummary_associationType :: Lens.Lens' OpsItemRelatedItemSummary (Prelude.Maybe Prelude.Text)
opsItemRelatedItemSummary_associationType :: (Maybe Text -> f (Maybe Text))
-> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary
opsItemRelatedItemSummary_associationType = (OpsItemRelatedItemSummary -> Maybe Text)
-> (OpsItemRelatedItemSummary
    -> Maybe Text -> OpsItemRelatedItemSummary)
-> Lens
     OpsItemRelatedItemSummary
     OpsItemRelatedItemSummary
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OpsItemRelatedItemSummary' {Maybe Text
associationType :: Maybe Text
$sel:associationType:OpsItemRelatedItemSummary' :: OpsItemRelatedItemSummary -> Maybe Text
associationType} -> Maybe Text
associationType) (\s :: OpsItemRelatedItemSummary
s@OpsItemRelatedItemSummary' {} Maybe Text
a -> OpsItemRelatedItemSummary
s {$sel:associationType:OpsItemRelatedItemSummary' :: Maybe Text
associationType = Maybe Text
a} :: OpsItemRelatedItemSummary)

-- | Undocumented member.
opsItemRelatedItemSummary_lastModifiedBy :: Lens.Lens' OpsItemRelatedItemSummary (Prelude.Maybe OpsItemIdentity)
opsItemRelatedItemSummary_lastModifiedBy :: (Maybe OpsItemIdentity -> f (Maybe OpsItemIdentity))
-> OpsItemRelatedItemSummary -> f OpsItemRelatedItemSummary
opsItemRelatedItemSummary_lastModifiedBy = (OpsItemRelatedItemSummary -> Maybe OpsItemIdentity)
-> (OpsItemRelatedItemSummary
    -> Maybe OpsItemIdentity -> OpsItemRelatedItemSummary)
-> Lens
     OpsItemRelatedItemSummary
     OpsItemRelatedItemSummary
     (Maybe OpsItemIdentity)
     (Maybe OpsItemIdentity)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OpsItemRelatedItemSummary' {Maybe OpsItemIdentity
lastModifiedBy :: Maybe OpsItemIdentity
$sel:lastModifiedBy:OpsItemRelatedItemSummary' :: OpsItemRelatedItemSummary -> Maybe OpsItemIdentity
lastModifiedBy} -> Maybe OpsItemIdentity
lastModifiedBy) (\s :: OpsItemRelatedItemSummary
s@OpsItemRelatedItemSummary' {} Maybe OpsItemIdentity
a -> OpsItemRelatedItemSummary
s {$sel:lastModifiedBy:OpsItemRelatedItemSummary' :: Maybe OpsItemIdentity
lastModifiedBy = Maybe OpsItemIdentity
a} :: OpsItemRelatedItemSummary)

instance Core.FromJSON OpsItemRelatedItemSummary where
  parseJSON :: Value -> Parser OpsItemRelatedItemSummary
parseJSON =
    String
-> (Object -> Parser OpsItemRelatedItemSummary)
-> Value
-> Parser OpsItemRelatedItemSummary
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"OpsItemRelatedItemSummary"
      ( \Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe OpsItemIdentity
-> Maybe POSIX
-> Maybe Text
-> Maybe OpsItemIdentity
-> OpsItemRelatedItemSummary
OpsItemRelatedItemSummary'
            (Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe OpsItemIdentity
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe OpsItemIdentity
 -> OpsItemRelatedItemSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe OpsItemIdentity
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe OpsItemIdentity
      -> OpsItemRelatedItemSummary)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AssociationId")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe OpsItemIdentity
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe OpsItemIdentity
   -> OpsItemRelatedItemSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe OpsItemIdentity
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe OpsItemIdentity
      -> OpsItemRelatedItemSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"OpsItemId")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe OpsItemIdentity
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe OpsItemIdentity
   -> OpsItemRelatedItemSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe OpsItemIdentity
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe OpsItemIdentity
      -> OpsItemRelatedItemSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ResourceUri")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe OpsItemIdentity
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe OpsItemIdentity
   -> OpsItemRelatedItemSummary)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe OpsItemIdentity
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe OpsItemIdentity
      -> OpsItemRelatedItemSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ResourceType")
            Parser
  (Maybe POSIX
   -> Maybe OpsItemIdentity
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe OpsItemIdentity
   -> OpsItemRelatedItemSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe OpsItemIdentity
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe OpsItemIdentity
      -> OpsItemRelatedItemSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CreatedTime")
            Parser
  (Maybe OpsItemIdentity
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe OpsItemIdentity
   -> OpsItemRelatedItemSummary)
-> Parser (Maybe OpsItemIdentity)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe OpsItemIdentity
      -> OpsItemRelatedItemSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe OpsItemIdentity)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CreatedBy")
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe OpsItemIdentity
   -> OpsItemRelatedItemSummary)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text -> Maybe OpsItemIdentity -> OpsItemRelatedItemSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LastModifiedTime")
            Parser
  (Maybe Text -> Maybe OpsItemIdentity -> OpsItemRelatedItemSummary)
-> Parser (Maybe Text)
-> Parser (Maybe OpsItemIdentity -> OpsItemRelatedItemSummary)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AssociationType")
            Parser (Maybe OpsItemIdentity -> OpsItemRelatedItemSummary)
-> Parser (Maybe OpsItemIdentity)
-> Parser OpsItemRelatedItemSummary
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe OpsItemIdentity)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LastModifiedBy")
      )

instance Prelude.Hashable OpsItemRelatedItemSummary

instance Prelude.NFData OpsItemRelatedItemSummary