stratosphere-codebuild-1.0.0: gen/Stratosphere/CodeBuild/Project/SourceProperty.hs
module Stratosphere.CodeBuild.Project.SourceProperty (
module Exports, SourceProperty(..), mkSourceProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.CodeBuild.Project.BuildStatusConfigProperty as Exports
import {-# SOURCE #-} Stratosphere.CodeBuild.Project.GitSubmodulesConfigProperty as Exports
import {-# SOURCE #-} Stratosphere.CodeBuild.Project.SourceAuthProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SourceProperty
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html>
SourceProperty {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-auth>
auth :: (Prelude.Maybe SourceAuthProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-buildspec>
buildSpec :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-buildstatusconfig>
buildStatusConfig :: (Prelude.Maybe BuildStatusConfigProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitclonedepth>
gitCloneDepth :: (Prelude.Maybe (Value Prelude.Integer)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-gitsubmodulesconfig>
gitSubmodulesConfig :: (Prelude.Maybe GitSubmodulesConfigProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-insecuressl>
insecureSsl :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-location>
location :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-reportbuildstatus>
reportBuildStatus :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-sourceidentifier>
sourceIdentifier :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-source.html#cfn-codebuild-project-source-type>
type' :: (Value Prelude.Text)}
deriving stock (Prelude.Eq, Prelude.Show)
mkSourceProperty :: Value Prelude.Text -> SourceProperty
mkSourceProperty type'
= SourceProperty
{haddock_workaround_ = (), type' = type', auth = Prelude.Nothing,
buildSpec = Prelude.Nothing, buildStatusConfig = Prelude.Nothing,
gitCloneDepth = Prelude.Nothing,
gitSubmodulesConfig = Prelude.Nothing,
insecureSsl = Prelude.Nothing, location = Prelude.Nothing,
reportBuildStatus = Prelude.Nothing,
sourceIdentifier = Prelude.Nothing}
instance ToResourceProperties SourceProperty where
toResourceProperties SourceProperty {..}
= ResourceProperties
{awsType = "AWS::CodeBuild::Project.Source",
supportsTags = Prelude.False,
properties = Prelude.fromList
((Prelude.<>)
["Type" JSON..= type']
(Prelude.catMaybes
[(JSON..=) "Auth" Prelude.<$> auth,
(JSON..=) "BuildSpec" Prelude.<$> buildSpec,
(JSON..=) "BuildStatusConfig" Prelude.<$> buildStatusConfig,
(JSON..=) "GitCloneDepth" Prelude.<$> gitCloneDepth,
(JSON..=) "GitSubmodulesConfig" Prelude.<$> gitSubmodulesConfig,
(JSON..=) "InsecureSsl" Prelude.<$> insecureSsl,
(JSON..=) "Location" Prelude.<$> location,
(JSON..=) "ReportBuildStatus" Prelude.<$> reportBuildStatus,
(JSON..=) "SourceIdentifier" Prelude.<$> sourceIdentifier]))}
instance JSON.ToJSON SourceProperty where
toJSON SourceProperty {..}
= JSON.object
(Prelude.fromList
((Prelude.<>)
["Type" JSON..= type']
(Prelude.catMaybes
[(JSON..=) "Auth" Prelude.<$> auth,
(JSON..=) "BuildSpec" Prelude.<$> buildSpec,
(JSON..=) "BuildStatusConfig" Prelude.<$> buildStatusConfig,
(JSON..=) "GitCloneDepth" Prelude.<$> gitCloneDepth,
(JSON..=) "GitSubmodulesConfig" Prelude.<$> gitSubmodulesConfig,
(JSON..=) "InsecureSsl" Prelude.<$> insecureSsl,
(JSON..=) "Location" Prelude.<$> location,
(JSON..=) "ReportBuildStatus" Prelude.<$> reportBuildStatus,
(JSON..=) "SourceIdentifier" Prelude.<$> sourceIdentifier])))
instance Property "Auth" SourceProperty where
type PropertyType "Auth" SourceProperty = SourceAuthProperty
set newValue SourceProperty {..}
= SourceProperty {auth = Prelude.pure newValue, ..}
instance Property "BuildSpec" SourceProperty where
type PropertyType "BuildSpec" SourceProperty = Value Prelude.Text
set newValue SourceProperty {..}
= SourceProperty {buildSpec = Prelude.pure newValue, ..}
instance Property "BuildStatusConfig" SourceProperty where
type PropertyType "BuildStatusConfig" SourceProperty = BuildStatusConfigProperty
set newValue SourceProperty {..}
= SourceProperty {buildStatusConfig = Prelude.pure newValue, ..}
instance Property "GitCloneDepth" SourceProperty where
type PropertyType "GitCloneDepth" SourceProperty = Value Prelude.Integer
set newValue SourceProperty {..}
= SourceProperty {gitCloneDepth = Prelude.pure newValue, ..}
instance Property "GitSubmodulesConfig" SourceProperty where
type PropertyType "GitSubmodulesConfig" SourceProperty = GitSubmodulesConfigProperty
set newValue SourceProperty {..}
= SourceProperty {gitSubmodulesConfig = Prelude.pure newValue, ..}
instance Property "InsecureSsl" SourceProperty where
type PropertyType "InsecureSsl" SourceProperty = Value Prelude.Bool
set newValue SourceProperty {..}
= SourceProperty {insecureSsl = Prelude.pure newValue, ..}
instance Property "Location" SourceProperty where
type PropertyType "Location" SourceProperty = Value Prelude.Text
set newValue SourceProperty {..}
= SourceProperty {location = Prelude.pure newValue, ..}
instance Property "ReportBuildStatus" SourceProperty where
type PropertyType "ReportBuildStatus" SourceProperty = Value Prelude.Bool
set newValue SourceProperty {..}
= SourceProperty {reportBuildStatus = Prelude.pure newValue, ..}
instance Property "SourceIdentifier" SourceProperty where
type PropertyType "SourceIdentifier" SourceProperty = Value Prelude.Text
set newValue SourceProperty {..}
= SourceProperty {sourceIdentifier = Prelude.pure newValue, ..}
instance Property "Type" SourceProperty where
type PropertyType "Type" SourceProperty = Value Prelude.Text
set newValue SourceProperty {..}
= SourceProperty {type' = newValue, ..}