{-# 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.GuardDuty.Types.KubernetesDetails where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.GuardDuty.Types.KubernetesUserDetails
import Amazonka.GuardDuty.Types.KubernetesWorkloadDetails
import qualified Amazonka.Prelude as Prelude
data KubernetesDetails = KubernetesDetails'
{
KubernetesDetails -> Maybe KubernetesUserDetails
kubernetesUserDetails :: Prelude.Maybe KubernetesUserDetails,
KubernetesDetails -> Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails :: Prelude.Maybe KubernetesWorkloadDetails
}
deriving (KubernetesDetails -> KubernetesDetails -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: KubernetesDetails -> KubernetesDetails -> Bool
$c/= :: KubernetesDetails -> KubernetesDetails -> Bool
== :: KubernetesDetails -> KubernetesDetails -> Bool
$c== :: KubernetesDetails -> KubernetesDetails -> Bool
Prelude.Eq, ReadPrec [KubernetesDetails]
ReadPrec KubernetesDetails
Int -> ReadS KubernetesDetails
ReadS [KubernetesDetails]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [KubernetesDetails]
$creadListPrec :: ReadPrec [KubernetesDetails]
readPrec :: ReadPrec KubernetesDetails
$creadPrec :: ReadPrec KubernetesDetails
readList :: ReadS [KubernetesDetails]
$creadList :: ReadS [KubernetesDetails]
readsPrec :: Int -> ReadS KubernetesDetails
$creadsPrec :: Int -> ReadS KubernetesDetails
Prelude.Read, Int -> KubernetesDetails -> ShowS
[KubernetesDetails] -> ShowS
KubernetesDetails -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [KubernetesDetails] -> ShowS
$cshowList :: [KubernetesDetails] -> ShowS
show :: KubernetesDetails -> String
$cshow :: KubernetesDetails -> String
showsPrec :: Int -> KubernetesDetails -> ShowS
$cshowsPrec :: Int -> KubernetesDetails -> ShowS
Prelude.Show, forall x. Rep KubernetesDetails x -> KubernetesDetails
forall x. KubernetesDetails -> Rep KubernetesDetails x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep KubernetesDetails x -> KubernetesDetails
$cfrom :: forall x. KubernetesDetails -> Rep KubernetesDetails x
Prelude.Generic)
newKubernetesDetails ::
KubernetesDetails
newKubernetesDetails :: KubernetesDetails
newKubernetesDetails =
KubernetesDetails'
{ $sel:kubernetesUserDetails:KubernetesDetails' :: Maybe KubernetesUserDetails
kubernetesUserDetails =
forall a. Maybe a
Prelude.Nothing,
$sel:kubernetesWorkloadDetails:KubernetesDetails' :: Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails = forall a. Maybe a
Prelude.Nothing
}
kubernetesDetails_kubernetesUserDetails :: Lens.Lens' KubernetesDetails (Prelude.Maybe KubernetesUserDetails)
kubernetesDetails_kubernetesUserDetails :: Lens' KubernetesDetails (Maybe KubernetesUserDetails)
kubernetesDetails_kubernetesUserDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KubernetesDetails' {Maybe KubernetesUserDetails
kubernetesUserDetails :: Maybe KubernetesUserDetails
$sel:kubernetesUserDetails:KubernetesDetails' :: KubernetesDetails -> Maybe KubernetesUserDetails
kubernetesUserDetails} -> Maybe KubernetesUserDetails
kubernetesUserDetails) (\s :: KubernetesDetails
s@KubernetesDetails' {} Maybe KubernetesUserDetails
a -> KubernetesDetails
s {$sel:kubernetesUserDetails:KubernetesDetails' :: Maybe KubernetesUserDetails
kubernetesUserDetails = Maybe KubernetesUserDetails
a} :: KubernetesDetails)
kubernetesDetails_kubernetesWorkloadDetails :: Lens.Lens' KubernetesDetails (Prelude.Maybe KubernetesWorkloadDetails)
kubernetesDetails_kubernetesWorkloadDetails :: Lens' KubernetesDetails (Maybe KubernetesWorkloadDetails)
kubernetesDetails_kubernetesWorkloadDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KubernetesDetails' {Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails :: Maybe KubernetesWorkloadDetails
$sel:kubernetesWorkloadDetails:KubernetesDetails' :: KubernetesDetails -> Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails} -> Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails) (\s :: KubernetesDetails
s@KubernetesDetails' {} Maybe KubernetesWorkloadDetails
a -> KubernetesDetails
s {$sel:kubernetesWorkloadDetails:KubernetesDetails' :: Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails = Maybe KubernetesWorkloadDetails
a} :: KubernetesDetails)
instance Data.FromJSON KubernetesDetails where
parseJSON :: Value -> Parser KubernetesDetails
parseJSON =
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
String
"KubernetesDetails"
( \Object
x ->
Maybe KubernetesUserDetails
-> Maybe KubernetesWorkloadDetails -> KubernetesDetails
KubernetesDetails'
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
"kubernetesUserDetails")
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
"kubernetesWorkloadDetails")
)
instance Prelude.Hashable KubernetesDetails where
hashWithSalt :: Int -> KubernetesDetails -> Int
hashWithSalt Int
_salt KubernetesDetails' {Maybe KubernetesUserDetails
Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails :: Maybe KubernetesWorkloadDetails
kubernetesUserDetails :: Maybe KubernetesUserDetails
$sel:kubernetesWorkloadDetails:KubernetesDetails' :: KubernetesDetails -> Maybe KubernetesWorkloadDetails
$sel:kubernetesUserDetails:KubernetesDetails' :: KubernetesDetails -> Maybe KubernetesUserDetails
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe KubernetesUserDetails
kubernetesUserDetails
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails
instance Prelude.NFData KubernetesDetails where
rnf :: KubernetesDetails -> ()
rnf KubernetesDetails' {Maybe KubernetesUserDetails
Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails :: Maybe KubernetesWorkloadDetails
kubernetesUserDetails :: Maybe KubernetesUserDetails
$sel:kubernetesWorkloadDetails:KubernetesDetails' :: KubernetesDetails -> Maybe KubernetesWorkloadDetails
$sel:kubernetesUserDetails:KubernetesDetails' :: KubernetesDetails -> Maybe KubernetesUserDetails
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe KubernetesUserDetails
kubernetesUserDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe KubernetesWorkloadDetails
kubernetesWorkloadDetails