{-# 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.AutoScaling.AttachLoadBalancers
(
AttachLoadBalancers (..),
newAttachLoadBalancers,
attachLoadBalancers_autoScalingGroupName,
attachLoadBalancers_loadBalancerNames,
AttachLoadBalancersResponse (..),
newAttachLoadBalancersResponse,
attachLoadBalancersResponse_httpStatus,
)
where
import Amazonka.AutoScaling.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data AttachLoadBalancers = AttachLoadBalancers'
{
AttachLoadBalancers -> Text
autoScalingGroupName :: Prelude.Text,
AttachLoadBalancers -> [Text]
loadBalancerNames :: [Prelude.Text]
}
deriving (AttachLoadBalancers -> AttachLoadBalancers -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AttachLoadBalancers -> AttachLoadBalancers -> Bool
$c/= :: AttachLoadBalancers -> AttachLoadBalancers -> Bool
== :: AttachLoadBalancers -> AttachLoadBalancers -> Bool
$c== :: AttachLoadBalancers -> AttachLoadBalancers -> Bool
Prelude.Eq, ReadPrec [AttachLoadBalancers]
ReadPrec AttachLoadBalancers
Int -> ReadS AttachLoadBalancers
ReadS [AttachLoadBalancers]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AttachLoadBalancers]
$creadListPrec :: ReadPrec [AttachLoadBalancers]
readPrec :: ReadPrec AttachLoadBalancers
$creadPrec :: ReadPrec AttachLoadBalancers
readList :: ReadS [AttachLoadBalancers]
$creadList :: ReadS [AttachLoadBalancers]
readsPrec :: Int -> ReadS AttachLoadBalancers
$creadsPrec :: Int -> ReadS AttachLoadBalancers
Prelude.Read, Int -> AttachLoadBalancers -> ShowS
[AttachLoadBalancers] -> ShowS
AttachLoadBalancers -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AttachLoadBalancers] -> ShowS
$cshowList :: [AttachLoadBalancers] -> ShowS
show :: AttachLoadBalancers -> String
$cshow :: AttachLoadBalancers -> String
showsPrec :: Int -> AttachLoadBalancers -> ShowS
$cshowsPrec :: Int -> AttachLoadBalancers -> ShowS
Prelude.Show, forall x. Rep AttachLoadBalancers x -> AttachLoadBalancers
forall x. AttachLoadBalancers -> Rep AttachLoadBalancers x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep AttachLoadBalancers x -> AttachLoadBalancers
$cfrom :: forall x. AttachLoadBalancers -> Rep AttachLoadBalancers x
Prelude.Generic)
newAttachLoadBalancers ::
Prelude.Text ->
AttachLoadBalancers
newAttachLoadBalancers :: Text -> AttachLoadBalancers
newAttachLoadBalancers Text
pAutoScalingGroupName_ =
AttachLoadBalancers'
{ $sel:autoScalingGroupName:AttachLoadBalancers' :: Text
autoScalingGroupName =
Text
pAutoScalingGroupName_,
$sel:loadBalancerNames:AttachLoadBalancers' :: [Text]
loadBalancerNames = forall a. Monoid a => a
Prelude.mempty
}
attachLoadBalancers_autoScalingGroupName :: Lens.Lens' AttachLoadBalancers Prelude.Text
attachLoadBalancers_autoScalingGroupName :: Lens' AttachLoadBalancers Text
attachLoadBalancers_autoScalingGroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AttachLoadBalancers' {Text
autoScalingGroupName :: Text
$sel:autoScalingGroupName:AttachLoadBalancers' :: AttachLoadBalancers -> Text
autoScalingGroupName} -> Text
autoScalingGroupName) (\s :: AttachLoadBalancers
s@AttachLoadBalancers' {} Text
a -> AttachLoadBalancers
s {$sel:autoScalingGroupName:AttachLoadBalancers' :: Text
autoScalingGroupName = Text
a} :: AttachLoadBalancers)
attachLoadBalancers_loadBalancerNames :: Lens.Lens' AttachLoadBalancers [Prelude.Text]
attachLoadBalancers_loadBalancerNames :: Lens' AttachLoadBalancers [Text]
attachLoadBalancers_loadBalancerNames = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AttachLoadBalancers' {[Text]
loadBalancerNames :: [Text]
$sel:loadBalancerNames:AttachLoadBalancers' :: AttachLoadBalancers -> [Text]
loadBalancerNames} -> [Text]
loadBalancerNames) (\s :: AttachLoadBalancers
s@AttachLoadBalancers' {} [Text]
a -> AttachLoadBalancers
s {$sel:loadBalancerNames:AttachLoadBalancers' :: [Text]
loadBalancerNames = [Text]
a} :: AttachLoadBalancers) 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
instance Core.AWSRequest AttachLoadBalancers where
type
AWSResponse AttachLoadBalancers =
AttachLoadBalancersResponse
request :: (Service -> Service)
-> AttachLoadBalancers -> Request AttachLoadBalancers
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 AttachLoadBalancers
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse AttachLoadBalancers)))
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
"AttachLoadBalancersResult"
( \Int
s ResponseHeaders
h [Node]
x ->
Int -> AttachLoadBalancersResponse
AttachLoadBalancersResponse'
forall (f :: * -> *) a b. Functor 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 AttachLoadBalancers where
hashWithSalt :: Int -> AttachLoadBalancers -> Int
hashWithSalt Int
_salt AttachLoadBalancers' {[Text]
Text
loadBalancerNames :: [Text]
autoScalingGroupName :: Text
$sel:loadBalancerNames:AttachLoadBalancers' :: AttachLoadBalancers -> [Text]
$sel:autoScalingGroupName:AttachLoadBalancers' :: AttachLoadBalancers -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
autoScalingGroupName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
loadBalancerNames
instance Prelude.NFData AttachLoadBalancers where
rnf :: AttachLoadBalancers -> ()
rnf AttachLoadBalancers' {[Text]
Text
loadBalancerNames :: [Text]
autoScalingGroupName :: Text
$sel:loadBalancerNames:AttachLoadBalancers' :: AttachLoadBalancers -> [Text]
$sel:autoScalingGroupName:AttachLoadBalancers' :: AttachLoadBalancers -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
autoScalingGroupName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [Text]
loadBalancerNames
instance Data.ToHeaders AttachLoadBalancers where
toHeaders :: AttachLoadBalancers -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath AttachLoadBalancers where
toPath :: AttachLoadBalancers -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery AttachLoadBalancers where
toQuery :: AttachLoadBalancers -> QueryString
toQuery AttachLoadBalancers' {[Text]
Text
loadBalancerNames :: [Text]
autoScalingGroupName :: Text
$sel:loadBalancerNames:AttachLoadBalancers' :: AttachLoadBalancers -> [Text]
$sel:autoScalingGroupName:AttachLoadBalancers' :: AttachLoadBalancers -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"AttachLoadBalancers" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2011-01-01" :: Prelude.ByteString),
ByteString
"AutoScalingGroupName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
autoScalingGroupName,
ByteString
"LoadBalancerNames"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member" [Text]
loadBalancerNames
]
data AttachLoadBalancersResponse = AttachLoadBalancersResponse'
{
AttachLoadBalancersResponse -> Int
httpStatus :: Prelude.Int
}
deriving (AttachLoadBalancersResponse -> AttachLoadBalancersResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AttachLoadBalancersResponse -> AttachLoadBalancersResponse -> Bool
$c/= :: AttachLoadBalancersResponse -> AttachLoadBalancersResponse -> Bool
== :: AttachLoadBalancersResponse -> AttachLoadBalancersResponse -> Bool
$c== :: AttachLoadBalancersResponse -> AttachLoadBalancersResponse -> Bool
Prelude.Eq, ReadPrec [AttachLoadBalancersResponse]
ReadPrec AttachLoadBalancersResponse
Int -> ReadS AttachLoadBalancersResponse
ReadS [AttachLoadBalancersResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AttachLoadBalancersResponse]
$creadListPrec :: ReadPrec [AttachLoadBalancersResponse]
readPrec :: ReadPrec AttachLoadBalancersResponse
$creadPrec :: ReadPrec AttachLoadBalancersResponse
readList :: ReadS [AttachLoadBalancersResponse]
$creadList :: ReadS [AttachLoadBalancersResponse]
readsPrec :: Int -> ReadS AttachLoadBalancersResponse
$creadsPrec :: Int -> ReadS AttachLoadBalancersResponse
Prelude.Read, Int -> AttachLoadBalancersResponse -> ShowS
[AttachLoadBalancersResponse] -> ShowS
AttachLoadBalancersResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AttachLoadBalancersResponse] -> ShowS
$cshowList :: [AttachLoadBalancersResponse] -> ShowS
show :: AttachLoadBalancersResponse -> String
$cshow :: AttachLoadBalancersResponse -> String
showsPrec :: Int -> AttachLoadBalancersResponse -> ShowS
$cshowsPrec :: Int -> AttachLoadBalancersResponse -> ShowS
Prelude.Show, forall x.
Rep AttachLoadBalancersResponse x -> AttachLoadBalancersResponse
forall x.
AttachLoadBalancersResponse -> Rep AttachLoadBalancersResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AttachLoadBalancersResponse x -> AttachLoadBalancersResponse
$cfrom :: forall x.
AttachLoadBalancersResponse -> Rep AttachLoadBalancersResponse x
Prelude.Generic)
newAttachLoadBalancersResponse ::
Prelude.Int ->
AttachLoadBalancersResponse
newAttachLoadBalancersResponse :: Int -> AttachLoadBalancersResponse
newAttachLoadBalancersResponse Int
pHttpStatus_ =
AttachLoadBalancersResponse'
{ $sel:httpStatus:AttachLoadBalancersResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
attachLoadBalancersResponse_httpStatus :: Lens.Lens' AttachLoadBalancersResponse Prelude.Int
attachLoadBalancersResponse_httpStatus :: Lens' AttachLoadBalancersResponse Int
attachLoadBalancersResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AttachLoadBalancersResponse' {Int
httpStatus :: Int
$sel:httpStatus:AttachLoadBalancersResponse' :: AttachLoadBalancersResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: AttachLoadBalancersResponse
s@AttachLoadBalancersResponse' {} Int
a -> AttachLoadBalancersResponse
s {$sel:httpStatus:AttachLoadBalancersResponse' :: Int
httpStatus = Int
a} :: AttachLoadBalancersResponse)
instance Prelude.NFData AttachLoadBalancersResponse where
rnf :: AttachLoadBalancersResponse -> ()
rnf AttachLoadBalancersResponse' {Int
httpStatus :: Int
$sel:httpStatus:AttachLoadBalancersResponse' :: AttachLoadBalancersResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus