{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.CloudDirectory.UpgradeAppliedSchema
(
upgradeAppliedSchema
, UpgradeAppliedSchema
, uasDryRun
, uasPublishedSchemaARN
, uasDirectoryARN
, upgradeAppliedSchemaResponse
, UpgradeAppliedSchemaResponse
, uasrsDirectoryARN
, uasrsUpgradedSchemaARN
, uasrsResponseStatus
) where
import Network.AWS.CloudDirectory.Types
import Network.AWS.CloudDirectory.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpgradeAppliedSchema = UpgradeAppliedSchema'
{ _uasDryRun :: !(Maybe Bool)
, _uasPublishedSchemaARN :: !Text
, _uasDirectoryARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
upgradeAppliedSchema
:: Text
-> Text
-> UpgradeAppliedSchema
upgradeAppliedSchema pPublishedSchemaARN_ pDirectoryARN_ =
UpgradeAppliedSchema'
{ _uasDryRun = Nothing
, _uasPublishedSchemaARN = pPublishedSchemaARN_
, _uasDirectoryARN = pDirectoryARN_
}
uasDryRun :: Lens' UpgradeAppliedSchema (Maybe Bool)
uasDryRun = lens _uasDryRun (\ s a -> s{_uasDryRun = a})
uasPublishedSchemaARN :: Lens' UpgradeAppliedSchema Text
uasPublishedSchemaARN = lens _uasPublishedSchemaARN (\ s a -> s{_uasPublishedSchemaARN = a})
uasDirectoryARN :: Lens' UpgradeAppliedSchema Text
uasDirectoryARN = lens _uasDirectoryARN (\ s a -> s{_uasDirectoryARN = a})
instance AWSRequest UpgradeAppliedSchema where
type Rs UpgradeAppliedSchema =
UpgradeAppliedSchemaResponse
request = putJSON cloudDirectory
response
= receiveJSON
(\ s h x ->
UpgradeAppliedSchemaResponse' <$>
(x .?> "DirectoryArn") <*>
(x .?> "UpgradedSchemaArn")
<*> (pure (fromEnum s)))
instance Hashable UpgradeAppliedSchema where
instance NFData UpgradeAppliedSchema where
instance ToHeaders UpgradeAppliedSchema where
toHeaders = const mempty
instance ToJSON UpgradeAppliedSchema where
toJSON UpgradeAppliedSchema'{..}
= object
(catMaybes
[("DryRun" .=) <$> _uasDryRun,
Just
("PublishedSchemaArn" .= _uasPublishedSchemaARN),
Just ("DirectoryArn" .= _uasDirectoryARN)])
instance ToPath UpgradeAppliedSchema where
toPath
= const
"/amazonclouddirectory/2017-01-11/schema/upgradeapplied"
instance ToQuery UpgradeAppliedSchema where
toQuery = const mempty
data UpgradeAppliedSchemaResponse = UpgradeAppliedSchemaResponse'
{ _uasrsDirectoryARN :: !(Maybe Text)
, _uasrsUpgradedSchemaARN :: !(Maybe Text)
, _uasrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
upgradeAppliedSchemaResponse
:: Int
-> UpgradeAppliedSchemaResponse
upgradeAppliedSchemaResponse pResponseStatus_ =
UpgradeAppliedSchemaResponse'
{ _uasrsDirectoryARN = Nothing
, _uasrsUpgradedSchemaARN = Nothing
, _uasrsResponseStatus = pResponseStatus_
}
uasrsDirectoryARN :: Lens' UpgradeAppliedSchemaResponse (Maybe Text)
uasrsDirectoryARN = lens _uasrsDirectoryARN (\ s a -> s{_uasrsDirectoryARN = a})
uasrsUpgradedSchemaARN :: Lens' UpgradeAppliedSchemaResponse (Maybe Text)
uasrsUpgradedSchemaARN = lens _uasrsUpgradedSchemaARN (\ s a -> s{_uasrsUpgradedSchemaARN = a})
uasrsResponseStatus :: Lens' UpgradeAppliedSchemaResponse Int
uasrsResponseStatus = lens _uasrsResponseStatus (\ s a -> s{_uasrsResponseStatus = a})
instance NFData UpgradeAppliedSchemaResponse where