module Network.AWS.CodeDeploy.GetApplicationRevision
(
GetApplicationRevision
, getApplicationRevision
, garApplicationName
, garRevision
, GetApplicationRevisionResponse
, getApplicationRevisionResponse
, garrApplicationName
, garrRevision
, garrRevisionInfo
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.CodeDeploy.Types
import qualified GHC.Exts
data GetApplicationRevision = GetApplicationRevision
{ _garApplicationName :: Text
, _garRevision :: RevisionLocation
} deriving (Eq, Show)
getApplicationRevision :: Text
-> RevisionLocation
-> GetApplicationRevision
getApplicationRevision p1 p2 = GetApplicationRevision
{ _garApplicationName = p1
, _garRevision = p2
}
garApplicationName :: Lens' GetApplicationRevision Text
garApplicationName =
lens _garApplicationName (\s a -> s { _garApplicationName = a })
garRevision :: Lens' GetApplicationRevision RevisionLocation
garRevision = lens _garRevision (\s a -> s { _garRevision = a })
data GetApplicationRevisionResponse = GetApplicationRevisionResponse
{ _garrApplicationName :: Maybe Text
, _garrRevision :: Maybe RevisionLocation
, _garrRevisionInfo :: Maybe GenericRevisionInfo
} deriving (Eq, Show)
getApplicationRevisionResponse :: GetApplicationRevisionResponse
getApplicationRevisionResponse = GetApplicationRevisionResponse
{ _garrApplicationName = Nothing
, _garrRevision = Nothing
, _garrRevisionInfo = Nothing
}
garrApplicationName :: Lens' GetApplicationRevisionResponse (Maybe Text)
garrApplicationName =
lens _garrApplicationName (\s a -> s { _garrApplicationName = a })
garrRevision :: Lens' GetApplicationRevisionResponse (Maybe RevisionLocation)
garrRevision = lens _garrRevision (\s a -> s { _garrRevision = a })
garrRevisionInfo :: Lens' GetApplicationRevisionResponse (Maybe GenericRevisionInfo)
garrRevisionInfo = lens _garrRevisionInfo (\s a -> s { _garrRevisionInfo = a })
instance ToPath GetApplicationRevision where
toPath = const "/"
instance ToQuery GetApplicationRevision where
toQuery = const mempty
instance ToHeaders GetApplicationRevision
instance ToJSON GetApplicationRevision where
toJSON GetApplicationRevision{..} = object
[ "applicationName" .= _garApplicationName
, "revision" .= _garRevision
]
instance AWSRequest GetApplicationRevision where
type Sv GetApplicationRevision = CodeDeploy
type Rs GetApplicationRevision = GetApplicationRevisionResponse
request = post "GetApplicationRevision"
response = jsonResponse
instance FromJSON GetApplicationRevisionResponse where
parseJSON = withObject "GetApplicationRevisionResponse" $ \o -> GetApplicationRevisionResponse
<$> o .:? "applicationName"
<*> o .:? "revision"
<*> o .:? "revisionInfo"