module Network.AWS.ElasticBeanstalk.TerminateEnvironment
(
TerminateEnvironment
, terminateEnvironment
, teEnvironmentId
, teEnvironmentName
, teTerminateResources
, TerminateEnvironmentResponse
, terminateEnvironmentResponse
, terApplicationName
, terCNAME
, terDateCreated
, terDateUpdated
, terDescription
, terEndpointURL
, terEnvironmentId
, terEnvironmentName
, terHealth
, terResources
, terSolutionStackName
, terStatus
, terTemplateName
, terTier
, terVersionLabel
) where
import Network.AWS.Prelude
import Network.AWS.Request.Query
import Network.AWS.ElasticBeanstalk.Types
import qualified GHC.Exts
data TerminateEnvironment = TerminateEnvironment
{ _teEnvironmentId :: Maybe Text
, _teEnvironmentName :: Maybe Text
, _teTerminateResources :: Maybe Bool
} deriving (Eq, Ord, Show)
terminateEnvironment :: TerminateEnvironment
terminateEnvironment = TerminateEnvironment
{ _teEnvironmentId = Nothing
, _teEnvironmentName = Nothing
, _teTerminateResources = Nothing
}
teEnvironmentId :: Lens' TerminateEnvironment (Maybe Text)
teEnvironmentId = lens _teEnvironmentId (\s a -> s { _teEnvironmentId = a })
teEnvironmentName :: Lens' TerminateEnvironment (Maybe Text)
teEnvironmentName =
lens _teEnvironmentName (\s a -> s { _teEnvironmentName = a })
teTerminateResources :: Lens' TerminateEnvironment (Maybe Bool)
teTerminateResources =
lens _teTerminateResources (\s a -> s { _teTerminateResources = a })
data TerminateEnvironmentResponse = TerminateEnvironmentResponse
{ _terApplicationName :: Maybe Text
, _terCNAME :: Maybe Text
, _terDateCreated :: Maybe ISO8601
, _terDateUpdated :: Maybe ISO8601
, _terDescription :: Maybe Text
, _terEndpointURL :: Maybe Text
, _terEnvironmentId :: Maybe Text
, _terEnvironmentName :: Maybe Text
, _terHealth :: Maybe EnvironmentHealth
, _terResources :: Maybe EnvironmentResourcesDescription
, _terSolutionStackName :: Maybe Text
, _terStatus :: Maybe EnvironmentStatus
, _terTemplateName :: Maybe Text
, _terTier :: Maybe EnvironmentTier
, _terVersionLabel :: Maybe Text
} deriving (Eq, Show)
terminateEnvironmentResponse :: TerminateEnvironmentResponse
terminateEnvironmentResponse = TerminateEnvironmentResponse
{ _terEnvironmentName = Nothing
, _terEnvironmentId = Nothing
, _terApplicationName = Nothing
, _terVersionLabel = Nothing
, _terSolutionStackName = Nothing
, _terTemplateName = Nothing
, _terDescription = Nothing
, _terEndpointURL = Nothing
, _terCNAME = Nothing
, _terDateCreated = Nothing
, _terDateUpdated = Nothing
, _terStatus = Nothing
, _terHealth = Nothing
, _terResources = Nothing
, _terTier = Nothing
}
terApplicationName :: Lens' TerminateEnvironmentResponse (Maybe Text)
terApplicationName =
lens _terApplicationName (\s a -> s { _terApplicationName = a })
terCNAME :: Lens' TerminateEnvironmentResponse (Maybe Text)
terCNAME = lens _terCNAME (\s a -> s { _terCNAME = a })
terDateCreated :: Lens' TerminateEnvironmentResponse (Maybe UTCTime)
terDateCreated = lens _terDateCreated (\s a -> s { _terDateCreated = a }) . mapping _Time
terDateUpdated :: Lens' TerminateEnvironmentResponse (Maybe UTCTime)
terDateUpdated = lens _terDateUpdated (\s a -> s { _terDateUpdated = a }) . mapping _Time
terDescription :: Lens' TerminateEnvironmentResponse (Maybe Text)
terDescription = lens _terDescription (\s a -> s { _terDescription = a })
terEndpointURL :: Lens' TerminateEnvironmentResponse (Maybe Text)
terEndpointURL = lens _terEndpointURL (\s a -> s { _terEndpointURL = a })
terEnvironmentId :: Lens' TerminateEnvironmentResponse (Maybe Text)
terEnvironmentId = lens _terEnvironmentId (\s a -> s { _terEnvironmentId = a })
terEnvironmentName :: Lens' TerminateEnvironmentResponse (Maybe Text)
terEnvironmentName =
lens _terEnvironmentName (\s a -> s { _terEnvironmentName = a })
terHealth :: Lens' TerminateEnvironmentResponse (Maybe EnvironmentHealth)
terHealth = lens _terHealth (\s a -> s { _terHealth = a })
terResources :: Lens' TerminateEnvironmentResponse (Maybe EnvironmentResourcesDescription)
terResources = lens _terResources (\s a -> s { _terResources = a })
terSolutionStackName :: Lens' TerminateEnvironmentResponse (Maybe Text)
terSolutionStackName =
lens _terSolutionStackName (\s a -> s { _terSolutionStackName = a })
terStatus :: Lens' TerminateEnvironmentResponse (Maybe EnvironmentStatus)
terStatus = lens _terStatus (\s a -> s { _terStatus = a })
terTemplateName :: Lens' TerminateEnvironmentResponse (Maybe Text)
terTemplateName = lens _terTemplateName (\s a -> s { _terTemplateName = a })
terTier :: Lens' TerminateEnvironmentResponse (Maybe EnvironmentTier)
terTier = lens _terTier (\s a -> s { _terTier = a })
terVersionLabel :: Lens' TerminateEnvironmentResponse (Maybe Text)
terVersionLabel = lens _terVersionLabel (\s a -> s { _terVersionLabel = a })
instance ToPath TerminateEnvironment where
toPath = const "/"
instance ToQuery TerminateEnvironment where
toQuery TerminateEnvironment{..} = mconcat
[ "EnvironmentId" =? _teEnvironmentId
, "EnvironmentName" =? _teEnvironmentName
, "TerminateResources" =? _teTerminateResources
]
instance ToHeaders TerminateEnvironment
instance AWSRequest TerminateEnvironment where
type Sv TerminateEnvironment = ElasticBeanstalk
type Rs TerminateEnvironment = TerminateEnvironmentResponse
request = post "TerminateEnvironment"
response = xmlResponse
instance FromXML TerminateEnvironmentResponse where
parseXML = withElement "TerminateEnvironmentResult" $ \x -> TerminateEnvironmentResponse
<$> x .@? "ApplicationName"
<*> x .@? "CNAME"
<*> x .@? "DateCreated"
<*> x .@? "DateUpdated"
<*> x .@? "Description"
<*> x .@? "EndpointURL"
<*> x .@? "EnvironmentId"
<*> x .@? "EnvironmentName"
<*> x .@? "Health"
<*> x .@? "Resources"
<*> x .@? "SolutionStackName"
<*> x .@? "Status"
<*> x .@? "TemplateName"
<*> x .@? "Tier"
<*> x .@? "VersionLabel"