module Stratosphere.AppTest.TestCase.MainframeActionProperty ( module Exports, MainframeActionProperty(..), mkMainframeActionProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.AppTest.TestCase.MainframeActionPropertiesProperty as Exports import {-# SOURCE #-} Stratosphere.AppTest.TestCase.MainframeActionTypeProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data MainframeActionProperty = -- | See: MainframeActionProperty {haddock_workaround_ :: (), -- | See: actionType :: MainframeActionTypeProperty, -- | See: properties :: (Prelude.Maybe MainframeActionPropertiesProperty), -- | See: resource :: (Value Prelude.Text)} deriving stock (Prelude.Eq, Prelude.Show) mkMainframeActionProperty :: MainframeActionTypeProperty -> Value Prelude.Text -> MainframeActionProperty mkMainframeActionProperty actionType resource = MainframeActionProperty {haddock_workaround_ = (), actionType = actionType, resource = resource, properties = Prelude.Nothing} instance ToResourceProperties MainframeActionProperty where toResourceProperties MainframeActionProperty {..} = ResourceProperties {awsType = "AWS::AppTest::TestCase.MainframeAction", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["ActionType" JSON..= actionType, "Resource" JSON..= resource] (Prelude.catMaybes [(JSON..=) "Properties" Prelude.<$> properties]))} instance JSON.ToJSON MainframeActionProperty where toJSON MainframeActionProperty {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["ActionType" JSON..= actionType, "Resource" JSON..= resource] (Prelude.catMaybes [(JSON..=) "Properties" Prelude.<$> properties]))) instance Property "ActionType" MainframeActionProperty where type PropertyType "ActionType" MainframeActionProperty = MainframeActionTypeProperty set newValue MainframeActionProperty {..} = MainframeActionProperty {actionType = newValue, ..} instance Property "Properties" MainframeActionProperty where type PropertyType "Properties" MainframeActionProperty = MainframeActionPropertiesProperty set newValue MainframeActionProperty {..} = MainframeActionProperty {properties = Prelude.pure newValue, ..} instance Property "Resource" MainframeActionProperty where type PropertyType "Resource" MainframeActionProperty = Value Prelude.Text set newValue MainframeActionProperty {..} = MainframeActionProperty {resource = newValue, ..}