{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.Pinpoint.GetSegmentVersion
(
getSegmentVersion
, GetSegmentVersion
, gSegmentId
, gVersion
, gApplicationId
, getSegmentVersionResponse
, GetSegmentVersionResponse
, gsvrsResponseStatus
, gsvrsSegmentResponse
) where
import Network.AWS.Lens
import Network.AWS.Pinpoint.Types
import Network.AWS.Pinpoint.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetSegmentVersion = GetSegmentVersion'
{ _gSegmentId :: !Text
, _gVersion :: !Text
, _gApplicationId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getSegmentVersion
:: Text
-> Text
-> Text
-> GetSegmentVersion
getSegmentVersion pSegmentId_ pVersion_ pApplicationId_ =
GetSegmentVersion'
{ _gSegmentId = pSegmentId_
, _gVersion = pVersion_
, _gApplicationId = pApplicationId_
}
gSegmentId :: Lens' GetSegmentVersion Text
gSegmentId = lens _gSegmentId (\ s a -> s{_gSegmentId = a})
gVersion :: Lens' GetSegmentVersion Text
gVersion = lens _gVersion (\ s a -> s{_gVersion = a})
gApplicationId :: Lens' GetSegmentVersion Text
gApplicationId = lens _gApplicationId (\ s a -> s{_gApplicationId = a})
instance AWSRequest GetSegmentVersion where
type Rs GetSegmentVersion = GetSegmentVersionResponse
request = get pinpoint
response
= receiveJSON
(\ s h x ->
GetSegmentVersionResponse' <$>
(pure (fromEnum s)) <*> (eitherParseJSON x))
instance Hashable GetSegmentVersion where
instance NFData GetSegmentVersion where
instance ToHeaders GetSegmentVersion where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetSegmentVersion where
toPath GetSegmentVersion'{..}
= mconcat
["/v1/apps/", toBS _gApplicationId, "/segments/",
toBS _gSegmentId, "/versions/", toBS _gVersion]
instance ToQuery GetSegmentVersion where
toQuery = const mempty
data GetSegmentVersionResponse = GetSegmentVersionResponse'
{ _gsvrsResponseStatus :: !Int
, _gsvrsSegmentResponse :: !SegmentResponse
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getSegmentVersionResponse
:: Int
-> SegmentResponse
-> GetSegmentVersionResponse
getSegmentVersionResponse pResponseStatus_ pSegmentResponse_ =
GetSegmentVersionResponse'
{ _gsvrsResponseStatus = pResponseStatus_
, _gsvrsSegmentResponse = pSegmentResponse_
}
gsvrsResponseStatus :: Lens' GetSegmentVersionResponse Int
gsvrsResponseStatus = lens _gsvrsResponseStatus (\ s a -> s{_gsvrsResponseStatus = a})
gsvrsSegmentResponse :: Lens' GetSegmentVersionResponse SegmentResponse
gsvrsSegmentResponse = lens _gsvrsSegmentResponse (\ s a -> s{_gsvrsSegmentResponse = a})
instance NFData GetSegmentVersionResponse where