packages feed

stratosphere-ask-1.0.0: gen/Stratosphere/ASK/Skill/SkillPackageProperty.hs

module Stratosphere.ASK.Skill.SkillPackageProperty (
        module Exports, SkillPackageProperty(..), mkSkillPackageProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.ASK.Skill.OverridesProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SkillPackageProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html>
    SkillPackageProperty {haddock_workaround_ :: (),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-overrides>
                          overrides :: (Prelude.Maybe OverridesProperty),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3bucket>
                          s3Bucket :: (Value Prelude.Text),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3bucketrole>
                          s3BucketRole :: (Prelude.Maybe (Value Prelude.Text)),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3key>
                          s3Key :: (Value Prelude.Text),
                          -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ask-skill-skillpackage.html#cfn-ask-skill-skillpackage-s3objectversion>
                          s3ObjectVersion :: (Prelude.Maybe (Value Prelude.Text))}
  deriving stock (Prelude.Eq, Prelude.Show)
mkSkillPackageProperty ::
  Value Prelude.Text -> Value Prelude.Text -> SkillPackageProperty
mkSkillPackageProperty s3Bucket s3Key
  = SkillPackageProperty
      {haddock_workaround_ = (), s3Bucket = s3Bucket, s3Key = s3Key,
       overrides = Prelude.Nothing, s3BucketRole = Prelude.Nothing,
       s3ObjectVersion = Prelude.Nothing}
instance ToResourceProperties SkillPackageProperty where
  toResourceProperties SkillPackageProperty {..}
    = ResourceProperties
        {awsType = "Alexa::ASK::Skill.SkillPackage",
         supportsTags = Prelude.False,
         properties = Prelude.fromList
                        ((Prelude.<>)
                           ["S3Bucket" JSON..= s3Bucket, "S3Key" JSON..= s3Key]
                           (Prelude.catMaybes
                              [(JSON..=) "Overrides" Prelude.<$> overrides,
                               (JSON..=) "S3BucketRole" Prelude.<$> s3BucketRole,
                               (JSON..=) "S3ObjectVersion" Prelude.<$> s3ObjectVersion]))}
instance JSON.ToJSON SkillPackageProperty where
  toJSON SkillPackageProperty {..}
    = JSON.object
        (Prelude.fromList
           ((Prelude.<>)
              ["S3Bucket" JSON..= s3Bucket, "S3Key" JSON..= s3Key]
              (Prelude.catMaybes
                 [(JSON..=) "Overrides" Prelude.<$> overrides,
                  (JSON..=) "S3BucketRole" Prelude.<$> s3BucketRole,
                  (JSON..=) "S3ObjectVersion" Prelude.<$> s3ObjectVersion])))
instance Property "Overrides" SkillPackageProperty where
  type PropertyType "Overrides" SkillPackageProperty = OverridesProperty
  set newValue SkillPackageProperty {..}
    = SkillPackageProperty {overrides = Prelude.pure newValue, ..}
instance Property "S3Bucket" SkillPackageProperty where
  type PropertyType "S3Bucket" SkillPackageProperty = Value Prelude.Text
  set newValue SkillPackageProperty {..}
    = SkillPackageProperty {s3Bucket = newValue, ..}
instance Property "S3BucketRole" SkillPackageProperty where
  type PropertyType "S3BucketRole" SkillPackageProperty = Value Prelude.Text
  set newValue SkillPackageProperty {..}
    = SkillPackageProperty {s3BucketRole = Prelude.pure newValue, ..}
instance Property "S3Key" SkillPackageProperty where
  type PropertyType "S3Key" SkillPackageProperty = Value Prelude.Text
  set newValue SkillPackageProperty {..}
    = SkillPackageProperty {s3Key = newValue, ..}
instance Property "S3ObjectVersion" SkillPackageProperty where
  type PropertyType "S3ObjectVersion" SkillPackageProperty = Value Prelude.Text
  set newValue SkillPackageProperty {..}
    = SkillPackageProperty
        {s3ObjectVersion = Prelude.pure newValue, ..}