module Network.AWS.Greengrass.GetSubscriptionDefinition
(
getSubscriptionDefinition
, GetSubscriptionDefinition
, gsdSubscriptionDefinitionId
, getSubscriptionDefinitionResponse
, GetSubscriptionDefinitionResponse
, gsdrsLatestVersionARN
, gsdrsARN
, gsdrsName
, gsdrsCreationTimestamp
, gsdrsId
, gsdrsLatestVersion
, gsdrsLastUpdatedTimestamp
, gsdrsResponseStatus
) 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 GetSubscriptionDefinition = GetSubscriptionDefinition'
{ _gsdSubscriptionDefinitionId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getSubscriptionDefinition
:: Text
-> GetSubscriptionDefinition
getSubscriptionDefinition pSubscriptionDefinitionId_ =
GetSubscriptionDefinition'
{_gsdSubscriptionDefinitionId = pSubscriptionDefinitionId_}
gsdSubscriptionDefinitionId :: Lens' GetSubscriptionDefinition Text
gsdSubscriptionDefinitionId = lens _gsdSubscriptionDefinitionId (\ s a -> s{_gsdSubscriptionDefinitionId = a});
instance AWSRequest GetSubscriptionDefinition where
type Rs GetSubscriptionDefinition =
GetSubscriptionDefinitionResponse
request = get greengrass
response
= receiveJSON
(\ s h x ->
GetSubscriptionDefinitionResponse' <$>
(x .?> "LatestVersionArn") <*> (x .?> "Arn") <*>
(x .?> "Name")
<*> (x .?> "CreationTimestamp")
<*> (x .?> "Id")
<*> (x .?> "LatestVersion")
<*> (x .?> "LastUpdatedTimestamp")
<*> (pure (fromEnum s)))
instance Hashable GetSubscriptionDefinition where
instance NFData GetSubscriptionDefinition where
instance ToHeaders GetSubscriptionDefinition where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetSubscriptionDefinition where
toPath GetSubscriptionDefinition'{..}
= mconcat
["/greengrass/definition/subscriptions/",
toBS _gsdSubscriptionDefinitionId]
instance ToQuery GetSubscriptionDefinition where
toQuery = const mempty
data GetSubscriptionDefinitionResponse = GetSubscriptionDefinitionResponse'
{ _gsdrsLatestVersionARN :: !(Maybe Text)
, _gsdrsARN :: !(Maybe Text)
, _gsdrsName :: !(Maybe Text)
, _gsdrsCreationTimestamp :: !(Maybe Text)
, _gsdrsId :: !(Maybe Text)
, _gsdrsLatestVersion :: !(Maybe Text)
, _gsdrsLastUpdatedTimestamp :: !(Maybe Text)
, _gsdrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getSubscriptionDefinitionResponse
:: Int
-> GetSubscriptionDefinitionResponse
getSubscriptionDefinitionResponse pResponseStatus_ =
GetSubscriptionDefinitionResponse'
{ _gsdrsLatestVersionARN = Nothing
, _gsdrsARN = Nothing
, _gsdrsName = Nothing
, _gsdrsCreationTimestamp = Nothing
, _gsdrsId = Nothing
, _gsdrsLatestVersion = Nothing
, _gsdrsLastUpdatedTimestamp = Nothing
, _gsdrsResponseStatus = pResponseStatus_
}
gsdrsLatestVersionARN :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)
gsdrsLatestVersionARN = lens _gsdrsLatestVersionARN (\ s a -> s{_gsdrsLatestVersionARN = a});
gsdrsARN :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)
gsdrsARN = lens _gsdrsARN (\ s a -> s{_gsdrsARN = a});
gsdrsName :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)
gsdrsName = lens _gsdrsName (\ s a -> s{_gsdrsName = a});
gsdrsCreationTimestamp :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)
gsdrsCreationTimestamp = lens _gsdrsCreationTimestamp (\ s a -> s{_gsdrsCreationTimestamp = a});
gsdrsId :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)
gsdrsId = lens _gsdrsId (\ s a -> s{_gsdrsId = a});
gsdrsLatestVersion :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)
gsdrsLatestVersion = lens _gsdrsLatestVersion (\ s a -> s{_gsdrsLatestVersion = a});
gsdrsLastUpdatedTimestamp :: Lens' GetSubscriptionDefinitionResponse (Maybe Text)
gsdrsLastUpdatedTimestamp = lens _gsdrsLastUpdatedTimestamp (\ s a -> s{_gsdrsLastUpdatedTimestamp = a});
gsdrsResponseStatus :: Lens' GetSubscriptionDefinitionResponse Int
gsdrsResponseStatus = lens _gsdrsResponseStatus (\ s a -> s{_gsdrsResponseStatus = a});
instance NFData GetSubscriptionDefinitionResponse
where