{-# 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.Pinpoint.GetSegmentVersion
(
GetSegmentVersion (..),
newGetSegmentVersion,
getSegmentVersion_segmentId,
getSegmentVersion_version,
getSegmentVersion_applicationId,
GetSegmentVersionResponse (..),
newGetSegmentVersionResponse,
getSegmentVersionResponse_httpStatus,
getSegmentVersionResponse_segmentResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Pinpoint.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetSegmentVersion = GetSegmentVersion'
{
GetSegmentVersion -> Text
segmentId :: Prelude.Text,
GetSegmentVersion -> Text
version :: Prelude.Text,
GetSegmentVersion -> Text
applicationId :: Prelude.Text
}
deriving (GetSegmentVersion -> GetSegmentVersion -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSegmentVersion -> GetSegmentVersion -> Bool
$c/= :: GetSegmentVersion -> GetSegmentVersion -> Bool
== :: GetSegmentVersion -> GetSegmentVersion -> Bool
$c== :: GetSegmentVersion -> GetSegmentVersion -> Bool
Prelude.Eq, ReadPrec [GetSegmentVersion]
ReadPrec GetSegmentVersion
Int -> ReadS GetSegmentVersion
ReadS [GetSegmentVersion]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSegmentVersion]
$creadListPrec :: ReadPrec [GetSegmentVersion]
readPrec :: ReadPrec GetSegmentVersion
$creadPrec :: ReadPrec GetSegmentVersion
readList :: ReadS [GetSegmentVersion]
$creadList :: ReadS [GetSegmentVersion]
readsPrec :: Int -> ReadS GetSegmentVersion
$creadsPrec :: Int -> ReadS GetSegmentVersion
Prelude.Read, Int -> GetSegmentVersion -> ShowS
[GetSegmentVersion] -> ShowS
GetSegmentVersion -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSegmentVersion] -> ShowS
$cshowList :: [GetSegmentVersion] -> ShowS
show :: GetSegmentVersion -> String
$cshow :: GetSegmentVersion -> String
showsPrec :: Int -> GetSegmentVersion -> ShowS
$cshowsPrec :: Int -> GetSegmentVersion -> ShowS
Prelude.Show, forall x. Rep GetSegmentVersion x -> GetSegmentVersion
forall x. GetSegmentVersion -> Rep GetSegmentVersion x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSegmentVersion x -> GetSegmentVersion
$cfrom :: forall x. GetSegmentVersion -> Rep GetSegmentVersion x
Prelude.Generic)
newGetSegmentVersion ::
Prelude.Text ->
Prelude.Text ->
Prelude.Text ->
GetSegmentVersion
newGetSegmentVersion :: Text -> Text -> Text -> GetSegmentVersion
newGetSegmentVersion
Text
pSegmentId_
Text
pVersion_
Text
pApplicationId_ =
GetSegmentVersion'
{ $sel:segmentId:GetSegmentVersion' :: Text
segmentId = Text
pSegmentId_,
$sel:version:GetSegmentVersion' :: Text
version = Text
pVersion_,
$sel:applicationId:GetSegmentVersion' :: Text
applicationId = Text
pApplicationId_
}
getSegmentVersion_segmentId :: Lens.Lens' GetSegmentVersion Prelude.Text
getSegmentVersion_segmentId :: Lens' GetSegmentVersion Text
getSegmentVersion_segmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSegmentVersion' {Text
segmentId :: Text
$sel:segmentId:GetSegmentVersion' :: GetSegmentVersion -> Text
segmentId} -> Text
segmentId) (\s :: GetSegmentVersion
s@GetSegmentVersion' {} Text
a -> GetSegmentVersion
s {$sel:segmentId:GetSegmentVersion' :: Text
segmentId = Text
a} :: GetSegmentVersion)
getSegmentVersion_version :: Lens.Lens' GetSegmentVersion Prelude.Text
getSegmentVersion_version :: Lens' GetSegmentVersion Text
getSegmentVersion_version = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSegmentVersion' {Text
version :: Text
$sel:version:GetSegmentVersion' :: GetSegmentVersion -> Text
version} -> Text
version) (\s :: GetSegmentVersion
s@GetSegmentVersion' {} Text
a -> GetSegmentVersion
s {$sel:version:GetSegmentVersion' :: Text
version = Text
a} :: GetSegmentVersion)
getSegmentVersion_applicationId :: Lens.Lens' GetSegmentVersion Prelude.Text
getSegmentVersion_applicationId :: Lens' GetSegmentVersion Text
getSegmentVersion_applicationId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSegmentVersion' {Text
applicationId :: Text
$sel:applicationId:GetSegmentVersion' :: GetSegmentVersion -> Text
applicationId} -> Text
applicationId) (\s :: GetSegmentVersion
s@GetSegmentVersion' {} Text
a -> GetSegmentVersion
s {$sel:applicationId:GetSegmentVersion' :: Text
applicationId = Text
a} :: GetSegmentVersion)
instance Core.AWSRequest GetSegmentVersion where
type
AWSResponse GetSegmentVersion =
GetSegmentVersionResponse
request :: (Service -> Service)
-> GetSegmentVersion -> Request GetSegmentVersion
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.get (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetSegmentVersion
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetSegmentVersion)))
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 ->
Int -> SegmentResponse -> GetSegmentVersionResponse
GetSegmentVersionResponse'
forall (f :: * -> *) a b. Functor 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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall a. FromJSON a => Object -> Either String a
Data.eitherParseJSON Object
x)
)
instance Prelude.Hashable GetSegmentVersion where
hashWithSalt :: Int -> GetSegmentVersion -> Int
hashWithSalt Int
_salt GetSegmentVersion' {Text
applicationId :: Text
version :: Text
segmentId :: Text
$sel:applicationId:GetSegmentVersion' :: GetSegmentVersion -> Text
$sel:version:GetSegmentVersion' :: GetSegmentVersion -> Text
$sel:segmentId:GetSegmentVersion' :: GetSegmentVersion -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
segmentId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
version
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
applicationId
instance Prelude.NFData GetSegmentVersion where
rnf :: GetSegmentVersion -> ()
rnf GetSegmentVersion' {Text
applicationId :: Text
version :: Text
segmentId :: Text
$sel:applicationId:GetSegmentVersion' :: GetSegmentVersion -> Text
$sel:version:GetSegmentVersion' :: GetSegmentVersion -> Text
$sel:segmentId:GetSegmentVersion' :: GetSegmentVersion -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
segmentId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
version
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
applicationId
instance Data.ToHeaders GetSegmentVersion where
toHeaders :: GetSegmentVersion -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToPath GetSegmentVersion where
toPath :: GetSegmentVersion -> ByteString
toPath GetSegmentVersion' {Text
applicationId :: Text
version :: Text
segmentId :: Text
$sel:applicationId:GetSegmentVersion' :: GetSegmentVersion -> Text
$sel:version:GetSegmentVersion' :: GetSegmentVersion -> Text
$sel:segmentId:GetSegmentVersion' :: GetSegmentVersion -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/v1/apps/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
applicationId,
ByteString
"/segments/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
segmentId,
ByteString
"/versions/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
version
]
instance Data.ToQuery GetSegmentVersion where
toQuery :: GetSegmentVersion -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetSegmentVersionResponse = GetSegmentVersionResponse'
{
GetSegmentVersionResponse -> Int
httpStatus :: Prelude.Int,
GetSegmentVersionResponse -> SegmentResponse
segmentResponse :: SegmentResponse
}
deriving (GetSegmentVersionResponse -> GetSegmentVersionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSegmentVersionResponse -> GetSegmentVersionResponse -> Bool
$c/= :: GetSegmentVersionResponse -> GetSegmentVersionResponse -> Bool
== :: GetSegmentVersionResponse -> GetSegmentVersionResponse -> Bool
$c== :: GetSegmentVersionResponse -> GetSegmentVersionResponse -> Bool
Prelude.Eq, ReadPrec [GetSegmentVersionResponse]
ReadPrec GetSegmentVersionResponse
Int -> ReadS GetSegmentVersionResponse
ReadS [GetSegmentVersionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSegmentVersionResponse]
$creadListPrec :: ReadPrec [GetSegmentVersionResponse]
readPrec :: ReadPrec GetSegmentVersionResponse
$creadPrec :: ReadPrec GetSegmentVersionResponse
readList :: ReadS [GetSegmentVersionResponse]
$creadList :: ReadS [GetSegmentVersionResponse]
readsPrec :: Int -> ReadS GetSegmentVersionResponse
$creadsPrec :: Int -> ReadS GetSegmentVersionResponse
Prelude.Read, Int -> GetSegmentVersionResponse -> ShowS
[GetSegmentVersionResponse] -> ShowS
GetSegmentVersionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSegmentVersionResponse] -> ShowS
$cshowList :: [GetSegmentVersionResponse] -> ShowS
show :: GetSegmentVersionResponse -> String
$cshow :: GetSegmentVersionResponse -> String
showsPrec :: Int -> GetSegmentVersionResponse -> ShowS
$cshowsPrec :: Int -> GetSegmentVersionResponse -> ShowS
Prelude.Show, forall x.
Rep GetSegmentVersionResponse x -> GetSegmentVersionResponse
forall x.
GetSegmentVersionResponse -> Rep GetSegmentVersionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetSegmentVersionResponse x -> GetSegmentVersionResponse
$cfrom :: forall x.
GetSegmentVersionResponse -> Rep GetSegmentVersionResponse x
Prelude.Generic)
newGetSegmentVersionResponse ::
Prelude.Int ->
SegmentResponse ->
GetSegmentVersionResponse
newGetSegmentVersionResponse :: Int -> SegmentResponse -> GetSegmentVersionResponse
newGetSegmentVersionResponse
Int
pHttpStatus_
SegmentResponse
pSegmentResponse_ =
GetSegmentVersionResponse'
{ $sel:httpStatus:GetSegmentVersionResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:segmentResponse:GetSegmentVersionResponse' :: SegmentResponse
segmentResponse = SegmentResponse
pSegmentResponse_
}
getSegmentVersionResponse_httpStatus :: Lens.Lens' GetSegmentVersionResponse Prelude.Int
getSegmentVersionResponse_httpStatus :: Lens' GetSegmentVersionResponse Int
getSegmentVersionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSegmentVersionResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSegmentVersionResponse' :: GetSegmentVersionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSegmentVersionResponse
s@GetSegmentVersionResponse' {} Int
a -> GetSegmentVersionResponse
s {$sel:httpStatus:GetSegmentVersionResponse' :: Int
httpStatus = Int
a} :: GetSegmentVersionResponse)
getSegmentVersionResponse_segmentResponse :: Lens.Lens' GetSegmentVersionResponse SegmentResponse
getSegmentVersionResponse_segmentResponse :: Lens' GetSegmentVersionResponse SegmentResponse
getSegmentVersionResponse_segmentResponse = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSegmentVersionResponse' {SegmentResponse
segmentResponse :: SegmentResponse
$sel:segmentResponse:GetSegmentVersionResponse' :: GetSegmentVersionResponse -> SegmentResponse
segmentResponse} -> SegmentResponse
segmentResponse) (\s :: GetSegmentVersionResponse
s@GetSegmentVersionResponse' {} SegmentResponse
a -> GetSegmentVersionResponse
s {$sel:segmentResponse:GetSegmentVersionResponse' :: SegmentResponse
segmentResponse = SegmentResponse
a} :: GetSegmentVersionResponse)
instance Prelude.NFData GetSegmentVersionResponse where
rnf :: GetSegmentVersionResponse -> ()
rnf GetSegmentVersionResponse' {Int
SegmentResponse
segmentResponse :: SegmentResponse
httpStatus :: Int
$sel:segmentResponse:GetSegmentVersionResponse' :: GetSegmentVersionResponse -> SegmentResponse
$sel:httpStatus:GetSegmentVersionResponse' :: GetSegmentVersionResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf SegmentResponse
segmentResponse