{-# 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.Glacier.PurchaseProvisionedCapacity
(
purchaseProvisionedCapacity
, PurchaseProvisionedCapacity
, ppcAccountId
, purchaseProvisionedCapacityResponse
, PurchaseProvisionedCapacityResponse
, ppcrsCapacityId
, ppcrsResponseStatus
) where
import Network.AWS.Glacier.Types
import Network.AWS.Glacier.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype PurchaseProvisionedCapacity = PurchaseProvisionedCapacity'
{ _ppcAccountId :: Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
purchaseProvisionedCapacity
:: Text
-> PurchaseProvisionedCapacity
purchaseProvisionedCapacity pAccountId_ =
PurchaseProvisionedCapacity' {_ppcAccountId = pAccountId_}
ppcAccountId :: Lens' PurchaseProvisionedCapacity Text
ppcAccountId = lens _ppcAccountId (\ s a -> s{_ppcAccountId = a})
instance AWSRequest PurchaseProvisionedCapacity where
type Rs PurchaseProvisionedCapacity =
PurchaseProvisionedCapacityResponse
request = postJSON glacier
response
= receiveEmpty
(\ s h x ->
PurchaseProvisionedCapacityResponse' <$>
(h .#? "x-amz-capacity-id") <*> (pure (fromEnum s)))
instance Hashable PurchaseProvisionedCapacity where
instance NFData PurchaseProvisionedCapacity where
instance ToHeaders PurchaseProvisionedCapacity where
toHeaders = const mempty
instance ToJSON PurchaseProvisionedCapacity where
toJSON = const (Object mempty)
instance ToPath PurchaseProvisionedCapacity where
toPath PurchaseProvisionedCapacity'{..}
= mconcat
["/", toBS _ppcAccountId, "/provisioned-capacity"]
instance ToQuery PurchaseProvisionedCapacity where
toQuery = const mempty
data PurchaseProvisionedCapacityResponse = PurchaseProvisionedCapacityResponse'
{ _ppcrsCapacityId :: !(Maybe Text)
, _ppcrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
purchaseProvisionedCapacityResponse
:: Int
-> PurchaseProvisionedCapacityResponse
purchaseProvisionedCapacityResponse pResponseStatus_ =
PurchaseProvisionedCapacityResponse'
{_ppcrsCapacityId = Nothing, _ppcrsResponseStatus = pResponseStatus_}
ppcrsCapacityId :: Lens' PurchaseProvisionedCapacityResponse (Maybe Text)
ppcrsCapacityId = lens _ppcrsCapacityId (\ s a -> s{_ppcrsCapacityId = a})
ppcrsResponseStatus :: Lens' PurchaseProvisionedCapacityResponse Int
ppcrsResponseStatus = lens _ppcrsResponseStatus (\ s a -> s{_ppcrsResponseStatus = a})
instance NFData PurchaseProvisionedCapacityResponse
where