packages feed

stratosphere-codebuild-1.0.0: gen/Stratosphere/CodeBuild/Project/ArtifactsProperty.hs

module Stratosphere.CodeBuild.Project.ArtifactsProperty (
        ArtifactsProperty(..), mkArtifactsProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ArtifactsProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html>
    ArtifactsProperty {haddock_workaround_ :: (),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-artifactidentifier>
                       artifactIdentifier :: (Prelude.Maybe (Value Prelude.Text)),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-encryptiondisabled>
                       encryptionDisabled :: (Prelude.Maybe (Value Prelude.Bool)),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-location>
                       location :: (Prelude.Maybe (Value Prelude.Text)),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-name>
                       name :: (Prelude.Maybe (Value Prelude.Text)),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-namespacetype>
                       namespaceType :: (Prelude.Maybe (Value Prelude.Text)),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-overrideartifactname>
                       overrideArtifactName :: (Prelude.Maybe (Value Prelude.Bool)),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-packaging>
                       packaging :: (Prelude.Maybe (Value Prelude.Text)),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-path>
                       path :: (Prelude.Maybe (Value Prelude.Text)),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-artifacts.html#cfn-codebuild-project-artifacts-type>
                       type' :: (Value Prelude.Text)}
  deriving stock (Prelude.Eq, Prelude.Show)
mkArtifactsProperty :: Value Prelude.Text -> ArtifactsProperty
mkArtifactsProperty type'
  = ArtifactsProperty
      {haddock_workaround_ = (), type' = type',
       artifactIdentifier = Prelude.Nothing,
       encryptionDisabled = Prelude.Nothing, location = Prelude.Nothing,
       name = Prelude.Nothing, namespaceType = Prelude.Nothing,
       overrideArtifactName = Prelude.Nothing,
       packaging = Prelude.Nothing, path = Prelude.Nothing}
instance ToResourceProperties ArtifactsProperty where
  toResourceProperties ArtifactsProperty {..}
    = ResourceProperties
        {awsType = "AWS::CodeBuild::Project.Artifacts",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        ((Prelude.<>)
                           ["Type" JSON..= type']
                           (Prelude.catMaybes
                              [(JSON..=) "ArtifactIdentifier" Prelude.<$> artifactIdentifier,
                               (JSON..=) "EncryptionDisabled" Prelude.<$> encryptionDisabled,
                               (JSON..=) "Location" Prelude.<$> location,
                               (JSON..=) "Name" Prelude.<$> name,
                               (JSON..=) "NamespaceType" Prelude.<$> namespaceType,
                               (JSON..=) "OverrideArtifactName" Prelude.<$> overrideArtifactName,
                               (JSON..=) "Packaging" Prelude.<$> packaging,
                               (JSON..=) "Path" Prelude.<$> path]))}
instance JSON.ToJSON ArtifactsProperty where
  toJSON ArtifactsProperty {..}
    = JSON.object
        (Prelude.fromList
           ((Prelude.<>)
              ["Type" JSON..= type']
              (Prelude.catMaybes
                 [(JSON..=) "ArtifactIdentifier" Prelude.<$> artifactIdentifier,
                  (JSON..=) "EncryptionDisabled" Prelude.<$> encryptionDisabled,
                  (JSON..=) "Location" Prelude.<$> location,
                  (JSON..=) "Name" Prelude.<$> name,
                  (JSON..=) "NamespaceType" Prelude.<$> namespaceType,
                  (JSON..=) "OverrideArtifactName" Prelude.<$> overrideArtifactName,
                  (JSON..=) "Packaging" Prelude.<$> packaging,
                  (JSON..=) "Path" Prelude.<$> path])))
instance Property "ArtifactIdentifier" ArtifactsProperty where
  type PropertyType "ArtifactIdentifier" ArtifactsProperty = Value Prelude.Text
  set newValue ArtifactsProperty {..}
    = ArtifactsProperty
        {artifactIdentifier = Prelude.pure newValue, ..}
instance Property "EncryptionDisabled" ArtifactsProperty where
  type PropertyType "EncryptionDisabled" ArtifactsProperty = Value Prelude.Bool
  set newValue ArtifactsProperty {..}
    = ArtifactsProperty
        {encryptionDisabled = Prelude.pure newValue, ..}
instance Property "Location" ArtifactsProperty where
  type PropertyType "Location" ArtifactsProperty = Value Prelude.Text
  set newValue ArtifactsProperty {..}
    = ArtifactsProperty {location = Prelude.pure newValue, ..}
instance Property "Name" ArtifactsProperty where
  type PropertyType "Name" ArtifactsProperty = Value Prelude.Text
  set newValue ArtifactsProperty {..}
    = ArtifactsProperty {name = Prelude.pure newValue, ..}
instance Property "NamespaceType" ArtifactsProperty where
  type PropertyType "NamespaceType" ArtifactsProperty = Value Prelude.Text
  set newValue ArtifactsProperty {..}
    = ArtifactsProperty {namespaceType = Prelude.pure newValue, ..}
instance Property "OverrideArtifactName" ArtifactsProperty where
  type PropertyType "OverrideArtifactName" ArtifactsProperty = Value Prelude.Bool
  set newValue ArtifactsProperty {..}
    = ArtifactsProperty
        {overrideArtifactName = Prelude.pure newValue, ..}
instance Property "Packaging" ArtifactsProperty where
  type PropertyType "Packaging" ArtifactsProperty = Value Prelude.Text
  set newValue ArtifactsProperty {..}
    = ArtifactsProperty {packaging = Prelude.pure newValue, ..}
instance Property "Path" ArtifactsProperty where
  type PropertyType "Path" ArtifactsProperty = Value Prelude.Text
  set newValue ArtifactsProperty {..}
    = ArtifactsProperty {path = Prelude.pure newValue, ..}
instance Property "Type" ArtifactsProperty where
  type PropertyType "Type" ArtifactsProperty = Value Prelude.Text
  set newValue ArtifactsProperty {..}
    = ArtifactsProperty {type' = newValue, ..}