{-# 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.ComputeOptimizer.GetEnrollmentStatus
(
GetEnrollmentStatus (..),
newGetEnrollmentStatus,
GetEnrollmentStatusResponse (..),
newGetEnrollmentStatusResponse,
getEnrollmentStatusResponse_lastUpdatedTimestamp,
getEnrollmentStatusResponse_memberAccountsEnrolled,
getEnrollmentStatusResponse_numberOfMemberAccountsOptedIn,
getEnrollmentStatusResponse_status,
getEnrollmentStatusResponse_statusReason,
getEnrollmentStatusResponse_httpStatus,
)
where
import Amazonka.ComputeOptimizer.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 GetEnrollmentStatus = GetEnrollmentStatus'
{
}
deriving (GetEnrollmentStatus -> GetEnrollmentStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetEnrollmentStatus -> GetEnrollmentStatus -> Bool
$c/= :: GetEnrollmentStatus -> GetEnrollmentStatus -> Bool
== :: GetEnrollmentStatus -> GetEnrollmentStatus -> Bool
$c== :: GetEnrollmentStatus -> GetEnrollmentStatus -> Bool
Prelude.Eq, ReadPrec [GetEnrollmentStatus]
ReadPrec GetEnrollmentStatus
Int -> ReadS GetEnrollmentStatus
ReadS [GetEnrollmentStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetEnrollmentStatus]
$creadListPrec :: ReadPrec [GetEnrollmentStatus]
readPrec :: ReadPrec GetEnrollmentStatus
$creadPrec :: ReadPrec GetEnrollmentStatus
readList :: ReadS [GetEnrollmentStatus]
$creadList :: ReadS [GetEnrollmentStatus]
readsPrec :: Int -> ReadS GetEnrollmentStatus
$creadsPrec :: Int -> ReadS GetEnrollmentStatus
Prelude.Read, Int -> GetEnrollmentStatus -> ShowS
[GetEnrollmentStatus] -> ShowS
GetEnrollmentStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetEnrollmentStatus] -> ShowS
$cshowList :: [GetEnrollmentStatus] -> ShowS
show :: GetEnrollmentStatus -> String
$cshow :: GetEnrollmentStatus -> String
showsPrec :: Int -> GetEnrollmentStatus -> ShowS
$cshowsPrec :: Int -> GetEnrollmentStatus -> ShowS
Prelude.Show, forall x. Rep GetEnrollmentStatus x -> GetEnrollmentStatus
forall x. GetEnrollmentStatus -> Rep GetEnrollmentStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetEnrollmentStatus x -> GetEnrollmentStatus
$cfrom :: forall x. GetEnrollmentStatus -> Rep GetEnrollmentStatus x
Prelude.Generic)
newGetEnrollmentStatus ::
GetEnrollmentStatus
newGetEnrollmentStatus :: GetEnrollmentStatus
newGetEnrollmentStatus = GetEnrollmentStatus
GetEnrollmentStatus'
instance Core.AWSRequest GetEnrollmentStatus where
type
AWSResponse GetEnrollmentStatus =
GetEnrollmentStatusResponse
request :: (Service -> Service)
-> GetEnrollmentStatus -> Request GetEnrollmentStatus
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 GetEnrollmentStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetEnrollmentStatus)))
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 POSIX
-> Maybe Bool
-> Maybe Int
-> Maybe Status
-> Maybe Text
-> Int
-> GetEnrollmentStatusResponse
GetEnrollmentStatusResponse'
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
"lastUpdatedTimestamp")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"memberAccountsEnrolled")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"numberOfMemberAccountsOptedIn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"status")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"statusReason")
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 GetEnrollmentStatus where
hashWithSalt :: Int -> GetEnrollmentStatus -> Int
hashWithSalt Int
_salt GetEnrollmentStatus
_ =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ()
instance Prelude.NFData GetEnrollmentStatus where
rnf :: GetEnrollmentStatus -> ()
rnf GetEnrollmentStatus
_ = ()
instance Data.ToHeaders GetEnrollmentStatus where
toHeaders :: GetEnrollmentStatus -> 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
"ComputeOptimizerService.GetEnrollmentStatus" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON GetEnrollmentStatus where
toJSON :: GetEnrollmentStatus -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath GetEnrollmentStatus where
toPath :: GetEnrollmentStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetEnrollmentStatus where
toQuery :: GetEnrollmentStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetEnrollmentStatusResponse = GetEnrollmentStatusResponse'
{
GetEnrollmentStatusResponse -> Maybe POSIX
lastUpdatedTimestamp :: Prelude.Maybe Data.POSIX,
GetEnrollmentStatusResponse -> Maybe Bool
memberAccountsEnrolled :: Prelude.Maybe Prelude.Bool,
GetEnrollmentStatusResponse -> Maybe Int
numberOfMemberAccountsOptedIn :: Prelude.Maybe Prelude.Int,
GetEnrollmentStatusResponse -> Maybe Status
status :: Prelude.Maybe Status,
GetEnrollmentStatusResponse -> Maybe Text
statusReason :: Prelude.Maybe Prelude.Text,
GetEnrollmentStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetEnrollmentStatusResponse -> GetEnrollmentStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetEnrollmentStatusResponse -> GetEnrollmentStatusResponse -> Bool
$c/= :: GetEnrollmentStatusResponse -> GetEnrollmentStatusResponse -> Bool
== :: GetEnrollmentStatusResponse -> GetEnrollmentStatusResponse -> Bool
$c== :: GetEnrollmentStatusResponse -> GetEnrollmentStatusResponse -> Bool
Prelude.Eq, ReadPrec [GetEnrollmentStatusResponse]
ReadPrec GetEnrollmentStatusResponse
Int -> ReadS GetEnrollmentStatusResponse
ReadS [GetEnrollmentStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetEnrollmentStatusResponse]
$creadListPrec :: ReadPrec [GetEnrollmentStatusResponse]
readPrec :: ReadPrec GetEnrollmentStatusResponse
$creadPrec :: ReadPrec GetEnrollmentStatusResponse
readList :: ReadS [GetEnrollmentStatusResponse]
$creadList :: ReadS [GetEnrollmentStatusResponse]
readsPrec :: Int -> ReadS GetEnrollmentStatusResponse
$creadsPrec :: Int -> ReadS GetEnrollmentStatusResponse
Prelude.Read, Int -> GetEnrollmentStatusResponse -> ShowS
[GetEnrollmentStatusResponse] -> ShowS
GetEnrollmentStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetEnrollmentStatusResponse] -> ShowS
$cshowList :: [GetEnrollmentStatusResponse] -> ShowS
show :: GetEnrollmentStatusResponse -> String
$cshow :: GetEnrollmentStatusResponse -> String
showsPrec :: Int -> GetEnrollmentStatusResponse -> ShowS
$cshowsPrec :: Int -> GetEnrollmentStatusResponse -> ShowS
Prelude.Show, forall x.
Rep GetEnrollmentStatusResponse x -> GetEnrollmentStatusResponse
forall x.
GetEnrollmentStatusResponse -> Rep GetEnrollmentStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetEnrollmentStatusResponse x -> GetEnrollmentStatusResponse
$cfrom :: forall x.
GetEnrollmentStatusResponse -> Rep GetEnrollmentStatusResponse x
Prelude.Generic)
newGetEnrollmentStatusResponse ::
Prelude.Int ->
GetEnrollmentStatusResponse
newGetEnrollmentStatusResponse :: Int -> GetEnrollmentStatusResponse
newGetEnrollmentStatusResponse Int
pHttpStatus_ =
GetEnrollmentStatusResponse'
{ $sel:lastUpdatedTimestamp:GetEnrollmentStatusResponse' :: Maybe POSIX
lastUpdatedTimestamp =
forall a. Maybe a
Prelude.Nothing,
$sel:memberAccountsEnrolled:GetEnrollmentStatusResponse' :: Maybe Bool
memberAccountsEnrolled = forall a. Maybe a
Prelude.Nothing,
$sel:numberOfMemberAccountsOptedIn:GetEnrollmentStatusResponse' :: Maybe Int
numberOfMemberAccountsOptedIn =
forall a. Maybe a
Prelude.Nothing,
$sel:status:GetEnrollmentStatusResponse' :: Maybe Status
status = forall a. Maybe a
Prelude.Nothing,
$sel:statusReason:GetEnrollmentStatusResponse' :: Maybe Text
statusReason = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetEnrollmentStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getEnrollmentStatusResponse_lastUpdatedTimestamp :: Lens.Lens' GetEnrollmentStatusResponse (Prelude.Maybe Prelude.UTCTime)
getEnrollmentStatusResponse_lastUpdatedTimestamp :: Lens' GetEnrollmentStatusResponse (Maybe UTCTime)
getEnrollmentStatusResponse_lastUpdatedTimestamp = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnrollmentStatusResponse' {Maybe POSIX
lastUpdatedTimestamp :: Maybe POSIX
$sel:lastUpdatedTimestamp:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe POSIX
lastUpdatedTimestamp} -> Maybe POSIX
lastUpdatedTimestamp) (\s :: GetEnrollmentStatusResponse
s@GetEnrollmentStatusResponse' {} Maybe POSIX
a -> GetEnrollmentStatusResponse
s {$sel:lastUpdatedTimestamp:GetEnrollmentStatusResponse' :: Maybe POSIX
lastUpdatedTimestamp = Maybe POSIX
a} :: GetEnrollmentStatusResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
getEnrollmentStatusResponse_memberAccountsEnrolled :: Lens.Lens' GetEnrollmentStatusResponse (Prelude.Maybe Prelude.Bool)
getEnrollmentStatusResponse_memberAccountsEnrolled :: Lens' GetEnrollmentStatusResponse (Maybe Bool)
getEnrollmentStatusResponse_memberAccountsEnrolled = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnrollmentStatusResponse' {Maybe Bool
memberAccountsEnrolled :: Maybe Bool
$sel:memberAccountsEnrolled:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe Bool
memberAccountsEnrolled} -> Maybe Bool
memberAccountsEnrolled) (\s :: GetEnrollmentStatusResponse
s@GetEnrollmentStatusResponse' {} Maybe Bool
a -> GetEnrollmentStatusResponse
s {$sel:memberAccountsEnrolled:GetEnrollmentStatusResponse' :: Maybe Bool
memberAccountsEnrolled = Maybe Bool
a} :: GetEnrollmentStatusResponse)
getEnrollmentStatusResponse_numberOfMemberAccountsOptedIn :: Lens.Lens' GetEnrollmentStatusResponse (Prelude.Maybe Prelude.Int)
getEnrollmentStatusResponse_numberOfMemberAccountsOptedIn :: Lens' GetEnrollmentStatusResponse (Maybe Int)
getEnrollmentStatusResponse_numberOfMemberAccountsOptedIn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnrollmentStatusResponse' {Maybe Int
numberOfMemberAccountsOptedIn :: Maybe Int
$sel:numberOfMemberAccountsOptedIn:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe Int
numberOfMemberAccountsOptedIn} -> Maybe Int
numberOfMemberAccountsOptedIn) (\s :: GetEnrollmentStatusResponse
s@GetEnrollmentStatusResponse' {} Maybe Int
a -> GetEnrollmentStatusResponse
s {$sel:numberOfMemberAccountsOptedIn:GetEnrollmentStatusResponse' :: Maybe Int
numberOfMemberAccountsOptedIn = Maybe Int
a} :: GetEnrollmentStatusResponse)
getEnrollmentStatusResponse_status :: Lens.Lens' GetEnrollmentStatusResponse (Prelude.Maybe Status)
getEnrollmentStatusResponse_status :: Lens' GetEnrollmentStatusResponse (Maybe Status)
getEnrollmentStatusResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnrollmentStatusResponse' {Maybe Status
status :: Maybe Status
$sel:status:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe Status
status} -> Maybe Status
status) (\s :: GetEnrollmentStatusResponse
s@GetEnrollmentStatusResponse' {} Maybe Status
a -> GetEnrollmentStatusResponse
s {$sel:status:GetEnrollmentStatusResponse' :: Maybe Status
status = Maybe Status
a} :: GetEnrollmentStatusResponse)
getEnrollmentStatusResponse_statusReason :: Lens.Lens' GetEnrollmentStatusResponse (Prelude.Maybe Prelude.Text)
getEnrollmentStatusResponse_statusReason :: Lens' GetEnrollmentStatusResponse (Maybe Text)
getEnrollmentStatusResponse_statusReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnrollmentStatusResponse' {Maybe Text
statusReason :: Maybe Text
$sel:statusReason:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe Text
statusReason} -> Maybe Text
statusReason) (\s :: GetEnrollmentStatusResponse
s@GetEnrollmentStatusResponse' {} Maybe Text
a -> GetEnrollmentStatusResponse
s {$sel:statusReason:GetEnrollmentStatusResponse' :: Maybe Text
statusReason = Maybe Text
a} :: GetEnrollmentStatusResponse)
getEnrollmentStatusResponse_httpStatus :: Lens.Lens' GetEnrollmentStatusResponse Prelude.Int
getEnrollmentStatusResponse_httpStatus :: Lens' GetEnrollmentStatusResponse Int
getEnrollmentStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEnrollmentStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetEnrollmentStatusResponse
s@GetEnrollmentStatusResponse' {} Int
a -> GetEnrollmentStatusResponse
s {$sel:httpStatus:GetEnrollmentStatusResponse' :: Int
httpStatus = Int
a} :: GetEnrollmentStatusResponse)
instance Prelude.NFData GetEnrollmentStatusResponse where
rnf :: GetEnrollmentStatusResponse -> ()
rnf GetEnrollmentStatusResponse' {Int
Maybe Bool
Maybe Int
Maybe Text
Maybe POSIX
Maybe Status
httpStatus :: Int
statusReason :: Maybe Text
status :: Maybe Status
numberOfMemberAccountsOptedIn :: Maybe Int
memberAccountsEnrolled :: Maybe Bool
lastUpdatedTimestamp :: Maybe POSIX
$sel:httpStatus:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Int
$sel:statusReason:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe Text
$sel:status:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe Status
$sel:numberOfMemberAccountsOptedIn:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe Int
$sel:memberAccountsEnrolled:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe Bool
$sel:lastUpdatedTimestamp:GetEnrollmentStatusResponse' :: GetEnrollmentStatusResponse -> Maybe POSIX
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedTimestamp
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
memberAccountsEnrolled
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
numberOfMemberAccountsOptedIn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Status
status
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
statusReason
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus