packages feed

stratosphere-codepipeline-1.0.0: gen/Stratosphere/CodePipeline/Pipeline/ActionDeclarationProperty.hs

module Stratosphere.CodePipeline.Pipeline.ActionDeclarationProperty (
        module Exports, ActionDeclarationProperty(..),
        mkActionDeclarationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.CodePipeline.Pipeline.ActionTypeIdProperty as Exports
import {-# SOURCE #-} Stratosphere.CodePipeline.Pipeline.EnvironmentVariableProperty as Exports
import {-# SOURCE #-} Stratosphere.CodePipeline.Pipeline.InputArtifactProperty as Exports
import {-# SOURCE #-} Stratosphere.CodePipeline.Pipeline.OutputArtifactProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ActionDeclarationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html>
    ActionDeclarationProperty {haddock_workaround_ :: (),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-actiontypeid>
                               actionTypeId :: ActionTypeIdProperty,
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-commands>
                               commands :: (Prelude.Maybe (ValueList Prelude.Text)),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-configuration>
                               configuration :: (Prelude.Maybe JSON.Object),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-environmentvariables>
                               environmentVariables :: (Prelude.Maybe [EnvironmentVariableProperty]),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-inputartifacts>
                               inputArtifacts :: (Prelude.Maybe [InputArtifactProperty]),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-name>
                               name :: (Value Prelude.Text),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-namespace>
                               namespace :: (Prelude.Maybe (Value Prelude.Text)),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-outputartifacts>
                               outputArtifacts :: (Prelude.Maybe [OutputArtifactProperty]),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-outputvariables>
                               outputVariables :: (Prelude.Maybe (ValueList Prelude.Text)),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-region>
                               region :: (Prelude.Maybe (Value Prelude.Text)),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-rolearn>
                               roleArn :: (Prelude.Maybe (Value Prelude.Text)),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-runorder>
                               runOrder :: (Prelude.Maybe (Value Prelude.Integer)),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-actiondeclaration.html#cfn-codepipeline-pipeline-actiondeclaration-timeoutinminutes>
                               timeoutInMinutes :: (Prelude.Maybe (Value Prelude.Integer))}
  deriving stock (Prelude.Eq, Prelude.Show)
mkActionDeclarationProperty ::
  ActionTypeIdProperty
  -> Value Prelude.Text -> ActionDeclarationProperty
mkActionDeclarationProperty actionTypeId name
  = ActionDeclarationProperty
      {haddock_workaround_ = (), actionTypeId = actionTypeId,
       name = name, commands = Prelude.Nothing,
       configuration = Prelude.Nothing,
       environmentVariables = Prelude.Nothing,
       inputArtifacts = Prelude.Nothing, namespace = Prelude.Nothing,
       outputArtifacts = Prelude.Nothing,
       outputVariables = Prelude.Nothing, region = Prelude.Nothing,
       roleArn = Prelude.Nothing, runOrder = Prelude.Nothing,
       timeoutInMinutes = Prelude.Nothing}
instance ToResourceProperties ActionDeclarationProperty where
  toResourceProperties ActionDeclarationProperty {..}
    = ResourceProperties
        {awsType = "AWS::CodePipeline::Pipeline.ActionDeclaration",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        ((Prelude.<>)
                           ["ActionTypeId" JSON..= actionTypeId, "Name" JSON..= name]
                           (Prelude.catMaybes
                              [(JSON..=) "Commands" Prelude.<$> commands,
                               (JSON..=) "Configuration" Prelude.<$> configuration,
                               (JSON..=) "EnvironmentVariables" Prelude.<$> environmentVariables,
                               (JSON..=) "InputArtifacts" Prelude.<$> inputArtifacts,
                               (JSON..=) "Namespace" Prelude.<$> namespace,
                               (JSON..=) "OutputArtifacts" Prelude.<$> outputArtifacts,
                               (JSON..=) "OutputVariables" Prelude.<$> outputVariables,
                               (JSON..=) "Region" Prelude.<$> region,
                               (JSON..=) "RoleArn" Prelude.<$> roleArn,
                               (JSON..=) "RunOrder" Prelude.<$> runOrder,
                               (JSON..=) "TimeoutInMinutes" Prelude.<$> timeoutInMinutes]))}
instance JSON.ToJSON ActionDeclarationProperty where
  toJSON ActionDeclarationProperty {..}
    = JSON.object
        (Prelude.fromList
           ((Prelude.<>)
              ["ActionTypeId" JSON..= actionTypeId, "Name" JSON..= name]
              (Prelude.catMaybes
                 [(JSON..=) "Commands" Prelude.<$> commands,
                  (JSON..=) "Configuration" Prelude.<$> configuration,
                  (JSON..=) "EnvironmentVariables" Prelude.<$> environmentVariables,
                  (JSON..=) "InputArtifacts" Prelude.<$> inputArtifacts,
                  (JSON..=) "Namespace" Prelude.<$> namespace,
                  (JSON..=) "OutputArtifacts" Prelude.<$> outputArtifacts,
                  (JSON..=) "OutputVariables" Prelude.<$> outputVariables,
                  (JSON..=) "Region" Prelude.<$> region,
                  (JSON..=) "RoleArn" Prelude.<$> roleArn,
                  (JSON..=) "RunOrder" Prelude.<$> runOrder,
                  (JSON..=) "TimeoutInMinutes" Prelude.<$> timeoutInMinutes])))
instance Property "ActionTypeId" ActionDeclarationProperty where
  type PropertyType "ActionTypeId" ActionDeclarationProperty = ActionTypeIdProperty
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty {actionTypeId = newValue, ..}
instance Property "Commands" ActionDeclarationProperty where
  type PropertyType "Commands" ActionDeclarationProperty = ValueList Prelude.Text
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty {commands = Prelude.pure newValue, ..}
instance Property "Configuration" ActionDeclarationProperty where
  type PropertyType "Configuration" ActionDeclarationProperty = JSON.Object
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty
        {configuration = Prelude.pure newValue, ..}
instance Property "EnvironmentVariables" ActionDeclarationProperty where
  type PropertyType "EnvironmentVariables" ActionDeclarationProperty = [EnvironmentVariableProperty]
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty
        {environmentVariables = Prelude.pure newValue, ..}
instance Property "InputArtifacts" ActionDeclarationProperty where
  type PropertyType "InputArtifacts" ActionDeclarationProperty = [InputArtifactProperty]
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty
        {inputArtifacts = Prelude.pure newValue, ..}
instance Property "Name" ActionDeclarationProperty where
  type PropertyType "Name" ActionDeclarationProperty = Value Prelude.Text
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty {name = newValue, ..}
instance Property "Namespace" ActionDeclarationProperty where
  type PropertyType "Namespace" ActionDeclarationProperty = Value Prelude.Text
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty {namespace = Prelude.pure newValue, ..}
instance Property "OutputArtifacts" ActionDeclarationProperty where
  type PropertyType "OutputArtifacts" ActionDeclarationProperty = [OutputArtifactProperty]
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty
        {outputArtifacts = Prelude.pure newValue, ..}
instance Property "OutputVariables" ActionDeclarationProperty where
  type PropertyType "OutputVariables" ActionDeclarationProperty = ValueList Prelude.Text
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty
        {outputVariables = Prelude.pure newValue, ..}
instance Property "Region" ActionDeclarationProperty where
  type PropertyType "Region" ActionDeclarationProperty = Value Prelude.Text
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty {region = Prelude.pure newValue, ..}
instance Property "RoleArn" ActionDeclarationProperty where
  type PropertyType "RoleArn" ActionDeclarationProperty = Value Prelude.Text
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty {roleArn = Prelude.pure newValue, ..}
instance Property "RunOrder" ActionDeclarationProperty where
  type PropertyType "RunOrder" ActionDeclarationProperty = Value Prelude.Integer
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty {runOrder = Prelude.pure newValue, ..}
instance Property "TimeoutInMinutes" ActionDeclarationProperty where
  type PropertyType "TimeoutInMinutes" ActionDeclarationProperty = Value Prelude.Integer
  set newValue ActionDeclarationProperty {..}
    = ActionDeclarationProperty
        {timeoutInMinutes = Prelude.pure newValue, ..}