1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/lexv2-models/LexModelsV2_EXPORTS.h> 8 #include <aws/lexv2-models/model/ResponseSpecification.h> 9 #include <utility> 10 11 namespace Aws 12 { 13 namespace Utils 14 { 15 namespace Json 16 { 17 class JsonValue; 18 class JsonView; 19 } // namespace Json 20 } // namespace Utils 21 namespace LexModelsV2 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Provides a setting that determines whether the post-fulfillment response is 28 * sent to the user. For more information, see <a 29 * href="https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete">https://docs.aws.amazon.com/lexv2/latest/dg/streaming-progress.html#progress-complete</a> 30 * </p><p><h3>See Also:</h3> <a 31 * href="http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/PostFulfillmentStatusSpecification">AWS 32 * API Reference</a></p> 33 */ 34 class AWS_LEXMODELSV2_API PostFulfillmentStatusSpecification 35 { 36 public: 37 PostFulfillmentStatusSpecification(); 38 PostFulfillmentStatusSpecification(Aws::Utils::Json::JsonView jsonValue); 39 PostFulfillmentStatusSpecification& operator=(Aws::Utils::Json::JsonView jsonValue); 40 Aws::Utils::Json::JsonValue Jsonize() const; 41 42 43 GetSuccessResponse()44 inline const ResponseSpecification& GetSuccessResponse() const{ return m_successResponse; } 45 46 SuccessResponseHasBeenSet()47 inline bool SuccessResponseHasBeenSet() const { return m_successResponseHasBeenSet; } 48 49 SetSuccessResponse(const ResponseSpecification & value)50 inline void SetSuccessResponse(const ResponseSpecification& value) { m_successResponseHasBeenSet = true; m_successResponse = value; } 51 52 SetSuccessResponse(ResponseSpecification && value)53 inline void SetSuccessResponse(ResponseSpecification&& value) { m_successResponseHasBeenSet = true; m_successResponse = std::move(value); } 54 55 WithSuccessResponse(const ResponseSpecification & value)56 inline PostFulfillmentStatusSpecification& WithSuccessResponse(const ResponseSpecification& value) { SetSuccessResponse(value); return *this;} 57 58 WithSuccessResponse(ResponseSpecification && value)59 inline PostFulfillmentStatusSpecification& WithSuccessResponse(ResponseSpecification&& value) { SetSuccessResponse(std::move(value)); return *this;} 60 61 62 GetFailureResponse()63 inline const ResponseSpecification& GetFailureResponse() const{ return m_failureResponse; } 64 65 FailureResponseHasBeenSet()66 inline bool FailureResponseHasBeenSet() const { return m_failureResponseHasBeenSet; } 67 68 SetFailureResponse(const ResponseSpecification & value)69 inline void SetFailureResponse(const ResponseSpecification& value) { m_failureResponseHasBeenSet = true; m_failureResponse = value; } 70 71 SetFailureResponse(ResponseSpecification && value)72 inline void SetFailureResponse(ResponseSpecification&& value) { m_failureResponseHasBeenSet = true; m_failureResponse = std::move(value); } 73 74 WithFailureResponse(const ResponseSpecification & value)75 inline PostFulfillmentStatusSpecification& WithFailureResponse(const ResponseSpecification& value) { SetFailureResponse(value); return *this;} 76 77 WithFailureResponse(ResponseSpecification && value)78 inline PostFulfillmentStatusSpecification& WithFailureResponse(ResponseSpecification&& value) { SetFailureResponse(std::move(value)); return *this;} 79 80 81 GetTimeoutResponse()82 inline const ResponseSpecification& GetTimeoutResponse() const{ return m_timeoutResponse; } 83 84 TimeoutResponseHasBeenSet()85 inline bool TimeoutResponseHasBeenSet() const { return m_timeoutResponseHasBeenSet; } 86 87 SetTimeoutResponse(const ResponseSpecification & value)88 inline void SetTimeoutResponse(const ResponseSpecification& value) { m_timeoutResponseHasBeenSet = true; m_timeoutResponse = value; } 89 90 SetTimeoutResponse(ResponseSpecification && value)91 inline void SetTimeoutResponse(ResponseSpecification&& value) { m_timeoutResponseHasBeenSet = true; m_timeoutResponse = std::move(value); } 92 93 WithTimeoutResponse(const ResponseSpecification & value)94 inline PostFulfillmentStatusSpecification& WithTimeoutResponse(const ResponseSpecification& value) { SetTimeoutResponse(value); return *this;} 95 96 WithTimeoutResponse(ResponseSpecification && value)97 inline PostFulfillmentStatusSpecification& WithTimeoutResponse(ResponseSpecification&& value) { SetTimeoutResponse(std::move(value)); return *this;} 98 99 private: 100 101 ResponseSpecification m_successResponse; 102 bool m_successResponseHasBeenSet; 103 104 ResponseSpecification m_failureResponse; 105 bool m_failureResponseHasBeenSet; 106 107 ResponseSpecification m_timeoutResponse; 108 bool m_timeoutResponseHasBeenSet; 109 }; 110 111 } // namespace Model 112 } // namespace LexModelsV2 113 } // namespace Aws 114