module Network.AWS.Greengrass.GetCoreDefinition
(
getCoreDefinition
, GetCoreDefinition
, gcdCoreDefinitionId
, getCoreDefinitionResponse
, GetCoreDefinitionResponse
, gcdrsLatestVersionARN
, gcdrsARN
, gcdrsName
, gcdrsCreationTimestamp
, gcdrsId
, gcdrsLatestVersion
, gcdrsLastUpdatedTimestamp
, gcdrsResponseStatus
) 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
newtype GetCoreDefinition = GetCoreDefinition'
{ _gcdCoreDefinitionId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getCoreDefinition
:: Text
-> GetCoreDefinition
getCoreDefinition pCoreDefinitionId_ =
GetCoreDefinition' {_gcdCoreDefinitionId = pCoreDefinitionId_}
gcdCoreDefinitionId :: Lens' GetCoreDefinition Text
gcdCoreDefinitionId = lens _gcdCoreDefinitionId (\ s a -> s{_gcdCoreDefinitionId = a});
instance AWSRequest GetCoreDefinition where
type Rs GetCoreDefinition = GetCoreDefinitionResponse
request = get greengrass
response
= receiveJSON
(\ s h x ->
GetCoreDefinitionResponse' <$>
(x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>
(x .?> "Name")
<*> (x .?> "CreationTimestamp")
<*> (x .?> "Id")
<*> (x .?> "LatestVersion")
<*> (x .?> "LastUpdatedTimestamp")
<*> (pure (fromEnum s)))
instance Hashable GetCoreDefinition where
instance NFData GetCoreDefinition where
instance ToHeaders GetCoreDefinition where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetCoreDefinition where
toPath GetCoreDefinition'{..}
= mconcat
["/greengrass/definition/cores/",
toBS _gcdCoreDefinitionId]
instance ToQuery GetCoreDefinition where
toQuery = const mempty
data GetCoreDefinitionResponse = GetCoreDefinitionResponse'
{ _gcdrsLatestVersionARN :: !(Maybe Text)
, _gcdrsARN :: !(Maybe Text)
, _gcdrsName :: !(Maybe Text)
, _gcdrsCreationTimestamp :: !(Maybe Text)
, _gcdrsId :: !(Maybe Text)
, _gcdrsLatestVersion :: !(Maybe Text)
, _gcdrsLastUpdatedTimestamp :: !(Maybe Text)
, _gcdrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getCoreDefinitionResponse
:: Int
-> GetCoreDefinitionResponse
getCoreDefinitionResponse pResponseStatus_ =
GetCoreDefinitionResponse'
{ _gcdrsLatestVersionARN = Nothing
, _gcdrsARN = Nothing
, _gcdrsName = Nothing
, _gcdrsCreationTimestamp = Nothing
, _gcdrsId = Nothing
, _gcdrsLatestVersion = Nothing
, _gcdrsLastUpdatedTimestamp = Nothing
, _gcdrsResponseStatus = pResponseStatus_
}
gcdrsLatestVersionARN :: Lens' GetCoreDefinitionResponse (Maybe Text)
gcdrsLatestVersionARN = lens _gcdrsLatestVersionARN (\ s a -> s{_gcdrsLatestVersionARN = a});
gcdrsARN :: Lens' GetCoreDefinitionResponse (Maybe Text)
gcdrsARN = lens _gcdrsARN (\ s a -> s{_gcdrsARN = a});
gcdrsName :: Lens' GetCoreDefinitionResponse (Maybe Text)
gcdrsName = lens _gcdrsName (\ s a -> s{_gcdrsName = a});
gcdrsCreationTimestamp :: Lens' GetCoreDefinitionResponse (Maybe Text)
gcdrsCreationTimestamp = lens _gcdrsCreationTimestamp (\ s a -> s{_gcdrsCreationTimestamp = a});
gcdrsId :: Lens' GetCoreDefinitionResponse (Maybe Text)
gcdrsId = lens _gcdrsId (\ s a -> s{_gcdrsId = a});
gcdrsLatestVersion :: Lens' GetCoreDefinitionResponse (Maybe Text)
gcdrsLatestVersion = lens _gcdrsLatestVersion (\ s a -> s{_gcdrsLatestVersion = a});
gcdrsLastUpdatedTimestamp :: Lens' GetCoreDefinitionResponse (Maybe Text)
gcdrsLastUpdatedTimestamp = lens _gcdrsLastUpdatedTimestamp (\ s a -> s{_gcdrsLastUpdatedTimestamp = a});
gcdrsResponseStatus :: Lens' GetCoreDefinitionResponse Int
gcdrsResponseStatus = lens _gcdrsResponseStatus (\ s a -> s{_gcdrsResponseStatus = a});
instance NFData GetCoreDefinitionResponse where