module Stratosphere.Lex.Bot.IntentConfirmationSettingProperty ( module Exports, IntentConfirmationSettingProperty(..), mkIntentConfirmationSettingProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.Lex.Bot.ConditionalSpecificationProperty as Exports import {-# SOURCE #-} Stratosphere.Lex.Bot.DialogCodeHookInvocationSettingProperty as Exports import {-# SOURCE #-} Stratosphere.Lex.Bot.DialogStateProperty as Exports import {-# SOURCE #-} Stratosphere.Lex.Bot.ElicitationCodeHookInvocationSettingProperty as Exports import {-# SOURCE #-} Stratosphere.Lex.Bot.PromptSpecificationProperty as Exports import {-# SOURCE #-} Stratosphere.Lex.Bot.ResponseSpecificationProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data IntentConfirmationSettingProperty = -- | See: IntentConfirmationSettingProperty {haddock_workaround_ :: (), -- | See: codeHook :: (Prelude.Maybe DialogCodeHookInvocationSettingProperty), -- | See: confirmationConditional :: (Prelude.Maybe ConditionalSpecificationProperty), -- | See: confirmationNextStep :: (Prelude.Maybe DialogStateProperty), -- | See: confirmationResponse :: (Prelude.Maybe ResponseSpecificationProperty), -- | See: declinationConditional :: (Prelude.Maybe ConditionalSpecificationProperty), -- | See: declinationNextStep :: (Prelude.Maybe DialogStateProperty), -- | See: declinationResponse :: (Prelude.Maybe ResponseSpecificationProperty), -- | See: elicitationCodeHook :: (Prelude.Maybe ElicitationCodeHookInvocationSettingProperty), -- | See: failureConditional :: (Prelude.Maybe ConditionalSpecificationProperty), -- | See: failureNextStep :: (Prelude.Maybe DialogStateProperty), -- | See: failureResponse :: (Prelude.Maybe ResponseSpecificationProperty), -- | See: isActive :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: promptSpecification :: PromptSpecificationProperty} deriving stock (Prelude.Eq, Prelude.Show) mkIntentConfirmationSettingProperty :: PromptSpecificationProperty -> IntentConfirmationSettingProperty mkIntentConfirmationSettingProperty promptSpecification = IntentConfirmationSettingProperty {haddock_workaround_ = (), promptSpecification = promptSpecification, codeHook = Prelude.Nothing, confirmationConditional = Prelude.Nothing, confirmationNextStep = Prelude.Nothing, confirmationResponse = Prelude.Nothing, declinationConditional = Prelude.Nothing, declinationNextStep = Prelude.Nothing, declinationResponse = Prelude.Nothing, elicitationCodeHook = Prelude.Nothing, failureConditional = Prelude.Nothing, failureNextStep = Prelude.Nothing, failureResponse = Prelude.Nothing, isActive = Prelude.Nothing} instance ToResourceProperties IntentConfirmationSettingProperty where toResourceProperties IntentConfirmationSettingProperty {..} = ResourceProperties {awsType = "AWS::Lex::Bot.IntentConfirmationSetting", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["PromptSpecification" JSON..= promptSpecification] (Prelude.catMaybes [(JSON..=) "CodeHook" Prelude.<$> codeHook, (JSON..=) "ConfirmationConditional" Prelude.<$> confirmationConditional, (JSON..=) "ConfirmationNextStep" Prelude.<$> confirmationNextStep, (JSON..=) "ConfirmationResponse" Prelude.<$> confirmationResponse, (JSON..=) "DeclinationConditional" Prelude.<$> declinationConditional, (JSON..=) "DeclinationNextStep" Prelude.<$> declinationNextStep, (JSON..=) "DeclinationResponse" Prelude.<$> declinationResponse, (JSON..=) "ElicitationCodeHook" Prelude.<$> elicitationCodeHook, (JSON..=) "FailureConditional" Prelude.<$> failureConditional, (JSON..=) "FailureNextStep" Prelude.<$> failureNextStep, (JSON..=) "FailureResponse" Prelude.<$> failureResponse, (JSON..=) "IsActive" Prelude.<$> isActive]))} instance JSON.ToJSON IntentConfirmationSettingProperty where toJSON IntentConfirmationSettingProperty {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["PromptSpecification" JSON..= promptSpecification] (Prelude.catMaybes [(JSON..=) "CodeHook" Prelude.<$> codeHook, (JSON..=) "ConfirmationConditional" Prelude.<$> confirmationConditional, (JSON..=) "ConfirmationNextStep" Prelude.<$> confirmationNextStep, (JSON..=) "ConfirmationResponse" Prelude.<$> confirmationResponse, (JSON..=) "DeclinationConditional" Prelude.<$> declinationConditional, (JSON..=) "DeclinationNextStep" Prelude.<$> declinationNextStep, (JSON..=) "DeclinationResponse" Prelude.<$> declinationResponse, (JSON..=) "ElicitationCodeHook" Prelude.<$> elicitationCodeHook, (JSON..=) "FailureConditional" Prelude.<$> failureConditional, (JSON..=) "FailureNextStep" Prelude.<$> failureNextStep, (JSON..=) "FailureResponse" Prelude.<$> failureResponse, (JSON..=) "IsActive" Prelude.<$> isActive]))) instance Property "CodeHook" IntentConfirmationSettingProperty where type PropertyType "CodeHook" IntentConfirmationSettingProperty = DialogCodeHookInvocationSettingProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {codeHook = Prelude.pure newValue, ..} instance Property "ConfirmationConditional" IntentConfirmationSettingProperty where type PropertyType "ConfirmationConditional" IntentConfirmationSettingProperty = ConditionalSpecificationProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {confirmationConditional = Prelude.pure newValue, ..} instance Property "ConfirmationNextStep" IntentConfirmationSettingProperty where type PropertyType "ConfirmationNextStep" IntentConfirmationSettingProperty = DialogStateProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {confirmationNextStep = Prelude.pure newValue, ..} instance Property "ConfirmationResponse" IntentConfirmationSettingProperty where type PropertyType "ConfirmationResponse" IntentConfirmationSettingProperty = ResponseSpecificationProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {confirmationResponse = Prelude.pure newValue, ..} instance Property "DeclinationConditional" IntentConfirmationSettingProperty where type PropertyType "DeclinationConditional" IntentConfirmationSettingProperty = ConditionalSpecificationProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {declinationConditional = Prelude.pure newValue, ..} instance Property "DeclinationNextStep" IntentConfirmationSettingProperty where type PropertyType "DeclinationNextStep" IntentConfirmationSettingProperty = DialogStateProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {declinationNextStep = Prelude.pure newValue, ..} instance Property "DeclinationResponse" IntentConfirmationSettingProperty where type PropertyType "DeclinationResponse" IntentConfirmationSettingProperty = ResponseSpecificationProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {declinationResponse = Prelude.pure newValue, ..} instance Property "ElicitationCodeHook" IntentConfirmationSettingProperty where type PropertyType "ElicitationCodeHook" IntentConfirmationSettingProperty = ElicitationCodeHookInvocationSettingProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {elicitationCodeHook = Prelude.pure newValue, ..} instance Property "FailureConditional" IntentConfirmationSettingProperty where type PropertyType "FailureConditional" IntentConfirmationSettingProperty = ConditionalSpecificationProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {failureConditional = Prelude.pure newValue, ..} instance Property "FailureNextStep" IntentConfirmationSettingProperty where type PropertyType "FailureNextStep" IntentConfirmationSettingProperty = DialogStateProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {failureNextStep = Prelude.pure newValue, ..} instance Property "FailureResponse" IntentConfirmationSettingProperty where type PropertyType "FailureResponse" IntentConfirmationSettingProperty = ResponseSpecificationProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {failureResponse = Prelude.pure newValue, ..} instance Property "IsActive" IntentConfirmationSettingProperty where type PropertyType "IsActive" IntentConfirmationSettingProperty = Value Prelude.Bool set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {isActive = Prelude.pure newValue, ..} instance Property "PromptSpecification" IntentConfirmationSettingProperty where type PropertyType "PromptSpecification" IntentConfirmationSettingProperty = PromptSpecificationProperty set newValue IntentConfirmationSettingProperty {..} = IntentConfirmationSettingProperty {promptSpecification = newValue, ..}