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/lex-models/LexModelBuildingService_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.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 LexModelBuildingService 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Identifies the specific version of an intent.</p><p><h3>See Also:</h3> <a 28 * href="http://docs.aws.amazon.com/goto/WebAPI/lex-models-2017-04-19/Intent">AWS 29 * API Reference</a></p> 30 */ 31 class AWS_LEXMODELBUILDINGSERVICE_API Intent 32 { 33 public: 34 Intent(); 35 Intent(Aws::Utils::Json::JsonView jsonValue); 36 Intent& operator=(Aws::Utils::Json::JsonView jsonValue); 37 Aws::Utils::Json::JsonValue Jsonize() const; 38 39 40 /** 41 * <p>The name of the intent.</p> 42 */ GetIntentName()43 inline const Aws::String& GetIntentName() const{ return m_intentName; } 44 45 /** 46 * <p>The name of the intent.</p> 47 */ IntentNameHasBeenSet()48 inline bool IntentNameHasBeenSet() const { return m_intentNameHasBeenSet; } 49 50 /** 51 * <p>The name of the intent.</p> 52 */ SetIntentName(const Aws::String & value)53 inline void SetIntentName(const Aws::String& value) { m_intentNameHasBeenSet = true; m_intentName = value; } 54 55 /** 56 * <p>The name of the intent.</p> 57 */ SetIntentName(Aws::String && value)58 inline void SetIntentName(Aws::String&& value) { m_intentNameHasBeenSet = true; m_intentName = std::move(value); } 59 60 /** 61 * <p>The name of the intent.</p> 62 */ SetIntentName(const char * value)63 inline void SetIntentName(const char* value) { m_intentNameHasBeenSet = true; m_intentName.assign(value); } 64 65 /** 66 * <p>The name of the intent.</p> 67 */ WithIntentName(const Aws::String & value)68 inline Intent& WithIntentName(const Aws::String& value) { SetIntentName(value); return *this;} 69 70 /** 71 * <p>The name of the intent.</p> 72 */ WithIntentName(Aws::String && value)73 inline Intent& WithIntentName(Aws::String&& value) { SetIntentName(std::move(value)); return *this;} 74 75 /** 76 * <p>The name of the intent.</p> 77 */ WithIntentName(const char * value)78 inline Intent& WithIntentName(const char* value) { SetIntentName(value); return *this;} 79 80 81 /** 82 * <p>The version of the intent.</p> 83 */ GetIntentVersion()84 inline const Aws::String& GetIntentVersion() const{ return m_intentVersion; } 85 86 /** 87 * <p>The version of the intent.</p> 88 */ IntentVersionHasBeenSet()89 inline bool IntentVersionHasBeenSet() const { return m_intentVersionHasBeenSet; } 90 91 /** 92 * <p>The version of the intent.</p> 93 */ SetIntentVersion(const Aws::String & value)94 inline void SetIntentVersion(const Aws::String& value) { m_intentVersionHasBeenSet = true; m_intentVersion = value; } 95 96 /** 97 * <p>The version of the intent.</p> 98 */ SetIntentVersion(Aws::String && value)99 inline void SetIntentVersion(Aws::String&& value) { m_intentVersionHasBeenSet = true; m_intentVersion = std::move(value); } 100 101 /** 102 * <p>The version of the intent.</p> 103 */ SetIntentVersion(const char * value)104 inline void SetIntentVersion(const char* value) { m_intentVersionHasBeenSet = true; m_intentVersion.assign(value); } 105 106 /** 107 * <p>The version of the intent.</p> 108 */ WithIntentVersion(const Aws::String & value)109 inline Intent& WithIntentVersion(const Aws::String& value) { SetIntentVersion(value); return *this;} 110 111 /** 112 * <p>The version of the intent.</p> 113 */ WithIntentVersion(Aws::String && value)114 inline Intent& WithIntentVersion(Aws::String&& value) { SetIntentVersion(std::move(value)); return *this;} 115 116 /** 117 * <p>The version of the intent.</p> 118 */ WithIntentVersion(const char * value)119 inline Intent& WithIntentVersion(const char* value) { SetIntentVersion(value); return *this;} 120 121 private: 122 123 Aws::String m_intentName; 124 bool m_intentNameHasBeenSet; 125 126 Aws::String m_intentVersion; 127 bool m_intentVersionHasBeenSet; 128 }; 129 130 } // namespace Model 131 } // namespace LexModelBuildingService 132 } // namespace Aws 133