module Network.AWS.S3.GetBucketAccelerateConfiguration
(
getBucketAccelerateConfiguration
, GetBucketAccelerateConfiguration
, gbacBucket
, getBucketAccelerateConfigurationResponse
, GetBucketAccelerateConfigurationResponse
, gbacrsStatus
, gbacrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.S3.Types
import Network.AWS.S3.Types.Product
newtype GetBucketAccelerateConfiguration = GetBucketAccelerateConfiguration'
{ _gbacBucket :: BucketName
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getBucketAccelerateConfiguration
:: BucketName
-> GetBucketAccelerateConfiguration
getBucketAccelerateConfiguration pBucket_ =
GetBucketAccelerateConfiguration'
{ _gbacBucket = pBucket_
}
gbacBucket :: Lens' GetBucketAccelerateConfiguration BucketName
gbacBucket = lens _gbacBucket (\ s a -> s{_gbacBucket = a});
instance AWSRequest GetBucketAccelerateConfiguration
where
type Rs GetBucketAccelerateConfiguration =
GetBucketAccelerateConfigurationResponse
request = get s3
response
= receiveXML
(\ s h x ->
GetBucketAccelerateConfigurationResponse' <$>
(x .@? "Status") <*> (pure (fromEnum s)))
instance Hashable GetBucketAccelerateConfiguration
instance NFData GetBucketAccelerateConfiguration
instance ToHeaders GetBucketAccelerateConfiguration
where
toHeaders = const mempty
instance ToPath GetBucketAccelerateConfiguration
where
toPath GetBucketAccelerateConfiguration'{..}
= mconcat ["/", toBS _gbacBucket]
instance ToQuery GetBucketAccelerateConfiguration
where
toQuery = const (mconcat ["accelerate"])
data GetBucketAccelerateConfigurationResponse = GetBucketAccelerateConfigurationResponse'
{ _gbacrsStatus :: !(Maybe BucketAccelerateStatus)
, _gbacrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
getBucketAccelerateConfigurationResponse
:: Int
-> GetBucketAccelerateConfigurationResponse
getBucketAccelerateConfigurationResponse pResponseStatus_ =
GetBucketAccelerateConfigurationResponse'
{ _gbacrsStatus = Nothing
, _gbacrsResponseStatus = pResponseStatus_
}
gbacrsStatus :: Lens' GetBucketAccelerateConfigurationResponse (Maybe BucketAccelerateStatus)
gbacrsStatus = lens _gbacrsStatus (\ s a -> s{_gbacrsStatus = a});
gbacrsResponseStatus :: Lens' GetBucketAccelerateConfigurationResponse Int
gbacrsResponseStatus = lens _gbacrsResponseStatus (\ s a -> s{_gbacrsResponseStatus = a});
instance NFData
GetBucketAccelerateConfigurationResponse