{-# 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.ElasticBeanstalk.UpdateApplicationResourceLifecycle
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Modifies lifecycle settings for an application.
module Amazonka.ElasticBeanstalk.UpdateApplicationResourceLifecycle
  ( -- * Creating a Request
    UpdateApplicationResourceLifecycle (..),
    newUpdateApplicationResourceLifecycle,

    -- * Request Lenses
    updateApplicationResourceLifecycle_applicationName,
    updateApplicationResourceLifecycle_resourceLifecycleConfig,

    -- * Destructuring the Response
    UpdateApplicationResourceLifecycleResponse (..),
    newUpdateApplicationResourceLifecycleResponse,

    -- * Response Lenses
    updateApplicationResourceLifecycleResponse_applicationName,
    updateApplicationResourceLifecycleResponse_resourceLifecycleConfig,
    updateApplicationResourceLifecycleResponse_httpStatus,
  )
where

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

-- | /See:/ 'newUpdateApplicationResourceLifecycle' smart constructor.
data UpdateApplicationResourceLifecycle = UpdateApplicationResourceLifecycle'
  { -- | The name of the application.
    UpdateApplicationResourceLifecycle -> Text
applicationName :: Prelude.Text,
    -- | The lifecycle configuration.
    UpdateApplicationResourceLifecycle
-> ApplicationResourceLifecycleConfig
resourceLifecycleConfig :: ApplicationResourceLifecycleConfig
  }
  deriving (UpdateApplicationResourceLifecycle
-> UpdateApplicationResourceLifecycle -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateApplicationResourceLifecycle
-> UpdateApplicationResourceLifecycle -> Bool
$c/= :: UpdateApplicationResourceLifecycle
-> UpdateApplicationResourceLifecycle -> Bool
== :: UpdateApplicationResourceLifecycle
-> UpdateApplicationResourceLifecycle -> Bool
$c== :: UpdateApplicationResourceLifecycle
-> UpdateApplicationResourceLifecycle -> Bool
Prelude.Eq, ReadPrec [UpdateApplicationResourceLifecycle]
ReadPrec UpdateApplicationResourceLifecycle
Int -> ReadS UpdateApplicationResourceLifecycle
ReadS [UpdateApplicationResourceLifecycle]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateApplicationResourceLifecycle]
$creadListPrec :: ReadPrec [UpdateApplicationResourceLifecycle]
readPrec :: ReadPrec UpdateApplicationResourceLifecycle
$creadPrec :: ReadPrec UpdateApplicationResourceLifecycle
readList :: ReadS [UpdateApplicationResourceLifecycle]
$creadList :: ReadS [UpdateApplicationResourceLifecycle]
readsPrec :: Int -> ReadS UpdateApplicationResourceLifecycle
$creadsPrec :: Int -> ReadS UpdateApplicationResourceLifecycle
Prelude.Read, Int -> UpdateApplicationResourceLifecycle -> ShowS
[UpdateApplicationResourceLifecycle] -> ShowS
UpdateApplicationResourceLifecycle -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateApplicationResourceLifecycle] -> ShowS
$cshowList :: [UpdateApplicationResourceLifecycle] -> ShowS
show :: UpdateApplicationResourceLifecycle -> String
$cshow :: UpdateApplicationResourceLifecycle -> String
showsPrec :: Int -> UpdateApplicationResourceLifecycle -> ShowS
$cshowsPrec :: Int -> UpdateApplicationResourceLifecycle -> ShowS
Prelude.Show, forall x.
Rep UpdateApplicationResourceLifecycle x
-> UpdateApplicationResourceLifecycle
forall x.
UpdateApplicationResourceLifecycle
-> Rep UpdateApplicationResourceLifecycle x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateApplicationResourceLifecycle x
-> UpdateApplicationResourceLifecycle
$cfrom :: forall x.
UpdateApplicationResourceLifecycle
-> Rep UpdateApplicationResourceLifecycle x
Prelude.Generic)

-- |
-- Create a value of 'UpdateApplicationResourceLifecycle' 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:
--
-- 'applicationName', 'updateApplicationResourceLifecycle_applicationName' - The name of the application.
--
-- 'resourceLifecycleConfig', 'updateApplicationResourceLifecycle_resourceLifecycleConfig' - The lifecycle configuration.
newUpdateApplicationResourceLifecycle ::
  -- | 'applicationName'
  Prelude.Text ->
  -- | 'resourceLifecycleConfig'
  ApplicationResourceLifecycleConfig ->
  UpdateApplicationResourceLifecycle
newUpdateApplicationResourceLifecycle :: Text
-> ApplicationResourceLifecycleConfig
-> UpdateApplicationResourceLifecycle
newUpdateApplicationResourceLifecycle
  Text
pApplicationName_
  ApplicationResourceLifecycleConfig
pResourceLifecycleConfig_ =
    UpdateApplicationResourceLifecycle'
      { $sel:applicationName:UpdateApplicationResourceLifecycle' :: Text
applicationName =
          Text
pApplicationName_,
        $sel:resourceLifecycleConfig:UpdateApplicationResourceLifecycle' :: ApplicationResourceLifecycleConfig
resourceLifecycleConfig =
          ApplicationResourceLifecycleConfig
pResourceLifecycleConfig_
      }

-- | The name of the application.
updateApplicationResourceLifecycle_applicationName :: Lens.Lens' UpdateApplicationResourceLifecycle Prelude.Text
updateApplicationResourceLifecycle_applicationName :: Lens' UpdateApplicationResourceLifecycle Text
updateApplicationResourceLifecycle_applicationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApplicationResourceLifecycle' {Text
applicationName :: Text
$sel:applicationName:UpdateApplicationResourceLifecycle' :: UpdateApplicationResourceLifecycle -> Text
applicationName} -> Text
applicationName) (\s :: UpdateApplicationResourceLifecycle
s@UpdateApplicationResourceLifecycle' {} Text
a -> UpdateApplicationResourceLifecycle
s {$sel:applicationName:UpdateApplicationResourceLifecycle' :: Text
applicationName = Text
a} :: UpdateApplicationResourceLifecycle)

-- | The lifecycle configuration.
updateApplicationResourceLifecycle_resourceLifecycleConfig :: Lens.Lens' UpdateApplicationResourceLifecycle ApplicationResourceLifecycleConfig
updateApplicationResourceLifecycle_resourceLifecycleConfig :: Lens'
  UpdateApplicationResourceLifecycle
  ApplicationResourceLifecycleConfig
updateApplicationResourceLifecycle_resourceLifecycleConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApplicationResourceLifecycle' {ApplicationResourceLifecycleConfig
resourceLifecycleConfig :: ApplicationResourceLifecycleConfig
$sel:resourceLifecycleConfig:UpdateApplicationResourceLifecycle' :: UpdateApplicationResourceLifecycle
-> ApplicationResourceLifecycleConfig
resourceLifecycleConfig} -> ApplicationResourceLifecycleConfig
resourceLifecycleConfig) (\s :: UpdateApplicationResourceLifecycle
s@UpdateApplicationResourceLifecycle' {} ApplicationResourceLifecycleConfig
a -> UpdateApplicationResourceLifecycle
s {$sel:resourceLifecycleConfig:UpdateApplicationResourceLifecycle' :: ApplicationResourceLifecycleConfig
resourceLifecycleConfig = ApplicationResourceLifecycleConfig
a} :: UpdateApplicationResourceLifecycle)

instance
  Core.AWSRequest
    UpdateApplicationResourceLifecycle
  where
  type
    AWSResponse UpdateApplicationResourceLifecycle =
      UpdateApplicationResourceLifecycleResponse
  request :: (Service -> Service)
-> UpdateApplicationResourceLifecycle
-> Request UpdateApplicationResourceLifecycle
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateApplicationResourceLifecycle
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse UpdateApplicationResourceLifecycle)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
    -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
      Text
"UpdateApplicationResourceLifecycleResult"
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe Text
-> Maybe ApplicationResourceLifecycleConfig
-> Int
-> UpdateApplicationResourceLifecycleResponse
UpdateApplicationResourceLifecycleResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ApplicationName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"ResourceLifecycleConfig")
            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
    UpdateApplicationResourceLifecycle
  where
  hashWithSalt :: Int -> UpdateApplicationResourceLifecycle -> Int
hashWithSalt
    Int
_salt
    UpdateApplicationResourceLifecycle' {Text
ApplicationResourceLifecycleConfig
resourceLifecycleConfig :: ApplicationResourceLifecycleConfig
applicationName :: Text
$sel:resourceLifecycleConfig:UpdateApplicationResourceLifecycle' :: UpdateApplicationResourceLifecycle
-> ApplicationResourceLifecycleConfig
$sel:applicationName:UpdateApplicationResourceLifecycle' :: UpdateApplicationResourceLifecycle -> Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationName
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ApplicationResourceLifecycleConfig
resourceLifecycleConfig

instance
  Prelude.NFData
    UpdateApplicationResourceLifecycle
  where
  rnf :: UpdateApplicationResourceLifecycle -> ()
rnf UpdateApplicationResourceLifecycle' {Text
ApplicationResourceLifecycleConfig
resourceLifecycleConfig :: ApplicationResourceLifecycleConfig
applicationName :: Text
$sel:resourceLifecycleConfig:UpdateApplicationResourceLifecycle' :: UpdateApplicationResourceLifecycle
-> ApplicationResourceLifecycleConfig
$sel:applicationName:UpdateApplicationResourceLifecycle' :: UpdateApplicationResourceLifecycle -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
applicationName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ApplicationResourceLifecycleConfig
resourceLifecycleConfig

instance
  Data.ToHeaders
    UpdateApplicationResourceLifecycle
  where
  toHeaders :: UpdateApplicationResourceLifecycle -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

instance
  Data.ToPath
    UpdateApplicationResourceLifecycle
  where
  toPath :: UpdateApplicationResourceLifecycle -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance
  Data.ToQuery
    UpdateApplicationResourceLifecycle
  where
  toQuery :: UpdateApplicationResourceLifecycle -> QueryString
toQuery UpdateApplicationResourceLifecycle' {Text
ApplicationResourceLifecycleConfig
resourceLifecycleConfig :: ApplicationResourceLifecycleConfig
applicationName :: Text
$sel:resourceLifecycleConfig:UpdateApplicationResourceLifecycle' :: UpdateApplicationResourceLifecycle
-> ApplicationResourceLifecycleConfig
$sel:applicationName:UpdateApplicationResourceLifecycle' :: UpdateApplicationResourceLifecycle -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"UpdateApplicationResourceLifecycle" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-12-01" :: Prelude.ByteString),
        ByteString
"ApplicationName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
applicationName,
        ByteString
"ResourceLifecycleConfig"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ApplicationResourceLifecycleConfig
resourceLifecycleConfig
      ]

-- | /See:/ 'newUpdateApplicationResourceLifecycleResponse' smart constructor.
data UpdateApplicationResourceLifecycleResponse = UpdateApplicationResourceLifecycleResponse'
  { -- | The name of the application.
    UpdateApplicationResourceLifecycleResponse -> Maybe Text
applicationName :: Prelude.Maybe Prelude.Text,
    -- | The lifecycle configuration.
    UpdateApplicationResourceLifecycleResponse
-> Maybe ApplicationResourceLifecycleConfig
resourceLifecycleConfig :: Prelude.Maybe ApplicationResourceLifecycleConfig,
    -- | The response's http status code.
    UpdateApplicationResourceLifecycleResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateApplicationResourceLifecycleResponse
-> UpdateApplicationResourceLifecycleResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateApplicationResourceLifecycleResponse
-> UpdateApplicationResourceLifecycleResponse -> Bool
$c/= :: UpdateApplicationResourceLifecycleResponse
-> UpdateApplicationResourceLifecycleResponse -> Bool
== :: UpdateApplicationResourceLifecycleResponse
-> UpdateApplicationResourceLifecycleResponse -> Bool
$c== :: UpdateApplicationResourceLifecycleResponse
-> UpdateApplicationResourceLifecycleResponse -> Bool
Prelude.Eq, ReadPrec [UpdateApplicationResourceLifecycleResponse]
ReadPrec UpdateApplicationResourceLifecycleResponse
Int -> ReadS UpdateApplicationResourceLifecycleResponse
ReadS [UpdateApplicationResourceLifecycleResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateApplicationResourceLifecycleResponse]
$creadListPrec :: ReadPrec [UpdateApplicationResourceLifecycleResponse]
readPrec :: ReadPrec UpdateApplicationResourceLifecycleResponse
$creadPrec :: ReadPrec UpdateApplicationResourceLifecycleResponse
readList :: ReadS [UpdateApplicationResourceLifecycleResponse]
$creadList :: ReadS [UpdateApplicationResourceLifecycleResponse]
readsPrec :: Int -> ReadS UpdateApplicationResourceLifecycleResponse
$creadsPrec :: Int -> ReadS UpdateApplicationResourceLifecycleResponse
Prelude.Read, Int -> UpdateApplicationResourceLifecycleResponse -> ShowS
[UpdateApplicationResourceLifecycleResponse] -> ShowS
UpdateApplicationResourceLifecycleResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateApplicationResourceLifecycleResponse] -> ShowS
$cshowList :: [UpdateApplicationResourceLifecycleResponse] -> ShowS
show :: UpdateApplicationResourceLifecycleResponse -> String
$cshow :: UpdateApplicationResourceLifecycleResponse -> String
showsPrec :: Int -> UpdateApplicationResourceLifecycleResponse -> ShowS
$cshowsPrec :: Int -> UpdateApplicationResourceLifecycleResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateApplicationResourceLifecycleResponse x
-> UpdateApplicationResourceLifecycleResponse
forall x.
UpdateApplicationResourceLifecycleResponse
-> Rep UpdateApplicationResourceLifecycleResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateApplicationResourceLifecycleResponse x
-> UpdateApplicationResourceLifecycleResponse
$cfrom :: forall x.
UpdateApplicationResourceLifecycleResponse
-> Rep UpdateApplicationResourceLifecycleResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateApplicationResourceLifecycleResponse' 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:
--
-- 'applicationName', 'updateApplicationResourceLifecycleResponse_applicationName' - The name of the application.
--
-- 'resourceLifecycleConfig', 'updateApplicationResourceLifecycleResponse_resourceLifecycleConfig' - The lifecycle configuration.
--
-- 'httpStatus', 'updateApplicationResourceLifecycleResponse_httpStatus' - The response's http status code.
newUpdateApplicationResourceLifecycleResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateApplicationResourceLifecycleResponse
newUpdateApplicationResourceLifecycleResponse :: Int -> UpdateApplicationResourceLifecycleResponse
newUpdateApplicationResourceLifecycleResponse
  Int
pHttpStatus_ =
    UpdateApplicationResourceLifecycleResponse'
      { $sel:applicationName:UpdateApplicationResourceLifecycleResponse' :: Maybe Text
applicationName =
          forall a. Maybe a
Prelude.Nothing,
        $sel:resourceLifecycleConfig:UpdateApplicationResourceLifecycleResponse' :: Maybe ApplicationResourceLifecycleConfig
resourceLifecycleConfig =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:UpdateApplicationResourceLifecycleResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The name of the application.
updateApplicationResourceLifecycleResponse_applicationName :: Lens.Lens' UpdateApplicationResourceLifecycleResponse (Prelude.Maybe Prelude.Text)
updateApplicationResourceLifecycleResponse_applicationName :: Lens' UpdateApplicationResourceLifecycleResponse (Maybe Text)
updateApplicationResourceLifecycleResponse_applicationName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApplicationResourceLifecycleResponse' {Maybe Text
applicationName :: Maybe Text
$sel:applicationName:UpdateApplicationResourceLifecycleResponse' :: UpdateApplicationResourceLifecycleResponse -> Maybe Text
applicationName} -> Maybe Text
applicationName) (\s :: UpdateApplicationResourceLifecycleResponse
s@UpdateApplicationResourceLifecycleResponse' {} Maybe Text
a -> UpdateApplicationResourceLifecycleResponse
s {$sel:applicationName:UpdateApplicationResourceLifecycleResponse' :: Maybe Text
applicationName = Maybe Text
a} :: UpdateApplicationResourceLifecycleResponse)

-- | The lifecycle configuration.
updateApplicationResourceLifecycleResponse_resourceLifecycleConfig :: Lens.Lens' UpdateApplicationResourceLifecycleResponse (Prelude.Maybe ApplicationResourceLifecycleConfig)
updateApplicationResourceLifecycleResponse_resourceLifecycleConfig :: Lens'
  UpdateApplicationResourceLifecycleResponse
  (Maybe ApplicationResourceLifecycleConfig)
updateApplicationResourceLifecycleResponse_resourceLifecycleConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateApplicationResourceLifecycleResponse' {Maybe ApplicationResourceLifecycleConfig
resourceLifecycleConfig :: Maybe ApplicationResourceLifecycleConfig
$sel:resourceLifecycleConfig:UpdateApplicationResourceLifecycleResponse' :: UpdateApplicationResourceLifecycleResponse
-> Maybe ApplicationResourceLifecycleConfig
resourceLifecycleConfig} -> Maybe ApplicationResourceLifecycleConfig
resourceLifecycleConfig) (\s :: UpdateApplicationResourceLifecycleResponse
s@UpdateApplicationResourceLifecycleResponse' {} Maybe ApplicationResourceLifecycleConfig
a -> UpdateApplicationResourceLifecycleResponse
s {$sel:resourceLifecycleConfig:UpdateApplicationResourceLifecycleResponse' :: Maybe ApplicationResourceLifecycleConfig
resourceLifecycleConfig = Maybe ApplicationResourceLifecycleConfig
a} :: UpdateApplicationResourceLifecycleResponse)

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

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