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/core/utils/memory/stl/AWSVector.h> 10 #include <aws/servicecatalog/model/ProvisioningArtifactSummary.h> 11 #include <aws/servicecatalog/model/Tag.h> 12 #include <aws/servicecatalog/model/TagOptionDetail.h> 13 #include <aws/servicecatalog/model/BudgetDetail.h> 14 #include <utility> 15 16 namespace Aws 17 { 18 template<typename RESULT_TYPE> 19 class AmazonWebServiceResult; 20 21 namespace Utils 22 { 23 namespace Json 24 { 25 class JsonValue; 26 } // namespace Json 27 } // namespace Utils 28 namespace ServiceCatalog 29 { 30 namespace Model 31 { 32 class AWS_SERVICECATALOG_API DescribeProductAsAdminResult 33 { 34 public: 35 DescribeProductAsAdminResult(); 36 DescribeProductAsAdminResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 37 DescribeProductAsAdminResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 38 39 40 /** 41 * <p>Information about the product view.</p> 42 */ GetProductViewDetail()43 inline const ProductViewDetail& GetProductViewDetail() const{ return m_productViewDetail; } 44 45 /** 46 * <p>Information about the product view.</p> 47 */ SetProductViewDetail(const ProductViewDetail & value)48 inline void SetProductViewDetail(const ProductViewDetail& value) { m_productViewDetail = value; } 49 50 /** 51 * <p>Information about the product view.</p> 52 */ SetProductViewDetail(ProductViewDetail && value)53 inline void SetProductViewDetail(ProductViewDetail&& value) { m_productViewDetail = std::move(value); } 54 55 /** 56 * <p>Information about the product view.</p> 57 */ WithProductViewDetail(const ProductViewDetail & value)58 inline DescribeProductAsAdminResult& WithProductViewDetail(const ProductViewDetail& value) { SetProductViewDetail(value); return *this;} 59 60 /** 61 * <p>Information about the product view.</p> 62 */ WithProductViewDetail(ProductViewDetail && value)63 inline DescribeProductAsAdminResult& WithProductViewDetail(ProductViewDetail&& value) { SetProductViewDetail(std::move(value)); return *this;} 64 65 66 /** 67 * <p>Information about the provisioning artifacts (also known as versions) for the 68 * specified product.</p> 69 */ GetProvisioningArtifactSummaries()70 inline const Aws::Vector<ProvisioningArtifactSummary>& GetProvisioningArtifactSummaries() const{ return m_provisioningArtifactSummaries; } 71 72 /** 73 * <p>Information about the provisioning artifacts (also known as versions) for the 74 * specified product.</p> 75 */ SetProvisioningArtifactSummaries(const Aws::Vector<ProvisioningArtifactSummary> & value)76 inline void SetProvisioningArtifactSummaries(const Aws::Vector<ProvisioningArtifactSummary>& value) { m_provisioningArtifactSummaries = value; } 77 78 /** 79 * <p>Information about the provisioning artifacts (also known as versions) for the 80 * specified product.</p> 81 */ SetProvisioningArtifactSummaries(Aws::Vector<ProvisioningArtifactSummary> && value)82 inline void SetProvisioningArtifactSummaries(Aws::Vector<ProvisioningArtifactSummary>&& value) { m_provisioningArtifactSummaries = std::move(value); } 83 84 /** 85 * <p>Information about the provisioning artifacts (also known as versions) for the 86 * specified product.</p> 87 */ WithProvisioningArtifactSummaries(const Aws::Vector<ProvisioningArtifactSummary> & value)88 inline DescribeProductAsAdminResult& WithProvisioningArtifactSummaries(const Aws::Vector<ProvisioningArtifactSummary>& value) { SetProvisioningArtifactSummaries(value); return *this;} 89 90 /** 91 * <p>Information about the provisioning artifacts (also known as versions) for the 92 * specified product.</p> 93 */ WithProvisioningArtifactSummaries(Aws::Vector<ProvisioningArtifactSummary> && value)94 inline DescribeProductAsAdminResult& WithProvisioningArtifactSummaries(Aws::Vector<ProvisioningArtifactSummary>&& value) { SetProvisioningArtifactSummaries(std::move(value)); return *this;} 95 96 /** 97 * <p>Information about the provisioning artifacts (also known as versions) for the 98 * specified product.</p> 99 */ AddProvisioningArtifactSummaries(const ProvisioningArtifactSummary & value)100 inline DescribeProductAsAdminResult& AddProvisioningArtifactSummaries(const ProvisioningArtifactSummary& value) { m_provisioningArtifactSummaries.push_back(value); return *this; } 101 102 /** 103 * <p>Information about the provisioning artifacts (also known as versions) for the 104 * specified product.</p> 105 */ AddProvisioningArtifactSummaries(ProvisioningArtifactSummary && value)106 inline DescribeProductAsAdminResult& AddProvisioningArtifactSummaries(ProvisioningArtifactSummary&& value) { m_provisioningArtifactSummaries.push_back(std::move(value)); return *this; } 107 108 109 /** 110 * <p>Information about the tags associated with the product.</p> 111 */ GetTags()112 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 113 114 /** 115 * <p>Information about the tags associated with the product.</p> 116 */ SetTags(const Aws::Vector<Tag> & value)117 inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; } 118 119 /** 120 * <p>Information about the tags associated with the product.</p> 121 */ SetTags(Aws::Vector<Tag> && value)122 inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); } 123 124 /** 125 * <p>Information about the tags associated with the product.</p> 126 */ WithTags(const Aws::Vector<Tag> & value)127 inline DescribeProductAsAdminResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 128 129 /** 130 * <p>Information about the tags associated with the product.</p> 131 */ WithTags(Aws::Vector<Tag> && value)132 inline DescribeProductAsAdminResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 133 134 /** 135 * <p>Information about the tags associated with the product.</p> 136 */ AddTags(const Tag & value)137 inline DescribeProductAsAdminResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } 138 139 /** 140 * <p>Information about the tags associated with the product.</p> 141 */ AddTags(Tag && value)142 inline DescribeProductAsAdminResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } 143 144 145 /** 146 * <p>Information about the TagOptions associated with the product.</p> 147 */ GetTagOptions()148 inline const Aws::Vector<TagOptionDetail>& GetTagOptions() const{ return m_tagOptions; } 149 150 /** 151 * <p>Information about the TagOptions associated with the product.</p> 152 */ SetTagOptions(const Aws::Vector<TagOptionDetail> & value)153 inline void SetTagOptions(const Aws::Vector<TagOptionDetail>& value) { m_tagOptions = value; } 154 155 /** 156 * <p>Information about the TagOptions associated with the product.</p> 157 */ SetTagOptions(Aws::Vector<TagOptionDetail> && value)158 inline void SetTagOptions(Aws::Vector<TagOptionDetail>&& value) { m_tagOptions = std::move(value); } 159 160 /** 161 * <p>Information about the TagOptions associated with the product.</p> 162 */ WithTagOptions(const Aws::Vector<TagOptionDetail> & value)163 inline DescribeProductAsAdminResult& WithTagOptions(const Aws::Vector<TagOptionDetail>& value) { SetTagOptions(value); return *this;} 164 165 /** 166 * <p>Information about the TagOptions associated with the product.</p> 167 */ WithTagOptions(Aws::Vector<TagOptionDetail> && value)168 inline DescribeProductAsAdminResult& WithTagOptions(Aws::Vector<TagOptionDetail>&& value) { SetTagOptions(std::move(value)); return *this;} 169 170 /** 171 * <p>Information about the TagOptions associated with the product.</p> 172 */ AddTagOptions(const TagOptionDetail & value)173 inline DescribeProductAsAdminResult& AddTagOptions(const TagOptionDetail& value) { m_tagOptions.push_back(value); return *this; } 174 175 /** 176 * <p>Information about the TagOptions associated with the product.</p> 177 */ AddTagOptions(TagOptionDetail && value)178 inline DescribeProductAsAdminResult& AddTagOptions(TagOptionDetail&& value) { m_tagOptions.push_back(std::move(value)); return *this; } 179 180 181 /** 182 * <p>Information about the associated budgets.</p> 183 */ GetBudgets()184 inline const Aws::Vector<BudgetDetail>& GetBudgets() const{ return m_budgets; } 185 186 /** 187 * <p>Information about the associated budgets.</p> 188 */ SetBudgets(const Aws::Vector<BudgetDetail> & value)189 inline void SetBudgets(const Aws::Vector<BudgetDetail>& value) { m_budgets = value; } 190 191 /** 192 * <p>Information about the associated budgets.</p> 193 */ SetBudgets(Aws::Vector<BudgetDetail> && value)194 inline void SetBudgets(Aws::Vector<BudgetDetail>&& value) { m_budgets = std::move(value); } 195 196 /** 197 * <p>Information about the associated budgets.</p> 198 */ WithBudgets(const Aws::Vector<BudgetDetail> & value)199 inline DescribeProductAsAdminResult& WithBudgets(const Aws::Vector<BudgetDetail>& value) { SetBudgets(value); return *this;} 200 201 /** 202 * <p>Information about the associated budgets.</p> 203 */ WithBudgets(Aws::Vector<BudgetDetail> && value)204 inline DescribeProductAsAdminResult& WithBudgets(Aws::Vector<BudgetDetail>&& value) { SetBudgets(std::move(value)); return *this;} 205 206 /** 207 * <p>Information about the associated budgets.</p> 208 */ AddBudgets(const BudgetDetail & value)209 inline DescribeProductAsAdminResult& AddBudgets(const BudgetDetail& value) { m_budgets.push_back(value); return *this; } 210 211 /** 212 * <p>Information about the associated budgets.</p> 213 */ AddBudgets(BudgetDetail && value)214 inline DescribeProductAsAdminResult& AddBudgets(BudgetDetail&& value) { m_budgets.push_back(std::move(value)); return *this; } 215 216 private: 217 218 ProductViewDetail m_productViewDetail; 219 220 Aws::Vector<ProvisioningArtifactSummary> m_provisioningArtifactSummaries; 221 222 Aws::Vector<Tag> m_tags; 223 224 Aws::Vector<TagOptionDetail> m_tagOptions; 225 226 Aws::Vector<BudgetDetail> m_budgets; 227 }; 228 229 } // namespace Model 230 } // namespace ServiceCatalog 231 } // namespace Aws 232