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/ecr-public/ECRPublic_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace ECRPublic 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>The catalog data for a repository. This data is publicly visible in the 29 * Amazon ECR Public Gallery.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/ecr-public-2020-10-30/RepositoryCatalogData">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_ECRPUBLIC_API RepositoryCatalogData 34 { 35 public: 36 RepositoryCatalogData(); 37 RepositoryCatalogData(Aws::Utils::Json::JsonView jsonValue); 38 RepositoryCatalogData& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The short description of the repository.</p> 44 */ GetDescription()45 inline const Aws::String& GetDescription() const{ return m_description; } 46 47 /** 48 * <p>The short description of the repository.</p> 49 */ DescriptionHasBeenSet()50 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 51 52 /** 53 * <p>The short description of the repository.</p> 54 */ SetDescription(const Aws::String & value)55 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 56 57 /** 58 * <p>The short description of the repository.</p> 59 */ SetDescription(Aws::String && value)60 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 61 62 /** 63 * <p>The short description of the repository.</p> 64 */ SetDescription(const char * value)65 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 66 67 /** 68 * <p>The short description of the repository.</p> 69 */ WithDescription(const Aws::String & value)70 inline RepositoryCatalogData& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 71 72 /** 73 * <p>The short description of the repository.</p> 74 */ WithDescription(Aws::String && value)75 inline RepositoryCatalogData& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 76 77 /** 78 * <p>The short description of the repository.</p> 79 */ WithDescription(const char * value)80 inline RepositoryCatalogData& WithDescription(const char* value) { SetDescription(value); return *this;} 81 82 83 /** 84 * <p>The architecture tags that are associated with the repository.</p> 85 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 86 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 87 * 88 */ GetArchitectures()89 inline const Aws::Vector<Aws::String>& GetArchitectures() const{ return m_architectures; } 90 91 /** 92 * <p>The architecture tags that are associated with the repository.</p> 93 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 94 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 95 * 96 */ ArchitecturesHasBeenSet()97 inline bool ArchitecturesHasBeenSet() const { return m_architecturesHasBeenSet; } 98 99 /** 100 * <p>The architecture tags that are associated with the repository.</p> 101 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 102 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 103 * 104 */ SetArchitectures(const Aws::Vector<Aws::String> & value)105 inline void SetArchitectures(const Aws::Vector<Aws::String>& value) { m_architecturesHasBeenSet = true; m_architectures = value; } 106 107 /** 108 * <p>The architecture tags that are associated with the repository.</p> 109 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 110 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 111 * 112 */ SetArchitectures(Aws::Vector<Aws::String> && value)113 inline void SetArchitectures(Aws::Vector<Aws::String>&& value) { m_architecturesHasBeenSet = true; m_architectures = std::move(value); } 114 115 /** 116 * <p>The architecture tags that are associated with the repository.</p> 117 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 118 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 119 * 120 */ WithArchitectures(const Aws::Vector<Aws::String> & value)121 inline RepositoryCatalogData& WithArchitectures(const Aws::Vector<Aws::String>& value) { SetArchitectures(value); return *this;} 122 123 /** 124 * <p>The architecture tags that are associated with the repository.</p> 125 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 126 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 127 * 128 */ WithArchitectures(Aws::Vector<Aws::String> && value)129 inline RepositoryCatalogData& WithArchitectures(Aws::Vector<Aws::String>&& value) { SetArchitectures(std::move(value)); return *this;} 130 131 /** 132 * <p>The architecture tags that are associated with the repository.</p> 133 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 134 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 135 * 136 */ AddArchitectures(const Aws::String & value)137 inline RepositoryCatalogData& AddArchitectures(const Aws::String& value) { m_architecturesHasBeenSet = true; m_architectures.push_back(value); return *this; } 138 139 /** 140 * <p>The architecture tags that are associated with the repository.</p> 141 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 142 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 143 * 144 */ AddArchitectures(Aws::String && value)145 inline RepositoryCatalogData& AddArchitectures(Aws::String&& value) { m_architecturesHasBeenSet = true; m_architectures.push_back(std::move(value)); return *this; } 146 147 /** 148 * <p>The architecture tags that are associated with the repository.</p> 149 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 150 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 151 * 152 */ AddArchitectures(const char * value)153 inline RepositoryCatalogData& AddArchitectures(const char* value) { m_architecturesHasBeenSet = true; m_architectures.push_back(value); return *this; } 154 155 156 /** 157 * <p>The operating system tags that are associated with the repository.</p> 158 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 159 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 160 * 161 */ GetOperatingSystems()162 inline const Aws::Vector<Aws::String>& GetOperatingSystems() const{ return m_operatingSystems; } 163 164 /** 165 * <p>The operating system tags that are associated with the repository.</p> 166 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 167 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 168 * 169 */ OperatingSystemsHasBeenSet()170 inline bool OperatingSystemsHasBeenSet() const { return m_operatingSystemsHasBeenSet; } 171 172 /** 173 * <p>The operating system tags that are associated with the repository.</p> 174 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 175 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 176 * 177 */ SetOperatingSystems(const Aws::Vector<Aws::String> & value)178 inline void SetOperatingSystems(const Aws::Vector<Aws::String>& value) { m_operatingSystemsHasBeenSet = true; m_operatingSystems = value; } 179 180 /** 181 * <p>The operating system tags that are associated with the repository.</p> 182 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 183 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 184 * 185 */ SetOperatingSystems(Aws::Vector<Aws::String> && value)186 inline void SetOperatingSystems(Aws::Vector<Aws::String>&& value) { m_operatingSystemsHasBeenSet = true; m_operatingSystems = std::move(value); } 187 188 /** 189 * <p>The operating system tags that are associated with the repository.</p> 190 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 191 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 192 * 193 */ WithOperatingSystems(const Aws::Vector<Aws::String> & value)194 inline RepositoryCatalogData& WithOperatingSystems(const Aws::Vector<Aws::String>& value) { SetOperatingSystems(value); return *this;} 195 196 /** 197 * <p>The operating system tags that are associated with the repository.</p> 198 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 199 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 200 * 201 */ WithOperatingSystems(Aws::Vector<Aws::String> && value)202 inline RepositoryCatalogData& WithOperatingSystems(Aws::Vector<Aws::String>&& value) { SetOperatingSystems(std::move(value)); return *this;} 203 204 /** 205 * <p>The operating system tags that are associated with the repository.</p> 206 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 207 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 208 * 209 */ AddOperatingSystems(const Aws::String & value)210 inline RepositoryCatalogData& AddOperatingSystems(const Aws::String& value) { m_operatingSystemsHasBeenSet = true; m_operatingSystems.push_back(value); return *this; } 211 212 /** 213 * <p>The operating system tags that are associated with the repository.</p> 214 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 215 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 216 * 217 */ AddOperatingSystems(Aws::String && value)218 inline RepositoryCatalogData& AddOperatingSystems(Aws::String&& value) { m_operatingSystemsHasBeenSet = true; m_operatingSystems.push_back(std::move(value)); return *this; } 219 220 /** 221 * <p>The operating system tags that are associated with the repository.</p> 222 * <p>Only supported operating system tags appear publicly in the Amazon ECR Public 223 * Gallery. For more information, see <a>RepositoryCatalogDataInput</a>.</p> 224 * 225 */ AddOperatingSystems(const char * value)226 inline RepositoryCatalogData& AddOperatingSystems(const char* value) { m_operatingSystemsHasBeenSet = true; m_operatingSystems.push_back(value); return *this; } 227 228 229 /** 230 * <p>The URL containing the logo associated with the repository.</p> 231 */ GetLogoUrl()232 inline const Aws::String& GetLogoUrl() const{ return m_logoUrl; } 233 234 /** 235 * <p>The URL containing the logo associated with the repository.</p> 236 */ LogoUrlHasBeenSet()237 inline bool LogoUrlHasBeenSet() const { return m_logoUrlHasBeenSet; } 238 239 /** 240 * <p>The URL containing the logo associated with the repository.</p> 241 */ SetLogoUrl(const Aws::String & value)242 inline void SetLogoUrl(const Aws::String& value) { m_logoUrlHasBeenSet = true; m_logoUrl = value; } 243 244 /** 245 * <p>The URL containing the logo associated with the repository.</p> 246 */ SetLogoUrl(Aws::String && value)247 inline void SetLogoUrl(Aws::String&& value) { m_logoUrlHasBeenSet = true; m_logoUrl = std::move(value); } 248 249 /** 250 * <p>The URL containing the logo associated with the repository.</p> 251 */ SetLogoUrl(const char * value)252 inline void SetLogoUrl(const char* value) { m_logoUrlHasBeenSet = true; m_logoUrl.assign(value); } 253 254 /** 255 * <p>The URL containing the logo associated with the repository.</p> 256 */ WithLogoUrl(const Aws::String & value)257 inline RepositoryCatalogData& WithLogoUrl(const Aws::String& value) { SetLogoUrl(value); return *this;} 258 259 /** 260 * <p>The URL containing the logo associated with the repository.</p> 261 */ WithLogoUrl(Aws::String && value)262 inline RepositoryCatalogData& WithLogoUrl(Aws::String&& value) { SetLogoUrl(std::move(value)); return *this;} 263 264 /** 265 * <p>The URL containing the logo associated with the repository.</p> 266 */ WithLogoUrl(const char * value)267 inline RepositoryCatalogData& WithLogoUrl(const char* value) { SetLogoUrl(value); return *this;} 268 269 270 /** 271 * <p>The longform description of the contents of the repository. This text appears 272 * in the repository details on the Amazon ECR Public Gallery.</p> 273 */ GetAboutText()274 inline const Aws::String& GetAboutText() const{ return m_aboutText; } 275 276 /** 277 * <p>The longform description of the contents of the repository. This text appears 278 * in the repository details on the Amazon ECR Public Gallery.</p> 279 */ AboutTextHasBeenSet()280 inline bool AboutTextHasBeenSet() const { return m_aboutTextHasBeenSet; } 281 282 /** 283 * <p>The longform description of the contents of the repository. This text appears 284 * in the repository details on the Amazon ECR Public Gallery.</p> 285 */ SetAboutText(const Aws::String & value)286 inline void SetAboutText(const Aws::String& value) { m_aboutTextHasBeenSet = true; m_aboutText = value; } 287 288 /** 289 * <p>The longform description of the contents of the repository. This text appears 290 * in the repository details on the Amazon ECR Public Gallery.</p> 291 */ SetAboutText(Aws::String && value)292 inline void SetAboutText(Aws::String&& value) { m_aboutTextHasBeenSet = true; m_aboutText = std::move(value); } 293 294 /** 295 * <p>The longform description of the contents of the repository. This text appears 296 * in the repository details on the Amazon ECR Public Gallery.</p> 297 */ SetAboutText(const char * value)298 inline void SetAboutText(const char* value) { m_aboutTextHasBeenSet = true; m_aboutText.assign(value); } 299 300 /** 301 * <p>The longform description of the contents of the repository. This text appears 302 * in the repository details on the Amazon ECR Public Gallery.</p> 303 */ WithAboutText(const Aws::String & value)304 inline RepositoryCatalogData& WithAboutText(const Aws::String& value) { SetAboutText(value); return *this;} 305 306 /** 307 * <p>The longform description of the contents of the repository. This text appears 308 * in the repository details on the Amazon ECR Public Gallery.</p> 309 */ WithAboutText(Aws::String && value)310 inline RepositoryCatalogData& WithAboutText(Aws::String&& value) { SetAboutText(std::move(value)); return *this;} 311 312 /** 313 * <p>The longform description of the contents of the repository. This text appears 314 * in the repository details on the Amazon ECR Public Gallery.</p> 315 */ WithAboutText(const char * value)316 inline RepositoryCatalogData& WithAboutText(const char* value) { SetAboutText(value); return *this;} 317 318 319 /** 320 * <p>The longform usage details of the contents of the repository. The usage text 321 * provides context for users of the repository.</p> 322 */ GetUsageText()323 inline const Aws::String& GetUsageText() const{ return m_usageText; } 324 325 /** 326 * <p>The longform usage details of the contents of the repository. The usage text 327 * provides context for users of the repository.</p> 328 */ UsageTextHasBeenSet()329 inline bool UsageTextHasBeenSet() const { return m_usageTextHasBeenSet; } 330 331 /** 332 * <p>The longform usage details of the contents of the repository. The usage text 333 * provides context for users of the repository.</p> 334 */ SetUsageText(const Aws::String & value)335 inline void SetUsageText(const Aws::String& value) { m_usageTextHasBeenSet = true; m_usageText = value; } 336 337 /** 338 * <p>The longform usage details of the contents of the repository. The usage text 339 * provides context for users of the repository.</p> 340 */ SetUsageText(Aws::String && value)341 inline void SetUsageText(Aws::String&& value) { m_usageTextHasBeenSet = true; m_usageText = std::move(value); } 342 343 /** 344 * <p>The longform usage details of the contents of the repository. The usage text 345 * provides context for users of the repository.</p> 346 */ SetUsageText(const char * value)347 inline void SetUsageText(const char* value) { m_usageTextHasBeenSet = true; m_usageText.assign(value); } 348 349 /** 350 * <p>The longform usage details of the contents of the repository. The usage text 351 * provides context for users of the repository.</p> 352 */ WithUsageText(const Aws::String & value)353 inline RepositoryCatalogData& WithUsageText(const Aws::String& value) { SetUsageText(value); return *this;} 354 355 /** 356 * <p>The longform usage details of the contents of the repository. The usage text 357 * provides context for users of the repository.</p> 358 */ WithUsageText(Aws::String && value)359 inline RepositoryCatalogData& WithUsageText(Aws::String&& value) { SetUsageText(std::move(value)); return *this;} 360 361 /** 362 * <p>The longform usage details of the contents of the repository. The usage text 363 * provides context for users of the repository.</p> 364 */ WithUsageText(const char * value)365 inline RepositoryCatalogData& WithUsageText(const char* value) { SetUsageText(value); return *this;} 366 367 368 /** 369 * <p>Whether or not the repository is certified by AWS Marketplace.</p> 370 */ GetMarketplaceCertified()371 inline bool GetMarketplaceCertified() const{ return m_marketplaceCertified; } 372 373 /** 374 * <p>Whether or not the repository is certified by AWS Marketplace.</p> 375 */ MarketplaceCertifiedHasBeenSet()376 inline bool MarketplaceCertifiedHasBeenSet() const { return m_marketplaceCertifiedHasBeenSet; } 377 378 /** 379 * <p>Whether or not the repository is certified by AWS Marketplace.</p> 380 */ SetMarketplaceCertified(bool value)381 inline void SetMarketplaceCertified(bool value) { m_marketplaceCertifiedHasBeenSet = true; m_marketplaceCertified = value; } 382 383 /** 384 * <p>Whether or not the repository is certified by AWS Marketplace.</p> 385 */ WithMarketplaceCertified(bool value)386 inline RepositoryCatalogData& WithMarketplaceCertified(bool value) { SetMarketplaceCertified(value); return *this;} 387 388 private: 389 390 Aws::String m_description; 391 bool m_descriptionHasBeenSet; 392 393 Aws::Vector<Aws::String> m_architectures; 394 bool m_architecturesHasBeenSet; 395 396 Aws::Vector<Aws::String> m_operatingSystems; 397 bool m_operatingSystemsHasBeenSet; 398 399 Aws::String m_logoUrl; 400 bool m_logoUrlHasBeenSet; 401 402 Aws::String m_aboutText; 403 bool m_aboutTextHasBeenSet; 404 405 Aws::String m_usageText; 406 bool m_usageTextHasBeenSet; 407 408 bool m_marketplaceCertified; 409 bool m_marketplaceCertifiedHasBeenSet; 410 }; 411 412 } // namespace Model 413 } // namespace ECRPublic 414 } // namespace Aws 415