{-# 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.DescribeOperatingSystems
(
DescribeOperatingSystems (..),
newDescribeOperatingSystems,
DescribeOperatingSystemsResponse (..),
newDescribeOperatingSystemsResponse,
describeOperatingSystemsResponse_operatingSystems,
describeOperatingSystemsResponse_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 DescribeOperatingSystems = DescribeOperatingSystems'
{
}
deriving (DescribeOperatingSystems -> DescribeOperatingSystems -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeOperatingSystems -> DescribeOperatingSystems -> Bool
$c/= :: DescribeOperatingSystems -> DescribeOperatingSystems -> Bool
== :: DescribeOperatingSystems -> DescribeOperatingSystems -> Bool
$c== :: DescribeOperatingSystems -> DescribeOperatingSystems -> Bool
Prelude.Eq, ReadPrec [DescribeOperatingSystems]
ReadPrec DescribeOperatingSystems
Int -> ReadS DescribeOperatingSystems
ReadS [DescribeOperatingSystems]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeOperatingSystems]
$creadListPrec :: ReadPrec [DescribeOperatingSystems]
readPrec :: ReadPrec DescribeOperatingSystems
$creadPrec :: ReadPrec DescribeOperatingSystems
readList :: ReadS [DescribeOperatingSystems]
$creadList :: ReadS [DescribeOperatingSystems]
readsPrec :: Int -> ReadS DescribeOperatingSystems
$creadsPrec :: Int -> ReadS DescribeOperatingSystems
Prelude.Read, Int -> DescribeOperatingSystems -> ShowS
[DescribeOperatingSystems] -> ShowS
DescribeOperatingSystems -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeOperatingSystems] -> ShowS
$cshowList :: [DescribeOperatingSystems] -> ShowS
show :: DescribeOperatingSystems -> String
$cshow :: DescribeOperatingSystems -> String
showsPrec :: Int -> DescribeOperatingSystems -> ShowS
$cshowsPrec :: Int -> DescribeOperatingSystems -> ShowS
Prelude.Show, forall x.
Rep DescribeOperatingSystems x -> DescribeOperatingSystems
forall x.
DescribeOperatingSystems -> Rep DescribeOperatingSystems x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeOperatingSystems x -> DescribeOperatingSystems
$cfrom :: forall x.
DescribeOperatingSystems -> Rep DescribeOperatingSystems x
Prelude.Generic)
newDescribeOperatingSystems ::
DescribeOperatingSystems
newDescribeOperatingSystems :: DescribeOperatingSystems
newDescribeOperatingSystems =
DescribeOperatingSystems
DescribeOperatingSystems'
instance Core.AWSRequest DescribeOperatingSystems where
type
AWSResponse DescribeOperatingSystems =
DescribeOperatingSystemsResponse
request :: (Service -> Service)
-> DescribeOperatingSystems -> Request DescribeOperatingSystems
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 DescribeOperatingSystems
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeOperatingSystems)))
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 [OperatingSystem] -> Int -> DescribeOperatingSystemsResponse
DescribeOperatingSystemsResponse'
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
"OperatingSystems"
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 DescribeOperatingSystems where
hashWithSalt :: Int -> DescribeOperatingSystems -> Int
hashWithSalt Int
_salt DescribeOperatingSystems
_ =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ()
instance Prelude.NFData DescribeOperatingSystems where
rnf :: DescribeOperatingSystems -> ()
rnf DescribeOperatingSystems
_ = ()
instance Data.ToHeaders DescribeOperatingSystems where
toHeaders :: DescribeOperatingSystems -> 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.DescribeOperatingSystems" ::
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 DescribeOperatingSystems where
toJSON :: DescribeOperatingSystems -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath DescribeOperatingSystems where
toPath :: DescribeOperatingSystems -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeOperatingSystems where
toQuery :: DescribeOperatingSystems -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeOperatingSystemsResponse = DescribeOperatingSystemsResponse'
{
DescribeOperatingSystemsResponse -> Maybe [OperatingSystem]
operatingSystems :: Prelude.Maybe [OperatingSystem],
DescribeOperatingSystemsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeOperatingSystemsResponse
-> DescribeOperatingSystemsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeOperatingSystemsResponse
-> DescribeOperatingSystemsResponse -> Bool
$c/= :: DescribeOperatingSystemsResponse
-> DescribeOperatingSystemsResponse -> Bool
== :: DescribeOperatingSystemsResponse
-> DescribeOperatingSystemsResponse -> Bool
$c== :: DescribeOperatingSystemsResponse
-> DescribeOperatingSystemsResponse -> Bool
Prelude.Eq, ReadPrec [DescribeOperatingSystemsResponse]
ReadPrec DescribeOperatingSystemsResponse
Int -> ReadS DescribeOperatingSystemsResponse
ReadS [DescribeOperatingSystemsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeOperatingSystemsResponse]
$creadListPrec :: ReadPrec [DescribeOperatingSystemsResponse]
readPrec :: ReadPrec DescribeOperatingSystemsResponse
$creadPrec :: ReadPrec DescribeOperatingSystemsResponse
readList :: ReadS [DescribeOperatingSystemsResponse]
$creadList :: ReadS [DescribeOperatingSystemsResponse]
readsPrec :: Int -> ReadS DescribeOperatingSystemsResponse
$creadsPrec :: Int -> ReadS DescribeOperatingSystemsResponse
Prelude.Read, Int -> DescribeOperatingSystemsResponse -> ShowS
[DescribeOperatingSystemsResponse] -> ShowS
DescribeOperatingSystemsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeOperatingSystemsResponse] -> ShowS
$cshowList :: [DescribeOperatingSystemsResponse] -> ShowS
show :: DescribeOperatingSystemsResponse -> String
$cshow :: DescribeOperatingSystemsResponse -> String
showsPrec :: Int -> DescribeOperatingSystemsResponse -> ShowS
$cshowsPrec :: Int -> DescribeOperatingSystemsResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeOperatingSystemsResponse x
-> DescribeOperatingSystemsResponse
forall x.
DescribeOperatingSystemsResponse
-> Rep DescribeOperatingSystemsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeOperatingSystemsResponse x
-> DescribeOperatingSystemsResponse
$cfrom :: forall x.
DescribeOperatingSystemsResponse
-> Rep DescribeOperatingSystemsResponse x
Prelude.Generic)
newDescribeOperatingSystemsResponse ::
Prelude.Int ->
DescribeOperatingSystemsResponse
newDescribeOperatingSystemsResponse :: Int -> DescribeOperatingSystemsResponse
newDescribeOperatingSystemsResponse Int
pHttpStatus_ =
DescribeOperatingSystemsResponse'
{ $sel:operatingSystems:DescribeOperatingSystemsResponse' :: Maybe [OperatingSystem]
operatingSystems =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeOperatingSystemsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeOperatingSystemsResponse_operatingSystems :: Lens.Lens' DescribeOperatingSystemsResponse (Prelude.Maybe [OperatingSystem])
describeOperatingSystemsResponse_operatingSystems :: Lens' DescribeOperatingSystemsResponse (Maybe [OperatingSystem])
describeOperatingSystemsResponse_operatingSystems = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeOperatingSystemsResponse' {Maybe [OperatingSystem]
operatingSystems :: Maybe [OperatingSystem]
$sel:operatingSystems:DescribeOperatingSystemsResponse' :: DescribeOperatingSystemsResponse -> Maybe [OperatingSystem]
operatingSystems} -> Maybe [OperatingSystem]
operatingSystems) (\s :: DescribeOperatingSystemsResponse
s@DescribeOperatingSystemsResponse' {} Maybe [OperatingSystem]
a -> DescribeOperatingSystemsResponse
s {$sel:operatingSystems:DescribeOperatingSystemsResponse' :: Maybe [OperatingSystem]
operatingSystems = Maybe [OperatingSystem]
a} :: DescribeOperatingSystemsResponse) 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
describeOperatingSystemsResponse_httpStatus :: Lens.Lens' DescribeOperatingSystemsResponse Prelude.Int
describeOperatingSystemsResponse_httpStatus :: Lens' DescribeOperatingSystemsResponse Int
describeOperatingSystemsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeOperatingSystemsResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeOperatingSystemsResponse' :: DescribeOperatingSystemsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeOperatingSystemsResponse
s@DescribeOperatingSystemsResponse' {} Int
a -> DescribeOperatingSystemsResponse
s {$sel:httpStatus:DescribeOperatingSystemsResponse' :: Int
httpStatus = Int
a} :: DescribeOperatingSystemsResponse)
instance
Prelude.NFData
DescribeOperatingSystemsResponse
where
rnf :: DescribeOperatingSystemsResponse -> ()
rnf DescribeOperatingSystemsResponse' {Int
Maybe [OperatingSystem]
httpStatus :: Int
operatingSystems :: Maybe [OperatingSystem]
$sel:httpStatus:DescribeOperatingSystemsResponse' :: DescribeOperatingSystemsResponse -> Int
$sel:operatingSystems:DescribeOperatingSystemsResponse' :: DescribeOperatingSystemsResponse -> Maybe [OperatingSystem]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [OperatingSystem]
operatingSystems
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus