{-# 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.WellArchitected.Types.Workload
-- 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.WellArchitected.Types.Workload where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.WellArchitected.Types.Risk
import Amazonka.WellArchitected.Types.WorkloadEnvironment
import Amazonka.WellArchitected.Types.WorkloadImprovementStatus

-- | A workload return object.
--
-- /See:/ 'newWorkload' smart constructor.
data Workload = Workload'
  { -- | Flag indicating whether the workload owner has acknowledged that the
    -- /Review owner/ field is required.
    --
    -- If a __Review owner__ is not added to the workload within 60 days of
    -- acknowledgement, access to the workload is restricted until an owner is
    -- added.
    Workload -> Maybe Bool
isReviewOwnerUpdateAcknowledged :: Prelude.Maybe Prelude.Bool,
    Workload -> Maybe Text
architecturalDesign :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe [Text]
accountIds :: Prelude.Maybe [Prelude.Text],
    Workload -> Maybe [Text]
lenses :: Prelude.Maybe [Prelude.Text],
    Workload -> Maybe POSIX
reviewRestrictionDate :: Prelude.Maybe Core.POSIX,
    Workload -> Maybe Text
industry :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe WorkloadEnvironment
environment :: Prelude.Maybe WorkloadEnvironment,
    Workload -> Maybe (HashMap Risk Natural)
riskCounts :: Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural),
    Workload -> Maybe [Text]
awsRegions :: Prelude.Maybe [Prelude.Text],
    Workload -> Maybe Text
owner :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe WorkloadImprovementStatus
improvementStatus :: Prelude.Maybe WorkloadImprovementStatus,
    Workload -> Maybe Text
workloadArn :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe Text
industryType :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe Text
workloadId :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe Text
workloadName :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe POSIX
updatedAt :: Prelude.Maybe Core.POSIX,
    Workload -> Maybe Text
notes :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe Text
reviewOwner :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe [Text]
pillarPriorities :: Prelude.Maybe [Prelude.Text],
    -- | The ID assigned to the share invitation.
    Workload -> Maybe Text
shareInvitationId :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe [Text]
nonAwsRegions :: Prelude.Maybe [Prelude.Text],
    -- | The tags associated with the workload.
    Workload -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)
  }
  deriving (Workload -> Workload -> Bool
(Workload -> Workload -> Bool)
-> (Workload -> Workload -> Bool) -> Eq Workload
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Workload -> Workload -> Bool
$c/= :: Workload -> Workload -> Bool
== :: Workload -> Workload -> Bool
$c== :: Workload -> Workload -> Bool
Prelude.Eq, ReadPrec [Workload]
ReadPrec Workload
Int -> ReadS Workload
ReadS [Workload]
(Int -> ReadS Workload)
-> ReadS [Workload]
-> ReadPrec Workload
-> ReadPrec [Workload]
-> Read Workload
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Workload]
$creadListPrec :: ReadPrec [Workload]
readPrec :: ReadPrec Workload
$creadPrec :: ReadPrec Workload
readList :: ReadS [Workload]
$creadList :: ReadS [Workload]
readsPrec :: Int -> ReadS Workload
$creadsPrec :: Int -> ReadS Workload
Prelude.Read, Int -> Workload -> ShowS
[Workload] -> ShowS
Workload -> String
(Int -> Workload -> ShowS)
-> (Workload -> String) -> ([Workload] -> ShowS) -> Show Workload
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Workload] -> ShowS
$cshowList :: [Workload] -> ShowS
show :: Workload -> String
$cshow :: Workload -> String
showsPrec :: Int -> Workload -> ShowS
$cshowsPrec :: Int -> Workload -> ShowS
Prelude.Show, (forall x. Workload -> Rep Workload x)
-> (forall x. Rep Workload x -> Workload) -> Generic Workload
forall x. Rep Workload x -> Workload
forall x. Workload -> Rep Workload x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Workload x -> Workload
$cfrom :: forall x. Workload -> Rep Workload x
Prelude.Generic)

-- |
-- Create a value of 'Workload' 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:
--
-- 'isReviewOwnerUpdateAcknowledged', 'workload_isReviewOwnerUpdateAcknowledged' - Flag indicating whether the workload owner has acknowledged that the
-- /Review owner/ field is required.
--
-- If a __Review owner__ is not added to the workload within 60 days of
-- acknowledgement, access to the workload is restricted until an owner is
-- added.
--
-- 'architecturalDesign', 'workload_architecturalDesign' - Undocumented member.
--
-- 'accountIds', 'workload_accountIds' - Undocumented member.
--
-- 'lenses', 'workload_lenses' - Undocumented member.
--
-- 'reviewRestrictionDate', 'workload_reviewRestrictionDate' - Undocumented member.
--
-- 'industry', 'workload_industry' - Undocumented member.
--
-- 'environment', 'workload_environment' - Undocumented member.
--
-- 'riskCounts', 'workload_riskCounts' - Undocumented member.
--
-- 'awsRegions', 'workload_awsRegions' - Undocumented member.
--
-- 'owner', 'workload_owner' - Undocumented member.
--
-- 'improvementStatus', 'workload_improvementStatus' - Undocumented member.
--
-- 'workloadArn', 'workload_workloadArn' - Undocumented member.
--
-- 'industryType', 'workload_industryType' - Undocumented member.
--
-- 'workloadId', 'workload_workloadId' - Undocumented member.
--
-- 'workloadName', 'workload_workloadName' - Undocumented member.
--
-- 'updatedAt', 'workload_updatedAt' - Undocumented member.
--
-- 'notes', 'workload_notes' - Undocumented member.
--
-- 'reviewOwner', 'workload_reviewOwner' - Undocumented member.
--
-- 'description', 'workload_description' - Undocumented member.
--
-- 'pillarPriorities', 'workload_pillarPriorities' - Undocumented member.
--
-- 'shareInvitationId', 'workload_shareInvitationId' - The ID assigned to the share invitation.
--
-- 'nonAwsRegions', 'workload_nonAwsRegions' - Undocumented member.
--
-- 'tags', 'workload_tags' - The tags associated with the workload.
newWorkload ::
  Workload
newWorkload :: Workload
newWorkload =
  Workload' :: Maybe Bool
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe POSIX
-> Maybe Text
-> Maybe WorkloadEnvironment
-> Maybe (HashMap Risk Natural)
-> Maybe [Text]
-> Maybe Text
-> Maybe WorkloadImprovementStatus
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe [Text]
-> Maybe (HashMap Text Text)
-> Workload
Workload'
    { $sel:isReviewOwnerUpdateAcknowledged:Workload' :: Maybe Bool
isReviewOwnerUpdateAcknowledged =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:architecturalDesign:Workload' :: Maybe Text
architecturalDesign = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:accountIds:Workload' :: Maybe [Text]
accountIds = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:lenses:Workload' :: Maybe [Text]
lenses = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:reviewRestrictionDate:Workload' :: Maybe POSIX
reviewRestrictionDate = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:industry:Workload' :: Maybe Text
industry = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:environment:Workload' :: Maybe WorkloadEnvironment
environment = Maybe WorkloadEnvironment
forall a. Maybe a
Prelude.Nothing,
      $sel:riskCounts:Workload' :: Maybe (HashMap Risk Natural)
riskCounts = Maybe (HashMap Risk Natural)
forall a. Maybe a
Prelude.Nothing,
      $sel:awsRegions:Workload' :: Maybe [Text]
awsRegions = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:owner:Workload' :: Maybe Text
owner = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:improvementStatus:Workload' :: Maybe WorkloadImprovementStatus
improvementStatus = Maybe WorkloadImprovementStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:workloadArn:Workload' :: Maybe Text
workloadArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:industryType:Workload' :: Maybe Text
industryType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:workloadId:Workload' :: Maybe Text
workloadId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:workloadName:Workload' :: Maybe Text
workloadName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:updatedAt:Workload' :: Maybe POSIX
updatedAt = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:notes:Workload' :: Maybe Text
notes = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:reviewOwner:Workload' :: Maybe Text
reviewOwner = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:description:Workload' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:pillarPriorities:Workload' :: Maybe [Text]
pillarPriorities = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:shareInvitationId:Workload' :: Maybe Text
shareInvitationId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:nonAwsRegions:Workload' :: Maybe [Text]
nonAwsRegions = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:tags:Workload' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
forall a. Maybe a
Prelude.Nothing
    }

-- | Flag indicating whether the workload owner has acknowledged that the
-- /Review owner/ field is required.
--
-- If a __Review owner__ is not added to the workload within 60 days of
-- acknowledgement, access to the workload is restricted until an owner is
-- added.
workload_isReviewOwnerUpdateAcknowledged :: Lens.Lens' Workload (Prelude.Maybe Prelude.Bool)
workload_isReviewOwnerUpdateAcknowledged :: (Maybe Bool -> f (Maybe Bool)) -> Workload -> f Workload
workload_isReviewOwnerUpdateAcknowledged = (Workload -> Maybe Bool)
-> (Workload -> Maybe Bool -> Workload)
-> Lens Workload Workload (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Bool
isReviewOwnerUpdateAcknowledged :: Maybe Bool
$sel:isReviewOwnerUpdateAcknowledged:Workload' :: Workload -> Maybe Bool
isReviewOwnerUpdateAcknowledged} -> Maybe Bool
isReviewOwnerUpdateAcknowledged) (\s :: Workload
s@Workload' {} Maybe Bool
a -> Workload
s {$sel:isReviewOwnerUpdateAcknowledged:Workload' :: Maybe Bool
isReviewOwnerUpdateAcknowledged = Maybe Bool
a} :: Workload)

-- | Undocumented member.
workload_architecturalDesign :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_architecturalDesign :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_architecturalDesign = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
architecturalDesign :: Maybe Text
$sel:architecturalDesign:Workload' :: Workload -> Maybe Text
architecturalDesign} -> Maybe Text
architecturalDesign) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:architecturalDesign:Workload' :: Maybe Text
architecturalDesign = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_accountIds :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_accountIds :: (Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload
workload_accountIds = (Workload -> Maybe [Text])
-> (Workload -> Maybe [Text] -> Workload)
-> Lens Workload Workload (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe [Text]
accountIds :: Maybe [Text]
$sel:accountIds:Workload' :: Workload -> Maybe [Text]
accountIds} -> Maybe [Text]
accountIds) (\s :: Workload
s@Workload' {} Maybe [Text]
a -> Workload
s {$sel:accountIds:Workload' :: Maybe [Text]
accountIds = Maybe [Text]
a} :: Workload) ((Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> Workload
-> f Workload
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_lenses :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_lenses :: (Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload
workload_lenses = (Workload -> Maybe [Text])
-> (Workload -> Maybe [Text] -> Workload)
-> Lens Workload Workload (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe [Text]
lenses :: Maybe [Text]
$sel:lenses:Workload' :: Workload -> Maybe [Text]
lenses} -> Maybe [Text]
lenses) (\s :: Workload
s@Workload' {} Maybe [Text]
a -> Workload
s {$sel:lenses:Workload' :: Maybe [Text]
lenses = Maybe [Text]
a} :: Workload) ((Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> Workload
-> f Workload
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_reviewRestrictionDate :: Lens.Lens' Workload (Prelude.Maybe Prelude.UTCTime)
workload_reviewRestrictionDate :: (Maybe UTCTime -> f (Maybe UTCTime)) -> Workload -> f Workload
workload_reviewRestrictionDate = (Workload -> Maybe POSIX)
-> (Workload -> Maybe POSIX -> Workload)
-> Lens Workload Workload (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe POSIX
reviewRestrictionDate :: Maybe POSIX
$sel:reviewRestrictionDate:Workload' :: Workload -> Maybe POSIX
reviewRestrictionDate} -> Maybe POSIX
reviewRestrictionDate) (\s :: Workload
s@Workload' {} Maybe POSIX
a -> Workload
s {$sel:reviewRestrictionDate:Workload' :: Maybe POSIX
reviewRestrictionDate = Maybe POSIX
a} :: Workload) ((Maybe POSIX -> f (Maybe POSIX)) -> Workload -> f Workload)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> Workload
-> f Workload
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.
workload_industry :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_industry :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_industry = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
industry :: Maybe Text
$sel:industry:Workload' :: Workload -> Maybe Text
industry} -> Maybe Text
industry) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:industry:Workload' :: Maybe Text
industry = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_environment :: Lens.Lens' Workload (Prelude.Maybe WorkloadEnvironment)
workload_environment :: (Maybe WorkloadEnvironment -> f (Maybe WorkloadEnvironment))
-> Workload -> f Workload
workload_environment = (Workload -> Maybe WorkloadEnvironment)
-> (Workload -> Maybe WorkloadEnvironment -> Workload)
-> Lens
     Workload
     Workload
     (Maybe WorkloadEnvironment)
     (Maybe WorkloadEnvironment)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe WorkloadEnvironment
environment :: Maybe WorkloadEnvironment
$sel:environment:Workload' :: Workload -> Maybe WorkloadEnvironment
environment} -> Maybe WorkloadEnvironment
environment) (\s :: Workload
s@Workload' {} Maybe WorkloadEnvironment
a -> Workload
s {$sel:environment:Workload' :: Maybe WorkloadEnvironment
environment = Maybe WorkloadEnvironment
a} :: Workload)

-- | Undocumented member.
workload_riskCounts :: Lens.Lens' Workload (Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural))
workload_riskCounts :: (Maybe (HashMap Risk Natural) -> f (Maybe (HashMap Risk Natural)))
-> Workload -> f Workload
workload_riskCounts = (Workload -> Maybe (HashMap Risk Natural))
-> (Workload -> Maybe (HashMap Risk Natural) -> Workload)
-> Lens
     Workload
     Workload
     (Maybe (HashMap Risk Natural))
     (Maybe (HashMap Risk Natural))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe (HashMap Risk Natural)
riskCounts :: Maybe (HashMap Risk Natural)
$sel:riskCounts:Workload' :: Workload -> Maybe (HashMap Risk Natural)
riskCounts} -> Maybe (HashMap Risk Natural)
riskCounts) (\s :: Workload
s@Workload' {} Maybe (HashMap Risk Natural)
a -> Workload
s {$sel:riskCounts:Workload' :: Maybe (HashMap Risk Natural)
riskCounts = Maybe (HashMap Risk Natural)
a} :: Workload) ((Maybe (HashMap Risk Natural) -> f (Maybe (HashMap Risk Natural)))
 -> Workload -> f Workload)
-> ((Maybe (HashMap Risk Natural)
     -> f (Maybe (HashMap Risk Natural)))
    -> Maybe (HashMap Risk Natural)
    -> f (Maybe (HashMap Risk Natural)))
-> (Maybe (HashMap Risk Natural)
    -> f (Maybe (HashMap Risk Natural)))
-> Workload
-> f Workload
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Risk Natural)
  (HashMap Risk Natural)
  (HashMap Risk Natural)
  (HashMap Risk Natural)
-> Iso
     (Maybe (HashMap Risk Natural))
     (Maybe (HashMap Risk Natural))
     (Maybe (HashMap Risk Natural))
     (Maybe (HashMap Risk Natural))
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
  (HashMap Risk Natural)
  (HashMap Risk Natural)
  (HashMap Risk Natural)
  (HashMap Risk Natural)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_awsRegions :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_awsRegions :: (Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload
workload_awsRegions = (Workload -> Maybe [Text])
-> (Workload -> Maybe [Text] -> Workload)
-> Lens Workload Workload (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe [Text]
awsRegions :: Maybe [Text]
$sel:awsRegions:Workload' :: Workload -> Maybe [Text]
awsRegions} -> Maybe [Text]
awsRegions) (\s :: Workload
s@Workload' {} Maybe [Text]
a -> Workload
s {$sel:awsRegions:Workload' :: Maybe [Text]
awsRegions = Maybe [Text]
a} :: Workload) ((Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> Workload
-> f Workload
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_owner :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_owner :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_owner = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
owner :: Maybe Text
$sel:owner:Workload' :: Workload -> Maybe Text
owner} -> Maybe Text
owner) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:owner:Workload' :: Maybe Text
owner = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_improvementStatus :: Lens.Lens' Workload (Prelude.Maybe WorkloadImprovementStatus)
workload_improvementStatus :: (Maybe WorkloadImprovementStatus
 -> f (Maybe WorkloadImprovementStatus))
-> Workload -> f Workload
workload_improvementStatus = (Workload -> Maybe WorkloadImprovementStatus)
-> (Workload -> Maybe WorkloadImprovementStatus -> Workload)
-> Lens
     Workload
     Workload
     (Maybe WorkloadImprovementStatus)
     (Maybe WorkloadImprovementStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe WorkloadImprovementStatus
improvementStatus :: Maybe WorkloadImprovementStatus
$sel:improvementStatus:Workload' :: Workload -> Maybe WorkloadImprovementStatus
improvementStatus} -> Maybe WorkloadImprovementStatus
improvementStatus) (\s :: Workload
s@Workload' {} Maybe WorkloadImprovementStatus
a -> Workload
s {$sel:improvementStatus:Workload' :: Maybe WorkloadImprovementStatus
improvementStatus = Maybe WorkloadImprovementStatus
a} :: Workload)

-- | Undocumented member.
workload_workloadArn :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_workloadArn :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_workloadArn = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
workloadArn :: Maybe Text
$sel:workloadArn:Workload' :: Workload -> Maybe Text
workloadArn} -> Maybe Text
workloadArn) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:workloadArn:Workload' :: Maybe Text
workloadArn = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_industryType :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_industryType :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_industryType = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
industryType :: Maybe Text
$sel:industryType:Workload' :: Workload -> Maybe Text
industryType} -> Maybe Text
industryType) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:industryType:Workload' :: Maybe Text
industryType = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_workloadId :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_workloadId :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_workloadId = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
workloadId :: Maybe Text
$sel:workloadId:Workload' :: Workload -> Maybe Text
workloadId} -> Maybe Text
workloadId) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:workloadId:Workload' :: Maybe Text
workloadId = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_workloadName :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_workloadName :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_workloadName = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
workloadName :: Maybe Text
$sel:workloadName:Workload' :: Workload -> Maybe Text
workloadName} -> Maybe Text
workloadName) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:workloadName:Workload' :: Maybe Text
workloadName = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_updatedAt :: Lens.Lens' Workload (Prelude.Maybe Prelude.UTCTime)
workload_updatedAt :: (Maybe UTCTime -> f (Maybe UTCTime)) -> Workload -> f Workload
workload_updatedAt = (Workload -> Maybe POSIX)
-> (Workload -> Maybe POSIX -> Workload)
-> Lens Workload Workload (Maybe POSIX) (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe POSIX
updatedAt :: Maybe POSIX
$sel:updatedAt:Workload' :: Workload -> Maybe POSIX
updatedAt} -> Maybe POSIX
updatedAt) (\s :: Workload
s@Workload' {} Maybe POSIX
a -> Workload
s {$sel:updatedAt:Workload' :: Maybe POSIX
updatedAt = Maybe POSIX
a} :: Workload) ((Maybe POSIX -> f (Maybe POSIX)) -> Workload -> f Workload)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> Workload
-> f Workload
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.
workload_notes :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_notes :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_notes = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
notes :: Maybe Text
$sel:notes:Workload' :: Workload -> Maybe Text
notes} -> Maybe Text
notes) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:notes:Workload' :: Maybe Text
notes = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_reviewOwner :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_reviewOwner :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_reviewOwner = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
reviewOwner :: Maybe Text
$sel:reviewOwner:Workload' :: Workload -> Maybe Text
reviewOwner} -> Maybe Text
reviewOwner) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:reviewOwner:Workload' :: Maybe Text
reviewOwner = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_description :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_description :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_description = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
description :: Maybe Text
$sel:description:Workload' :: Workload -> Maybe Text
description} -> Maybe Text
description) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:description:Workload' :: Maybe Text
description = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_pillarPriorities :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_pillarPriorities :: (Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload
workload_pillarPriorities = (Workload -> Maybe [Text])
-> (Workload -> Maybe [Text] -> Workload)
-> Lens Workload Workload (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe [Text]
pillarPriorities :: Maybe [Text]
$sel:pillarPriorities:Workload' :: Workload -> Maybe [Text]
pillarPriorities} -> Maybe [Text]
pillarPriorities) (\s :: Workload
s@Workload' {} Maybe [Text]
a -> Workload
s {$sel:pillarPriorities:Workload' :: Maybe [Text]
pillarPriorities = Maybe [Text]
a} :: Workload) ((Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> Workload
-> f Workload
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The ID assigned to the share invitation.
workload_shareInvitationId :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_shareInvitationId :: (Maybe Text -> f (Maybe Text)) -> Workload -> f Workload
workload_shareInvitationId = (Workload -> Maybe Text)
-> (Workload -> Maybe Text -> Workload)
-> Lens Workload Workload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe Text
shareInvitationId :: Maybe Text
$sel:shareInvitationId:Workload' :: Workload -> Maybe Text
shareInvitationId} -> Maybe Text
shareInvitationId) (\s :: Workload
s@Workload' {} Maybe Text
a -> Workload
s {$sel:shareInvitationId:Workload' :: Maybe Text
shareInvitationId = Maybe Text
a} :: Workload)

-- | Undocumented member.
workload_nonAwsRegions :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_nonAwsRegions :: (Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload
workload_nonAwsRegions = (Workload -> Maybe [Text])
-> (Workload -> Maybe [Text] -> Workload)
-> Lens Workload Workload (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe [Text]
nonAwsRegions :: Maybe [Text]
$sel:nonAwsRegions:Workload' :: Workload -> Maybe [Text]
nonAwsRegions} -> Maybe [Text]
nonAwsRegions) (\s :: Workload
s@Workload' {} Maybe [Text]
a -> Workload
s {$sel:nonAwsRegions:Workload' :: Maybe [Text]
nonAwsRegions = Maybe [Text]
a} :: Workload) ((Maybe [Text] -> f (Maybe [Text])) -> Workload -> f Workload)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> Workload
-> f Workload
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The tags associated with the workload.
workload_tags :: Lens.Lens' Workload (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
workload_tags :: (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> Workload -> f Workload
workload_tags = (Workload -> Maybe (HashMap Text Text))
-> (Workload -> Maybe (HashMap Text Text) -> Workload)
-> Lens
     Workload
     Workload
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:Workload' :: Workload -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: Workload
s@Workload' {} Maybe (HashMap Text Text)
a -> Workload
s {$sel:tags:Workload' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: Workload) ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
 -> Workload -> f Workload)
-> ((Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
    -> Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> (Maybe (HashMap Text Text) -> f (Maybe (HashMap Text Text)))
-> Workload
-> f Workload
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
-> Iso
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
     (Maybe (HashMap Text Text))
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
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
  (HashMap Text Text)
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

instance Core.FromJSON Workload where
  parseJSON :: Value -> Parser Workload
parseJSON =
    String -> (Object -> Parser Workload) -> Value -> Parser Workload
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"Workload"
      ( \Object
x ->
          Maybe Bool
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe POSIX
-> Maybe Text
-> Maybe WorkloadEnvironment
-> Maybe (HashMap Risk Natural)
-> Maybe [Text]
-> Maybe Text
-> Maybe WorkloadImprovementStatus
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe [Text]
-> Maybe (HashMap Text Text)
-> Workload
Workload'
            (Maybe Bool
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe [Text]
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe WorkloadEnvironment
 -> Maybe (HashMap Risk Natural)
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe WorkloadImprovementStatus
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe (HashMap Text Text)
 -> Workload)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe [Text]
      -> Maybe [Text]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe WorkloadEnvironment
      -> Maybe (HashMap Risk Natural)
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"IsReviewOwnerUpdateAcknowledged")
            Parser
  (Maybe Text
   -> Maybe [Text]
   -> Maybe [Text]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe WorkloadEnvironment
   -> Maybe (HashMap Risk Natural)
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text]
      -> Maybe [Text]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe WorkloadEnvironment
      -> Maybe (HashMap Risk Natural)
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"ArchitecturalDesign")
            Parser
  (Maybe [Text]
   -> Maybe [Text]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe WorkloadEnvironment
   -> Maybe (HashMap Risk Natural)
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe [Text])
-> Parser
     (Maybe [Text]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe WorkloadEnvironment
      -> Maybe (HashMap Risk Natural)
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AccountIds" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe [Text]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe WorkloadEnvironment
   -> Maybe (HashMap Risk Natural)
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe [Text])
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe WorkloadEnvironment
      -> Maybe (HashMap Risk Natural)
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Lenses" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe WorkloadEnvironment
   -> Maybe (HashMap Risk Natural)
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe WorkloadEnvironment
      -> Maybe (HashMap Risk Natural)
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"ReviewRestrictionDate")
            Parser
  (Maybe Text
   -> Maybe WorkloadEnvironment
   -> Maybe (HashMap Risk Natural)
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe WorkloadEnvironment
      -> Maybe (HashMap Risk Natural)
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"Industry")
            Parser
  (Maybe WorkloadEnvironment
   -> Maybe (HashMap Risk Natural)
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe WorkloadEnvironment)
-> Parser
     (Maybe (HashMap Risk Natural)
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe WorkloadEnvironment)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Environment")
            Parser
  (Maybe (HashMap Risk Natural)
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe (HashMap Risk Natural))
-> Parser
     (Maybe [Text]
      -> Maybe Text
      -> Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe (HashMap Risk Natural)))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RiskCounts" Parser (Maybe (Maybe (HashMap Risk Natural)))
-> Maybe (HashMap Risk Natural)
-> Parser (Maybe (HashMap Risk Natural))
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe (HashMap Risk Natural)
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe [Text]
   -> Maybe Text
   -> Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AwsRegions" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
            Parser
  (Maybe Text
   -> Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe WorkloadImprovementStatus
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"Owner")
            Parser
  (Maybe WorkloadImprovementStatus
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe WorkloadImprovementStatus)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe WorkloadImprovementStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ImprovementStatus")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"WorkloadArn")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"IndustryType")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"WorkloadId")
            Parser
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"WorkloadName")
            Parser
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"UpdatedAt")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"Notes")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"ReviewOwner")
            Parser
  (Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text]
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe (HashMap Text Text)
      -> Workload)
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
"Description")
            Parser
  (Maybe [Text]
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe (HashMap Text Text)
   -> Workload)
-> Parser (Maybe [Text])
-> Parser
     (Maybe Text
      -> Maybe [Text] -> Maybe (HashMap Text Text) -> Workload)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"PillarPriorities"
                            Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Text
   -> Maybe [Text] -> Maybe (HashMap Text Text) -> Workload)
-> Parser (Maybe Text)
-> Parser (Maybe [Text] -> Maybe (HashMap Text Text) -> Workload)
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
"ShareInvitationId")
            Parser (Maybe [Text] -> Maybe (HashMap Text Text) -> Workload)
-> Parser (Maybe [Text])
-> Parser (Maybe (HashMap Text Text) -> Workload)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"NonAwsRegions" Parser (Maybe (Maybe [Text]))
-> Maybe [Text] -> Parser (Maybe [Text])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Text]
forall a. Monoid a => a
Prelude.mempty)
            Parser (Maybe (HashMap Text Text) -> Workload)
-> Parser (Maybe (HashMap Text Text)) -> Parser Workload
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Maybe (HashMap Text Text)))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Tags" Parser (Maybe (Maybe (HashMap Text Text)))
-> Maybe (HashMap Text Text) -> Parser (Maybe (HashMap Text Text))
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe (HashMap Text Text)
forall a. Monoid a => a
Prelude.mempty)
      )

instance Prelude.Hashable Workload

instance Prelude.NFData Workload