{-# 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.EC2.CreateVerifiedAccessInstance
(
CreateVerifiedAccessInstance (..),
newCreateVerifiedAccessInstance,
createVerifiedAccessInstance_clientToken,
createVerifiedAccessInstance_description,
createVerifiedAccessInstance_dryRun,
createVerifiedAccessInstance_tagSpecifications,
CreateVerifiedAccessInstanceResponse (..),
newCreateVerifiedAccessInstanceResponse,
createVerifiedAccessInstanceResponse_verifiedAccessInstance,
createVerifiedAccessInstanceResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.EC2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateVerifiedAccessInstance = CreateVerifiedAccessInstance'
{
CreateVerifiedAccessInstance -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
CreateVerifiedAccessInstance -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
CreateVerifiedAccessInstance -> Maybe Bool
dryRun :: Prelude.Maybe Prelude.Bool,
CreateVerifiedAccessInstance -> Maybe [TagSpecification]
tagSpecifications :: Prelude.Maybe [TagSpecification]
}
deriving (CreateVerifiedAccessInstance
-> CreateVerifiedAccessInstance -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateVerifiedAccessInstance
-> CreateVerifiedAccessInstance -> Bool
$c/= :: CreateVerifiedAccessInstance
-> CreateVerifiedAccessInstance -> Bool
== :: CreateVerifiedAccessInstance
-> CreateVerifiedAccessInstance -> Bool
$c== :: CreateVerifiedAccessInstance
-> CreateVerifiedAccessInstance -> Bool
Prelude.Eq, ReadPrec [CreateVerifiedAccessInstance]
ReadPrec CreateVerifiedAccessInstance
Int -> ReadS CreateVerifiedAccessInstance
ReadS [CreateVerifiedAccessInstance]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateVerifiedAccessInstance]
$creadListPrec :: ReadPrec [CreateVerifiedAccessInstance]
readPrec :: ReadPrec CreateVerifiedAccessInstance
$creadPrec :: ReadPrec CreateVerifiedAccessInstance
readList :: ReadS [CreateVerifiedAccessInstance]
$creadList :: ReadS [CreateVerifiedAccessInstance]
readsPrec :: Int -> ReadS CreateVerifiedAccessInstance
$creadsPrec :: Int -> ReadS CreateVerifiedAccessInstance
Prelude.Read, Int -> CreateVerifiedAccessInstance -> ShowS
[CreateVerifiedAccessInstance] -> ShowS
CreateVerifiedAccessInstance -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateVerifiedAccessInstance] -> ShowS
$cshowList :: [CreateVerifiedAccessInstance] -> ShowS
show :: CreateVerifiedAccessInstance -> String
$cshow :: CreateVerifiedAccessInstance -> String
showsPrec :: Int -> CreateVerifiedAccessInstance -> ShowS
$cshowsPrec :: Int -> CreateVerifiedAccessInstance -> ShowS
Prelude.Show, forall x.
Rep CreateVerifiedAccessInstance x -> CreateVerifiedAccessInstance
forall x.
CreateVerifiedAccessInstance -> Rep CreateVerifiedAccessInstance x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateVerifiedAccessInstance x -> CreateVerifiedAccessInstance
$cfrom :: forall x.
CreateVerifiedAccessInstance -> Rep CreateVerifiedAccessInstance x
Prelude.Generic)
newCreateVerifiedAccessInstance ::
CreateVerifiedAccessInstance
newCreateVerifiedAccessInstance :: CreateVerifiedAccessInstance
newCreateVerifiedAccessInstance =
CreateVerifiedAccessInstance'
{ $sel:clientToken:CreateVerifiedAccessInstance' :: Maybe Text
clientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:description:CreateVerifiedAccessInstance' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:dryRun:CreateVerifiedAccessInstance' :: Maybe Bool
dryRun = forall a. Maybe a
Prelude.Nothing,
$sel:tagSpecifications:CreateVerifiedAccessInstance' :: Maybe [TagSpecification]
tagSpecifications = forall a. Maybe a
Prelude.Nothing
}
createVerifiedAccessInstance_clientToken :: Lens.Lens' CreateVerifiedAccessInstance (Prelude.Maybe Prelude.Text)
createVerifiedAccessInstance_clientToken :: Lens' CreateVerifiedAccessInstance (Maybe Text)
createVerifiedAccessInstance_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVerifiedAccessInstance' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: CreateVerifiedAccessInstance
s@CreateVerifiedAccessInstance' {} Maybe Text
a -> CreateVerifiedAccessInstance
s {$sel:clientToken:CreateVerifiedAccessInstance' :: Maybe Text
clientToken = Maybe Text
a} :: CreateVerifiedAccessInstance)
createVerifiedAccessInstance_description :: Lens.Lens' CreateVerifiedAccessInstance (Prelude.Maybe Prelude.Text)
createVerifiedAccessInstance_description :: Lens' CreateVerifiedAccessInstance (Maybe Text)
createVerifiedAccessInstance_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVerifiedAccessInstance' {Maybe Text
description :: Maybe Text
$sel:description:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateVerifiedAccessInstance
s@CreateVerifiedAccessInstance' {} Maybe Text
a -> CreateVerifiedAccessInstance
s {$sel:description:CreateVerifiedAccessInstance' :: Maybe Text
description = Maybe Text
a} :: CreateVerifiedAccessInstance)
createVerifiedAccessInstance_dryRun :: Lens.Lens' CreateVerifiedAccessInstance (Prelude.Maybe Prelude.Bool)
createVerifiedAccessInstance_dryRun :: Lens' CreateVerifiedAccessInstance (Maybe Bool)
createVerifiedAccessInstance_dryRun = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVerifiedAccessInstance' {Maybe Bool
dryRun :: Maybe Bool
$sel:dryRun:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Bool
dryRun} -> Maybe Bool
dryRun) (\s :: CreateVerifiedAccessInstance
s@CreateVerifiedAccessInstance' {} Maybe Bool
a -> CreateVerifiedAccessInstance
s {$sel:dryRun:CreateVerifiedAccessInstance' :: Maybe Bool
dryRun = Maybe Bool
a} :: CreateVerifiedAccessInstance)
createVerifiedAccessInstance_tagSpecifications :: Lens.Lens' CreateVerifiedAccessInstance (Prelude.Maybe [TagSpecification])
createVerifiedAccessInstance_tagSpecifications :: Lens' CreateVerifiedAccessInstance (Maybe [TagSpecification])
createVerifiedAccessInstance_tagSpecifications = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVerifiedAccessInstance' {Maybe [TagSpecification]
tagSpecifications :: Maybe [TagSpecification]
$sel:tagSpecifications:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe [TagSpecification]
tagSpecifications} -> Maybe [TagSpecification]
tagSpecifications) (\s :: CreateVerifiedAccessInstance
s@CreateVerifiedAccessInstance' {} Maybe [TagSpecification]
a -> CreateVerifiedAccessInstance
s {$sel:tagSpecifications:CreateVerifiedAccessInstance' :: Maybe [TagSpecification]
tagSpecifications = Maybe [TagSpecification]
a} :: CreateVerifiedAccessInstance) 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
instance Core.AWSRequest CreateVerifiedAccessInstance where
type
AWSResponse CreateVerifiedAccessInstance =
CreateVerifiedAccessInstanceResponse
request :: (Service -> Service)
-> CreateVerifiedAccessInstance
-> Request CreateVerifiedAccessInstance
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 CreateVerifiedAccessInstance
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateVerifiedAccessInstance)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe VerifiedAccessInstance
-> Int -> CreateVerifiedAccessInstanceResponse
CreateVerifiedAccessInstanceResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"verifiedAccessInstance")
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
CreateVerifiedAccessInstance
where
hashWithSalt :: Int -> CreateVerifiedAccessInstance -> Int
hashWithSalt Int
_salt CreateVerifiedAccessInstance' {Maybe Bool
Maybe [TagSpecification]
Maybe Text
tagSpecifications :: Maybe [TagSpecification]
dryRun :: Maybe Bool
description :: Maybe Text
clientToken :: Maybe Text
$sel:tagSpecifications:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe [TagSpecification]
$sel:dryRun:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Bool
$sel:description:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Text
$sel:clientToken:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
dryRun
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [TagSpecification]
tagSpecifications
instance Prelude.NFData CreateVerifiedAccessInstance where
rnf :: CreateVerifiedAccessInstance -> ()
rnf CreateVerifiedAccessInstance' {Maybe Bool
Maybe [TagSpecification]
Maybe Text
tagSpecifications :: Maybe [TagSpecification]
dryRun :: Maybe Bool
description :: Maybe Text
clientToken :: Maybe Text
$sel:tagSpecifications:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe [TagSpecification]
$sel:dryRun:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Bool
$sel:description:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Text
$sel:clientToken:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
dryRun
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [TagSpecification]
tagSpecifications
instance Data.ToHeaders CreateVerifiedAccessInstance where
toHeaders :: CreateVerifiedAccessInstance -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateVerifiedAccessInstance where
toPath :: CreateVerifiedAccessInstance -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateVerifiedAccessInstance where
toQuery :: CreateVerifiedAccessInstance -> QueryString
toQuery CreateVerifiedAccessInstance' {Maybe Bool
Maybe [TagSpecification]
Maybe Text
tagSpecifications :: Maybe [TagSpecification]
dryRun :: Maybe Bool
description :: Maybe Text
clientToken :: Maybe Text
$sel:tagSpecifications:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe [TagSpecification]
$sel:dryRun:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Bool
$sel:description:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Text
$sel:clientToken:CreateVerifiedAccessInstance' :: CreateVerifiedAccessInstance -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"CreateVerifiedAccessInstance" ::
Prelude.ByteString
),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2016-11-15" :: Prelude.ByteString),
ByteString
"ClientToken" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
clientToken,
ByteString
"Description" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Text
description,
ByteString
"DryRun" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Maybe Bool
dryRun,
forall a. ToQuery a => a -> QueryString
Data.toQuery
( forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"TagSpecification"
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [TagSpecification]
tagSpecifications
)
]
data CreateVerifiedAccessInstanceResponse = CreateVerifiedAccessInstanceResponse'
{
CreateVerifiedAccessInstanceResponse
-> Maybe VerifiedAccessInstance
verifiedAccessInstance :: Prelude.Maybe VerifiedAccessInstance,
CreateVerifiedAccessInstanceResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateVerifiedAccessInstanceResponse
-> CreateVerifiedAccessInstanceResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateVerifiedAccessInstanceResponse
-> CreateVerifiedAccessInstanceResponse -> Bool
$c/= :: CreateVerifiedAccessInstanceResponse
-> CreateVerifiedAccessInstanceResponse -> Bool
== :: CreateVerifiedAccessInstanceResponse
-> CreateVerifiedAccessInstanceResponse -> Bool
$c== :: CreateVerifiedAccessInstanceResponse
-> CreateVerifiedAccessInstanceResponse -> Bool
Prelude.Eq, ReadPrec [CreateVerifiedAccessInstanceResponse]
ReadPrec CreateVerifiedAccessInstanceResponse
Int -> ReadS CreateVerifiedAccessInstanceResponse
ReadS [CreateVerifiedAccessInstanceResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateVerifiedAccessInstanceResponse]
$creadListPrec :: ReadPrec [CreateVerifiedAccessInstanceResponse]
readPrec :: ReadPrec CreateVerifiedAccessInstanceResponse
$creadPrec :: ReadPrec CreateVerifiedAccessInstanceResponse
readList :: ReadS [CreateVerifiedAccessInstanceResponse]
$creadList :: ReadS [CreateVerifiedAccessInstanceResponse]
readsPrec :: Int -> ReadS CreateVerifiedAccessInstanceResponse
$creadsPrec :: Int -> ReadS CreateVerifiedAccessInstanceResponse
Prelude.Read, Int -> CreateVerifiedAccessInstanceResponse -> ShowS
[CreateVerifiedAccessInstanceResponse] -> ShowS
CreateVerifiedAccessInstanceResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateVerifiedAccessInstanceResponse] -> ShowS
$cshowList :: [CreateVerifiedAccessInstanceResponse] -> ShowS
show :: CreateVerifiedAccessInstanceResponse -> String
$cshow :: CreateVerifiedAccessInstanceResponse -> String
showsPrec :: Int -> CreateVerifiedAccessInstanceResponse -> ShowS
$cshowsPrec :: Int -> CreateVerifiedAccessInstanceResponse -> ShowS
Prelude.Show, forall x.
Rep CreateVerifiedAccessInstanceResponse x
-> CreateVerifiedAccessInstanceResponse
forall x.
CreateVerifiedAccessInstanceResponse
-> Rep CreateVerifiedAccessInstanceResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateVerifiedAccessInstanceResponse x
-> CreateVerifiedAccessInstanceResponse
$cfrom :: forall x.
CreateVerifiedAccessInstanceResponse
-> Rep CreateVerifiedAccessInstanceResponse x
Prelude.Generic)
newCreateVerifiedAccessInstanceResponse ::
Prelude.Int ->
CreateVerifiedAccessInstanceResponse
newCreateVerifiedAccessInstanceResponse :: Int -> CreateVerifiedAccessInstanceResponse
newCreateVerifiedAccessInstanceResponse Int
pHttpStatus_ =
CreateVerifiedAccessInstanceResponse'
{ $sel:verifiedAccessInstance:CreateVerifiedAccessInstanceResponse' :: Maybe VerifiedAccessInstance
verifiedAccessInstance =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateVerifiedAccessInstanceResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createVerifiedAccessInstanceResponse_verifiedAccessInstance :: Lens.Lens' CreateVerifiedAccessInstanceResponse (Prelude.Maybe VerifiedAccessInstance)
createVerifiedAccessInstanceResponse_verifiedAccessInstance :: Lens'
CreateVerifiedAccessInstanceResponse (Maybe VerifiedAccessInstance)
createVerifiedAccessInstanceResponse_verifiedAccessInstance = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVerifiedAccessInstanceResponse' {Maybe VerifiedAccessInstance
verifiedAccessInstance :: Maybe VerifiedAccessInstance
$sel:verifiedAccessInstance:CreateVerifiedAccessInstanceResponse' :: CreateVerifiedAccessInstanceResponse
-> Maybe VerifiedAccessInstance
verifiedAccessInstance} -> Maybe VerifiedAccessInstance
verifiedAccessInstance) (\s :: CreateVerifiedAccessInstanceResponse
s@CreateVerifiedAccessInstanceResponse' {} Maybe VerifiedAccessInstance
a -> CreateVerifiedAccessInstanceResponse
s {$sel:verifiedAccessInstance:CreateVerifiedAccessInstanceResponse' :: Maybe VerifiedAccessInstance
verifiedAccessInstance = Maybe VerifiedAccessInstance
a} :: CreateVerifiedAccessInstanceResponse)
createVerifiedAccessInstanceResponse_httpStatus :: Lens.Lens' CreateVerifiedAccessInstanceResponse Prelude.Int
createVerifiedAccessInstanceResponse_httpStatus :: Lens' CreateVerifiedAccessInstanceResponse Int
createVerifiedAccessInstanceResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateVerifiedAccessInstanceResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateVerifiedAccessInstanceResponse' :: CreateVerifiedAccessInstanceResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateVerifiedAccessInstanceResponse
s@CreateVerifiedAccessInstanceResponse' {} Int
a -> CreateVerifiedAccessInstanceResponse
s {$sel:httpStatus:CreateVerifiedAccessInstanceResponse' :: Int
httpStatus = Int
a} :: CreateVerifiedAccessInstanceResponse)
instance
Prelude.NFData
CreateVerifiedAccessInstanceResponse
where
rnf :: CreateVerifiedAccessInstanceResponse -> ()
rnf CreateVerifiedAccessInstanceResponse' {Int
Maybe VerifiedAccessInstance
httpStatus :: Int
verifiedAccessInstance :: Maybe VerifiedAccessInstance
$sel:httpStatus:CreateVerifiedAccessInstanceResponse' :: CreateVerifiedAccessInstanceResponse -> Int
$sel:verifiedAccessInstance:CreateVerifiedAccessInstanceResponse' :: CreateVerifiedAccessInstanceResponse
-> Maybe VerifiedAccessInstance
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe VerifiedAccessInstance
verifiedAccessInstance
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus