packages feed

stratosphere-ecs-1.0.0: gen/Stratosphere/ECS/TaskDefinition/KernelCapabilitiesProperty.hs

module Stratosphere.ECS.TaskDefinition.KernelCapabilitiesProperty (
        KernelCapabilitiesProperty(..), mkKernelCapabilitiesProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data KernelCapabilitiesProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html>
    KernelCapabilitiesProperty {haddock_workaround_ :: (),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html#cfn-ecs-taskdefinition-kernelcapabilities-add>
                                add :: (Prelude.Maybe (ValueList Prelude.Text)),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html#cfn-ecs-taskdefinition-kernelcapabilities-drop>
                                drop :: (Prelude.Maybe (ValueList Prelude.Text))}
  deriving stock (Prelude.Eq, Prelude.Show)
mkKernelCapabilitiesProperty :: KernelCapabilitiesProperty
mkKernelCapabilitiesProperty
  = KernelCapabilitiesProperty
      {haddock_workaround_ = (), add = Prelude.Nothing,
       drop = Prelude.Nothing}
instance ToResourceProperties KernelCapabilitiesProperty where
  toResourceProperties KernelCapabilitiesProperty {..}
    = ResourceProperties
        {awsType = "AWS::ECS::TaskDefinition.KernelCapabilities",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        (Prelude.catMaybes
                           [(JSON..=) "Add" Prelude.<$> add,
                            (JSON..=) "Drop" Prelude.<$> drop])}
instance JSON.ToJSON KernelCapabilitiesProperty where
  toJSON KernelCapabilitiesProperty {..}
    = JSON.object
        (Prelude.fromList
           (Prelude.catMaybes
              [(JSON..=) "Add" Prelude.<$> add,
               (JSON..=) "Drop" Prelude.<$> drop]))
instance Property "Add" KernelCapabilitiesProperty where
  type PropertyType "Add" KernelCapabilitiesProperty = ValueList Prelude.Text
  set newValue KernelCapabilitiesProperty {..}
    = KernelCapabilitiesProperty {add = Prelude.pure newValue, ..}
instance Property "Drop" KernelCapabilitiesProperty where
  type PropertyType "Drop" KernelCapabilitiesProperty = ValueList Prelude.Text
  set newValue KernelCapabilitiesProperty {..}
    = KernelCapabilitiesProperty {drop = Prelude.pure newValue, ..}