amazonka-pinpoint-1.5.0: gen/Network/AWS/Pinpoint/CreateImportJob.hs
{-# 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 #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Network.AWS.Pinpoint.CreateImportJob
-- Copyright : (c) 2013-2017 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Creates or updates an import job.
module Network.AWS.Pinpoint.CreateImportJob
(
-- * Creating a Request
createImportJob
, CreateImportJob
-- * Request Lenses
, cijApplicationId
, cijImportJobRequest
-- * Destructuring the Response
, createImportJobResponse
, CreateImportJobResponse
-- * Response Lenses
, cijrsResponseStatus
, cijrsImportJobResponse
) 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
-- | /See:/ 'createImportJob' smart constructor.
data CreateImportJob = CreateImportJob'
{ _cijApplicationId :: !Text
, _cijImportJobRequest :: !ImportJobRequest
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'CreateImportJob' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'cijApplicationId' - Undocumented member.
--
-- * 'cijImportJobRequest' - Undocumented member.
createImportJob
:: Text -- ^ 'cijApplicationId'
-> ImportJobRequest -- ^ 'cijImportJobRequest'
-> CreateImportJob
createImportJob pApplicationId_ pImportJobRequest_ =
CreateImportJob'
{ _cijApplicationId = pApplicationId_
, _cijImportJobRequest = pImportJobRequest_
}
-- | Undocumented member.
cijApplicationId :: Lens' CreateImportJob Text
cijApplicationId = lens _cijApplicationId (\ s a -> s{_cijApplicationId = a});
-- | Undocumented member.
cijImportJobRequest :: Lens' CreateImportJob ImportJobRequest
cijImportJobRequest = lens _cijImportJobRequest (\ s a -> s{_cijImportJobRequest = a});
instance AWSRequest CreateImportJob where
type Rs CreateImportJob = CreateImportJobResponse
request = postJSON pinpoint
response
= receiveJSON
(\ s h x ->
CreateImportJobResponse' <$>
(pure (fromEnum s)) <*> (eitherParseJSON x))
instance Hashable CreateImportJob where
instance NFData CreateImportJob where
instance ToHeaders CreateImportJob where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CreateImportJob where
toJSON CreateImportJob'{..}
= object
(catMaybes
[Just ("ImportJobRequest" .= _cijImportJobRequest)])
instance ToPath CreateImportJob where
toPath CreateImportJob'{..}
= mconcat
["/v1/apps/", toBS _cijApplicationId, "/jobs/import"]
instance ToQuery CreateImportJob where
toQuery = const mempty
-- | /See:/ 'createImportJobResponse' smart constructor.
data CreateImportJobResponse = CreateImportJobResponse'
{ _cijrsResponseStatus :: !Int
, _cijrsImportJobResponse :: !ImportJobResponse
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'CreateImportJobResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'cijrsResponseStatus' - -- | The response status code.
--
-- * 'cijrsImportJobResponse' - Undocumented member.
createImportJobResponse
:: Int -- ^ 'cijrsResponseStatus'
-> ImportJobResponse -- ^ 'cijrsImportJobResponse'
-> CreateImportJobResponse
createImportJobResponse pResponseStatus_ pImportJobResponse_ =
CreateImportJobResponse'
{ _cijrsResponseStatus = pResponseStatus_
, _cijrsImportJobResponse = pImportJobResponse_
}
-- | -- | The response status code.
cijrsResponseStatus :: Lens' CreateImportJobResponse Int
cijrsResponseStatus = lens _cijrsResponseStatus (\ s a -> s{_cijrsResponseStatus = a});
-- | Undocumented member.
cijrsImportJobResponse :: Lens' CreateImportJobResponse ImportJobResponse
cijrsImportJobResponse = lens _cijrsImportJobResponse (\ s a -> s{_cijrsImportJobResponse = a});
instance NFData CreateImportJobResponse where