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/pinpoint/Pinpoint_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 Pinpoint 22 { 23 namespace Model 24 { 25 26 /** 27 * <p>Specifies the name and version of the message template to use for the 28 * message.</p><p><h3>See Also:</h3> <a 29 * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/Template">AWS 30 * API Reference</a></p> 31 */ 32 class AWS_PINPOINT_API Template 33 { 34 public: 35 Template(); 36 Template(Aws::Utils::Json::JsonView jsonValue); 37 Template& operator=(Aws::Utils::Json::JsonView jsonValue); 38 Aws::Utils::Json::JsonValue Jsonize() const; 39 40 41 /** 42 * <p>The name of the message template to use for the message. If specified, this 43 * value must match the name of an existing message template.</p> 44 */ GetName()45 inline const Aws::String& GetName() const{ return m_name; } 46 47 /** 48 * <p>The name of the message template to use for the message. If specified, this 49 * value must match the name of an existing message template.</p> 50 */ NameHasBeenSet()51 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 52 53 /** 54 * <p>The name of the message template to use for the message. If specified, this 55 * value must match the name of an existing message template.</p> 56 */ SetName(const Aws::String & value)57 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 58 59 /** 60 * <p>The name of the message template to use for the message. If specified, this 61 * value must match the name of an existing message template.</p> 62 */ SetName(Aws::String && value)63 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 64 65 /** 66 * <p>The name of the message template to use for the message. If specified, this 67 * value must match the name of an existing message template.</p> 68 */ SetName(const char * value)69 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 70 71 /** 72 * <p>The name of the message template to use for the message. If specified, this 73 * value must match the name of an existing message template.</p> 74 */ WithName(const Aws::String & value)75 inline Template& WithName(const Aws::String& value) { SetName(value); return *this;} 76 77 /** 78 * <p>The name of the message template to use for the message. If specified, this 79 * value must match the name of an existing message template.</p> 80 */ WithName(Aws::String && value)81 inline Template& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 82 83 /** 84 * <p>The name of the message template to use for the message. If specified, this 85 * value must match the name of an existing message template.</p> 86 */ WithName(const char * value)87 inline Template& WithName(const char* value) { SetName(value); return *this;} 88 89 90 /** 91 * <p>The unique identifier for the version of the message template to use for the 92 * message. If specified, this value must match the identifier for an existing 93 * template version. To retrieve a list of versions and version identifiers for a 94 * template, use the <link 95 * linkend="templates-template-name-template-type-versions">Template 96 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 97 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 98 * version</i> is typically the version of a template that's been most recently 99 * reviewed and approved for use, depending on your workflow. It isn't necessarily 100 * the latest version of a template.</p> 101 */ GetVersion()102 inline const Aws::String& GetVersion() const{ return m_version; } 103 104 /** 105 * <p>The unique identifier for the version of the message template to use for the 106 * message. If specified, this value must match the identifier for an existing 107 * template version. To retrieve a list of versions and version identifiers for a 108 * template, use the <link 109 * linkend="templates-template-name-template-type-versions">Template 110 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 111 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 112 * version</i> is typically the version of a template that's been most recently 113 * reviewed and approved for use, depending on your workflow. It isn't necessarily 114 * the latest version of a template.</p> 115 */ VersionHasBeenSet()116 inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } 117 118 /** 119 * <p>The unique identifier for the version of the message template to use for the 120 * message. If specified, this value must match the identifier for an existing 121 * template version. To retrieve a list of versions and version identifiers for a 122 * template, use the <link 123 * linkend="templates-template-name-template-type-versions">Template 124 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 125 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 126 * version</i> is typically the version of a template that's been most recently 127 * reviewed and approved for use, depending on your workflow. It isn't necessarily 128 * the latest version of a template.</p> 129 */ SetVersion(const Aws::String & value)130 inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } 131 132 /** 133 * <p>The unique identifier for the version of the message template to use for the 134 * message. If specified, this value must match the identifier for an existing 135 * template version. To retrieve a list of versions and version identifiers for a 136 * template, use the <link 137 * linkend="templates-template-name-template-type-versions">Template 138 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 139 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 140 * version</i> is typically the version of a template that's been most recently 141 * reviewed and approved for use, depending on your workflow. It isn't necessarily 142 * the latest version of a template.</p> 143 */ SetVersion(Aws::String && value)144 inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } 145 146 /** 147 * <p>The unique identifier for the version of the message template to use for the 148 * message. If specified, this value must match the identifier for an existing 149 * template version. To retrieve a list of versions and version identifiers for a 150 * template, use the <link 151 * linkend="templates-template-name-template-type-versions">Template 152 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 153 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 154 * version</i> is typically the version of a template that's been most recently 155 * reviewed and approved for use, depending on your workflow. It isn't necessarily 156 * the latest version of a template.</p> 157 */ SetVersion(const char * value)158 inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } 159 160 /** 161 * <p>The unique identifier for the version of the message template to use for the 162 * message. If specified, this value must match the identifier for an existing 163 * template version. To retrieve a list of versions and version identifiers for a 164 * template, use the <link 165 * linkend="templates-template-name-template-type-versions">Template 166 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 167 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 168 * version</i> is typically the version of a template that's been most recently 169 * reviewed and approved for use, depending on your workflow. It isn't necessarily 170 * the latest version of a template.</p> 171 */ WithVersion(const Aws::String & value)172 inline Template& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} 173 174 /** 175 * <p>The unique identifier for the version of the message template to use for the 176 * message. If specified, this value must match the identifier for an existing 177 * template version. To retrieve a list of versions and version identifiers for a 178 * template, use the <link 179 * linkend="templates-template-name-template-type-versions">Template 180 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 181 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 182 * version</i> is typically the version of a template that's been most recently 183 * reviewed and approved for use, depending on your workflow. It isn't necessarily 184 * the latest version of a template.</p> 185 */ WithVersion(Aws::String && value)186 inline Template& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} 187 188 /** 189 * <p>The unique identifier for the version of the message template to use for the 190 * message. If specified, this value must match the identifier for an existing 191 * template version. To retrieve a list of versions and version identifiers for a 192 * template, use the <link 193 * linkend="templates-template-name-template-type-versions">Template 194 * Versions</link> resource.</p> <p>If you don't specify a value for this property, 195 * Amazon Pinpoint uses the <i>active version</i> of the template. The <i>active 196 * version</i> is typically the version of a template that's been most recently 197 * reviewed and approved for use, depending on your workflow. It isn't necessarily 198 * the latest version of a template.</p> 199 */ WithVersion(const char * value)200 inline Template& WithVersion(const char* value) { SetVersion(value); return *this;} 201 202 private: 203 204 Aws::String m_name; 205 bool m_nameHasBeenSet; 206 207 Aws::String m_version; 208 bool m_versionHasBeenSet; 209 }; 210 211 } // namespace Model 212 } // namespace Pinpoint 213 } // namespace Aws 214