{-# 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.UpgradePublishedSchema
(
upgradePublishedSchema
, UpgradePublishedSchema
, upsDryRun
, upsDevelopmentSchemaARN
, upsPublishedSchemaARN
, upsMinorVersion
, upgradePublishedSchemaResponse
, UpgradePublishedSchemaResponse
, upsrsUpgradedSchemaARN
, upsrsResponseStatus
) 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 UpgradePublishedSchema = UpgradePublishedSchema'
{ _upsDryRun :: !(Maybe Bool)
, _upsDevelopmentSchemaARN :: !Text
, _upsPublishedSchemaARN :: !Text
, _upsMinorVersion :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
upgradePublishedSchema
:: Text
-> Text
-> Text
-> UpgradePublishedSchema
upgradePublishedSchema pDevelopmentSchemaARN_ pPublishedSchemaARN_ pMinorVersion_ =
UpgradePublishedSchema'
{ _upsDryRun = Nothing
, _upsDevelopmentSchemaARN = pDevelopmentSchemaARN_
, _upsPublishedSchemaARN = pPublishedSchemaARN_
, _upsMinorVersion = pMinorVersion_
}
upsDryRun :: Lens' UpgradePublishedSchema (Maybe Bool)
upsDryRun = lens _upsDryRun (\ s a -> s{_upsDryRun = a})
upsDevelopmentSchemaARN :: Lens' UpgradePublishedSchema Text
upsDevelopmentSchemaARN = lens _upsDevelopmentSchemaARN (\ s a -> s{_upsDevelopmentSchemaARN = a})
upsPublishedSchemaARN :: Lens' UpgradePublishedSchema Text
upsPublishedSchemaARN = lens _upsPublishedSchemaARN (\ s a -> s{_upsPublishedSchemaARN = a})
upsMinorVersion :: Lens' UpgradePublishedSchema Text
upsMinorVersion = lens _upsMinorVersion (\ s a -> s{_upsMinorVersion = a})
instance AWSRequest UpgradePublishedSchema where
type Rs UpgradePublishedSchema =
UpgradePublishedSchemaResponse
request = putJSON cloudDirectory
response
= receiveJSON
(\ s h x ->
UpgradePublishedSchemaResponse' <$>
(x .?> "UpgradedSchemaArn") <*> (pure (fromEnum s)))
instance Hashable UpgradePublishedSchema where
instance NFData UpgradePublishedSchema where
instance ToHeaders UpgradePublishedSchema where
toHeaders = const mempty
instance ToJSON UpgradePublishedSchema where
toJSON UpgradePublishedSchema'{..}
= object
(catMaybes
[("DryRun" .=) <$> _upsDryRun,
Just
("DevelopmentSchemaArn" .= _upsDevelopmentSchemaARN),
Just
("PublishedSchemaArn" .= _upsPublishedSchemaARN),
Just ("MinorVersion" .= _upsMinorVersion)])
instance ToPath UpgradePublishedSchema where
toPath
= const
"/amazonclouddirectory/2017-01-11/schema/upgradepublished"
instance ToQuery UpgradePublishedSchema where
toQuery = const mempty
data UpgradePublishedSchemaResponse = UpgradePublishedSchemaResponse'
{ _upsrsUpgradedSchemaARN :: !(Maybe Text)
, _upsrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
upgradePublishedSchemaResponse
:: Int
-> UpgradePublishedSchemaResponse
upgradePublishedSchemaResponse pResponseStatus_ =
UpgradePublishedSchemaResponse'
{_upsrsUpgradedSchemaARN = Nothing, _upsrsResponseStatus = pResponseStatus_}
upsrsUpgradedSchemaARN :: Lens' UpgradePublishedSchemaResponse (Maybe Text)
upsrsUpgradedSchemaARN = lens _upsrsUpgradedSchemaARN (\ s a -> s{_upsrsUpgradedSchemaARN = a})
upsrsResponseStatus :: Lens' UpgradePublishedSchemaResponse Int
upsrsResponseStatus = lens _upsrsResponseStatus (\ s a -> s{_upsrsResponseStatus = a})
instance NFData UpgradePublishedSchemaResponse where