{-# 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-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.WellArchitected.Types.Workload where

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
import Amazonka.WellArchitected.Types.Risk
import Amazonka.WellArchitected.Types.WorkloadDiscoveryConfig
import Amazonka.WellArchitected.Types.WorkloadEnvironment
import Amazonka.WellArchitected.Types.WorkloadImprovementStatus

-- | A workload return object.
--
-- /See:/ 'newWorkload' smart constructor.
data Workload = Workload'
  { Workload -> Maybe [Text]
accountIds :: Prelude.Maybe [Prelude.Text],
    -- | List of AppRegistry application ARNs associated to the workload.
    Workload -> Maybe [Text]
applications :: Prelude.Maybe [Prelude.Text],
    Workload -> Maybe Text
architecturalDesign :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe [Text]
awsRegions :: Prelude.Maybe [Prelude.Text],
    Workload -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | Discovery configuration associated to the workload.
    Workload -> Maybe WorkloadDiscoveryConfig
discoveryConfig :: Prelude.Maybe WorkloadDiscoveryConfig,
    Workload -> Maybe WorkloadEnvironment
environment :: Prelude.Maybe WorkloadEnvironment,
    Workload -> Maybe WorkloadImprovementStatus
improvementStatus :: Prelude.Maybe WorkloadImprovementStatus,
    Workload -> Maybe Text
industry :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe Text
industryType :: Prelude.Maybe Prelude.Text,
    -- | 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]
lenses :: Prelude.Maybe [Prelude.Text],
    Workload -> Maybe [Text]
nonAwsRegions :: Prelude.Maybe [Prelude.Text],
    Workload -> Maybe Text
notes :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe Text
owner :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe [Text]
pillarPriorities :: Prelude.Maybe [Prelude.Text],
    Workload -> Maybe Text
reviewOwner :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe POSIX
reviewRestrictionDate :: Prelude.Maybe Data.POSIX,
    Workload -> Maybe (HashMap Risk Natural)
riskCounts :: Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural),
    -- | The ID assigned to the share invitation.
    Workload -> Maybe Text
shareInvitationId :: Prelude.Maybe Prelude.Text,
    -- | The tags associated with the workload.
    Workload -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
    Workload -> Maybe POSIX
updatedAt :: Prelude.Maybe Data.POSIX,
    Workload -> Maybe Text
workloadArn :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe Text
workloadId :: Prelude.Maybe Prelude.Text,
    Workload -> Maybe Text
workloadName :: Prelude.Maybe Prelude.Text
  }
  deriving (Workload -> Workload -> Bool
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]
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
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. 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:
--
-- 'accountIds', 'workload_accountIds' - Undocumented member.
--
-- 'applications', 'workload_applications' - List of AppRegistry application ARNs associated to the workload.
--
-- 'architecturalDesign', 'workload_architecturalDesign' - Undocumented member.
--
-- 'awsRegions', 'workload_awsRegions' - Undocumented member.
--
-- 'description', 'workload_description' - Undocumented member.
--
-- 'discoveryConfig', 'workload_discoveryConfig' - Discovery configuration associated to the workload.
--
-- 'environment', 'workload_environment' - Undocumented member.
--
-- 'improvementStatus', 'workload_improvementStatus' - Undocumented member.
--
-- 'industry', 'workload_industry' - Undocumented member.
--
-- 'industryType', 'workload_industryType' - Undocumented member.
--
-- '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.
--
-- 'lenses', 'workload_lenses' - Undocumented member.
--
-- 'nonAwsRegions', 'workload_nonAwsRegions' - Undocumented member.
--
-- 'notes', 'workload_notes' - Undocumented member.
--
-- 'owner', 'workload_owner' - Undocumented member.
--
-- 'pillarPriorities', 'workload_pillarPriorities' - Undocumented member.
--
-- 'reviewOwner', 'workload_reviewOwner' - Undocumented member.
--
-- 'reviewRestrictionDate', 'workload_reviewRestrictionDate' - Undocumented member.
--
-- 'riskCounts', 'workload_riskCounts' - Undocumented member.
--
-- 'shareInvitationId', 'workload_shareInvitationId' - The ID assigned to the share invitation.
--
-- 'tags', 'workload_tags' - The tags associated with the workload.
--
-- 'updatedAt', 'workload_updatedAt' - Undocumented member.
--
-- 'workloadArn', 'workload_workloadArn' - Undocumented member.
--
-- 'workloadId', 'workload_workloadId' - Undocumented member.
--
-- 'workloadName', 'workload_workloadName' - Undocumented member.
newWorkload ::
  Workload
newWorkload :: Workload
newWorkload =
  Workload'
    { $sel:accountIds:Workload' :: Maybe [Text]
accountIds = forall a. Maybe a
Prelude.Nothing,
      $sel:applications:Workload' :: Maybe [Text]
applications = forall a. Maybe a
Prelude.Nothing,
      $sel:architecturalDesign:Workload' :: Maybe Text
architecturalDesign = forall a. Maybe a
Prelude.Nothing,
      $sel:awsRegions:Workload' :: Maybe [Text]
awsRegions = forall a. Maybe a
Prelude.Nothing,
      $sel:description:Workload' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:discoveryConfig:Workload' :: Maybe WorkloadDiscoveryConfig
discoveryConfig = forall a. Maybe a
Prelude.Nothing,
      $sel:environment:Workload' :: Maybe WorkloadEnvironment
environment = forall a. Maybe a
Prelude.Nothing,
      $sel:improvementStatus:Workload' :: Maybe WorkloadImprovementStatus
improvementStatus = forall a. Maybe a
Prelude.Nothing,
      $sel:industry:Workload' :: Maybe Text
industry = forall a. Maybe a
Prelude.Nothing,
      $sel:industryType:Workload' :: Maybe Text
industryType = forall a. Maybe a
Prelude.Nothing,
      $sel:isReviewOwnerUpdateAcknowledged:Workload' :: Maybe Bool
isReviewOwnerUpdateAcknowledged = forall a. Maybe a
Prelude.Nothing,
      $sel:lenses:Workload' :: Maybe [Text]
lenses = forall a. Maybe a
Prelude.Nothing,
      $sel:nonAwsRegions:Workload' :: Maybe [Text]
nonAwsRegions = forall a. Maybe a
Prelude.Nothing,
      $sel:notes:Workload' :: Maybe Text
notes = forall a. Maybe a
Prelude.Nothing,
      $sel:owner:Workload' :: Maybe Text
owner = forall a. Maybe a
Prelude.Nothing,
      $sel:pillarPriorities:Workload' :: Maybe [Text]
pillarPriorities = forall a. Maybe a
Prelude.Nothing,
      $sel:reviewOwner:Workload' :: Maybe Text
reviewOwner = forall a. Maybe a
Prelude.Nothing,
      $sel:reviewRestrictionDate:Workload' :: Maybe POSIX
reviewRestrictionDate = forall a. Maybe a
Prelude.Nothing,
      $sel:riskCounts:Workload' :: Maybe (HashMap Risk Natural)
riskCounts = forall a. Maybe a
Prelude.Nothing,
      $sel:shareInvitationId:Workload' :: Maybe Text
shareInvitationId = forall a. Maybe a
Prelude.Nothing,
      $sel:tags:Workload' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
      $sel:updatedAt:Workload' :: Maybe POSIX
updatedAt = forall a. Maybe a
Prelude.Nothing,
      $sel:workloadArn:Workload' :: Maybe Text
workloadArn = forall a. Maybe a
Prelude.Nothing,
      $sel:workloadId:Workload' :: Maybe Text
workloadId = forall a. Maybe a
Prelude.Nothing,
      $sel:workloadName:Workload' :: Maybe Text
workloadName = forall a. Maybe a
Prelude.Nothing
    }

-- | Undocumented member.
workload_accountIds :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_accountIds :: Lens' Workload (Maybe [Text])
workload_accountIds = 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) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | List of AppRegistry application ARNs associated to the workload.
workload_applications :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_applications :: Lens' Workload (Maybe [Text])
workload_applications = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe [Text]
applications :: Maybe [Text]
$sel:applications:Workload' :: Workload -> Maybe [Text]
applications} -> Maybe [Text]
applications) (\s :: Workload
s@Workload' {} Maybe [Text]
a -> Workload
s {$sel:applications:Workload' :: Maybe [Text]
applications = Maybe [Text]
a} :: Workload) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_architecturalDesign :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_architecturalDesign :: Lens' Workload (Maybe Text)
workload_architecturalDesign = 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_awsRegions :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_awsRegions :: Lens' Workload (Maybe [Text])
workload_awsRegions = 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) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_description :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_description :: Lens' Workload (Maybe Text)
workload_description = 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)

-- | Discovery configuration associated to the workload.
workload_discoveryConfig :: Lens.Lens' Workload (Prelude.Maybe WorkloadDiscoveryConfig)
workload_discoveryConfig :: Lens' Workload (Maybe WorkloadDiscoveryConfig)
workload_discoveryConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\Workload' {Maybe WorkloadDiscoveryConfig
discoveryConfig :: Maybe WorkloadDiscoveryConfig
$sel:discoveryConfig:Workload' :: Workload -> Maybe WorkloadDiscoveryConfig
discoveryConfig} -> Maybe WorkloadDiscoveryConfig
discoveryConfig) (\s :: Workload
s@Workload' {} Maybe WorkloadDiscoveryConfig
a -> Workload
s {$sel:discoveryConfig:Workload' :: Maybe WorkloadDiscoveryConfig
discoveryConfig = Maybe WorkloadDiscoveryConfig
a} :: Workload)

-- | Undocumented member.
workload_environment :: Lens.Lens' Workload (Prelude.Maybe WorkloadEnvironment)
workload_environment :: Lens' Workload (Maybe WorkloadEnvironment)
workload_environment = 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_improvementStatus :: Lens.Lens' Workload (Prelude.Maybe WorkloadImprovementStatus)
workload_improvementStatus :: Lens' Workload (Maybe WorkloadImprovementStatus)
workload_improvementStatus = 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_industry :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_industry :: Lens' Workload (Maybe Text)
workload_industry = 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_industryType :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_industryType :: Lens' Workload (Maybe Text)
workload_industryType = 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)

-- | 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 :: Lens' Workload (Maybe Bool)
workload_isReviewOwnerUpdateAcknowledged = 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_lenses :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_lenses :: Lens' Workload (Maybe [Text])
workload_lenses = 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) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_nonAwsRegions :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_nonAwsRegions :: Lens' Workload (Maybe [Text])
workload_nonAwsRegions = 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) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_notes :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_notes :: Lens' Workload (Maybe Text)
workload_notes = 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_owner :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_owner :: Lens' Workload (Maybe Text)
workload_owner = 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_pillarPriorities :: Lens.Lens' Workload (Prelude.Maybe [Prelude.Text])
workload_pillarPriorities :: Lens' Workload (Maybe [Text])
workload_pillarPriorities = 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) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_reviewOwner :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_reviewOwner :: Lens' Workload (Maybe Text)
workload_reviewOwner = 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_reviewRestrictionDate :: Lens.Lens' Workload (Prelude.Maybe Prelude.UTCTime)
workload_reviewRestrictionDate :: Lens' Workload (Maybe UTCTime)
workload_reviewRestrictionDate = 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) 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

-- | Undocumented member.
workload_riskCounts :: Lens.Lens' Workload (Prelude.Maybe (Prelude.HashMap Risk Prelude.Natural))
workload_riskCounts :: Lens' Workload (Maybe (HashMap Risk Natural))
workload_riskCounts = 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) 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 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 :: Lens' Workload (Maybe Text)
workload_shareInvitationId = 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)

-- | The tags associated with the workload.
workload_tags :: Lens.Lens' Workload (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
workload_tags :: Lens' Workload (Maybe (HashMap Text Text))
workload_tags = 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) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
workload_updatedAt :: Lens.Lens' Workload (Prelude.Maybe Prelude.UTCTime)
workload_updatedAt :: Lens' Workload (Maybe UTCTime)
workload_updatedAt = 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) 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

-- | Undocumented member.
workload_workloadArn :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_workloadArn :: Lens' Workload (Maybe Text)
workload_workloadArn = 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_workloadId :: Lens.Lens' Workload (Prelude.Maybe Prelude.Text)
workload_workloadId :: Lens' Workload (Maybe Text)
workload_workloadId = 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 :: Lens' Workload (Maybe Text)
workload_workloadName = 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)

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

instance Prelude.Hashable Workload where
  hashWithSalt :: Int -> Workload -> Int
hashWithSalt Int
_salt Workload' {Maybe Bool
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Risk Natural)
Maybe POSIX
Maybe WorkloadDiscoveryConfig
Maybe WorkloadEnvironment
Maybe WorkloadImprovementStatus
workloadName :: Maybe Text
workloadId :: Maybe Text
workloadArn :: Maybe Text
updatedAt :: Maybe POSIX
tags :: Maybe (HashMap Text Text)
shareInvitationId :: Maybe Text
riskCounts :: Maybe (HashMap Risk Natural)
reviewRestrictionDate :: Maybe POSIX
reviewOwner :: Maybe Text
pillarPriorities :: Maybe [Text]
owner :: Maybe Text
notes :: Maybe Text
nonAwsRegions :: Maybe [Text]
lenses :: Maybe [Text]
isReviewOwnerUpdateAcknowledged :: Maybe Bool
industryType :: Maybe Text
industry :: Maybe Text
improvementStatus :: Maybe WorkloadImprovementStatus
environment :: Maybe WorkloadEnvironment
discoveryConfig :: Maybe WorkloadDiscoveryConfig
description :: Maybe Text
awsRegions :: Maybe [Text]
architecturalDesign :: Maybe Text
applications :: Maybe [Text]
accountIds :: Maybe [Text]
$sel:workloadName:Workload' :: Workload -> Maybe Text
$sel:workloadId:Workload' :: Workload -> Maybe Text
$sel:workloadArn:Workload' :: Workload -> Maybe Text
$sel:updatedAt:Workload' :: Workload -> Maybe POSIX
$sel:tags:Workload' :: Workload -> Maybe (HashMap Text Text)
$sel:shareInvitationId:Workload' :: Workload -> Maybe Text
$sel:riskCounts:Workload' :: Workload -> Maybe (HashMap Risk Natural)
$sel:reviewRestrictionDate:Workload' :: Workload -> Maybe POSIX
$sel:reviewOwner:Workload' :: Workload -> Maybe Text
$sel:pillarPriorities:Workload' :: Workload -> Maybe [Text]
$sel:owner:Workload' :: Workload -> Maybe Text
$sel:notes:Workload' :: Workload -> Maybe Text
$sel:nonAwsRegions:Workload' :: Workload -> Maybe [Text]
$sel:lenses:Workload' :: Workload -> Maybe [Text]
$sel:isReviewOwnerUpdateAcknowledged:Workload' :: Workload -> Maybe Bool
$sel:industryType:Workload' :: Workload -> Maybe Text
$sel:industry:Workload' :: Workload -> Maybe Text
$sel:improvementStatus:Workload' :: Workload -> Maybe WorkloadImprovementStatus
$sel:environment:Workload' :: Workload -> Maybe WorkloadEnvironment
$sel:discoveryConfig:Workload' :: Workload -> Maybe WorkloadDiscoveryConfig
$sel:description:Workload' :: Workload -> Maybe Text
$sel:awsRegions:Workload' :: Workload -> Maybe [Text]
$sel:architecturalDesign:Workload' :: Workload -> Maybe Text
$sel:applications:Workload' :: Workload -> Maybe [Text]
$sel:accountIds:Workload' :: Workload -> Maybe [Text]
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
accountIds
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
applications
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
architecturalDesign
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
awsRegions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe WorkloadDiscoveryConfig
discoveryConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe WorkloadEnvironment
environment
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe WorkloadImprovementStatus
improvementStatus
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
industry
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
industryType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
isReviewOwnerUpdateAcknowledged
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
lenses
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
nonAwsRegions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
notes
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
owner
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
pillarPriorities
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
reviewOwner
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
reviewRestrictionDate
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Risk Natural)
riskCounts
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
shareInvitationId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe POSIX
updatedAt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
workloadArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
workloadId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
workloadName

instance Prelude.NFData Workload where
  rnf :: Workload -> ()
rnf Workload' {Maybe Bool
Maybe [Text]
Maybe Text
Maybe (HashMap Text Text)
Maybe (HashMap Risk Natural)
Maybe POSIX
Maybe WorkloadDiscoveryConfig
Maybe WorkloadEnvironment
Maybe WorkloadImprovementStatus
workloadName :: Maybe Text
workloadId :: Maybe Text
workloadArn :: Maybe Text
updatedAt :: Maybe POSIX
tags :: Maybe (HashMap Text Text)
shareInvitationId :: Maybe Text
riskCounts :: Maybe (HashMap Risk Natural)
reviewRestrictionDate :: Maybe POSIX
reviewOwner :: Maybe Text
pillarPriorities :: Maybe [Text]
owner :: Maybe Text
notes :: Maybe Text
nonAwsRegions :: Maybe [Text]
lenses :: Maybe [Text]
isReviewOwnerUpdateAcknowledged :: Maybe Bool
industryType :: Maybe Text
industry :: Maybe Text
improvementStatus :: Maybe WorkloadImprovementStatus
environment :: Maybe WorkloadEnvironment
discoveryConfig :: Maybe WorkloadDiscoveryConfig
description :: Maybe Text
awsRegions :: Maybe [Text]
architecturalDesign :: Maybe Text
applications :: Maybe [Text]
accountIds :: Maybe [Text]
$sel:workloadName:Workload' :: Workload -> Maybe Text
$sel:workloadId:Workload' :: Workload -> Maybe Text
$sel:workloadArn:Workload' :: Workload -> Maybe Text
$sel:updatedAt:Workload' :: Workload -> Maybe POSIX
$sel:tags:Workload' :: Workload -> Maybe (HashMap Text Text)
$sel:shareInvitationId:Workload' :: Workload -> Maybe Text
$sel:riskCounts:Workload' :: Workload -> Maybe (HashMap Risk Natural)
$sel:reviewRestrictionDate:Workload' :: Workload -> Maybe POSIX
$sel:reviewOwner:Workload' :: Workload -> Maybe Text
$sel:pillarPriorities:Workload' :: Workload -> Maybe [Text]
$sel:owner:Workload' :: Workload -> Maybe Text
$sel:notes:Workload' :: Workload -> Maybe Text
$sel:nonAwsRegions:Workload' :: Workload -> Maybe [Text]
$sel:lenses:Workload' :: Workload -> Maybe [Text]
$sel:isReviewOwnerUpdateAcknowledged:Workload' :: Workload -> Maybe Bool
$sel:industryType:Workload' :: Workload -> Maybe Text
$sel:industry:Workload' :: Workload -> Maybe Text
$sel:improvementStatus:Workload' :: Workload -> Maybe WorkloadImprovementStatus
$sel:environment:Workload' :: Workload -> Maybe WorkloadEnvironment
$sel:discoveryConfig:Workload' :: Workload -> Maybe WorkloadDiscoveryConfig
$sel:description:Workload' :: Workload -> Maybe Text
$sel:awsRegions:Workload' :: Workload -> Maybe [Text]
$sel:architecturalDesign:Workload' :: Workload -> Maybe Text
$sel:applications:Workload' :: Workload -> Maybe [Text]
$sel:accountIds:Workload' :: Workload -> Maybe [Text]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
accountIds
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
applications
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
architecturalDesign
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
awsRegions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe WorkloadDiscoveryConfig
discoveryConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe WorkloadEnvironment
environment
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe WorkloadImprovementStatus
improvementStatus
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
industry
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
industryType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
isReviewOwnerUpdateAcknowledged
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
lenses
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
nonAwsRegions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
notes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
owner
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
pillarPriorities
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
reviewOwner
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
reviewRestrictionDate
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Risk Natural)
riskCounts
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
shareInvitationId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
updatedAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
workloadArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
workloadId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
workloadName