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/ecs/ECS_EXPORTS.h> 8 #include <aws/ecs/model/TaskDefinition.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/ecs/model/Tag.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 template<typename RESULT_TYPE> 16 class AmazonWebServiceResult; 17 18 namespace Utils 19 { 20 namespace Json 21 { 22 class JsonValue; 23 } // namespace Json 24 } // namespace Utils 25 namespace ECS 26 { 27 namespace Model 28 { 29 class AWS_ECS_API DescribeTaskDefinitionResult 30 { 31 public: 32 DescribeTaskDefinitionResult(); 33 DescribeTaskDefinitionResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 34 DescribeTaskDefinitionResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 36 37 /** 38 * <p>The full task definition description.</p> 39 */ GetTaskDefinition()40 inline const TaskDefinition& GetTaskDefinition() const{ return m_taskDefinition; } 41 42 /** 43 * <p>The full task definition description.</p> 44 */ SetTaskDefinition(const TaskDefinition & value)45 inline void SetTaskDefinition(const TaskDefinition& value) { m_taskDefinition = value; } 46 47 /** 48 * <p>The full task definition description.</p> 49 */ SetTaskDefinition(TaskDefinition && value)50 inline void SetTaskDefinition(TaskDefinition&& value) { m_taskDefinition = std::move(value); } 51 52 /** 53 * <p>The full task definition description.</p> 54 */ WithTaskDefinition(const TaskDefinition & value)55 inline DescribeTaskDefinitionResult& WithTaskDefinition(const TaskDefinition& value) { SetTaskDefinition(value); return *this;} 56 57 /** 58 * <p>The full task definition description.</p> 59 */ WithTaskDefinition(TaskDefinition && value)60 inline DescribeTaskDefinitionResult& WithTaskDefinition(TaskDefinition&& value) { SetTaskDefinition(std::move(value)); return *this;} 61 62 63 /** 64 * <p>The metadata that is applied to the task definition to help you categorize 65 * and organize them. Each tag consists of a key and an optional value, both of 66 * which you define.</p> <p>The following basic restrictions apply to tags:</p> 67 * <ul> <li> <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each 68 * resource, each tag key must be unique, and each tag key can have only one 69 * value.</p> </li> <li> <p>Maximum key length - 128 Unicode characters in 70 * UTF-8</p> </li> <li> <p>Maximum value length - 256 Unicode characters in 71 * UTF-8</p> </li> <li> <p>If your tagging schema is used across multiple services 72 * and resources, remember that other services may have restrictions on allowed 73 * characters. Generally allowed characters are: letters, numbers, and spaces 74 * representable in UTF-8, and the following characters: + - = . _ : / @.</p> </li> 75 * <li> <p>Tag keys and values are case-sensitive.</p> </li> <li> <p>Do not use 76 * <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of 77 * such as a prefix for either keys or values as it is reserved for Amazon Web 78 * Services use. You cannot edit or delete tag keys or values with this prefix. 79 * Tags with this prefix do not count against your tags per resource limit.</p> 80 * </li> </ul> 81 */ GetTags()82 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 83 84 /** 85 * <p>The metadata that is applied to the task definition to help you categorize 86 * and organize them. Each tag consists of a key and an optional value, both of 87 * which you define.</p> <p>The following basic restrictions apply to tags:</p> 88 * <ul> <li> <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each 89 * resource, each tag key must be unique, and each tag key can have only one 90 * value.</p> </li> <li> <p>Maximum key length - 128 Unicode characters in 91 * UTF-8</p> </li> <li> <p>Maximum value length - 256 Unicode characters in 92 * UTF-8</p> </li> <li> <p>If your tagging schema is used across multiple services 93 * and resources, remember that other services may have restrictions on allowed 94 * characters. Generally allowed characters are: letters, numbers, and spaces 95 * representable in UTF-8, and the following characters: + - = . _ : / @.</p> </li> 96 * <li> <p>Tag keys and values are case-sensitive.</p> </li> <li> <p>Do not use 97 * <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of 98 * such as a prefix for either keys or values as it is reserved for Amazon Web 99 * Services use. You cannot edit or delete tag keys or values with this prefix. 100 * Tags with this prefix do not count against your tags per resource limit.</p> 101 * </li> </ul> 102 */ SetTags(const Aws::Vector<Tag> & value)103 inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; } 104 105 /** 106 * <p>The metadata that is applied to the task definition to help you categorize 107 * and organize them. Each tag consists of a key and an optional value, both of 108 * which you define.</p> <p>The following basic restrictions apply to tags:</p> 109 * <ul> <li> <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each 110 * resource, each tag key must be unique, and each tag key can have only one 111 * value.</p> </li> <li> <p>Maximum key length - 128 Unicode characters in 112 * UTF-8</p> </li> <li> <p>Maximum value length - 256 Unicode characters in 113 * UTF-8</p> </li> <li> <p>If your tagging schema is used across multiple services 114 * and resources, remember that other services may have restrictions on allowed 115 * characters. Generally allowed characters are: letters, numbers, and spaces 116 * representable in UTF-8, and the following characters: + - = . _ : / @.</p> </li> 117 * <li> <p>Tag keys and values are case-sensitive.</p> </li> <li> <p>Do not use 118 * <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of 119 * such as a prefix for either keys or values as it is reserved for Amazon Web 120 * Services use. You cannot edit or delete tag keys or values with this prefix. 121 * Tags with this prefix do not count against your tags per resource limit.</p> 122 * </li> </ul> 123 */ SetTags(Aws::Vector<Tag> && value)124 inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); } 125 126 /** 127 * <p>The metadata that is applied to the task definition to help you categorize 128 * and organize them. Each tag consists of a key and an optional value, both of 129 * which you define.</p> <p>The following basic restrictions apply to tags:</p> 130 * <ul> <li> <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each 131 * resource, each tag key must be unique, and each tag key can have only one 132 * value.</p> </li> <li> <p>Maximum key length - 128 Unicode characters in 133 * UTF-8</p> </li> <li> <p>Maximum value length - 256 Unicode characters in 134 * UTF-8</p> </li> <li> <p>If your tagging schema is used across multiple services 135 * and resources, remember that other services may have restrictions on allowed 136 * characters. Generally allowed characters are: letters, numbers, and spaces 137 * representable in UTF-8, and the following characters: + - = . _ : / @.</p> </li> 138 * <li> <p>Tag keys and values are case-sensitive.</p> </li> <li> <p>Do not use 139 * <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of 140 * such as a prefix for either keys or values as it is reserved for Amazon Web 141 * Services use. You cannot edit or delete tag keys or values with this prefix. 142 * Tags with this prefix do not count against your tags per resource limit.</p> 143 * </li> </ul> 144 */ WithTags(const Aws::Vector<Tag> & value)145 inline DescribeTaskDefinitionResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 146 147 /** 148 * <p>The metadata that is applied to the task definition to help you categorize 149 * and organize them. Each tag consists of a key and an optional value, both of 150 * which you define.</p> <p>The following basic restrictions apply to tags:</p> 151 * <ul> <li> <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each 152 * resource, each tag key must be unique, and each tag key can have only one 153 * value.</p> </li> <li> <p>Maximum key length - 128 Unicode characters in 154 * UTF-8</p> </li> <li> <p>Maximum value length - 256 Unicode characters in 155 * UTF-8</p> </li> <li> <p>If your tagging schema is used across multiple services 156 * and resources, remember that other services may have restrictions on allowed 157 * characters. Generally allowed characters are: letters, numbers, and spaces 158 * representable in UTF-8, and the following characters: + - = . _ : / @.</p> </li> 159 * <li> <p>Tag keys and values are case-sensitive.</p> </li> <li> <p>Do not use 160 * <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of 161 * such as a prefix for either keys or values as it is reserved for Amazon Web 162 * Services use. You cannot edit or delete tag keys or values with this prefix. 163 * Tags with this prefix do not count against your tags per resource limit.</p> 164 * </li> </ul> 165 */ WithTags(Aws::Vector<Tag> && value)166 inline DescribeTaskDefinitionResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 167 168 /** 169 * <p>The metadata that is applied to the task definition to help you categorize 170 * and organize them. Each tag consists of a key and an optional value, both of 171 * which you define.</p> <p>The following basic restrictions apply to tags:</p> 172 * <ul> <li> <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each 173 * resource, each tag key must be unique, and each tag key can have only one 174 * value.</p> </li> <li> <p>Maximum key length - 128 Unicode characters in 175 * UTF-8</p> </li> <li> <p>Maximum value length - 256 Unicode characters in 176 * UTF-8</p> </li> <li> <p>If your tagging schema is used across multiple services 177 * and resources, remember that other services may have restrictions on allowed 178 * characters. Generally allowed characters are: letters, numbers, and spaces 179 * representable in UTF-8, and the following characters: + - = . _ : / @.</p> </li> 180 * <li> <p>Tag keys and values are case-sensitive.</p> </li> <li> <p>Do not use 181 * <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of 182 * such as a prefix for either keys or values as it is reserved for Amazon Web 183 * Services use. You cannot edit or delete tag keys or values with this prefix. 184 * Tags with this prefix do not count against your tags per resource limit.</p> 185 * </li> </ul> 186 */ AddTags(const Tag & value)187 inline DescribeTaskDefinitionResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } 188 189 /** 190 * <p>The metadata that is applied to the task definition to help you categorize 191 * and organize them. Each tag consists of a key and an optional value, both of 192 * which you define.</p> <p>The following basic restrictions apply to tags:</p> 193 * <ul> <li> <p>Maximum number of tags per resource - 50</p> </li> <li> <p>For each 194 * resource, each tag key must be unique, and each tag key can have only one 195 * value.</p> </li> <li> <p>Maximum key length - 128 Unicode characters in 196 * UTF-8</p> </li> <li> <p>Maximum value length - 256 Unicode characters in 197 * UTF-8</p> </li> <li> <p>If your tagging schema is used across multiple services 198 * and resources, remember that other services may have restrictions on allowed 199 * characters. Generally allowed characters are: letters, numbers, and spaces 200 * representable in UTF-8, and the following characters: + - = . _ : / @.</p> </li> 201 * <li> <p>Tag keys and values are case-sensitive.</p> </li> <li> <p>Do not use 202 * <code>aws:</code>, <code>AWS:</code>, or any upper or lowercase combination of 203 * such as a prefix for either keys or values as it is reserved for Amazon Web 204 * Services use. You cannot edit or delete tag keys or values with this prefix. 205 * Tags with this prefix do not count against your tags per resource limit.</p> 206 * </li> </ul> 207 */ AddTags(Tag && value)208 inline DescribeTaskDefinitionResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } 209 210 private: 211 212 TaskDefinition m_taskDefinition; 213 214 Aws::Vector<Tag> m_tags; 215 }; 216 217 } // namespace Model 218 } // namespace ECS 219 } // namespace Aws 220