{-# 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.Organizations.DescribeCreateAccountStatus
(
DescribeCreateAccountStatus (..),
newDescribeCreateAccountStatus,
describeCreateAccountStatus_createAccountRequestId,
DescribeCreateAccountStatusResponse (..),
newDescribeCreateAccountStatusResponse,
describeCreateAccountStatusResponse_createAccountStatus,
describeCreateAccountStatusResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Organizations.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data DescribeCreateAccountStatus = DescribeCreateAccountStatus'
{
DescribeCreateAccountStatus -> Text
createAccountRequestId :: Prelude.Text
}
deriving (DescribeCreateAccountStatus -> DescribeCreateAccountStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeCreateAccountStatus -> DescribeCreateAccountStatus -> Bool
$c/= :: DescribeCreateAccountStatus -> DescribeCreateAccountStatus -> Bool
== :: DescribeCreateAccountStatus -> DescribeCreateAccountStatus -> Bool
$c== :: DescribeCreateAccountStatus -> DescribeCreateAccountStatus -> Bool
Prelude.Eq, ReadPrec [DescribeCreateAccountStatus]
ReadPrec DescribeCreateAccountStatus
Int -> ReadS DescribeCreateAccountStatus
ReadS [DescribeCreateAccountStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeCreateAccountStatus]
$creadListPrec :: ReadPrec [DescribeCreateAccountStatus]
readPrec :: ReadPrec DescribeCreateAccountStatus
$creadPrec :: ReadPrec DescribeCreateAccountStatus
readList :: ReadS [DescribeCreateAccountStatus]
$creadList :: ReadS [DescribeCreateAccountStatus]
readsPrec :: Int -> ReadS DescribeCreateAccountStatus
$creadsPrec :: Int -> ReadS DescribeCreateAccountStatus
Prelude.Read, Int -> DescribeCreateAccountStatus -> ShowS
[DescribeCreateAccountStatus] -> ShowS
DescribeCreateAccountStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeCreateAccountStatus] -> ShowS
$cshowList :: [DescribeCreateAccountStatus] -> ShowS
show :: DescribeCreateAccountStatus -> String
$cshow :: DescribeCreateAccountStatus -> String
showsPrec :: Int -> DescribeCreateAccountStatus -> ShowS
$cshowsPrec :: Int -> DescribeCreateAccountStatus -> ShowS
Prelude.Show, forall x.
Rep DescribeCreateAccountStatus x -> DescribeCreateAccountStatus
forall x.
DescribeCreateAccountStatus -> Rep DescribeCreateAccountStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeCreateAccountStatus x -> DescribeCreateAccountStatus
$cfrom :: forall x.
DescribeCreateAccountStatus -> Rep DescribeCreateAccountStatus x
Prelude.Generic)
newDescribeCreateAccountStatus ::
Prelude.Text ->
DescribeCreateAccountStatus
newDescribeCreateAccountStatus :: Text -> DescribeCreateAccountStatus
newDescribeCreateAccountStatus
Text
pCreateAccountRequestId_ =
DescribeCreateAccountStatus'
{ $sel:createAccountRequestId:DescribeCreateAccountStatus' :: Text
createAccountRequestId =
Text
pCreateAccountRequestId_
}
describeCreateAccountStatus_createAccountRequestId :: Lens.Lens' DescribeCreateAccountStatus Prelude.Text
describeCreateAccountStatus_createAccountRequestId :: Lens' DescribeCreateAccountStatus Text
describeCreateAccountStatus_createAccountRequestId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCreateAccountStatus' {Text
createAccountRequestId :: Text
$sel:createAccountRequestId:DescribeCreateAccountStatus' :: DescribeCreateAccountStatus -> Text
createAccountRequestId} -> Text
createAccountRequestId) (\s :: DescribeCreateAccountStatus
s@DescribeCreateAccountStatus' {} Text
a -> DescribeCreateAccountStatus
s {$sel:createAccountRequestId:DescribeCreateAccountStatus' :: Text
createAccountRequestId = Text
a} :: DescribeCreateAccountStatus)
instance Core.AWSRequest DescribeCreateAccountStatus where
type
AWSResponse DescribeCreateAccountStatus =
DescribeCreateAccountStatusResponse
request :: (Service -> Service)
-> DescribeCreateAccountStatus
-> Request DescribeCreateAccountStatus
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 DescribeCreateAccountStatus
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse DescribeCreateAccountStatus)))
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 CreateAccountStatus
-> Int -> DescribeCreateAccountStatusResponse
DescribeCreateAccountStatusResponse'
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
"CreateAccountStatus")
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 DescribeCreateAccountStatus where
hashWithSalt :: Int -> DescribeCreateAccountStatus -> Int
hashWithSalt Int
_salt DescribeCreateAccountStatus' {Text
createAccountRequestId :: Text
$sel:createAccountRequestId:DescribeCreateAccountStatus' :: DescribeCreateAccountStatus -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
createAccountRequestId
instance Prelude.NFData DescribeCreateAccountStatus where
rnf :: DescribeCreateAccountStatus -> ()
rnf DescribeCreateAccountStatus' {Text
createAccountRequestId :: Text
$sel:createAccountRequestId:DescribeCreateAccountStatus' :: DescribeCreateAccountStatus -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
createAccountRequestId
instance Data.ToHeaders DescribeCreateAccountStatus where
toHeaders :: DescribeCreateAccountStatus -> 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
"AWSOrganizationsV20161128.DescribeCreateAccountStatus" ::
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 DescribeCreateAccountStatus where
toJSON :: DescribeCreateAccountStatus -> Value
toJSON DescribeCreateAccountStatus' {Text
createAccountRequestId :: Text
$sel:createAccountRequestId:DescribeCreateAccountStatus' :: DescribeCreateAccountStatus -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"CreateAccountRequestId"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
createAccountRequestId
)
]
)
instance Data.ToPath DescribeCreateAccountStatus where
toPath :: DescribeCreateAccountStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery DescribeCreateAccountStatus where
toQuery :: DescribeCreateAccountStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data DescribeCreateAccountStatusResponse = DescribeCreateAccountStatusResponse'
{
DescribeCreateAccountStatusResponse -> Maybe CreateAccountStatus
createAccountStatus :: Prelude.Maybe CreateAccountStatus,
DescribeCreateAccountStatusResponse -> Int
httpStatus :: Prelude.Int
}
deriving (DescribeCreateAccountStatusResponse
-> DescribeCreateAccountStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeCreateAccountStatusResponse
-> DescribeCreateAccountStatusResponse -> Bool
$c/= :: DescribeCreateAccountStatusResponse
-> DescribeCreateAccountStatusResponse -> Bool
== :: DescribeCreateAccountStatusResponse
-> DescribeCreateAccountStatusResponse -> Bool
$c== :: DescribeCreateAccountStatusResponse
-> DescribeCreateAccountStatusResponse -> Bool
Prelude.Eq, Int -> DescribeCreateAccountStatusResponse -> ShowS
[DescribeCreateAccountStatusResponse] -> ShowS
DescribeCreateAccountStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeCreateAccountStatusResponse] -> ShowS
$cshowList :: [DescribeCreateAccountStatusResponse] -> ShowS
show :: DescribeCreateAccountStatusResponse -> String
$cshow :: DescribeCreateAccountStatusResponse -> String
showsPrec :: Int -> DescribeCreateAccountStatusResponse -> ShowS
$cshowsPrec :: Int -> DescribeCreateAccountStatusResponse -> ShowS
Prelude.Show, forall x.
Rep DescribeCreateAccountStatusResponse x
-> DescribeCreateAccountStatusResponse
forall x.
DescribeCreateAccountStatusResponse
-> Rep DescribeCreateAccountStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeCreateAccountStatusResponse x
-> DescribeCreateAccountStatusResponse
$cfrom :: forall x.
DescribeCreateAccountStatusResponse
-> Rep DescribeCreateAccountStatusResponse x
Prelude.Generic)
newDescribeCreateAccountStatusResponse ::
Prelude.Int ->
DescribeCreateAccountStatusResponse
newDescribeCreateAccountStatusResponse :: Int -> DescribeCreateAccountStatusResponse
newDescribeCreateAccountStatusResponse Int
pHttpStatus_ =
DescribeCreateAccountStatusResponse'
{ $sel:createAccountStatus:DescribeCreateAccountStatusResponse' :: Maybe CreateAccountStatus
createAccountStatus =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:DescribeCreateAccountStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
}
describeCreateAccountStatusResponse_createAccountStatus :: Lens.Lens' DescribeCreateAccountStatusResponse (Prelude.Maybe CreateAccountStatus)
describeCreateAccountStatusResponse_createAccountStatus :: Lens'
DescribeCreateAccountStatusResponse (Maybe CreateAccountStatus)
describeCreateAccountStatusResponse_createAccountStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCreateAccountStatusResponse' {Maybe CreateAccountStatus
createAccountStatus :: Maybe CreateAccountStatus
$sel:createAccountStatus:DescribeCreateAccountStatusResponse' :: DescribeCreateAccountStatusResponse -> Maybe CreateAccountStatus
createAccountStatus} -> Maybe CreateAccountStatus
createAccountStatus) (\s :: DescribeCreateAccountStatusResponse
s@DescribeCreateAccountStatusResponse' {} Maybe CreateAccountStatus
a -> DescribeCreateAccountStatusResponse
s {$sel:createAccountStatus:DescribeCreateAccountStatusResponse' :: Maybe CreateAccountStatus
createAccountStatus = Maybe CreateAccountStatus
a} :: DescribeCreateAccountStatusResponse)
describeCreateAccountStatusResponse_httpStatus :: Lens.Lens' DescribeCreateAccountStatusResponse Prelude.Int
describeCreateAccountStatusResponse_httpStatus :: Lens' DescribeCreateAccountStatusResponse Int
describeCreateAccountStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeCreateAccountStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeCreateAccountStatusResponse' :: DescribeCreateAccountStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeCreateAccountStatusResponse
s@DescribeCreateAccountStatusResponse' {} Int
a -> DescribeCreateAccountStatusResponse
s {$sel:httpStatus:DescribeCreateAccountStatusResponse' :: Int
httpStatus = Int
a} :: DescribeCreateAccountStatusResponse)
instance
Prelude.NFData
DescribeCreateAccountStatusResponse
where
rnf :: DescribeCreateAccountStatusResponse -> ()
rnf DescribeCreateAccountStatusResponse' {Int
Maybe CreateAccountStatus
httpStatus :: Int
createAccountStatus :: Maybe CreateAccountStatus
$sel:httpStatus:DescribeCreateAccountStatusResponse' :: DescribeCreateAccountStatusResponse -> Int
$sel:createAccountStatus:DescribeCreateAccountStatusResponse' :: DescribeCreateAccountStatusResponse -> Maybe CreateAccountStatus
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CreateAccountStatus
createAccountStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus