module Stratosphere.CloudFront.RealtimeLogConfig ( module Exports, RealtimeLogConfig(..), mkRealtimeLogConfig ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.CloudFront.RealtimeLogConfig.EndPointProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data RealtimeLogConfig = -- | See: RealtimeLogConfig {haddock_workaround_ :: (), -- | See: endPoints :: [EndPointProperty], -- | See: fields :: (ValueList Prelude.Text), -- | See: name :: (Value Prelude.Text), -- | See: samplingRate :: (Value Prelude.Double)} deriving stock (Prelude.Eq, Prelude.Show) mkRealtimeLogConfig :: [EndPointProperty] -> ValueList Prelude.Text -> Value Prelude.Text -> Value Prelude.Double -> RealtimeLogConfig mkRealtimeLogConfig endPoints fields name samplingRate = RealtimeLogConfig {haddock_workaround_ = (), endPoints = endPoints, fields = fields, name = name, samplingRate = samplingRate} instance ToResourceProperties RealtimeLogConfig where toResourceProperties RealtimeLogConfig {..} = ResourceProperties {awsType = "AWS::CloudFront::RealtimeLogConfig", supportsTags = Prelude.False, properties = ["EndPoints" JSON..= endPoints, "Fields" JSON..= fields, "Name" JSON..= name, "SamplingRate" JSON..= samplingRate]} instance JSON.ToJSON RealtimeLogConfig where toJSON RealtimeLogConfig {..} = JSON.object ["EndPoints" JSON..= endPoints, "Fields" JSON..= fields, "Name" JSON..= name, "SamplingRate" JSON..= samplingRate] instance Property "EndPoints" RealtimeLogConfig where type PropertyType "EndPoints" RealtimeLogConfig = [EndPointProperty] set newValue RealtimeLogConfig {..} = RealtimeLogConfig {endPoints = newValue, ..} instance Property "Fields" RealtimeLogConfig where type PropertyType "Fields" RealtimeLogConfig = ValueList Prelude.Text set newValue RealtimeLogConfig {..} = RealtimeLogConfig {fields = newValue, ..} instance Property "Name" RealtimeLogConfig where type PropertyType "Name" RealtimeLogConfig = Value Prelude.Text set newValue RealtimeLogConfig {..} = RealtimeLogConfig {name = newValue, ..} instance Property "SamplingRate" RealtimeLogConfig where type PropertyType "SamplingRate" RealtimeLogConfig = Value Prelude.Double set newValue RealtimeLogConfig {..} = RealtimeLogConfig {samplingRate = newValue, ..}