packages feed

stratosphere-apprunner-1.0.0: gen/Stratosphere/AppRunner/Service/SourceConfigurationProperty.hs

module Stratosphere.AppRunner.Service.SourceConfigurationProperty (
        module Exports, SourceConfigurationProperty(..),
        mkSourceConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.AppRunner.Service.AuthenticationConfigurationProperty as Exports
import {-# SOURCE #-} Stratosphere.AppRunner.Service.CodeRepositoryProperty as Exports
import {-# SOURCE #-} Stratosphere.AppRunner.Service.ImageRepositoryProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SourceConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html>
    SourceConfigurationProperty {haddock_workaround_ :: (),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html#cfn-apprunner-service-sourceconfiguration-authenticationconfiguration>
                                 authenticationConfiguration :: (Prelude.Maybe AuthenticationConfigurationProperty),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html#cfn-apprunner-service-sourceconfiguration-autodeploymentsenabled>
                                 autoDeploymentsEnabled :: (Prelude.Maybe (Value Prelude.Bool)),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html#cfn-apprunner-service-sourceconfiguration-coderepository>
                                 codeRepository :: (Prelude.Maybe CodeRepositoryProperty),
                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apprunner-service-sourceconfiguration.html#cfn-apprunner-service-sourceconfiguration-imagerepository>
                                 imageRepository :: (Prelude.Maybe ImageRepositoryProperty)}
  deriving stock (Prelude.Eq, Prelude.Show)
mkSourceConfigurationProperty :: SourceConfigurationProperty
mkSourceConfigurationProperty
  = SourceConfigurationProperty
      {haddock_workaround_ = (),
       authenticationConfiguration = Prelude.Nothing,
       autoDeploymentsEnabled = Prelude.Nothing,
       codeRepository = Prelude.Nothing,
       imageRepository = Prelude.Nothing}
instance ToResourceProperties SourceConfigurationProperty where
  toResourceProperties SourceConfigurationProperty {..}
    = ResourceProperties
        {awsType = "AWS::AppRunner::Service.SourceConfiguration",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        (Prelude.catMaybes
                           [(JSON..=) "AuthenticationConfiguration"
                              Prelude.<$> authenticationConfiguration,
                            (JSON..=) "AutoDeploymentsEnabled"
                              Prelude.<$> autoDeploymentsEnabled,
                            (JSON..=) "CodeRepository" Prelude.<$> codeRepository,
                            (JSON..=) "ImageRepository" Prelude.<$> imageRepository])}
instance JSON.ToJSON SourceConfigurationProperty where
  toJSON SourceConfigurationProperty {..}
    = JSON.object
        (Prelude.fromList
           (Prelude.catMaybes
              [(JSON..=) "AuthenticationConfiguration"
                 Prelude.<$> authenticationConfiguration,
               (JSON..=) "AutoDeploymentsEnabled"
                 Prelude.<$> autoDeploymentsEnabled,
               (JSON..=) "CodeRepository" Prelude.<$> codeRepository,
               (JSON..=) "ImageRepository" Prelude.<$> imageRepository]))
instance Property "AuthenticationConfiguration" SourceConfigurationProperty where
  type PropertyType "AuthenticationConfiguration" SourceConfigurationProperty = AuthenticationConfigurationProperty
  set newValue SourceConfigurationProperty {..}
    = SourceConfigurationProperty
        {authenticationConfiguration = Prelude.pure newValue, ..}
instance Property "AutoDeploymentsEnabled" SourceConfigurationProperty where
  type PropertyType "AutoDeploymentsEnabled" SourceConfigurationProperty = Value Prelude.Bool
  set newValue SourceConfigurationProperty {..}
    = SourceConfigurationProperty
        {autoDeploymentsEnabled = Prelude.pure newValue, ..}
instance Property "CodeRepository" SourceConfigurationProperty where
  type PropertyType "CodeRepository" SourceConfigurationProperty = CodeRepositoryProperty
  set newValue SourceConfigurationProperty {..}
    = SourceConfigurationProperty
        {codeRepository = Prelude.pure newValue, ..}
instance Property "ImageRepository" SourceConfigurationProperty where
  type PropertyType "ImageRepository" SourceConfigurationProperty = ImageRepositoryProperty
  set newValue SourceConfigurationProperty {..}
    = SourceConfigurationProperty
        {imageRepository = Prelude.pure newValue, ..}