{-# 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 #-}
module Amazonka.ElasticBeanstalk.UpdateApplicationResourceLifecycle
(
UpdateApplicationResourceLifecycle (..),
newUpdateApplicationResourceLifecycle,
updateApplicationResourceLifecycle_applicationName,
updateApplicationResourceLifecycle_resourceLifecycleConfig,
UpdateApplicationResourceLifecycleResponse (..),
newUpdateApplicationResourceLifecycleResponse,
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
data UpdateApplicationResourceLifecycle = UpdateApplicationResourceLifecycle'
{
UpdateApplicationResourceLifecycle -> Text
applicationName :: Prelude.Text,
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)
newUpdateApplicationResourceLifecycle ::
Prelude.Text ->
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_
}
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)
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
]
data UpdateApplicationResourceLifecycleResponse = UpdateApplicationResourceLifecycleResponse'
{
UpdateApplicationResourceLifecycleResponse -> Maybe Text
applicationName :: Prelude.Maybe Prelude.Text,
UpdateApplicationResourceLifecycleResponse
-> Maybe ApplicationResourceLifecycleConfig
resourceLifecycleConfig :: Prelude.Maybe ApplicationResourceLifecycleConfig,
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)
newUpdateApplicationResourceLifecycleResponse ::
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_
}
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)
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)
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