module Stratosphere.ResourceProperties.S3NotificationConfigurationConfigFilterS3Key where
import Control.Lens
import Data.Aeson
import Data.Aeson.Types
import Data.Text
import GHC.Generics
import Stratosphere.Values
import Stratosphere.ResourceProperties.S3NotificationConfigurationConfigFilterS3KeyRules
data S3NotificationConfigurationConfigFilterS3Key =
S3NotificationConfigurationConfigFilterS3Key
{ _s3NotificationConfigurationConfigFilterS3KeyRules :: [S3NotificationConfigurationConfigFilterS3KeyRules]
} deriving (Show, Generic)
instance ToJSON S3NotificationConfigurationConfigFilterS3Key where
toJSON = genericToJSON defaultOptions { fieldLabelModifier = Prelude.drop 45, omitNothingFields = True }
instance FromJSON S3NotificationConfigurationConfigFilterS3Key where
parseJSON = genericParseJSON defaultOptions { fieldLabelModifier = Prelude.drop 45, omitNothingFields = True }
s3NotificationConfigurationConfigFilterS3Key
:: [S3NotificationConfigurationConfigFilterS3KeyRules]
-> S3NotificationConfigurationConfigFilterS3Key
s3NotificationConfigurationConfigFilterS3Key rulesarg =
S3NotificationConfigurationConfigFilterS3Key
{ _s3NotificationConfigurationConfigFilterS3KeyRules = rulesarg
}
snccfskRules :: Lens' S3NotificationConfigurationConfigFilterS3Key [S3NotificationConfigurationConfigFilterS3KeyRules]
snccfskRules = lens _s3NotificationConfigurationConfigFilterS3KeyRules (\s a -> s { _s3NotificationConfigurationConfigFilterS3KeyRules = a })