packages feed

stratosphere-cloudtrail-1.0.0: gen/Stratosphere/CloudTrail/EventDataStore/AdvancedFieldSelectorProperty.hs

module Stratosphere.CloudTrail.EventDataStore.AdvancedFieldSelectorProperty (
        AdvancedFieldSelectorProperty(..), mkAdvancedFieldSelectorProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data AdvancedFieldSelectorProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html>
    AdvancedFieldSelectorProperty {haddock_workaround_ :: (),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-endswith>
                                   endsWith :: (Prelude.Maybe (ValueList Prelude.Text)),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-equals>
                                   equals :: (Prelude.Maybe (ValueList Prelude.Text)),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-field>
                                   field :: (Value Prelude.Text),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-notendswith>
                                   notEndsWith :: (Prelude.Maybe (ValueList Prelude.Text)),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-notequals>
                                   notEquals :: (Prelude.Maybe (ValueList Prelude.Text)),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-notstartswith>
                                   notStartsWith :: (Prelude.Maybe (ValueList Prelude.Text)),
                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudtrail-eventdatastore-advancedfieldselector.html#cfn-cloudtrail-eventdatastore-advancedfieldselector-startswith>
                                   startsWith :: (Prelude.Maybe (ValueList Prelude.Text))}
  deriving stock (Prelude.Eq, Prelude.Show)
mkAdvancedFieldSelectorProperty ::
  Value Prelude.Text -> AdvancedFieldSelectorProperty
mkAdvancedFieldSelectorProperty field
  = AdvancedFieldSelectorProperty
      {haddock_workaround_ = (), field = field,
       endsWith = Prelude.Nothing, equals = Prelude.Nothing,
       notEndsWith = Prelude.Nothing, notEquals = Prelude.Nothing,
       notStartsWith = Prelude.Nothing, startsWith = Prelude.Nothing}
instance ToResourceProperties AdvancedFieldSelectorProperty where
  toResourceProperties AdvancedFieldSelectorProperty {..}
    = ResourceProperties
        {awsType = "AWS::CloudTrail::EventDataStore.AdvancedFieldSelector",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        ((Prelude.<>)
                           ["Field" JSON..= field]
                           (Prelude.catMaybes
                              [(JSON..=) "EndsWith" Prelude.<$> endsWith,
                               (JSON..=) "Equals" Prelude.<$> equals,
                               (JSON..=) "NotEndsWith" Prelude.<$> notEndsWith,
                               (JSON..=) "NotEquals" Prelude.<$> notEquals,
                               (JSON..=) "NotStartsWith" Prelude.<$> notStartsWith,
                               (JSON..=) "StartsWith" Prelude.<$> startsWith]))}
instance JSON.ToJSON AdvancedFieldSelectorProperty where
  toJSON AdvancedFieldSelectorProperty {..}
    = JSON.object
        (Prelude.fromList
           ((Prelude.<>)
              ["Field" JSON..= field]
              (Prelude.catMaybes
                 [(JSON..=) "EndsWith" Prelude.<$> endsWith,
                  (JSON..=) "Equals" Prelude.<$> equals,
                  (JSON..=) "NotEndsWith" Prelude.<$> notEndsWith,
                  (JSON..=) "NotEquals" Prelude.<$> notEquals,
                  (JSON..=) "NotStartsWith" Prelude.<$> notStartsWith,
                  (JSON..=) "StartsWith" Prelude.<$> startsWith])))
instance Property "EndsWith" AdvancedFieldSelectorProperty where
  type PropertyType "EndsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text
  set newValue AdvancedFieldSelectorProperty {..}
    = AdvancedFieldSelectorProperty
        {endsWith = Prelude.pure newValue, ..}
instance Property "Equals" AdvancedFieldSelectorProperty where
  type PropertyType "Equals" AdvancedFieldSelectorProperty = ValueList Prelude.Text
  set newValue AdvancedFieldSelectorProperty {..}
    = AdvancedFieldSelectorProperty
        {equals = Prelude.pure newValue, ..}
instance Property "Field" AdvancedFieldSelectorProperty where
  type PropertyType "Field" AdvancedFieldSelectorProperty = Value Prelude.Text
  set newValue AdvancedFieldSelectorProperty {..}
    = AdvancedFieldSelectorProperty {field = newValue, ..}
instance Property "NotEndsWith" AdvancedFieldSelectorProperty where
  type PropertyType "NotEndsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text
  set newValue AdvancedFieldSelectorProperty {..}
    = AdvancedFieldSelectorProperty
        {notEndsWith = Prelude.pure newValue, ..}
instance Property "NotEquals" AdvancedFieldSelectorProperty where
  type PropertyType "NotEquals" AdvancedFieldSelectorProperty = ValueList Prelude.Text
  set newValue AdvancedFieldSelectorProperty {..}
    = AdvancedFieldSelectorProperty
        {notEquals = Prelude.pure newValue, ..}
instance Property "NotStartsWith" AdvancedFieldSelectorProperty where
  type PropertyType "NotStartsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text
  set newValue AdvancedFieldSelectorProperty {..}
    = AdvancedFieldSelectorProperty
        {notStartsWith = Prelude.pure newValue, ..}
instance Property "StartsWith" AdvancedFieldSelectorProperty where
  type PropertyType "StartsWith" AdvancedFieldSelectorProperty = ValueList Prelude.Text
  set newValue AdvancedFieldSelectorProperty {..}
    = AdvancedFieldSelectorProperty
        {startsWith = Prelude.pure newValue, ..}