{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# 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.UpdateWorkload
-- 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)
--
-- Update an existing workload.
module Amazonka.WellArchitected.UpdateWorkload
  ( -- * Creating a Request
    UpdateWorkload (..),
    newUpdateWorkload,

    -- * Request Lenses
    updateWorkload_isReviewOwnerUpdateAcknowledged,
    updateWorkload_architecturalDesign,
    updateWorkload_accountIds,
    updateWorkload_industry,
    updateWorkload_environment,
    updateWorkload_awsRegions,
    updateWorkload_improvementStatus,
    updateWorkload_industryType,
    updateWorkload_workloadName,
    updateWorkload_notes,
    updateWorkload_reviewOwner,
    updateWorkload_description,
    updateWorkload_pillarPriorities,
    updateWorkload_nonAwsRegions,
    updateWorkload_workloadId,

    -- * Destructuring the Response
    UpdateWorkloadResponse (..),
    newUpdateWorkloadResponse,

    -- * Response Lenses
    updateWorkloadResponse_workload,
    updateWorkloadResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.WellArchitected.Types

-- | Input to update a workload.
--
-- /See:/ 'newUpdateWorkload' smart constructor.
data UpdateWorkload = UpdateWorkload'
  { -- | 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.
    UpdateWorkload -> Maybe Bool
isReviewOwnerUpdateAcknowledged :: Prelude.Maybe Prelude.Bool,
    UpdateWorkload -> Maybe Text
architecturalDesign :: Prelude.Maybe Prelude.Text,
    UpdateWorkload -> Maybe [Text]
accountIds :: Prelude.Maybe [Prelude.Text],
    UpdateWorkload -> Maybe Text
industry :: Prelude.Maybe Prelude.Text,
    UpdateWorkload -> Maybe WorkloadEnvironment
environment :: Prelude.Maybe WorkloadEnvironment,
    UpdateWorkload -> Maybe [Text]
awsRegions :: Prelude.Maybe [Prelude.Text],
    UpdateWorkload -> Maybe WorkloadImprovementStatus
improvementStatus :: Prelude.Maybe WorkloadImprovementStatus,
    UpdateWorkload -> Maybe Text
industryType :: Prelude.Maybe Prelude.Text,
    UpdateWorkload -> Maybe Text
workloadName :: Prelude.Maybe Prelude.Text,
    UpdateWorkload -> Maybe Text
notes :: Prelude.Maybe Prelude.Text,
    UpdateWorkload -> Maybe Text
reviewOwner :: Prelude.Maybe Prelude.Text,
    UpdateWorkload -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    UpdateWorkload -> Maybe [Text]
pillarPriorities :: Prelude.Maybe [Prelude.Text],
    UpdateWorkload -> Maybe [Text]
nonAwsRegions :: Prelude.Maybe [Prelude.Text],
    UpdateWorkload -> Text
workloadId :: Prelude.Text
  }
  deriving (UpdateWorkload -> UpdateWorkload -> Bool
(UpdateWorkload -> UpdateWorkload -> Bool)
-> (UpdateWorkload -> UpdateWorkload -> Bool) -> Eq UpdateWorkload
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateWorkload -> UpdateWorkload -> Bool
$c/= :: UpdateWorkload -> UpdateWorkload -> Bool
== :: UpdateWorkload -> UpdateWorkload -> Bool
$c== :: UpdateWorkload -> UpdateWorkload -> Bool
Prelude.Eq, ReadPrec [UpdateWorkload]
ReadPrec UpdateWorkload
Int -> ReadS UpdateWorkload
ReadS [UpdateWorkload]
(Int -> ReadS UpdateWorkload)
-> ReadS [UpdateWorkload]
-> ReadPrec UpdateWorkload
-> ReadPrec [UpdateWorkload]
-> Read UpdateWorkload
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateWorkload]
$creadListPrec :: ReadPrec [UpdateWorkload]
readPrec :: ReadPrec UpdateWorkload
$creadPrec :: ReadPrec UpdateWorkload
readList :: ReadS [UpdateWorkload]
$creadList :: ReadS [UpdateWorkload]
readsPrec :: Int -> ReadS UpdateWorkload
$creadsPrec :: Int -> ReadS UpdateWorkload
Prelude.Read, Int -> UpdateWorkload -> ShowS
[UpdateWorkload] -> ShowS
UpdateWorkload -> String
(Int -> UpdateWorkload -> ShowS)
-> (UpdateWorkload -> String)
-> ([UpdateWorkload] -> ShowS)
-> Show UpdateWorkload
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateWorkload] -> ShowS
$cshowList :: [UpdateWorkload] -> ShowS
show :: UpdateWorkload -> String
$cshow :: UpdateWorkload -> String
showsPrec :: Int -> UpdateWorkload -> ShowS
$cshowsPrec :: Int -> UpdateWorkload -> ShowS
Prelude.Show, (forall x. UpdateWorkload -> Rep UpdateWorkload x)
-> (forall x. Rep UpdateWorkload x -> UpdateWorkload)
-> Generic UpdateWorkload
forall x. Rep UpdateWorkload x -> UpdateWorkload
forall x. UpdateWorkload -> Rep UpdateWorkload x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateWorkload x -> UpdateWorkload
$cfrom :: forall x. UpdateWorkload -> Rep UpdateWorkload x
Prelude.Generic)

-- |
-- Create a value of 'UpdateWorkload' 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', 'updateWorkload_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', 'updateWorkload_architecturalDesign' - Undocumented member.
--
-- 'accountIds', 'updateWorkload_accountIds' - Undocumented member.
--
-- 'industry', 'updateWorkload_industry' - Undocumented member.
--
-- 'environment', 'updateWorkload_environment' - Undocumented member.
--
-- 'awsRegions', 'updateWorkload_awsRegions' - Undocumented member.
--
-- 'improvementStatus', 'updateWorkload_improvementStatus' - Undocumented member.
--
-- 'industryType', 'updateWorkload_industryType' - Undocumented member.
--
-- 'workloadName', 'updateWorkload_workloadName' - Undocumented member.
--
-- 'notes', 'updateWorkload_notes' - Undocumented member.
--
-- 'reviewOwner', 'updateWorkload_reviewOwner' - Undocumented member.
--
-- 'description', 'updateWorkload_description' - Undocumented member.
--
-- 'pillarPriorities', 'updateWorkload_pillarPriorities' - Undocumented member.
--
-- 'nonAwsRegions', 'updateWorkload_nonAwsRegions' - Undocumented member.
--
-- 'workloadId', 'updateWorkload_workloadId' - Undocumented member.
newUpdateWorkload ::
  -- | 'workloadId'
  Prelude.Text ->
  UpdateWorkload
newUpdateWorkload :: Text -> UpdateWorkload
newUpdateWorkload Text
pWorkloadId_ =
  UpdateWorkload' :: Maybe Bool
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe WorkloadEnvironment
-> Maybe [Text]
-> Maybe WorkloadImprovementStatus
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Text
-> UpdateWorkload
UpdateWorkload'
    { $sel:isReviewOwnerUpdateAcknowledged:UpdateWorkload' :: Maybe Bool
isReviewOwnerUpdateAcknowledged =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:architecturalDesign:UpdateWorkload' :: Maybe Text
architecturalDesign = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:accountIds:UpdateWorkload' :: Maybe [Text]
accountIds = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:industry:UpdateWorkload' :: Maybe Text
industry = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:environment:UpdateWorkload' :: Maybe WorkloadEnvironment
environment = Maybe WorkloadEnvironment
forall a. Maybe a
Prelude.Nothing,
      $sel:awsRegions:UpdateWorkload' :: Maybe [Text]
awsRegions = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:improvementStatus:UpdateWorkload' :: Maybe WorkloadImprovementStatus
improvementStatus = Maybe WorkloadImprovementStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:industryType:UpdateWorkload' :: Maybe Text
industryType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:workloadName:UpdateWorkload' :: Maybe Text
workloadName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:notes:UpdateWorkload' :: Maybe Text
notes = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:reviewOwner:UpdateWorkload' :: Maybe Text
reviewOwner = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:description:UpdateWorkload' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:pillarPriorities:UpdateWorkload' :: Maybe [Text]
pillarPriorities = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:nonAwsRegions:UpdateWorkload' :: Maybe [Text]
nonAwsRegions = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:workloadId:UpdateWorkload' :: Text
workloadId = Text
pWorkloadId_
    }

-- | 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.
updateWorkload_isReviewOwnerUpdateAcknowledged :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Bool)
updateWorkload_isReviewOwnerUpdateAcknowledged :: (Maybe Bool -> f (Maybe Bool))
-> UpdateWorkload -> f UpdateWorkload
updateWorkload_isReviewOwnerUpdateAcknowledged = (UpdateWorkload -> Maybe Bool)
-> (UpdateWorkload -> Maybe Bool -> UpdateWorkload)
-> Lens UpdateWorkload UpdateWorkload (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkload' {Maybe Bool
isReviewOwnerUpdateAcknowledged :: Maybe Bool
$sel:isReviewOwnerUpdateAcknowledged:UpdateWorkload' :: UpdateWorkload -> Maybe Bool
isReviewOwnerUpdateAcknowledged} -> Maybe Bool
isReviewOwnerUpdateAcknowledged) (\s :: UpdateWorkload
s@UpdateWorkload' {} Maybe Bool
a -> UpdateWorkload
s {$sel:isReviewOwnerUpdateAcknowledged:UpdateWorkload' :: Maybe Bool
isReviewOwnerUpdateAcknowledged = Maybe Bool
a} :: UpdateWorkload)

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

-- | Undocumented member.
updateWorkload_accountIds :: Lens.Lens' UpdateWorkload (Prelude.Maybe [Prelude.Text])
updateWorkload_accountIds :: (Maybe [Text] -> f (Maybe [Text]))
-> UpdateWorkload -> f UpdateWorkload
updateWorkload_accountIds = (UpdateWorkload -> Maybe [Text])
-> (UpdateWorkload -> Maybe [Text] -> UpdateWorkload)
-> Lens UpdateWorkload UpdateWorkload (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkload' {Maybe [Text]
accountIds :: Maybe [Text]
$sel:accountIds:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
accountIds} -> Maybe [Text]
accountIds) (\s :: UpdateWorkload
s@UpdateWorkload' {} Maybe [Text]
a -> UpdateWorkload
s {$sel:accountIds:UpdateWorkload' :: Maybe [Text]
accountIds = Maybe [Text]
a} :: UpdateWorkload) ((Maybe [Text] -> f (Maybe [Text]))
 -> UpdateWorkload -> f UpdateWorkload)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> UpdateWorkload
-> f UpdateWorkload
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.
updateWorkload_industry :: Lens.Lens' UpdateWorkload (Prelude.Maybe Prelude.Text)
updateWorkload_industry :: (Maybe Text -> f (Maybe Text))
-> UpdateWorkload -> f UpdateWorkload
updateWorkload_industry = (UpdateWorkload -> Maybe Text)
-> (UpdateWorkload -> Maybe Text -> UpdateWorkload)
-> Lens UpdateWorkload UpdateWorkload (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkload' {Maybe Text
industry :: Maybe Text
$sel:industry:UpdateWorkload' :: UpdateWorkload -> Maybe Text
industry} -> Maybe Text
industry) (\s :: UpdateWorkload
s@UpdateWorkload' {} Maybe Text
a -> UpdateWorkload
s {$sel:industry:UpdateWorkload' :: Maybe Text
industry = Maybe Text
a} :: UpdateWorkload)

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

-- | Undocumented member.
updateWorkload_awsRegions :: Lens.Lens' UpdateWorkload (Prelude.Maybe [Prelude.Text])
updateWorkload_awsRegions :: (Maybe [Text] -> f (Maybe [Text]))
-> UpdateWorkload -> f UpdateWorkload
updateWorkload_awsRegions = (UpdateWorkload -> Maybe [Text])
-> (UpdateWorkload -> Maybe [Text] -> UpdateWorkload)
-> Lens UpdateWorkload UpdateWorkload (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkload' {Maybe [Text]
awsRegions :: Maybe [Text]
$sel:awsRegions:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
awsRegions} -> Maybe [Text]
awsRegions) (\s :: UpdateWorkload
s@UpdateWorkload' {} Maybe [Text]
a -> UpdateWorkload
s {$sel:awsRegions:UpdateWorkload' :: Maybe [Text]
awsRegions = Maybe [Text]
a} :: UpdateWorkload) ((Maybe [Text] -> f (Maybe [Text]))
 -> UpdateWorkload -> f UpdateWorkload)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> UpdateWorkload
-> f UpdateWorkload
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.
updateWorkload_improvementStatus :: Lens.Lens' UpdateWorkload (Prelude.Maybe WorkloadImprovementStatus)
updateWorkload_improvementStatus :: (Maybe WorkloadImprovementStatus
 -> f (Maybe WorkloadImprovementStatus))
-> UpdateWorkload -> f UpdateWorkload
updateWorkload_improvementStatus = (UpdateWorkload -> Maybe WorkloadImprovementStatus)
-> (UpdateWorkload
    -> Maybe WorkloadImprovementStatus -> UpdateWorkload)
-> Lens
     UpdateWorkload
     UpdateWorkload
     (Maybe WorkloadImprovementStatus)
     (Maybe WorkloadImprovementStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkload' {Maybe WorkloadImprovementStatus
improvementStatus :: Maybe WorkloadImprovementStatus
$sel:improvementStatus:UpdateWorkload' :: UpdateWorkload -> Maybe WorkloadImprovementStatus
improvementStatus} -> Maybe WorkloadImprovementStatus
improvementStatus) (\s :: UpdateWorkload
s@UpdateWorkload' {} Maybe WorkloadImprovementStatus
a -> UpdateWorkload
s {$sel:improvementStatus:UpdateWorkload' :: Maybe WorkloadImprovementStatus
improvementStatus = Maybe WorkloadImprovementStatus
a} :: UpdateWorkload)

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

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

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

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

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

-- | Undocumented member.
updateWorkload_pillarPriorities :: Lens.Lens' UpdateWorkload (Prelude.Maybe [Prelude.Text])
updateWorkload_pillarPriorities :: (Maybe [Text] -> f (Maybe [Text]))
-> UpdateWorkload -> f UpdateWorkload
updateWorkload_pillarPriorities = (UpdateWorkload -> Maybe [Text])
-> (UpdateWorkload -> Maybe [Text] -> UpdateWorkload)
-> Lens UpdateWorkload UpdateWorkload (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkload' {Maybe [Text]
pillarPriorities :: Maybe [Text]
$sel:pillarPriorities:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
pillarPriorities} -> Maybe [Text]
pillarPriorities) (\s :: UpdateWorkload
s@UpdateWorkload' {} Maybe [Text]
a -> UpdateWorkload
s {$sel:pillarPriorities:UpdateWorkload' :: Maybe [Text]
pillarPriorities = Maybe [Text]
a} :: UpdateWorkload) ((Maybe [Text] -> f (Maybe [Text]))
 -> UpdateWorkload -> f UpdateWorkload)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> UpdateWorkload
-> f UpdateWorkload
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.
updateWorkload_nonAwsRegions :: Lens.Lens' UpdateWorkload (Prelude.Maybe [Prelude.Text])
updateWorkload_nonAwsRegions :: (Maybe [Text] -> f (Maybe [Text]))
-> UpdateWorkload -> f UpdateWorkload
updateWorkload_nonAwsRegions = (UpdateWorkload -> Maybe [Text])
-> (UpdateWorkload -> Maybe [Text] -> UpdateWorkload)
-> Lens UpdateWorkload UpdateWorkload (Maybe [Text]) (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkload' {Maybe [Text]
nonAwsRegions :: Maybe [Text]
$sel:nonAwsRegions:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
nonAwsRegions} -> Maybe [Text]
nonAwsRegions) (\s :: UpdateWorkload
s@UpdateWorkload' {} Maybe [Text]
a -> UpdateWorkload
s {$sel:nonAwsRegions:UpdateWorkload' :: Maybe [Text]
nonAwsRegions = Maybe [Text]
a} :: UpdateWorkload) ((Maybe [Text] -> f (Maybe [Text]))
 -> UpdateWorkload -> f UpdateWorkload)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> UpdateWorkload
-> f UpdateWorkload
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.
updateWorkload_workloadId :: Lens.Lens' UpdateWorkload Prelude.Text
updateWorkload_workloadId :: (Text -> f Text) -> UpdateWorkload -> f UpdateWorkload
updateWorkload_workloadId = (UpdateWorkload -> Text)
-> (UpdateWorkload -> Text -> UpdateWorkload)
-> Lens UpdateWorkload UpdateWorkload Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkload' {Text
workloadId :: Text
$sel:workloadId:UpdateWorkload' :: UpdateWorkload -> Text
workloadId} -> Text
workloadId) (\s :: UpdateWorkload
s@UpdateWorkload' {} Text
a -> UpdateWorkload
s {$sel:workloadId:UpdateWorkload' :: Text
workloadId = Text
a} :: UpdateWorkload)

instance Core.AWSRequest UpdateWorkload where
  type
    AWSResponse UpdateWorkload =
      UpdateWorkloadResponse
  request :: UpdateWorkload -> Request UpdateWorkload
request = Service -> UpdateWorkload -> Request UpdateWorkload
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.patchJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy UpdateWorkload
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateWorkload)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse UpdateWorkload))
-> Logger
-> Service
-> Proxy UpdateWorkload
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateWorkload)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Workload -> Int -> UpdateWorkloadResponse
UpdateWorkloadResponse'
            (Maybe Workload -> Int -> UpdateWorkloadResponse)
-> Either String (Maybe Workload)
-> Either String (Int -> UpdateWorkloadResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe Workload)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Workload")
            Either String (Int -> UpdateWorkloadResponse)
-> Either String Int -> Either String UpdateWorkloadResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable UpdateWorkload

instance Prelude.NFData UpdateWorkload

instance Core.ToHeaders UpdateWorkload where
  toHeaders :: UpdateWorkload -> ResponseHeaders
toHeaders =
    ResponseHeaders -> UpdateWorkload -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const
      ( [ResponseHeaders] -> ResponseHeaders
forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              HeaderName -> ByteString -> ResponseHeaders
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Core.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Core.ToJSON UpdateWorkload where
  toJSON :: UpdateWorkload -> Value
toJSON UpdateWorkload' {Maybe Bool
Maybe [Text]
Maybe Text
Maybe WorkloadEnvironment
Maybe WorkloadImprovementStatus
Text
workloadId :: Text
nonAwsRegions :: Maybe [Text]
pillarPriorities :: Maybe [Text]
description :: Maybe Text
reviewOwner :: Maybe Text
notes :: Maybe Text
workloadName :: Maybe Text
industryType :: Maybe Text
improvementStatus :: Maybe WorkloadImprovementStatus
awsRegions :: Maybe [Text]
environment :: Maybe WorkloadEnvironment
industry :: Maybe Text
accountIds :: Maybe [Text]
architecturalDesign :: Maybe Text
isReviewOwnerUpdateAcknowledged :: Maybe Bool
$sel:workloadId:UpdateWorkload' :: UpdateWorkload -> Text
$sel:nonAwsRegions:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
$sel:pillarPriorities:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
$sel:description:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:reviewOwner:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:notes:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:workloadName:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:industryType:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:improvementStatus:UpdateWorkload' :: UpdateWorkload -> Maybe WorkloadImprovementStatus
$sel:awsRegions:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
$sel:environment:UpdateWorkload' :: UpdateWorkload -> Maybe WorkloadEnvironment
$sel:industry:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:accountIds:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
$sel:architecturalDesign:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:isReviewOwnerUpdateAcknowledged:UpdateWorkload' :: UpdateWorkload -> Maybe Bool
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"IsReviewOwnerUpdateAcknowledged" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
isReviewOwnerUpdateAcknowledged,
            (Text
"ArchitecturalDesign" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
architecturalDesign,
            (Text
"AccountIds" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
accountIds,
            (Text
"Industry" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
industry,
            (Text
"Environment" Text -> WorkloadEnvironment -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (WorkloadEnvironment -> Pair)
-> Maybe WorkloadEnvironment -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe WorkloadEnvironment
environment,
            (Text
"AwsRegions" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
awsRegions,
            (Text
"ImprovementStatus" Text -> WorkloadImprovementStatus -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (WorkloadImprovementStatus -> Pair)
-> Maybe WorkloadImprovementStatus -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe WorkloadImprovementStatus
improvementStatus,
            (Text
"IndustryType" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
industryType,
            (Text
"WorkloadName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
workloadName,
            (Text
"Notes" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
notes,
            (Text
"ReviewOwner" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
reviewOwner,
            (Text
"Description" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description,
            (Text
"PillarPriorities" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
pillarPriorities,
            (Text
"NonAwsRegions" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
nonAwsRegions
          ]
      )

instance Core.ToPath UpdateWorkload where
  toPath :: UpdateWorkload -> ByteString
toPath UpdateWorkload' {Maybe Bool
Maybe [Text]
Maybe Text
Maybe WorkloadEnvironment
Maybe WorkloadImprovementStatus
Text
workloadId :: Text
nonAwsRegions :: Maybe [Text]
pillarPriorities :: Maybe [Text]
description :: Maybe Text
reviewOwner :: Maybe Text
notes :: Maybe Text
workloadName :: Maybe Text
industryType :: Maybe Text
improvementStatus :: Maybe WorkloadImprovementStatus
awsRegions :: Maybe [Text]
environment :: Maybe WorkloadEnvironment
industry :: Maybe Text
accountIds :: Maybe [Text]
architecturalDesign :: Maybe Text
isReviewOwnerUpdateAcknowledged :: Maybe Bool
$sel:workloadId:UpdateWorkload' :: UpdateWorkload -> Text
$sel:nonAwsRegions:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
$sel:pillarPriorities:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
$sel:description:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:reviewOwner:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:notes:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:workloadName:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:industryType:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:improvementStatus:UpdateWorkload' :: UpdateWorkload -> Maybe WorkloadImprovementStatus
$sel:awsRegions:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
$sel:environment:UpdateWorkload' :: UpdateWorkload -> Maybe WorkloadEnvironment
$sel:industry:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:accountIds:UpdateWorkload' :: UpdateWorkload -> Maybe [Text]
$sel:architecturalDesign:UpdateWorkload' :: UpdateWorkload -> Maybe Text
$sel:isReviewOwnerUpdateAcknowledged:UpdateWorkload' :: UpdateWorkload -> Maybe Bool
..} =
    [ByteString] -> ByteString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ByteString
"/workloads/", Text -> ByteString
forall a. ToByteString a => a -> ByteString
Core.toBS Text
workloadId]

instance Core.ToQuery UpdateWorkload where
  toQuery :: UpdateWorkload -> QueryString
toQuery = QueryString -> UpdateWorkload -> QueryString
forall a b. a -> b -> a
Prelude.const QueryString
forall a. Monoid a => a
Prelude.mempty

-- | Output of an update workload call.
--
-- /See:/ 'newUpdateWorkloadResponse' smart constructor.
data UpdateWorkloadResponse = UpdateWorkloadResponse'
  { UpdateWorkloadResponse -> Maybe Workload
workload :: Prelude.Maybe Workload,
    -- | The response's http status code.
    UpdateWorkloadResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateWorkloadResponse -> UpdateWorkloadResponse -> Bool
(UpdateWorkloadResponse -> UpdateWorkloadResponse -> Bool)
-> (UpdateWorkloadResponse -> UpdateWorkloadResponse -> Bool)
-> Eq UpdateWorkloadResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateWorkloadResponse -> UpdateWorkloadResponse -> Bool
$c/= :: UpdateWorkloadResponse -> UpdateWorkloadResponse -> Bool
== :: UpdateWorkloadResponse -> UpdateWorkloadResponse -> Bool
$c== :: UpdateWorkloadResponse -> UpdateWorkloadResponse -> Bool
Prelude.Eq, ReadPrec [UpdateWorkloadResponse]
ReadPrec UpdateWorkloadResponse
Int -> ReadS UpdateWorkloadResponse
ReadS [UpdateWorkloadResponse]
(Int -> ReadS UpdateWorkloadResponse)
-> ReadS [UpdateWorkloadResponse]
-> ReadPrec UpdateWorkloadResponse
-> ReadPrec [UpdateWorkloadResponse]
-> Read UpdateWorkloadResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateWorkloadResponse]
$creadListPrec :: ReadPrec [UpdateWorkloadResponse]
readPrec :: ReadPrec UpdateWorkloadResponse
$creadPrec :: ReadPrec UpdateWorkloadResponse
readList :: ReadS [UpdateWorkloadResponse]
$creadList :: ReadS [UpdateWorkloadResponse]
readsPrec :: Int -> ReadS UpdateWorkloadResponse
$creadsPrec :: Int -> ReadS UpdateWorkloadResponse
Prelude.Read, Int -> UpdateWorkloadResponse -> ShowS
[UpdateWorkloadResponse] -> ShowS
UpdateWorkloadResponse -> String
(Int -> UpdateWorkloadResponse -> ShowS)
-> (UpdateWorkloadResponse -> String)
-> ([UpdateWorkloadResponse] -> ShowS)
-> Show UpdateWorkloadResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateWorkloadResponse] -> ShowS
$cshowList :: [UpdateWorkloadResponse] -> ShowS
show :: UpdateWorkloadResponse -> String
$cshow :: UpdateWorkloadResponse -> String
showsPrec :: Int -> UpdateWorkloadResponse -> ShowS
$cshowsPrec :: Int -> UpdateWorkloadResponse -> ShowS
Prelude.Show, (forall x. UpdateWorkloadResponse -> Rep UpdateWorkloadResponse x)
-> (forall x.
    Rep UpdateWorkloadResponse x -> UpdateWorkloadResponse)
-> Generic UpdateWorkloadResponse
forall x. Rep UpdateWorkloadResponse x -> UpdateWorkloadResponse
forall x. UpdateWorkloadResponse -> Rep UpdateWorkloadResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateWorkloadResponse x -> UpdateWorkloadResponse
$cfrom :: forall x. UpdateWorkloadResponse -> Rep UpdateWorkloadResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateWorkloadResponse' 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:
--
-- 'workload', 'updateWorkloadResponse_workload' - Undocumented member.
--
-- 'httpStatus', 'updateWorkloadResponse_httpStatus' - The response's http status code.
newUpdateWorkloadResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateWorkloadResponse
newUpdateWorkloadResponse :: Int -> UpdateWorkloadResponse
newUpdateWorkloadResponse Int
pHttpStatus_ =
  UpdateWorkloadResponse' :: Maybe Workload -> Int -> UpdateWorkloadResponse
UpdateWorkloadResponse'
    { $sel:workload:UpdateWorkloadResponse' :: Maybe Workload
workload = Maybe Workload
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateWorkloadResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

-- | The response's http status code.
updateWorkloadResponse_httpStatus :: Lens.Lens' UpdateWorkloadResponse Prelude.Int
updateWorkloadResponse_httpStatus :: (Int -> f Int)
-> UpdateWorkloadResponse -> f UpdateWorkloadResponse
updateWorkloadResponse_httpStatus = (UpdateWorkloadResponse -> Int)
-> (UpdateWorkloadResponse -> Int -> UpdateWorkloadResponse)
-> Lens UpdateWorkloadResponse UpdateWorkloadResponse Int Int
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateWorkloadResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateWorkloadResponse' :: UpdateWorkloadResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateWorkloadResponse
s@UpdateWorkloadResponse' {} Int
a -> UpdateWorkloadResponse
s {$sel:httpStatus:UpdateWorkloadResponse' :: Int
httpStatus = Int
a} :: UpdateWorkloadResponse)

instance Prelude.NFData UpdateWorkloadResponse