{-# 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.MwAA.UpdateEnvironment
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates an Amazon Managed Workflows for Apache Airflow (MWAA)
-- environment.
module Amazonka.MwAA.UpdateEnvironment
  ( -- * Creating a Request
    UpdateEnvironment (..),
    newUpdateEnvironment,

    -- * Request Lenses
    updateEnvironment_airflowConfigurationOptions,
    updateEnvironment_airflowVersion,
    updateEnvironment_dagS3Path,
    updateEnvironment_environmentClass,
    updateEnvironment_executionRoleArn,
    updateEnvironment_loggingConfiguration,
    updateEnvironment_maxWorkers,
    updateEnvironment_minWorkers,
    updateEnvironment_networkConfiguration,
    updateEnvironment_pluginsS3ObjectVersion,
    updateEnvironment_pluginsS3Path,
    updateEnvironment_requirementsS3ObjectVersion,
    updateEnvironment_requirementsS3Path,
    updateEnvironment_schedulers,
    updateEnvironment_sourceBucketArn,
    updateEnvironment_webserverAccessMode,
    updateEnvironment_weeklyMaintenanceWindowStart,
    updateEnvironment_name,

    -- * Destructuring the Response
    UpdateEnvironmentResponse (..),
    newUpdateEnvironmentResponse,

    -- * Response Lenses
    updateEnvironmentResponse_arn,
    updateEnvironmentResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MwAA.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newUpdateEnvironment' smart constructor.
data UpdateEnvironment = UpdateEnvironment'
  { -- | A list of key-value pairs containing the Apache Airflow configuration
    -- options you want to attach to your environment. To learn more, see
    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.
    UpdateEnvironment
-> Maybe (Sensitive (HashMap Text (Sensitive Text)))
airflowConfigurationOptions :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text (Data.Sensitive Prelude.Text))),
    -- | The Apache Airflow version for your environment. If no value is
    -- specified, defaults to the latest version. Valid values: @1.10.12@,
    -- @2.0.2@, @2.2.2@, and @2.4.3@.
    UpdateEnvironment -> Maybe Text
airflowVersion :: Prelude.Maybe Prelude.Text,
    -- | The relative path to the DAGs folder on your Amazon S3 bucket. For
    -- example, @dags@. To learn more, see
    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.
    UpdateEnvironment -> Maybe Text
dagS3Path :: Prelude.Maybe Prelude.Text,
    -- | The environment class type. Valid values: @mw1.small@, @mw1.medium@,
    -- @mw1.large@. To learn more, see
    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.
    UpdateEnvironment -> Maybe Text
environmentClass :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the execution role in IAM that allows
    -- MWAA to access Amazon Web Services resources in your environment. For
    -- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn
    -- more, see
    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.
    UpdateEnvironment -> Maybe Text
executionRoleArn :: Prelude.Maybe Prelude.Text,
    -- | The Apache Airflow log types to send to CloudWatch Logs.
    UpdateEnvironment -> Maybe LoggingConfigurationInput
loggingConfiguration :: Prelude.Maybe LoggingConfigurationInput,
    -- | The maximum number of workers that you want to run in your environment.
    -- MWAA scales the number of Apache Airflow workers up to the number you
    -- specify in the @MaxWorkers@ field. For example, @20@. When there are no
    -- more tasks running, and no more in the queue, MWAA disposes of the extra
    -- workers leaving the one worker that is included with your environment,
    -- or the number you specify in @MinWorkers@.
    UpdateEnvironment -> Maybe Natural
maxWorkers :: Prelude.Maybe Prelude.Natural,
    -- | The minimum number of workers that you want to run in your environment.
    -- MWAA scales the number of Apache Airflow workers up to the number you
    -- specify in the @MaxWorkers@ field. When there are no more tasks running,
    -- and no more in the queue, MWAA disposes of the extra workers leaving the
    -- worker count you specify in the @MinWorkers@ field. For example, @2@.
    UpdateEnvironment -> Maybe Natural
minWorkers :: Prelude.Maybe Prelude.Natural,
    -- | The VPC networking components used to secure and enable network traffic
    -- between the Amazon Web Services resources for your environment. To learn
    -- more, see
    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.
    UpdateEnvironment -> Maybe UpdateNetworkConfigurationInput
networkConfiguration :: Prelude.Maybe UpdateNetworkConfigurationInput,
    -- | The version of the plugins.zip file on your Amazon S3 bucket. A version
    -- must be specified each time a plugins.zip file is updated. To learn
    -- more, see
    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.
    UpdateEnvironment -> Maybe Text
pluginsS3ObjectVersion :: Prelude.Maybe Prelude.Text,
    -- | The relative path to the @plugins.zip@ file on your Amazon S3 bucket.
    -- For example, @plugins.zip@. If specified, then the plugins.zip version
    -- is required. To learn more, see
    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.
    UpdateEnvironment -> Maybe Text
pluginsS3Path :: Prelude.Maybe Prelude.Text,
    -- | The version of the requirements.txt file on your Amazon S3 bucket. A
    -- version must be specified each time a requirements.txt file is updated.
    -- To learn more, see
    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.
    UpdateEnvironment -> Maybe Text
requirementsS3ObjectVersion :: Prelude.Maybe Prelude.Text,
    -- | The relative path to the @requirements.txt@ file on your Amazon S3
    -- bucket. For example, @requirements.txt@. If specified, then a file
    -- version is required. To learn more, see
    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.
    UpdateEnvironment -> Maybe Text
requirementsS3Path :: Prelude.Maybe Prelude.Text,
    -- | The number of Apache Airflow schedulers to run in your Amazon MWAA
    -- environment.
    UpdateEnvironment -> Maybe Int
schedulers :: Prelude.Maybe Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG
    -- code and supporting files are stored. For example,
    -- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see
    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.
    UpdateEnvironment -> Maybe Text
sourceBucketArn :: Prelude.Maybe Prelude.Text,
    -- | The Apache Airflow /Web server/ access mode. To learn more, see
    -- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.
    UpdateEnvironment -> Maybe WebserverAccessMode
webserverAccessMode :: Prelude.Maybe WebserverAccessMode,
    -- | The day and time of the week in Coordinated Universal Time (UTC) 24-hour
    -- standard time to start weekly maintenance updates of your environment in
    -- the following format: @DAY:HH:MM@. For example: @TUE:03:30@. You can
    -- specify a start time in 30 minute increments only.
    UpdateEnvironment -> Maybe Text
weeklyMaintenanceWindowStart :: Prelude.Maybe Prelude.Text,
    -- | The name of your Amazon MWAA environment. For example,
    -- @MyMWAAEnvironment@.
    UpdateEnvironment -> Text
name :: Prelude.Text
  }
  deriving (UpdateEnvironment -> UpdateEnvironment -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateEnvironment -> UpdateEnvironment -> Bool
$c/= :: UpdateEnvironment -> UpdateEnvironment -> Bool
== :: UpdateEnvironment -> UpdateEnvironment -> Bool
$c== :: UpdateEnvironment -> UpdateEnvironment -> Bool
Prelude.Eq, Int -> UpdateEnvironment -> ShowS
[UpdateEnvironment] -> ShowS
UpdateEnvironment -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateEnvironment] -> ShowS
$cshowList :: [UpdateEnvironment] -> ShowS
show :: UpdateEnvironment -> String
$cshow :: UpdateEnvironment -> String
showsPrec :: Int -> UpdateEnvironment -> ShowS
$cshowsPrec :: Int -> UpdateEnvironment -> ShowS
Prelude.Show, forall x. Rep UpdateEnvironment x -> UpdateEnvironment
forall x. UpdateEnvironment -> Rep UpdateEnvironment x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateEnvironment x -> UpdateEnvironment
$cfrom :: forall x. UpdateEnvironment -> Rep UpdateEnvironment x
Prelude.Generic)

-- |
-- Create a value of 'UpdateEnvironment' 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:
--
-- 'airflowConfigurationOptions', 'updateEnvironment_airflowConfigurationOptions' - A list of key-value pairs containing the Apache Airflow configuration
-- options you want to attach to your environment. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.
--
-- 'airflowVersion', 'updateEnvironment_airflowVersion' - The Apache Airflow version for your environment. If no value is
-- specified, defaults to the latest version. Valid values: @1.10.12@,
-- @2.0.2@, @2.2.2@, and @2.4.3@.
--
-- 'dagS3Path', 'updateEnvironment_dagS3Path' - The relative path to the DAGs folder on your Amazon S3 bucket. For
-- example, @dags@. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.
--
-- 'environmentClass', 'updateEnvironment_environmentClass' - The environment class type. Valid values: @mw1.small@, @mw1.medium@,
-- @mw1.large@. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.
--
-- 'executionRoleArn', 'updateEnvironment_executionRoleArn' - The Amazon Resource Name (ARN) of the execution role in IAM that allows
-- MWAA to access Amazon Web Services resources in your environment. For
-- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn
-- more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.
--
-- 'loggingConfiguration', 'updateEnvironment_loggingConfiguration' - The Apache Airflow log types to send to CloudWatch Logs.
--
-- 'maxWorkers', 'updateEnvironment_maxWorkers' - The maximum number of workers that you want to run in your environment.
-- MWAA scales the number of Apache Airflow workers up to the number you
-- specify in the @MaxWorkers@ field. For example, @20@. When there are no
-- more tasks running, and no more in the queue, MWAA disposes of the extra
-- workers leaving the one worker that is included with your environment,
-- or the number you specify in @MinWorkers@.
--
-- 'minWorkers', 'updateEnvironment_minWorkers' - The minimum number of workers that you want to run in your environment.
-- MWAA scales the number of Apache Airflow workers up to the number you
-- specify in the @MaxWorkers@ field. When there are no more tasks running,
-- and no more in the queue, MWAA disposes of the extra workers leaving the
-- worker count you specify in the @MinWorkers@ field. For example, @2@.
--
-- 'networkConfiguration', 'updateEnvironment_networkConfiguration' - The VPC networking components used to secure and enable network traffic
-- between the Amazon Web Services resources for your environment. To learn
-- more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.
--
-- 'pluginsS3ObjectVersion', 'updateEnvironment_pluginsS3ObjectVersion' - The version of the plugins.zip file on your Amazon S3 bucket. A version
-- must be specified each time a plugins.zip file is updated. To learn
-- more, see
-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.
--
-- 'pluginsS3Path', 'updateEnvironment_pluginsS3Path' - The relative path to the @plugins.zip@ file on your Amazon S3 bucket.
-- For example, @plugins.zip@. If specified, then the plugins.zip version
-- is required. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.
--
-- 'requirementsS3ObjectVersion', 'updateEnvironment_requirementsS3ObjectVersion' - The version of the requirements.txt file on your Amazon S3 bucket. A
-- version must be specified each time a requirements.txt file is updated.
-- To learn more, see
-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.
--
-- 'requirementsS3Path', 'updateEnvironment_requirementsS3Path' - The relative path to the @requirements.txt@ file on your Amazon S3
-- bucket. For example, @requirements.txt@. If specified, then a file
-- version is required. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.
--
-- 'schedulers', 'updateEnvironment_schedulers' - The number of Apache Airflow schedulers to run in your Amazon MWAA
-- environment.
--
-- 'sourceBucketArn', 'updateEnvironment_sourceBucketArn' - The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG
-- code and supporting files are stored. For example,
-- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.
--
-- 'webserverAccessMode', 'updateEnvironment_webserverAccessMode' - The Apache Airflow /Web server/ access mode. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.
--
-- 'weeklyMaintenanceWindowStart', 'updateEnvironment_weeklyMaintenanceWindowStart' - The day and time of the week in Coordinated Universal Time (UTC) 24-hour
-- standard time to start weekly maintenance updates of your environment in
-- the following format: @DAY:HH:MM@. For example: @TUE:03:30@. You can
-- specify a start time in 30 minute increments only.
--
-- 'name', 'updateEnvironment_name' - The name of your Amazon MWAA environment. For example,
-- @MyMWAAEnvironment@.
newUpdateEnvironment ::
  -- | 'name'
  Prelude.Text ->
  UpdateEnvironment
newUpdateEnvironment :: Text -> UpdateEnvironment
newUpdateEnvironment Text
pName_ =
  UpdateEnvironment'
    { $sel:airflowConfigurationOptions:UpdateEnvironment' :: Maybe (Sensitive (HashMap Text (Sensitive Text)))
airflowConfigurationOptions =
        forall a. Maybe a
Prelude.Nothing,
      $sel:airflowVersion:UpdateEnvironment' :: Maybe Text
airflowVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:dagS3Path:UpdateEnvironment' :: Maybe Text
dagS3Path = forall a. Maybe a
Prelude.Nothing,
      $sel:environmentClass:UpdateEnvironment' :: Maybe Text
environmentClass = forall a. Maybe a
Prelude.Nothing,
      $sel:executionRoleArn:UpdateEnvironment' :: Maybe Text
executionRoleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:loggingConfiguration:UpdateEnvironment' :: Maybe LoggingConfigurationInput
loggingConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:maxWorkers:UpdateEnvironment' :: Maybe Natural
maxWorkers = forall a. Maybe a
Prelude.Nothing,
      $sel:minWorkers:UpdateEnvironment' :: Maybe Natural
minWorkers = forall a. Maybe a
Prelude.Nothing,
      $sel:networkConfiguration:UpdateEnvironment' :: Maybe UpdateNetworkConfigurationInput
networkConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:pluginsS3ObjectVersion:UpdateEnvironment' :: Maybe Text
pluginsS3ObjectVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:pluginsS3Path:UpdateEnvironment' :: Maybe Text
pluginsS3Path = forall a. Maybe a
Prelude.Nothing,
      $sel:requirementsS3ObjectVersion:UpdateEnvironment' :: Maybe Text
requirementsS3ObjectVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:requirementsS3Path:UpdateEnvironment' :: Maybe Text
requirementsS3Path = forall a. Maybe a
Prelude.Nothing,
      $sel:schedulers:UpdateEnvironment' :: Maybe Int
schedulers = forall a. Maybe a
Prelude.Nothing,
      $sel:sourceBucketArn:UpdateEnvironment' :: Maybe Text
sourceBucketArn = forall a. Maybe a
Prelude.Nothing,
      $sel:webserverAccessMode:UpdateEnvironment' :: Maybe WebserverAccessMode
webserverAccessMode = forall a. Maybe a
Prelude.Nothing,
      $sel:weeklyMaintenanceWindowStart:UpdateEnvironment' :: Maybe Text
weeklyMaintenanceWindowStart = forall a. Maybe a
Prelude.Nothing,
      $sel:name:UpdateEnvironment' :: Text
name = Text
pName_
    }

-- | A list of key-value pairs containing the Apache Airflow configuration
-- options you want to attach to your environment. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html Apache Airflow configuration options>.
updateEnvironment_airflowConfigurationOptions :: Lens.Lens' UpdateEnvironment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
updateEnvironment_airflowConfigurationOptions :: Lens' UpdateEnvironment (Maybe (HashMap Text Text))
updateEnvironment_airflowConfigurationOptions = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe (Sensitive (HashMap Text (Sensitive Text)))
airflowConfigurationOptions :: Maybe (Sensitive (HashMap Text (Sensitive Text)))
$sel:airflowConfigurationOptions:UpdateEnvironment' :: UpdateEnvironment
-> Maybe (Sensitive (HashMap Text (Sensitive Text)))
airflowConfigurationOptions} -> Maybe (Sensitive (HashMap Text (Sensitive Text)))
airflowConfigurationOptions) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe (Sensitive (HashMap Text (Sensitive Text)))
a -> UpdateEnvironment
s {$sel:airflowConfigurationOptions:UpdateEnvironment' :: Maybe (Sensitive (HashMap Text (Sensitive Text)))
airflowConfigurationOptions = Maybe (Sensitive (HashMap Text (Sensitive Text)))
a} :: UpdateEnvironment) 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. Iso' (Sensitive a) a
Data._Sensitive forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced)

-- | The Apache Airflow version for your environment. If no value is
-- specified, defaults to the latest version. Valid values: @1.10.12@,
-- @2.0.2@, @2.2.2@, and @2.4.3@.
updateEnvironment_airflowVersion :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_airflowVersion :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_airflowVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
airflowVersion :: Maybe Text
$sel:airflowVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
airflowVersion} -> Maybe Text
airflowVersion) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:airflowVersion:UpdateEnvironment' :: Maybe Text
airflowVersion = Maybe Text
a} :: UpdateEnvironment)

-- | The relative path to the DAGs folder on your Amazon S3 bucket. For
-- example, @dags@. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html Adding or updating DAGs>.
updateEnvironment_dagS3Path :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_dagS3Path :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_dagS3Path = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
dagS3Path :: Maybe Text
$sel:dagS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
dagS3Path} -> Maybe Text
dagS3Path) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:dagS3Path:UpdateEnvironment' :: Maybe Text
dagS3Path = Maybe Text
a} :: UpdateEnvironment)

-- | The environment class type. Valid values: @mw1.small@, @mw1.medium@,
-- @mw1.large@. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html Amazon MWAA environment class>.
updateEnvironment_environmentClass :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_environmentClass :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_environmentClass = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
environmentClass :: Maybe Text
$sel:environmentClass:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
environmentClass} -> Maybe Text
environmentClass) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:environmentClass:UpdateEnvironment' :: Maybe Text
environmentClass = Maybe Text
a} :: UpdateEnvironment)

-- | The Amazon Resource Name (ARN) of the execution role in IAM that allows
-- MWAA to access Amazon Web Services resources in your environment. For
-- example, @arn:aws:iam::123456789:role\/my-execution-role@. To learn
-- more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html Amazon MWAA Execution role>.
updateEnvironment_executionRoleArn :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_executionRoleArn :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_executionRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
executionRoleArn :: Maybe Text
$sel:executionRoleArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
executionRoleArn} -> Maybe Text
executionRoleArn) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:executionRoleArn:UpdateEnvironment' :: Maybe Text
executionRoleArn = Maybe Text
a} :: UpdateEnvironment)

-- | The Apache Airflow log types to send to CloudWatch Logs.
updateEnvironment_loggingConfiguration :: Lens.Lens' UpdateEnvironment (Prelude.Maybe LoggingConfigurationInput)
updateEnvironment_loggingConfiguration :: Lens' UpdateEnvironment (Maybe LoggingConfigurationInput)
updateEnvironment_loggingConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe LoggingConfigurationInput
loggingConfiguration :: Maybe LoggingConfigurationInput
$sel:loggingConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe LoggingConfigurationInput
loggingConfiguration} -> Maybe LoggingConfigurationInput
loggingConfiguration) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe LoggingConfigurationInput
a -> UpdateEnvironment
s {$sel:loggingConfiguration:UpdateEnvironment' :: Maybe LoggingConfigurationInput
loggingConfiguration = Maybe LoggingConfigurationInput
a} :: UpdateEnvironment)

-- | The maximum number of workers that you want to run in your environment.
-- MWAA scales the number of Apache Airflow workers up to the number you
-- specify in the @MaxWorkers@ field. For example, @20@. When there are no
-- more tasks running, and no more in the queue, MWAA disposes of the extra
-- workers leaving the one worker that is included with your environment,
-- or the number you specify in @MinWorkers@.
updateEnvironment_maxWorkers :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Natural)
updateEnvironment_maxWorkers :: Lens' UpdateEnvironment (Maybe Natural)
updateEnvironment_maxWorkers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Natural
maxWorkers :: Maybe Natural
$sel:maxWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
maxWorkers} -> Maybe Natural
maxWorkers) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Natural
a -> UpdateEnvironment
s {$sel:maxWorkers:UpdateEnvironment' :: Maybe Natural
maxWorkers = Maybe Natural
a} :: UpdateEnvironment)

-- | The minimum number of workers that you want to run in your environment.
-- MWAA scales the number of Apache Airflow workers up to the number you
-- specify in the @MaxWorkers@ field. When there are no more tasks running,
-- and no more in the queue, MWAA disposes of the extra workers leaving the
-- worker count you specify in the @MinWorkers@ field. For example, @2@.
updateEnvironment_minWorkers :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Natural)
updateEnvironment_minWorkers :: Lens' UpdateEnvironment (Maybe Natural)
updateEnvironment_minWorkers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Natural
minWorkers :: Maybe Natural
$sel:minWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
minWorkers} -> Maybe Natural
minWorkers) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Natural
a -> UpdateEnvironment
s {$sel:minWorkers:UpdateEnvironment' :: Maybe Natural
minWorkers = Maybe Natural
a} :: UpdateEnvironment)

-- | The VPC networking components used to secure and enable network traffic
-- between the Amazon Web Services resources for your environment. To learn
-- more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html About networking on Amazon MWAA>.
updateEnvironment_networkConfiguration :: Lens.Lens' UpdateEnvironment (Prelude.Maybe UpdateNetworkConfigurationInput)
updateEnvironment_networkConfiguration :: Lens' UpdateEnvironment (Maybe UpdateNetworkConfigurationInput)
updateEnvironment_networkConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe UpdateNetworkConfigurationInput
networkConfiguration :: Maybe UpdateNetworkConfigurationInput
$sel:networkConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe UpdateNetworkConfigurationInput
networkConfiguration} -> Maybe UpdateNetworkConfigurationInput
networkConfiguration) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe UpdateNetworkConfigurationInput
a -> UpdateEnvironment
s {$sel:networkConfiguration:UpdateEnvironment' :: Maybe UpdateNetworkConfigurationInput
networkConfiguration = Maybe UpdateNetworkConfigurationInput
a} :: UpdateEnvironment)

-- | The version of the plugins.zip file on your Amazon S3 bucket. A version
-- must be specified each time a plugins.zip file is updated. To learn
-- more, see
-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.
updateEnvironment_pluginsS3ObjectVersion :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_pluginsS3ObjectVersion :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_pluginsS3ObjectVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
pluginsS3ObjectVersion :: Maybe Text
$sel:pluginsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
pluginsS3ObjectVersion} -> Maybe Text
pluginsS3ObjectVersion) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:pluginsS3ObjectVersion:UpdateEnvironment' :: Maybe Text
pluginsS3ObjectVersion = Maybe Text
a} :: UpdateEnvironment)

-- | The relative path to the @plugins.zip@ file on your Amazon S3 bucket.
-- For example, @plugins.zip@. If specified, then the plugins.zip version
-- is required. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html Installing custom plugins>.
updateEnvironment_pluginsS3Path :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_pluginsS3Path :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_pluginsS3Path = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
pluginsS3Path :: Maybe Text
$sel:pluginsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
pluginsS3Path} -> Maybe Text
pluginsS3Path) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:pluginsS3Path:UpdateEnvironment' :: Maybe Text
pluginsS3Path = Maybe Text
a} :: UpdateEnvironment)

-- | The version of the requirements.txt file on your Amazon S3 bucket. A
-- version must be specified each time a requirements.txt file is updated.
-- To learn more, see
-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html How S3 Versioning works>.
updateEnvironment_requirementsS3ObjectVersion :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_requirementsS3ObjectVersion :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_requirementsS3ObjectVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
requirementsS3ObjectVersion :: Maybe Text
$sel:requirementsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
requirementsS3ObjectVersion} -> Maybe Text
requirementsS3ObjectVersion) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:requirementsS3ObjectVersion:UpdateEnvironment' :: Maybe Text
requirementsS3ObjectVersion = Maybe Text
a} :: UpdateEnvironment)

-- | The relative path to the @requirements.txt@ file on your Amazon S3
-- bucket. For example, @requirements.txt@. If specified, then a file
-- version is required. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html Installing Python dependencies>.
updateEnvironment_requirementsS3Path :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_requirementsS3Path :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_requirementsS3Path = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
requirementsS3Path :: Maybe Text
$sel:requirementsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
requirementsS3Path} -> Maybe Text
requirementsS3Path) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:requirementsS3Path:UpdateEnvironment' :: Maybe Text
requirementsS3Path = Maybe Text
a} :: UpdateEnvironment)

-- | The number of Apache Airflow schedulers to run in your Amazon MWAA
-- environment.
updateEnvironment_schedulers :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Int)
updateEnvironment_schedulers :: Lens' UpdateEnvironment (Maybe Int)
updateEnvironment_schedulers = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Int
schedulers :: Maybe Int
$sel:schedulers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Int
schedulers} -> Maybe Int
schedulers) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Int
a -> UpdateEnvironment
s {$sel:schedulers:UpdateEnvironment' :: Maybe Int
schedulers = Maybe Int
a} :: UpdateEnvironment)

-- | The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG
-- code and supporting files are stored. For example,
-- @arn:aws:s3:::my-airflow-bucket-unique-name@. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html Create an Amazon S3 bucket for Amazon MWAA>.
updateEnvironment_sourceBucketArn :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_sourceBucketArn :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_sourceBucketArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
sourceBucketArn :: Maybe Text
$sel:sourceBucketArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
sourceBucketArn} -> Maybe Text
sourceBucketArn) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:sourceBucketArn:UpdateEnvironment' :: Maybe Text
sourceBucketArn = Maybe Text
a} :: UpdateEnvironment)

-- | The Apache Airflow /Web server/ access mode. To learn more, see
-- <https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html Apache Airflow access modes>.
updateEnvironment_webserverAccessMode :: Lens.Lens' UpdateEnvironment (Prelude.Maybe WebserverAccessMode)
updateEnvironment_webserverAccessMode :: Lens' UpdateEnvironment (Maybe WebserverAccessMode)
updateEnvironment_webserverAccessMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe WebserverAccessMode
webserverAccessMode :: Maybe WebserverAccessMode
$sel:webserverAccessMode:UpdateEnvironment' :: UpdateEnvironment -> Maybe WebserverAccessMode
webserverAccessMode} -> Maybe WebserverAccessMode
webserverAccessMode) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe WebserverAccessMode
a -> UpdateEnvironment
s {$sel:webserverAccessMode:UpdateEnvironment' :: Maybe WebserverAccessMode
webserverAccessMode = Maybe WebserverAccessMode
a} :: UpdateEnvironment)

-- | The day and time of the week in Coordinated Universal Time (UTC) 24-hour
-- standard time to start weekly maintenance updates of your environment in
-- the following format: @DAY:HH:MM@. For example: @TUE:03:30@. You can
-- specify a start time in 30 minute increments only.
updateEnvironment_weeklyMaintenanceWindowStart :: Lens.Lens' UpdateEnvironment (Prelude.Maybe Prelude.Text)
updateEnvironment_weeklyMaintenanceWindowStart :: Lens' UpdateEnvironment (Maybe Text)
updateEnvironment_weeklyMaintenanceWindowStart = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Maybe Text
weeklyMaintenanceWindowStart :: Maybe Text
$sel:weeklyMaintenanceWindowStart:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
weeklyMaintenanceWindowStart} -> Maybe Text
weeklyMaintenanceWindowStart) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Maybe Text
a -> UpdateEnvironment
s {$sel:weeklyMaintenanceWindowStart:UpdateEnvironment' :: Maybe Text
weeklyMaintenanceWindowStart = Maybe Text
a} :: UpdateEnvironment)

-- | The name of your Amazon MWAA environment. For example,
-- @MyMWAAEnvironment@.
updateEnvironment_name :: Lens.Lens' UpdateEnvironment Prelude.Text
updateEnvironment_name :: Lens' UpdateEnvironment Text
updateEnvironment_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironment' {Text
name :: Text
$sel:name:UpdateEnvironment' :: UpdateEnvironment -> Text
name} -> Text
name) (\s :: UpdateEnvironment
s@UpdateEnvironment' {} Text
a -> UpdateEnvironment
s {$sel:name:UpdateEnvironment' :: Text
name = Text
a} :: UpdateEnvironment)

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

instance Prelude.Hashable UpdateEnvironment where
  hashWithSalt :: Int -> UpdateEnvironment -> Int
hashWithSalt Int
_salt UpdateEnvironment' {Maybe Int
Maybe Natural
Maybe Text
Maybe (Sensitive (HashMap Text (Sensitive Text)))
Maybe LoggingConfigurationInput
Maybe UpdateNetworkConfigurationInput
Maybe WebserverAccessMode
Text
name :: Text
weeklyMaintenanceWindowStart :: Maybe Text
webserverAccessMode :: Maybe WebserverAccessMode
sourceBucketArn :: Maybe Text
schedulers :: Maybe Int
requirementsS3Path :: Maybe Text
requirementsS3ObjectVersion :: Maybe Text
pluginsS3Path :: Maybe Text
pluginsS3ObjectVersion :: Maybe Text
networkConfiguration :: Maybe UpdateNetworkConfigurationInput
minWorkers :: Maybe Natural
maxWorkers :: Maybe Natural
loggingConfiguration :: Maybe LoggingConfigurationInput
executionRoleArn :: Maybe Text
environmentClass :: Maybe Text
dagS3Path :: Maybe Text
airflowVersion :: Maybe Text
airflowConfigurationOptions :: Maybe (Sensitive (HashMap Text (Sensitive Text)))
$sel:name:UpdateEnvironment' :: UpdateEnvironment -> Text
$sel:weeklyMaintenanceWindowStart:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:webserverAccessMode:UpdateEnvironment' :: UpdateEnvironment -> Maybe WebserverAccessMode
$sel:sourceBucketArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:schedulers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Int
$sel:requirementsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:requirementsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:pluginsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:pluginsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:networkConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe UpdateNetworkConfigurationInput
$sel:minWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
$sel:maxWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
$sel:loggingConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe LoggingConfigurationInput
$sel:executionRoleArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:environmentClass:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:dagS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:airflowVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:airflowConfigurationOptions:UpdateEnvironment' :: UpdateEnvironment
-> Maybe (Sensitive (HashMap Text (Sensitive Text)))
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive (HashMap Text (Sensitive Text)))
airflowConfigurationOptions
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
airflowVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
dagS3Path
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
environmentClass
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
executionRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe LoggingConfigurationInput
loggingConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxWorkers
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
minWorkers
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe UpdateNetworkConfigurationInput
networkConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pluginsS3ObjectVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
pluginsS3Path
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
requirementsS3ObjectVersion
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
requirementsS3Path
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
schedulers
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
sourceBucketArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe WebserverAccessMode
webserverAccessMode
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
weeklyMaintenanceWindowStart
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name

instance Prelude.NFData UpdateEnvironment where
  rnf :: UpdateEnvironment -> ()
rnf UpdateEnvironment' {Maybe Int
Maybe Natural
Maybe Text
Maybe (Sensitive (HashMap Text (Sensitive Text)))
Maybe LoggingConfigurationInput
Maybe UpdateNetworkConfigurationInput
Maybe WebserverAccessMode
Text
name :: Text
weeklyMaintenanceWindowStart :: Maybe Text
webserverAccessMode :: Maybe WebserverAccessMode
sourceBucketArn :: Maybe Text
schedulers :: Maybe Int
requirementsS3Path :: Maybe Text
requirementsS3ObjectVersion :: Maybe Text
pluginsS3Path :: Maybe Text
pluginsS3ObjectVersion :: Maybe Text
networkConfiguration :: Maybe UpdateNetworkConfigurationInput
minWorkers :: Maybe Natural
maxWorkers :: Maybe Natural
loggingConfiguration :: Maybe LoggingConfigurationInput
executionRoleArn :: Maybe Text
environmentClass :: Maybe Text
dagS3Path :: Maybe Text
airflowVersion :: Maybe Text
airflowConfigurationOptions :: Maybe (Sensitive (HashMap Text (Sensitive Text)))
$sel:name:UpdateEnvironment' :: UpdateEnvironment -> Text
$sel:weeklyMaintenanceWindowStart:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:webserverAccessMode:UpdateEnvironment' :: UpdateEnvironment -> Maybe WebserverAccessMode
$sel:sourceBucketArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:schedulers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Int
$sel:requirementsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:requirementsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:pluginsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:pluginsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:networkConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe UpdateNetworkConfigurationInput
$sel:minWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
$sel:maxWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
$sel:loggingConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe LoggingConfigurationInput
$sel:executionRoleArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:environmentClass:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:dagS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:airflowVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:airflowConfigurationOptions:UpdateEnvironment' :: UpdateEnvironment
-> Maybe (Sensitive (HashMap Text (Sensitive Text)))
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive (HashMap Text (Sensitive Text)))
airflowConfigurationOptions
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
airflowVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
dagS3Path
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
environmentClass
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
executionRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LoggingConfigurationInput
loggingConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxWorkers
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
minWorkers
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe UpdateNetworkConfigurationInput
networkConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pluginsS3ObjectVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
pluginsS3Path
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
requirementsS3ObjectVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
requirementsS3Path
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
schedulers
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sourceBucketArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe WebserverAccessMode
webserverAccessMode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
weeklyMaintenanceWindowStart
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name

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

instance Data.ToJSON UpdateEnvironment where
  toJSON :: UpdateEnvironment -> Value
toJSON UpdateEnvironment' {Maybe Int
Maybe Natural
Maybe Text
Maybe (Sensitive (HashMap Text (Sensitive Text)))
Maybe LoggingConfigurationInput
Maybe UpdateNetworkConfigurationInput
Maybe WebserverAccessMode
Text
name :: Text
weeklyMaintenanceWindowStart :: Maybe Text
webserverAccessMode :: Maybe WebserverAccessMode
sourceBucketArn :: Maybe Text
schedulers :: Maybe Int
requirementsS3Path :: Maybe Text
requirementsS3ObjectVersion :: Maybe Text
pluginsS3Path :: Maybe Text
pluginsS3ObjectVersion :: Maybe Text
networkConfiguration :: Maybe UpdateNetworkConfigurationInput
minWorkers :: Maybe Natural
maxWorkers :: Maybe Natural
loggingConfiguration :: Maybe LoggingConfigurationInput
executionRoleArn :: Maybe Text
environmentClass :: Maybe Text
dagS3Path :: Maybe Text
airflowVersion :: Maybe Text
airflowConfigurationOptions :: Maybe (Sensitive (HashMap Text (Sensitive Text)))
$sel:name:UpdateEnvironment' :: UpdateEnvironment -> Text
$sel:weeklyMaintenanceWindowStart:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:webserverAccessMode:UpdateEnvironment' :: UpdateEnvironment -> Maybe WebserverAccessMode
$sel:sourceBucketArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:schedulers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Int
$sel:requirementsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:requirementsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:pluginsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:pluginsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:networkConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe UpdateNetworkConfigurationInput
$sel:minWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
$sel:maxWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
$sel:loggingConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe LoggingConfigurationInput
$sel:executionRoleArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:environmentClass:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:dagS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:airflowVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:airflowConfigurationOptions:UpdateEnvironment' :: UpdateEnvironment
-> Maybe (Sensitive (HashMap Text (Sensitive Text)))
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"AirflowConfigurationOptions" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive (HashMap Text (Sensitive Text)))
airflowConfigurationOptions,
            (Key
"AirflowVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
airflowVersion,
            (Key
"DagS3Path" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
dagS3Path,
            (Key
"EnvironmentClass" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
environmentClass,
            (Key
"ExecutionRoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
executionRoleArn,
            (Key
"LoggingConfiguration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe LoggingConfigurationInput
loggingConfiguration,
            (Key
"MaxWorkers" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
maxWorkers,
            (Key
"MinWorkers" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
minWorkers,
            (Key
"NetworkConfiguration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe UpdateNetworkConfigurationInput
networkConfiguration,
            (Key
"PluginsS3ObjectVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
pluginsS3ObjectVersion,
            (Key
"PluginsS3Path" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
pluginsS3Path,
            (Key
"RequirementsS3ObjectVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
requirementsS3ObjectVersion,
            (Key
"RequirementsS3Path" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
requirementsS3Path,
            (Key
"Schedulers" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
schedulers,
            (Key
"SourceBucketArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
sourceBucketArn,
            (Key
"WebserverAccessMode" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe WebserverAccessMode
webserverAccessMode,
            (Key
"WeeklyMaintenanceWindowStart" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
weeklyMaintenanceWindowStart
          ]
      )

instance Data.ToPath UpdateEnvironment where
  toPath :: UpdateEnvironment -> ByteString
toPath UpdateEnvironment' {Maybe Int
Maybe Natural
Maybe Text
Maybe (Sensitive (HashMap Text (Sensitive Text)))
Maybe LoggingConfigurationInput
Maybe UpdateNetworkConfigurationInput
Maybe WebserverAccessMode
Text
name :: Text
weeklyMaintenanceWindowStart :: Maybe Text
webserverAccessMode :: Maybe WebserverAccessMode
sourceBucketArn :: Maybe Text
schedulers :: Maybe Int
requirementsS3Path :: Maybe Text
requirementsS3ObjectVersion :: Maybe Text
pluginsS3Path :: Maybe Text
pluginsS3ObjectVersion :: Maybe Text
networkConfiguration :: Maybe UpdateNetworkConfigurationInput
minWorkers :: Maybe Natural
maxWorkers :: Maybe Natural
loggingConfiguration :: Maybe LoggingConfigurationInput
executionRoleArn :: Maybe Text
environmentClass :: Maybe Text
dagS3Path :: Maybe Text
airflowVersion :: Maybe Text
airflowConfigurationOptions :: Maybe (Sensitive (HashMap Text (Sensitive Text)))
$sel:name:UpdateEnvironment' :: UpdateEnvironment -> Text
$sel:weeklyMaintenanceWindowStart:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:webserverAccessMode:UpdateEnvironment' :: UpdateEnvironment -> Maybe WebserverAccessMode
$sel:sourceBucketArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:schedulers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Int
$sel:requirementsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:requirementsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:pluginsS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:pluginsS3ObjectVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:networkConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe UpdateNetworkConfigurationInput
$sel:minWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
$sel:maxWorkers:UpdateEnvironment' :: UpdateEnvironment -> Maybe Natural
$sel:loggingConfiguration:UpdateEnvironment' :: UpdateEnvironment -> Maybe LoggingConfigurationInput
$sel:executionRoleArn:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:environmentClass:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:dagS3Path:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:airflowVersion:UpdateEnvironment' :: UpdateEnvironment -> Maybe Text
$sel:airflowConfigurationOptions:UpdateEnvironment' :: UpdateEnvironment
-> Maybe (Sensitive (HashMap Text (Sensitive Text)))
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat [ByteString
"/environments/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
name]

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

-- | /See:/ 'newUpdateEnvironmentResponse' smart constructor.
data UpdateEnvironmentResponse = UpdateEnvironmentResponse'
  { -- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For
    -- example,
    -- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.
    UpdateEnvironmentResponse -> Maybe Text
arn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    UpdateEnvironmentResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateEnvironmentResponse -> UpdateEnvironmentResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateEnvironmentResponse -> UpdateEnvironmentResponse -> Bool
$c/= :: UpdateEnvironmentResponse -> UpdateEnvironmentResponse -> Bool
== :: UpdateEnvironmentResponse -> UpdateEnvironmentResponse -> Bool
$c== :: UpdateEnvironmentResponse -> UpdateEnvironmentResponse -> Bool
Prelude.Eq, ReadPrec [UpdateEnvironmentResponse]
ReadPrec UpdateEnvironmentResponse
Int -> ReadS UpdateEnvironmentResponse
ReadS [UpdateEnvironmentResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateEnvironmentResponse]
$creadListPrec :: ReadPrec [UpdateEnvironmentResponse]
readPrec :: ReadPrec UpdateEnvironmentResponse
$creadPrec :: ReadPrec UpdateEnvironmentResponse
readList :: ReadS [UpdateEnvironmentResponse]
$creadList :: ReadS [UpdateEnvironmentResponse]
readsPrec :: Int -> ReadS UpdateEnvironmentResponse
$creadsPrec :: Int -> ReadS UpdateEnvironmentResponse
Prelude.Read, Int -> UpdateEnvironmentResponse -> ShowS
[UpdateEnvironmentResponse] -> ShowS
UpdateEnvironmentResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateEnvironmentResponse] -> ShowS
$cshowList :: [UpdateEnvironmentResponse] -> ShowS
show :: UpdateEnvironmentResponse -> String
$cshow :: UpdateEnvironmentResponse -> String
showsPrec :: Int -> UpdateEnvironmentResponse -> ShowS
$cshowsPrec :: Int -> UpdateEnvironmentResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateEnvironmentResponse x -> UpdateEnvironmentResponse
forall x.
UpdateEnvironmentResponse -> Rep UpdateEnvironmentResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateEnvironmentResponse x -> UpdateEnvironmentResponse
$cfrom :: forall x.
UpdateEnvironmentResponse -> Rep UpdateEnvironmentResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateEnvironmentResponse' 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:
--
-- 'arn', 'updateEnvironmentResponse_arn' - The Amazon Resource Name (ARN) of the Amazon MWAA environment. For
-- example,
-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.
--
-- 'httpStatus', 'updateEnvironmentResponse_httpStatus' - The response's http status code.
newUpdateEnvironmentResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateEnvironmentResponse
newUpdateEnvironmentResponse :: Int -> UpdateEnvironmentResponse
newUpdateEnvironmentResponse Int
pHttpStatus_ =
  UpdateEnvironmentResponse'
    { $sel:arn:UpdateEnvironmentResponse' :: Maybe Text
arn = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateEnvironmentResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The Amazon Resource Name (ARN) of the Amazon MWAA environment. For
-- example,
-- @arn:aws:airflow:us-east-1:123456789012:environment\/MyMWAAEnvironment@.
updateEnvironmentResponse_arn :: Lens.Lens' UpdateEnvironmentResponse (Prelude.Maybe Prelude.Text)
updateEnvironmentResponse_arn :: Lens' UpdateEnvironmentResponse (Maybe Text)
updateEnvironmentResponse_arn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateEnvironmentResponse' {Maybe Text
arn :: Maybe Text
$sel:arn:UpdateEnvironmentResponse' :: UpdateEnvironmentResponse -> Maybe Text
arn} -> Maybe Text
arn) (\s :: UpdateEnvironmentResponse
s@UpdateEnvironmentResponse' {} Maybe Text
a -> UpdateEnvironmentResponse
s {$sel:arn:UpdateEnvironmentResponse' :: Maybe Text
arn = Maybe Text
a} :: UpdateEnvironmentResponse)

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

instance Prelude.NFData UpdateEnvironmentResponse where
  rnf :: UpdateEnvironmentResponse -> ()
rnf UpdateEnvironmentResponse' {Int
Maybe Text
httpStatus :: Int
arn :: Maybe Text
$sel:httpStatus:UpdateEnvironmentResponse' :: UpdateEnvironmentResponse -> Int
$sel:arn:UpdateEnvironmentResponse' :: UpdateEnvironmentResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
arn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus