{-# 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.LicenseManager.GetAccessToken
(
GetAccessToken (..),
newGetAccessToken,
getAccessToken_tokenProperties,
getAccessToken_token,
GetAccessTokenResponse (..),
newGetAccessTokenResponse,
getAccessTokenResponse_accessToken,
getAccessTokenResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.LicenseManager.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetAccessToken = GetAccessToken'
{
GetAccessToken -> Maybe [Text]
tokenProperties :: Prelude.Maybe [Prelude.Text],
GetAccessToken -> Text
token :: Prelude.Text
}
deriving (GetAccessToken -> GetAccessToken -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccessToken -> GetAccessToken -> Bool
$c/= :: GetAccessToken -> GetAccessToken -> Bool
== :: GetAccessToken -> GetAccessToken -> Bool
$c== :: GetAccessToken -> GetAccessToken -> Bool
Prelude.Eq, ReadPrec [GetAccessToken]
ReadPrec GetAccessToken
Int -> ReadS GetAccessToken
ReadS [GetAccessToken]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccessToken]
$creadListPrec :: ReadPrec [GetAccessToken]
readPrec :: ReadPrec GetAccessToken
$creadPrec :: ReadPrec GetAccessToken
readList :: ReadS [GetAccessToken]
$creadList :: ReadS [GetAccessToken]
readsPrec :: Int -> ReadS GetAccessToken
$creadsPrec :: Int -> ReadS GetAccessToken
Prelude.Read, Int -> GetAccessToken -> ShowS
[GetAccessToken] -> ShowS
GetAccessToken -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccessToken] -> ShowS
$cshowList :: [GetAccessToken] -> ShowS
show :: GetAccessToken -> String
$cshow :: GetAccessToken -> String
showsPrec :: Int -> GetAccessToken -> ShowS
$cshowsPrec :: Int -> GetAccessToken -> ShowS
Prelude.Show, forall x. Rep GetAccessToken x -> GetAccessToken
forall x. GetAccessToken -> Rep GetAccessToken x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetAccessToken x -> GetAccessToken
$cfrom :: forall x. GetAccessToken -> Rep GetAccessToken x
Prelude.Generic)
newGetAccessToken ::
Prelude.Text ->
GetAccessToken
newGetAccessToken :: Text -> GetAccessToken
newGetAccessToken Text
pToken_ =
GetAccessToken'
{ $sel:tokenProperties:GetAccessToken' :: Maybe [Text]
tokenProperties = forall a. Maybe a
Prelude.Nothing,
$sel:token:GetAccessToken' :: Text
token = Text
pToken_
}
getAccessToken_tokenProperties :: Lens.Lens' GetAccessToken (Prelude.Maybe [Prelude.Text])
getAccessToken_tokenProperties :: Lens' GetAccessToken (Maybe [Text])
getAccessToken_tokenProperties = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessToken' {Maybe [Text]
tokenProperties :: Maybe [Text]
$sel:tokenProperties:GetAccessToken' :: GetAccessToken -> Maybe [Text]
tokenProperties} -> Maybe [Text]
tokenProperties) (\s :: GetAccessToken
s@GetAccessToken' {} Maybe [Text]
a -> GetAccessToken
s {$sel:tokenProperties:GetAccessToken' :: Maybe [Text]
tokenProperties = Maybe [Text]
a} :: GetAccessToken) 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
getAccessToken_token :: Lens.Lens' GetAccessToken Prelude.Text
getAccessToken_token :: Lens' GetAccessToken Text
getAccessToken_token = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessToken' {Text
token :: Text
$sel:token:GetAccessToken' :: GetAccessToken -> Text
token} -> Text
token) (\s :: GetAccessToken
s@GetAccessToken' {} Text
a -> GetAccessToken
s {$sel:token:GetAccessToken' :: Text
token = Text
a} :: GetAccessToken)
instance Core.AWSRequest GetAccessToken where
type
AWSResponse GetAccessToken =
GetAccessTokenResponse
request :: (Service -> Service) -> GetAccessToken -> Request GetAccessToken
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 GetAccessToken
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetAccessToken)))
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 Text -> Int -> GetAccessTokenResponse
GetAccessTokenResponse'
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
"AccessToken")
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 GetAccessToken where
hashWithSalt :: Int -> GetAccessToken -> Int
hashWithSalt Int
_salt GetAccessToken' {Maybe [Text]
Text
token :: Text
tokenProperties :: Maybe [Text]
$sel:token:GetAccessToken' :: GetAccessToken -> Text
$sel:tokenProperties:GetAccessToken' :: GetAccessToken -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
tokenProperties
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
token
instance Prelude.NFData GetAccessToken where
rnf :: GetAccessToken -> ()
rnf GetAccessToken' {Maybe [Text]
Text
token :: Text
tokenProperties :: Maybe [Text]
$sel:token:GetAccessToken' :: GetAccessToken -> Text
$sel:tokenProperties:GetAccessToken' :: GetAccessToken -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
tokenProperties
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
token
instance Data.ToHeaders GetAccessToken where
toHeaders :: GetAccessToken -> 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
"AWSLicenseManager.GetAccessToken" ::
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 GetAccessToken where
toJSON :: GetAccessToken -> Value
toJSON GetAccessToken' {Maybe [Text]
Text
token :: Text
tokenProperties :: Maybe [Text]
$sel:token:GetAccessToken' :: GetAccessToken -> Text
$sel:tokenProperties:GetAccessToken' :: GetAccessToken -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"TokenProperties" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
tokenProperties,
forall a. a -> Maybe a
Prelude.Just (Key
"Token" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
token)
]
)
instance Data.ToPath GetAccessToken where
toPath :: GetAccessToken -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetAccessToken where
toQuery :: GetAccessToken -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetAccessTokenResponse = GetAccessTokenResponse'
{
GetAccessTokenResponse -> Maybe Text
accessToken :: Prelude.Maybe Prelude.Text,
GetAccessTokenResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetAccessTokenResponse -> GetAccessTokenResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetAccessTokenResponse -> GetAccessTokenResponse -> Bool
$c/= :: GetAccessTokenResponse -> GetAccessTokenResponse -> Bool
== :: GetAccessTokenResponse -> GetAccessTokenResponse -> Bool
$c== :: GetAccessTokenResponse -> GetAccessTokenResponse -> Bool
Prelude.Eq, ReadPrec [GetAccessTokenResponse]
ReadPrec GetAccessTokenResponse
Int -> ReadS GetAccessTokenResponse
ReadS [GetAccessTokenResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetAccessTokenResponse]
$creadListPrec :: ReadPrec [GetAccessTokenResponse]
readPrec :: ReadPrec GetAccessTokenResponse
$creadPrec :: ReadPrec GetAccessTokenResponse
readList :: ReadS [GetAccessTokenResponse]
$creadList :: ReadS [GetAccessTokenResponse]
readsPrec :: Int -> ReadS GetAccessTokenResponse
$creadsPrec :: Int -> ReadS GetAccessTokenResponse
Prelude.Read, Int -> GetAccessTokenResponse -> ShowS
[GetAccessTokenResponse] -> ShowS
GetAccessTokenResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetAccessTokenResponse] -> ShowS
$cshowList :: [GetAccessTokenResponse] -> ShowS
show :: GetAccessTokenResponse -> String
$cshow :: GetAccessTokenResponse -> String
showsPrec :: Int -> GetAccessTokenResponse -> ShowS
$cshowsPrec :: Int -> GetAccessTokenResponse -> ShowS
Prelude.Show, forall x. Rep GetAccessTokenResponse x -> GetAccessTokenResponse
forall x. GetAccessTokenResponse -> Rep GetAccessTokenResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetAccessTokenResponse x -> GetAccessTokenResponse
$cfrom :: forall x. GetAccessTokenResponse -> Rep GetAccessTokenResponse x
Prelude.Generic)
newGetAccessTokenResponse ::
Prelude.Int ->
GetAccessTokenResponse
newGetAccessTokenResponse :: Int -> GetAccessTokenResponse
newGetAccessTokenResponse Int
pHttpStatus_ =
GetAccessTokenResponse'
{ $sel:accessToken:GetAccessTokenResponse' :: Maybe Text
accessToken =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetAccessTokenResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getAccessTokenResponse_accessToken :: Lens.Lens' GetAccessTokenResponse (Prelude.Maybe Prelude.Text)
getAccessTokenResponse_accessToken :: Lens' GetAccessTokenResponse (Maybe Text)
getAccessTokenResponse_accessToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessTokenResponse' {Maybe Text
accessToken :: Maybe Text
$sel:accessToken:GetAccessTokenResponse' :: GetAccessTokenResponse -> Maybe Text
accessToken} -> Maybe Text
accessToken) (\s :: GetAccessTokenResponse
s@GetAccessTokenResponse' {} Maybe Text
a -> GetAccessTokenResponse
s {$sel:accessToken:GetAccessTokenResponse' :: Maybe Text
accessToken = Maybe Text
a} :: GetAccessTokenResponse)
getAccessTokenResponse_httpStatus :: Lens.Lens' GetAccessTokenResponse Prelude.Int
getAccessTokenResponse_httpStatus :: Lens' GetAccessTokenResponse Int
getAccessTokenResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetAccessTokenResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetAccessTokenResponse' :: GetAccessTokenResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetAccessTokenResponse
s@GetAccessTokenResponse' {} Int
a -> GetAccessTokenResponse
s {$sel:httpStatus:GetAccessTokenResponse' :: Int
httpStatus = Int
a} :: GetAccessTokenResponse)
instance Prelude.NFData GetAccessTokenResponse where
rnf :: GetAccessTokenResponse -> ()
rnf GetAccessTokenResponse' {Int
Maybe Text
httpStatus :: Int
accessToken :: Maybe Text
$sel:httpStatus:GetAccessTokenResponse' :: GetAccessTokenResponse -> Int
$sel:accessToken:GetAccessTokenResponse' :: GetAccessTokenResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
accessToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus