module Stratosphere.ResourceProperties.S3WebsiteRedirectRule where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
data S3WebsiteRedirectRule =
S3WebsiteRedirectRule
{ _s3WebsiteRedirectRuleHostName :: Maybe (Val Text)
, _s3WebsiteRedirectRuleHttpRedirectCode :: Maybe (Val Text)
, _s3WebsiteRedirectRuleProtocol :: Maybe (Val Text)
, _s3WebsiteRedirectRuleReplaceKeyPrefixWith :: Maybe (Val Text)
, _s3WebsiteRedirectRuleReplaceKeyWith :: Maybe (Val Text)
} deriving (Show, Generic)
instance ToJSON S3WebsiteRedirectRule where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
instance FromJSON S3WebsiteRedirectRule where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 22, omitNothingFields = True }
s3WebsiteRedirectRule
:: S3WebsiteRedirectRule
s3WebsiteRedirectRule =
S3WebsiteRedirectRule
{ _s3WebsiteRedirectRuleHostName = Nothing
, _s3WebsiteRedirectRuleHttpRedirectCode = Nothing
, _s3WebsiteRedirectRuleProtocol = Nothing
, _s3WebsiteRedirectRuleReplaceKeyPrefixWith = Nothing
, _s3WebsiteRedirectRuleReplaceKeyWith = Nothing
}
swrrHostName :: Lens' S3WebsiteRedirectRule (Maybe (Val Text))
swrrHostName = lens _s3WebsiteRedirectRuleHostName (\s a -> s { _s3WebsiteRedirectRuleHostName = a })
swrrHttpRedirectCode :: Lens' S3WebsiteRedirectRule (Maybe (Val Text))
swrrHttpRedirectCode = lens _s3WebsiteRedirectRuleHttpRedirectCode (\s a -> s { _s3WebsiteRedirectRuleHttpRedirectCode = a })
swrrProtocol :: Lens' S3WebsiteRedirectRule (Maybe (Val Text))
swrrProtocol = lens _s3WebsiteRedirectRuleProtocol (\s a -> s { _s3WebsiteRedirectRuleProtocol = a })
swrrReplaceKeyPrefixWith :: Lens' S3WebsiteRedirectRule (Maybe (Val Text))
swrrReplaceKeyPrefixWith = lens _s3WebsiteRedirectRuleReplaceKeyPrefixWith (\s a -> s { _s3WebsiteRedirectRuleReplaceKeyPrefixWith = a })
swrrReplaceKeyWith :: Lens' S3WebsiteRedirectRule (Maybe (Val Text))
swrrReplaceKeyWith = lens _s3WebsiteRedirectRuleReplaceKeyWith (\s a -> s { _s3WebsiteRedirectRuleReplaceKeyWith = a })