module Network.AWS.S3.GetBucketWebsite
(
GetBucketWebsite
, getBucketWebsite
, gbwBucket
, GetBucketWebsiteResponse
, getBucketWebsiteResponse
, gbwrErrorDocument
, gbwrIndexDocument
, gbwrRedirectAllRequestsTo
, gbwrRoutingRules
) where
import Network.AWS.Prelude
import Network.AWS.Request.S3
import Network.AWS.S3.Types
import qualified GHC.Exts
newtype GetBucketWebsite = GetBucketWebsite
{ _gbwBucket :: Text
} deriving (Eq, Ord, Show, Monoid, IsString)
getBucketWebsite :: Text
-> GetBucketWebsite
getBucketWebsite p1 = GetBucketWebsite
{ _gbwBucket = p1
}
gbwBucket :: Lens' GetBucketWebsite Text
gbwBucket = lens _gbwBucket (\s a -> s { _gbwBucket = a })
data GetBucketWebsiteResponse = GetBucketWebsiteResponse
{ _gbwrErrorDocument :: Maybe ErrorDocument
, _gbwrIndexDocument :: Maybe IndexDocument
, _gbwrRedirectAllRequestsTo :: Maybe RedirectAllRequestsTo
, _gbwrRoutingRules :: List "RoutingRule" RoutingRule
} deriving (Eq, Show)
getBucketWebsiteResponse :: GetBucketWebsiteResponse
getBucketWebsiteResponse = GetBucketWebsiteResponse
{ _gbwrRedirectAllRequestsTo = Nothing
, _gbwrIndexDocument = Nothing
, _gbwrErrorDocument = Nothing
, _gbwrRoutingRules = mempty
}
gbwrErrorDocument :: Lens' GetBucketWebsiteResponse (Maybe ErrorDocument)
gbwrErrorDocument =
lens _gbwrErrorDocument (\s a -> s { _gbwrErrorDocument = a })
gbwrIndexDocument :: Lens' GetBucketWebsiteResponse (Maybe IndexDocument)
gbwrIndexDocument =
lens _gbwrIndexDocument (\s a -> s { _gbwrIndexDocument = a })
gbwrRedirectAllRequestsTo :: Lens' GetBucketWebsiteResponse (Maybe RedirectAllRequestsTo)
gbwrRedirectAllRequestsTo =
lens _gbwrRedirectAllRequestsTo
(\s a -> s { _gbwrRedirectAllRequestsTo = a })
gbwrRoutingRules :: Lens' GetBucketWebsiteResponse [RoutingRule]
gbwrRoutingRules = lens _gbwrRoutingRules (\s a -> s { _gbwrRoutingRules = a }) . _List
instance ToPath GetBucketWebsite where
toPath GetBucketWebsite{..} = mconcat
[ "/"
, toText _gbwBucket
]
instance ToQuery GetBucketWebsite where
toQuery = const "website"
instance ToHeaders GetBucketWebsite
instance ToXMLRoot GetBucketWebsite where
toXMLRoot = const (namespaced ns "GetBucketWebsite" [])
instance ToXML GetBucketWebsite
instance AWSRequest GetBucketWebsite where
type Sv GetBucketWebsite = S3
type Rs GetBucketWebsite = GetBucketWebsiteResponse
request = get
response = xmlResponse
instance FromXML GetBucketWebsiteResponse where
parseXML x = GetBucketWebsiteResponse
<$> x .@? "ErrorDocument"
<*> x .@? "IndexDocument"
<*> x .@? "RedirectAllRequestsTo"
<*> x .@ "RoutingRules"