{-# 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.CloudWatchLogs.CreateLogStream -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Creates a new log stream in the specified log group. The name of the log stream must be unique within the log group. There is no limit on the number of log streams that can exist in a log group. -- -- You must use the following guidelines when naming a log stream: -- -- - Log stream names can be between 1 and 512 characters long. -- -- - The \':\' colon character is not allowed. -- module Network.AWS.CloudWatchLogs.CreateLogStream ( -- * Creating a Request createLogStream , CreateLogStream -- * Request Lenses , clsLogGroupName , clsLogStreamName -- * Destructuring the Response , createLogStreamResponse , CreateLogStreamResponse ) where import Network.AWS.CloudWatchLogs.Types import Network.AWS.CloudWatchLogs.Types.Product import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | /See:/ 'createLogStream' smart constructor. data CreateLogStream = CreateLogStream' { _clsLogGroupName :: !Text , _clsLogStreamName :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'CreateLogStream' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'clsLogGroupName' -- -- * 'clsLogStreamName' createLogStream :: Text -- ^ 'clsLogGroupName' -> Text -- ^ 'clsLogStreamName' -> CreateLogStream createLogStream pLogGroupName_ pLogStreamName_ = CreateLogStream' { _clsLogGroupName = pLogGroupName_ , _clsLogStreamName = pLogStreamName_ } -- | The name of the log group under which the log stream is to be created. clsLogGroupName :: Lens' CreateLogStream Text clsLogGroupName = lens _clsLogGroupName (\ s a -> s{_clsLogGroupName = a}); -- | The name of the log stream to create. clsLogStreamName :: Lens' CreateLogStream Text clsLogStreamName = lens _clsLogStreamName (\ s a -> s{_clsLogStreamName = a}); instance AWSRequest CreateLogStream where type Rs CreateLogStream = CreateLogStreamResponse request = postJSON cloudWatchLogs response = receiveNull CreateLogStreamResponse' instance Hashable CreateLogStream instance NFData CreateLogStream instance ToHeaders CreateLogStream where toHeaders = const (mconcat ["X-Amz-Target" =# ("Logs_20140328.CreateLogStream" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON CreateLogStream where toJSON CreateLogStream'{..} = object (catMaybes [Just ("logGroupName" .= _clsLogGroupName), Just ("logStreamName" .= _clsLogStreamName)]) instance ToPath CreateLogStream where toPath = const "/" instance ToQuery CreateLogStream where toQuery = const mempty -- | /See:/ 'createLogStreamResponse' smart constructor. data CreateLogStreamResponse = CreateLogStreamResponse' deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'CreateLogStreamResponse' with the minimum fields required to make a request. -- createLogStreamResponse :: CreateLogStreamResponse createLogStreamResponse = CreateLogStreamResponse' instance NFData CreateLogStreamResponse