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/iotsecuretunneling/IoTSecureTunneling_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 IoTSecureTunneling 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>An arbitary key/value pair used to add searchable metadata to secure tunnel 28 * resources.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/iotsecuretunneling-2018-10-05/Tag">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_IOTSECURETUNNELING_API Tag 33 { 34 public: 35 Tag(); 36 Tag(Aws::Utils::Json::JsonView jsonValue); 37 Tag& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The key of the tag.</p> 43 */ GetKey()44 inline const Aws::String& GetKey() const{ return m_key; } 45 46 /** 47 * <p>The key of the tag.</p> 48 */ KeyHasBeenSet()49 inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } 50 51 /** 52 * <p>The key of the tag.</p> 53 */ SetKey(const Aws::String & value)54 inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } 55 56 /** 57 * <p>The key of the tag.</p> 58 */ SetKey(Aws::String && value)59 inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } 60 61 /** 62 * <p>The key of the tag.</p> 63 */ SetKey(const char * value)64 inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } 65 66 /** 67 * <p>The key of the tag.</p> 68 */ WithKey(const Aws::String & value)69 inline Tag& WithKey(const Aws::String& value) { SetKey(value); return *this;} 70 71 /** 72 * <p>The key of the tag.</p> 73 */ WithKey(Aws::String && value)74 inline Tag& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} 75 76 /** 77 * <p>The key of the tag.</p> 78 */ WithKey(const char * value)79 inline Tag& WithKey(const char* value) { SetKey(value); return *this;} 80 81 82 /** 83 * <p>The value of the tag.</p> 84 */ GetValue()85 inline const Aws::String& GetValue() const{ return m_value; } 86 87 /** 88 * <p>The value of the tag.</p> 89 */ ValueHasBeenSet()90 inline bool ValueHasBeenSet() const { return m_valueHasBeenSet; } 91 92 /** 93 * <p>The value of the tag.</p> 94 */ SetValue(const Aws::String & value)95 inline void SetValue(const Aws::String& value) { m_valueHasBeenSet = true; m_value = value; } 96 97 /** 98 * <p>The value of the tag.</p> 99 */ SetValue(Aws::String && value)100 inline void SetValue(Aws::String&& value) { m_valueHasBeenSet = true; m_value = std::move(value); } 101 102 /** 103 * <p>The value of the tag.</p> 104 */ SetValue(const char * value)105 inline void SetValue(const char* value) { m_valueHasBeenSet = true; m_value.assign(value); } 106 107 /** 108 * <p>The value of the tag.</p> 109 */ WithValue(const Aws::String & value)110 inline Tag& WithValue(const Aws::String& value) { SetValue(value); return *this;} 111 112 /** 113 * <p>The value of the tag.</p> 114 */ WithValue(Aws::String && value)115 inline Tag& WithValue(Aws::String&& value) { SetValue(std::move(value)); return *this;} 116 117 /** 118 * <p>The value of the tag.</p> 119 */ WithValue(const char * value)120 inline Tag& WithValue(const char* value) { SetValue(value); return *this;} 121 122 private: 123 124 Aws::String m_key; 125 bool m_keyHasBeenSet; 126 127 Aws::String m_value; 128 bool m_valueHasBeenSet; 129 }; 130 131 } // namespace Model 132 } // namespace IoTSecureTunneling 133 } // namespace Aws 134