{-# 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.OpsWorks.DescribeTimeBasedAutoScaling
(
DescribeTimeBasedAutoScaling (..),
newDescribeTimeBasedAutoScaling,
describeTimeBasedAutoScaling_instanceIds,
DescribeTimeBasedAutoScalingResponse (..),
newDescribeTimeBasedAutoScalingResponse,
describeTimeBasedAutoScalingResponse_timeBasedAutoScalingConfigurations,
describeTimeBasedAutoScalingResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.OpsWorks.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeTimeBasedAutoScaling = DescribeTimeBasedAutoScaling'
{
DescribeTimeBasedAutoScaling -> [Text]
instanceIds :: [Prelude.Text]
}
deriving (DescribeTimeBasedAutoScaling
-> DescribeTimeBasedAutoScaling -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTimeBasedAutoScaling
-> DescribeTimeBasedAutoScaling -> Bool
$c/= :: DescribeTimeBasedAutoScaling
-> DescribeTimeBasedAutoScaling -> Bool
== :: DescribeTimeBasedAutoScaling
-> DescribeTimeBasedAutoScaling -> Bool
$c== :: DescribeTimeBasedAutoScaling
-> DescribeTimeBasedAutoScaling -> Bool
Prelude.Eq, ReadPrec [DescribeTimeBasedAutoScaling]
ReadPrec DescribeTimeBasedAutoScaling
Int -> ReadS DescribeTimeBasedAutoScaling
ReadS [DescribeTimeBasedAutoScaling]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTimeBasedAutoScaling]
$creadListPrec :: ReadPrec [DescribeTimeBasedAutoScaling]
readPrec :: ReadPrec DescribeTimeBasedAutoScaling
$creadPrec :: ReadPrec DescribeTimeBasedAutoScaling
readList :: ReadS [DescribeTimeBasedAutoScaling]
$creadList :: ReadS [DescribeTimeBasedAutoScaling]
readsPrec :: Int -> ReadS DescribeTimeBasedAutoScaling
$creadsPrec :: Int -> ReadS DescribeTimeBasedAutoScaling
Prelude.Read, Int -> DescribeTimeBasedAutoScaling -> ShowS
[DescribeTimeBasedAutoScaling] -> ShowS
DescribeTimeBasedAutoScaling -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTimeBasedAutoScaling] -> ShowS
$cshowList :: [DescribeTimeBasedAutoScaling] -> ShowS
show :: DescribeTimeBasedAutoScaling -> String
$cshow :: DescribeTimeBasedAutoScaling -> String
showsPrec :: Int -> DescribeTimeBasedAutoScaling -> ShowS
$cshowsPrec :: Int -> DescribeTimeBasedAutoScaling -> ShowS
Prelude.Show, forall x.
Rep DescribeTimeBasedAutoScaling x -> DescribeTimeBasedAutoScaling
forall x.
DescribeTimeBasedAutoScaling -> Rep DescribeTimeBasedAutoScaling x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeTimeBasedAutoScaling x -> DescribeTimeBasedAutoScaling
$cfrom :: forall x.
DescribeTimeBasedAutoScaling -> Rep DescribeTimeBasedAutoScaling x
Prelude.Generic)
newDescribeTimeBasedAutoScaling ::
DescribeTimeBasedAutoScaling
newDescribeTimeBasedAutoScaling :: DescribeTimeBasedAutoScaling
newDescribeTimeBasedAutoScaling =
DescribeTimeBasedAutoScaling'
{ $sel:instanceIds:DescribeTimeBasedAutoScaling' :: [Text]
instanceIds =
forall a. Monoid a => a
Prelude.mempty
}
describeTimeBasedAutoScaling_instanceIds :: Lens.Lens' DescribeTimeBasedAutoScaling [Prelude.Text]
describeTimeBasedAutoScaling_instanceIds :: Lens' DescribeTimeBasedAutoScaling [Text]
describeTimeBasedAutoScaling_instanceIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTimeBasedAutoScaling' {[Text]
instanceIds :: [Text]
$sel:instanceIds:DescribeTimeBasedAutoScaling' :: DescribeTimeBasedAutoScaling -> [Text]
instanceIds} -> [Text]
instanceIds) (\s :: DescribeTimeBasedAutoScaling
s@DescribeTimeBasedAutoScaling' {} [Text]
a -> DescribeTimeBasedAutoScaling
s {$sel:instanceIds:DescribeTimeBasedAutoScaling' :: [Text]
instanceIds = [Text]
a} :: DescribeTimeBasedAutoScaling) 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 DescribeTimeBasedAutoScaling where
type
AWSResponse DescribeTimeBasedAutoScaling =
DescribeTimeBasedAutoScalingResponse
request :: (Service -> Service)
-> DescribeTimeBasedAutoScaling
-> Request DescribeTimeBasedAutoScaling
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribeTimeBasedAutoScaling
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeTimeBasedAutoScaling)))
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 [TimeBasedAutoScalingConfiguration]
-> Int -> DescribeTimeBasedAutoScalingResponse
DescribeTimeBasedAutoScalingResponse'
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
"TimeBasedAutoScalingConfigurations"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
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
DescribeTimeBasedAutoScaling
where
hashWithSalt :: Int -> DescribeTimeBasedAutoScaling -> Int
hashWithSalt Int
_salt DescribeTimeBasedAutoScaling' {[Text]
instanceIds :: [Text]
$sel:instanceIds:DescribeTimeBasedAutoScaling' :: DescribeTimeBasedAutoScaling -> [Text]
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
instanceIds
instance Prelude.NFData DescribeTimeBasedAutoScaling where
rnf :: DescribeTimeBasedAutoScaling -> ()
rnf DescribeTimeBasedAutoScaling' {[Text]
instanceIds :: [Text]
$sel:instanceIds:DescribeTimeBasedAutoScaling' :: DescribeTimeBasedAutoScaling -> [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf [Text]
instanceIds
instance Data.ToHeaders DescribeTimeBasedAutoScaling where
toHeaders :: DescribeTimeBasedAutoScaling -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"OpsWorks_20130218.DescribeTimeBasedAutoScaling" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON DescribeTimeBasedAutoScaling where
toJSON :: DescribeTimeBasedAutoScaling -> Value
toJSON DescribeTimeBasedAutoScaling' {[Text]
instanceIds :: [Text]
$sel:instanceIds:DescribeTimeBasedAutoScaling' :: DescribeTimeBasedAutoScaling -> [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[forall a. a -> Maybe a
Prelude.Just (Key
"InstanceIds" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
instanceIds)]
)
instance Data.ToPath DescribeTimeBasedAutoScaling where
toPath :: DescribeTimeBasedAutoScaling -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeTimeBasedAutoScaling where
toQuery :: DescribeTimeBasedAutoScaling -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeTimeBasedAutoScalingResponse = DescribeTimeBasedAutoScalingResponse'
{
DescribeTimeBasedAutoScalingResponse
-> Maybe [TimeBasedAutoScalingConfiguration]
timeBasedAutoScalingConfigurations :: Prelude.Maybe [TimeBasedAutoScalingConfiguration],
DescribeTimeBasedAutoScalingResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeTimeBasedAutoScalingResponse
-> DescribeTimeBasedAutoScalingResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeTimeBasedAutoScalingResponse
-> DescribeTimeBasedAutoScalingResponse -> Bool
$c/= :: DescribeTimeBasedAutoScalingResponse
-> DescribeTimeBasedAutoScalingResponse -> Bool
== :: DescribeTimeBasedAutoScalingResponse
-> DescribeTimeBasedAutoScalingResponse -> Bool
$c== :: DescribeTimeBasedAutoScalingResponse
-> DescribeTimeBasedAutoScalingResponse -> Bool
Prelude.Eq, ReadPrec [DescribeTimeBasedAutoScalingResponse]
ReadPrec DescribeTimeBasedAutoScalingResponse
Int -> ReadS DescribeTimeBasedAutoScalingResponse
ReadS [DescribeTimeBasedAutoScalingResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeTimeBasedAutoScalingResponse]
$creadListPrec :: ReadPrec [DescribeTimeBasedAutoScalingResponse]
readPrec :: ReadPrec DescribeTimeBasedAutoScalingResponse
$creadPrec :: ReadPrec DescribeTimeBasedAutoScalingResponse
readList :: ReadS [DescribeTimeBasedAutoScalingResponse]
$creadList :: ReadS [DescribeTimeBasedAutoScalingResponse]
readsPrec :: Int -> ReadS DescribeTimeBasedAutoScalingResponse
$creadsPrec :: Int -> ReadS DescribeTimeBasedAutoScalingResponse
Prelude.Read, Int -> DescribeTimeBasedAutoScalingResponse -> ShowS
[DescribeTimeBasedAutoScalingResponse] -> ShowS
DescribeTimeBasedAutoScalingResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeTimeBasedAutoScalingResponse] -> ShowS
$cshowList :: [DescribeTimeBasedAutoScalingResponse] -> ShowS
show :: DescribeTimeBasedAutoScalingResponse -> String
$cshow :: DescribeTimeBasedAutoScalingResponse -> String
showsPrec :: Int -> DescribeTimeBasedAutoScalingResponse -> ShowS
$cshowsPrec :: Int -> DescribeTimeBasedAutoScalingResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeTimeBasedAutoScalingResponse x
-> DescribeTimeBasedAutoScalingResponse
forall x.
DescribeTimeBasedAutoScalingResponse
-> Rep DescribeTimeBasedAutoScalingResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeTimeBasedAutoScalingResponse x
-> DescribeTimeBasedAutoScalingResponse
$cfrom :: forall x.
DescribeTimeBasedAutoScalingResponse
-> Rep DescribeTimeBasedAutoScalingResponse x
Prelude.Generic)
newDescribeTimeBasedAutoScalingResponse ::
Prelude.Int ->
DescribeTimeBasedAutoScalingResponse
newDescribeTimeBasedAutoScalingResponse :: Int -> DescribeTimeBasedAutoScalingResponse
newDescribeTimeBasedAutoScalingResponse Int
pHttpStatus_ =
DescribeTimeBasedAutoScalingResponse'
{ $sel:timeBasedAutoScalingConfigurations:DescribeTimeBasedAutoScalingResponse' :: Maybe [TimeBasedAutoScalingConfiguration]
timeBasedAutoScalingConfigurations =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeTimeBasedAutoScalingResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeTimeBasedAutoScalingResponse_timeBasedAutoScalingConfigurations :: Lens.Lens' DescribeTimeBasedAutoScalingResponse (Prelude.Maybe [TimeBasedAutoScalingConfiguration])
describeTimeBasedAutoScalingResponse_timeBasedAutoScalingConfigurations :: Lens'
DescribeTimeBasedAutoScalingResponse
(Maybe [TimeBasedAutoScalingConfiguration])
describeTimeBasedAutoScalingResponse_timeBasedAutoScalingConfigurations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTimeBasedAutoScalingResponse' {Maybe [TimeBasedAutoScalingConfiguration]
timeBasedAutoScalingConfigurations :: Maybe [TimeBasedAutoScalingConfiguration]
$sel:timeBasedAutoScalingConfigurations:DescribeTimeBasedAutoScalingResponse' :: DescribeTimeBasedAutoScalingResponse
-> Maybe [TimeBasedAutoScalingConfiguration]
timeBasedAutoScalingConfigurations} -> Maybe [TimeBasedAutoScalingConfiguration]
timeBasedAutoScalingConfigurations) (\s :: DescribeTimeBasedAutoScalingResponse
s@DescribeTimeBasedAutoScalingResponse' {} Maybe [TimeBasedAutoScalingConfiguration]
a -> DescribeTimeBasedAutoScalingResponse
s {$sel:timeBasedAutoScalingConfigurations:DescribeTimeBasedAutoScalingResponse' :: Maybe [TimeBasedAutoScalingConfiguration]
timeBasedAutoScalingConfigurations = Maybe [TimeBasedAutoScalingConfiguration]
a} :: DescribeTimeBasedAutoScalingResponse) 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 s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
describeTimeBasedAutoScalingResponse_httpStatus :: Lens.Lens' DescribeTimeBasedAutoScalingResponse Prelude.Int
describeTimeBasedAutoScalingResponse_httpStatus :: Lens' DescribeTimeBasedAutoScalingResponse Int
describeTimeBasedAutoScalingResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeTimeBasedAutoScalingResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeTimeBasedAutoScalingResponse' :: DescribeTimeBasedAutoScalingResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeTimeBasedAutoScalingResponse
s@DescribeTimeBasedAutoScalingResponse' {} Int
a -> DescribeTimeBasedAutoScalingResponse
s {$sel:httpStatus:DescribeTimeBasedAutoScalingResponse' :: Int
httpStatus = Int
a} :: DescribeTimeBasedAutoScalingResponse)
instance
Prelude.NFData
DescribeTimeBasedAutoScalingResponse
where
rnf :: DescribeTimeBasedAutoScalingResponse -> ()
rnf DescribeTimeBasedAutoScalingResponse' {Int
Maybe [TimeBasedAutoScalingConfiguration]
httpStatus :: Int
timeBasedAutoScalingConfigurations :: Maybe [TimeBasedAutoScalingConfiguration]
$sel:httpStatus:DescribeTimeBasedAutoScalingResponse' :: DescribeTimeBasedAutoScalingResponse -> Int
$sel:timeBasedAutoScalingConfigurations:DescribeTimeBasedAutoScalingResponse' :: DescribeTimeBasedAutoScalingResponse
-> Maybe [TimeBasedAutoScalingConfiguration]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [TimeBasedAutoScalingConfiguration]
timeBasedAutoScalingConfigurations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus