module Network.AWS.StorageGateway.UpdateGatewaySoftwareNow
(
UpdateGatewaySoftwareNow
, updateGatewaySoftwareNow
, ugsnGatewayARN
, UpdateGatewaySoftwareNowResponse
, updateGatewaySoftwareNowResponse
, ugsnrGatewayARN
) where
import Network.AWS.Prelude
import Network.AWS.Request.JSON
import Network.AWS.StorageGateway.Types
import qualified GHC.Exts
newtype UpdateGatewaySoftwareNow = UpdateGatewaySoftwareNow
{ _ugsnGatewayARN :: Text
} deriving (Eq, Ord, Show, Monoid, IsString)
updateGatewaySoftwareNow :: Text
-> UpdateGatewaySoftwareNow
updateGatewaySoftwareNow p1 = UpdateGatewaySoftwareNow
{ _ugsnGatewayARN = p1
}
ugsnGatewayARN :: Lens' UpdateGatewaySoftwareNow Text
ugsnGatewayARN = lens _ugsnGatewayARN (\s a -> s { _ugsnGatewayARN = a })
newtype UpdateGatewaySoftwareNowResponse = UpdateGatewaySoftwareNowResponse
{ _ugsnrGatewayARN :: Maybe Text
} deriving (Eq, Ord, Show, Monoid)
updateGatewaySoftwareNowResponse :: UpdateGatewaySoftwareNowResponse
updateGatewaySoftwareNowResponse = UpdateGatewaySoftwareNowResponse
{ _ugsnrGatewayARN = Nothing
}
ugsnrGatewayARN :: Lens' UpdateGatewaySoftwareNowResponse (Maybe Text)
ugsnrGatewayARN = lens _ugsnrGatewayARN (\s a -> s { _ugsnrGatewayARN = a })
instance ToPath UpdateGatewaySoftwareNow where
toPath = const "/"
instance ToQuery UpdateGatewaySoftwareNow where
toQuery = const mempty
instance ToHeaders UpdateGatewaySoftwareNow
instance ToJSON UpdateGatewaySoftwareNow where
toJSON UpdateGatewaySoftwareNow{..} = object
[ "GatewayARN" .= _ugsnGatewayARN
]
instance AWSRequest UpdateGatewaySoftwareNow where
type Sv UpdateGatewaySoftwareNow = StorageGateway
type Rs UpdateGatewaySoftwareNow = UpdateGatewaySoftwareNowResponse
request = post "UpdateGatewaySoftwareNow"
response = jsonResponse
instance FromJSON UpdateGatewaySoftwareNowResponse where
parseJSON = withObject "UpdateGatewaySoftwareNowResponse" $ \o -> UpdateGatewaySoftwareNowResponse
<$> o .:? "GatewayARN"