module Network.AWS.Greengrass.CreateLoggerDefinition
(
createLoggerDefinition
, CreateLoggerDefinition
, cldAmznClientToken
, cldInitialVersion
, cldName
, createLoggerDefinitionResponse
, CreateLoggerDefinitionResponse
, cldrsLatestVersionARN
, cldrsARN
, cldrsName
, cldrsCreationTimestamp
, cldrsId
, cldrsLatestVersion
, cldrsLastUpdatedTimestamp
, cldrsResponseStatus
) where
import Network.AWS.Greengrass.Types
import Network.AWS.Greengrass.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data CreateLoggerDefinition = CreateLoggerDefinition'
{ _cldAmznClientToken :: !(Maybe Text)
, _cldInitialVersion :: !(Maybe LoggerDefinitionVersion)
, _cldName :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createLoggerDefinition
:: CreateLoggerDefinition
createLoggerDefinition =
CreateLoggerDefinition'
{ _cldAmznClientToken = Nothing
, _cldInitialVersion = Nothing
, _cldName = Nothing
}
cldAmznClientToken :: Lens' CreateLoggerDefinition (Maybe Text)
cldAmznClientToken = lens _cldAmznClientToken (\ s a -> s{_cldAmznClientToken = a});
cldInitialVersion :: Lens' CreateLoggerDefinition (Maybe LoggerDefinitionVersion)
cldInitialVersion = lens _cldInitialVersion (\ s a -> s{_cldInitialVersion = a});
cldName :: Lens' CreateLoggerDefinition (Maybe Text)
cldName = lens _cldName (\ s a -> s{_cldName = a});
instance AWSRequest CreateLoggerDefinition where
type Rs CreateLoggerDefinition =
CreateLoggerDefinitionResponse
request = postJSON greengrass
response
= receiveJSON
(\ s h x ->
CreateLoggerDefinitionResponse' <$>
(x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>
(x .?> "Name")
<*> (x .?> "CreationTimestamp")
<*> (x .?> "Id")
<*> (x .?> "LatestVersion")
<*> (x .?> "LastUpdatedTimestamp")
<*> (pure (fromEnum s)))
instance Hashable CreateLoggerDefinition where
instance NFData CreateLoggerDefinition where
instance ToHeaders CreateLoggerDefinition where
toHeaders CreateLoggerDefinition'{..}
= mconcat
["X-Amzn-Client-Token" =# _cldAmznClientToken,
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)]
instance ToJSON CreateLoggerDefinition where
toJSON CreateLoggerDefinition'{..}
= object
(catMaybes
[("InitialVersion" .=) <$> _cldInitialVersion,
("Name" .=) <$> _cldName])
instance ToPath CreateLoggerDefinition where
toPath = const "/greengrass/definition/loggers"
instance ToQuery CreateLoggerDefinition where
toQuery = const mempty
data CreateLoggerDefinitionResponse = CreateLoggerDefinitionResponse'
{ _cldrsLatestVersionARN :: !(Maybe Text)
, _cldrsARN :: !(Maybe Text)
, _cldrsName :: !(Maybe Text)
, _cldrsCreationTimestamp :: !(Maybe Text)
, _cldrsId :: !(Maybe Text)
, _cldrsLatestVersion :: !(Maybe Text)
, _cldrsLastUpdatedTimestamp :: !(Maybe Text)
, _cldrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createLoggerDefinitionResponse
:: Int
-> CreateLoggerDefinitionResponse
createLoggerDefinitionResponse pResponseStatus_ =
CreateLoggerDefinitionResponse'
{ _cldrsLatestVersionARN = Nothing
, _cldrsARN = Nothing
, _cldrsName = Nothing
, _cldrsCreationTimestamp = Nothing
, _cldrsId = Nothing
, _cldrsLatestVersion = Nothing
, _cldrsLastUpdatedTimestamp = Nothing
, _cldrsResponseStatus = pResponseStatus_
}
cldrsLatestVersionARN :: Lens' CreateLoggerDefinitionResponse (Maybe Text)
cldrsLatestVersionARN = lens _cldrsLatestVersionARN (\ s a -> s{_cldrsLatestVersionARN = a});
cldrsARN :: Lens' CreateLoggerDefinitionResponse (Maybe Text)
cldrsARN = lens _cldrsARN (\ s a -> s{_cldrsARN = a});
cldrsName :: Lens' CreateLoggerDefinitionResponse (Maybe Text)
cldrsName = lens _cldrsName (\ s a -> s{_cldrsName = a});
cldrsCreationTimestamp :: Lens' CreateLoggerDefinitionResponse (Maybe Text)
cldrsCreationTimestamp = lens _cldrsCreationTimestamp (\ s a -> s{_cldrsCreationTimestamp = a});
cldrsId :: Lens' CreateLoggerDefinitionResponse (Maybe Text)
cldrsId = lens _cldrsId (\ s a -> s{_cldrsId = a});
cldrsLatestVersion :: Lens' CreateLoggerDefinitionResponse (Maybe Text)
cldrsLatestVersion = lens _cldrsLatestVersion (\ s a -> s{_cldrsLatestVersion = a});
cldrsLastUpdatedTimestamp :: Lens' CreateLoggerDefinitionResponse (Maybe Text)
cldrsLastUpdatedTimestamp = lens _cldrsLastUpdatedTimestamp (\ s a -> s{_cldrsLastUpdatedTimestamp = a});
cldrsResponseStatus :: Lens' CreateLoggerDefinitionResponse Int
cldrsResponseStatus = lens _cldrsResponseStatus (\ s a -> s{_cldrsResponseStatus = a});
instance NFData CreateLoggerDefinitionResponse where