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/servicecatalog/ServiceCatalog_EXPORTS.h> 8 #include <aws/servicecatalog/model/ProductViewDetail.h> 9 #include <aws/servicecatalog/model/ProvisioningArtifactDetail.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/servicecatalog/model/Tag.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 template<typename RESULT_TYPE> 17 class AmazonWebServiceResult; 18 19 namespace Utils 20 { 21 namespace Json 22 { 23 class JsonValue; 24 } // namespace Json 25 } // namespace Utils 26 namespace ServiceCatalog 27 { 28 namespace Model 29 { 30 class AWS_SERVICECATALOG_API CreateProductResult 31 { 32 public: 33 CreateProductResult(); 34 CreateProductResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 CreateProductResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 36 37 38 /** 39 * <p>Information about the product view.</p> 40 */ GetProductViewDetail()41 inline const ProductViewDetail& GetProductViewDetail() const{ return m_productViewDetail; } 42 43 /** 44 * <p>Information about the product view.</p> 45 */ SetProductViewDetail(const ProductViewDetail & value)46 inline void SetProductViewDetail(const ProductViewDetail& value) { m_productViewDetail = value; } 47 48 /** 49 * <p>Information about the product view.</p> 50 */ SetProductViewDetail(ProductViewDetail && value)51 inline void SetProductViewDetail(ProductViewDetail&& value) { m_productViewDetail = std::move(value); } 52 53 /** 54 * <p>Information about the product view.</p> 55 */ WithProductViewDetail(const ProductViewDetail & value)56 inline CreateProductResult& WithProductViewDetail(const ProductViewDetail& value) { SetProductViewDetail(value); return *this;} 57 58 /** 59 * <p>Information about the product view.</p> 60 */ WithProductViewDetail(ProductViewDetail && value)61 inline CreateProductResult& WithProductViewDetail(ProductViewDetail&& value) { SetProductViewDetail(std::move(value)); return *this;} 62 63 64 /** 65 * <p>Information about the provisioning artifact. </p> 66 */ GetProvisioningArtifactDetail()67 inline const ProvisioningArtifactDetail& GetProvisioningArtifactDetail() const{ return m_provisioningArtifactDetail; } 68 69 /** 70 * <p>Information about the provisioning artifact. </p> 71 */ SetProvisioningArtifactDetail(const ProvisioningArtifactDetail & value)72 inline void SetProvisioningArtifactDetail(const ProvisioningArtifactDetail& value) { m_provisioningArtifactDetail = value; } 73 74 /** 75 * <p>Information about the provisioning artifact. </p> 76 */ SetProvisioningArtifactDetail(ProvisioningArtifactDetail && value)77 inline void SetProvisioningArtifactDetail(ProvisioningArtifactDetail&& value) { m_provisioningArtifactDetail = std::move(value); } 78 79 /** 80 * <p>Information about the provisioning artifact. </p> 81 */ WithProvisioningArtifactDetail(const ProvisioningArtifactDetail & value)82 inline CreateProductResult& WithProvisioningArtifactDetail(const ProvisioningArtifactDetail& value) { SetProvisioningArtifactDetail(value); return *this;} 83 84 /** 85 * <p>Information about the provisioning artifact. </p> 86 */ WithProvisioningArtifactDetail(ProvisioningArtifactDetail && value)87 inline CreateProductResult& WithProvisioningArtifactDetail(ProvisioningArtifactDetail&& value) { SetProvisioningArtifactDetail(std::move(value)); return *this;} 88 89 90 /** 91 * <p>Information about the tags associated with the product.</p> 92 */ GetTags()93 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 94 95 /** 96 * <p>Information about the tags associated with the product.</p> 97 */ SetTags(const Aws::Vector<Tag> & value)98 inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; } 99 100 /** 101 * <p>Information about the tags associated with the product.</p> 102 */ SetTags(Aws::Vector<Tag> && value)103 inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); } 104 105 /** 106 * <p>Information about the tags associated with the product.</p> 107 */ WithTags(const Aws::Vector<Tag> & value)108 inline CreateProductResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 109 110 /** 111 * <p>Information about the tags associated with the product.</p> 112 */ WithTags(Aws::Vector<Tag> && value)113 inline CreateProductResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 114 115 /** 116 * <p>Information about the tags associated with the product.</p> 117 */ AddTags(const Tag & value)118 inline CreateProductResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } 119 120 /** 121 * <p>Information about the tags associated with the product.</p> 122 */ AddTags(Tag && value)123 inline CreateProductResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } 124 125 private: 126 127 ProductViewDetail m_productViewDetail; 128 129 ProvisioningArtifactDetail m_provisioningArtifactDetail; 130 131 Aws::Vector<Tag> m_tags; 132 }; 133 134 } // namespace Model 135 } // namespace ServiceCatalog 136 } // namespace Aws 137