{-# 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.PutEventStream -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Use to create or update the event stream for an app. module Network.AWS.Pinpoint.PutEventStream ( -- * Creating a Request putEventStream , PutEventStream -- * Request Lenses , pesApplicationId , pesWriteEventStream -- * Destructuring the Response , putEventStreamResponse , PutEventStreamResponse -- * Response Lenses , pesrsResponseStatus , pesrsEventStream ) 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:/ 'putEventStream' smart constructor. data PutEventStream = PutEventStream' { _pesApplicationId :: !Text , _pesWriteEventStream :: !WriteEventStream } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'PutEventStream' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'pesApplicationId' - ApplicationId -- -- * 'pesWriteEventStream' - EventStream to write. putEventStream :: Text -- ^ 'pesApplicationId' -> WriteEventStream -- ^ 'pesWriteEventStream' -> PutEventStream putEventStream pApplicationId_ pWriteEventStream_ = PutEventStream' { _pesApplicationId = pApplicationId_ , _pesWriteEventStream = pWriteEventStream_ } -- | ApplicationId pesApplicationId :: Lens' PutEventStream Text pesApplicationId = lens _pesApplicationId (\ s a -> s{_pesApplicationId = a}) -- | EventStream to write. pesWriteEventStream :: Lens' PutEventStream WriteEventStream pesWriteEventStream = lens _pesWriteEventStream (\ s a -> s{_pesWriteEventStream = a}) instance AWSRequest PutEventStream where type Rs PutEventStream = PutEventStreamResponse request = postJSON pinpoint response = receiveJSON (\ s h x -> PutEventStreamResponse' <$> (pure (fromEnum s)) <*> (eitherParseJSON x)) instance Hashable PutEventStream where instance NFData PutEventStream where instance ToHeaders PutEventStream where toHeaders = const (mconcat ["Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON PutEventStream where toJSON PutEventStream'{..} = object (catMaybes [Just ("WriteEventStream" .= _pesWriteEventStream)]) instance ToPath PutEventStream where toPath PutEventStream'{..} = mconcat ["/v1/apps/", toBS _pesApplicationId, "/eventstream"] instance ToQuery PutEventStream where toQuery = const mempty -- | /See:/ 'putEventStreamResponse' smart constructor. data PutEventStreamResponse = PutEventStreamResponse' { _pesrsResponseStatus :: !Int , _pesrsEventStream :: !EventStream } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'PutEventStreamResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'pesrsResponseStatus' - -- | The response status code. -- -- * 'pesrsEventStream' - Undocumented member. putEventStreamResponse :: Int -- ^ 'pesrsResponseStatus' -> EventStream -- ^ 'pesrsEventStream' -> PutEventStreamResponse putEventStreamResponse pResponseStatus_ pEventStream_ = PutEventStreamResponse' {_pesrsResponseStatus = pResponseStatus_, _pesrsEventStream = pEventStream_} -- | -- | The response status code. pesrsResponseStatus :: Lens' PutEventStreamResponse Int pesrsResponseStatus = lens _pesrsResponseStatus (\ s a -> s{_pesrsResponseStatus = a}) -- | Undocumented member. pesrsEventStream :: Lens' PutEventStreamResponse EventStream pesrsEventStream = lens _pesrsEventStream (\ s a -> s{_pesrsEventStream = a}) instance NFData PutEventStreamResponse where