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/PortfolioDetail.h> 9 #include <aws/core/utils/memory/stl/AWSVector.h> 10 #include <aws/servicecatalog/model/Tag.h> 11 #include <aws/servicecatalog/model/TagOptionDetail.h> 12 #include <aws/servicecatalog/model/BudgetDetail.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 template<typename RESULT_TYPE> 18 class AmazonWebServiceResult; 19 20 namespace Utils 21 { 22 namespace Json 23 { 24 class JsonValue; 25 } // namespace Json 26 } // namespace Utils 27 namespace ServiceCatalog 28 { 29 namespace Model 30 { 31 class AWS_SERVICECATALOG_API DescribePortfolioResult 32 { 33 public: 34 DescribePortfolioResult(); 35 DescribePortfolioResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 36 DescribePortfolioResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 37 38 39 /** 40 * <p>Information about the portfolio.</p> 41 */ GetPortfolioDetail()42 inline const PortfolioDetail& GetPortfolioDetail() const{ return m_portfolioDetail; } 43 44 /** 45 * <p>Information about the portfolio.</p> 46 */ SetPortfolioDetail(const PortfolioDetail & value)47 inline void SetPortfolioDetail(const PortfolioDetail& value) { m_portfolioDetail = value; } 48 49 /** 50 * <p>Information about the portfolio.</p> 51 */ SetPortfolioDetail(PortfolioDetail && value)52 inline void SetPortfolioDetail(PortfolioDetail&& value) { m_portfolioDetail = std::move(value); } 53 54 /** 55 * <p>Information about the portfolio.</p> 56 */ WithPortfolioDetail(const PortfolioDetail & value)57 inline DescribePortfolioResult& WithPortfolioDetail(const PortfolioDetail& value) { SetPortfolioDetail(value); return *this;} 58 59 /** 60 * <p>Information about the portfolio.</p> 61 */ WithPortfolioDetail(PortfolioDetail && value)62 inline DescribePortfolioResult& WithPortfolioDetail(PortfolioDetail&& value) { SetPortfolioDetail(std::move(value)); return *this;} 63 64 65 /** 66 * <p>Information about the tags associated with the portfolio.</p> 67 */ GetTags()68 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 69 70 /** 71 * <p>Information about the tags associated with the portfolio.</p> 72 */ SetTags(const Aws::Vector<Tag> & value)73 inline void SetTags(const Aws::Vector<Tag>& value) { m_tags = value; } 74 75 /** 76 * <p>Information about the tags associated with the portfolio.</p> 77 */ SetTags(Aws::Vector<Tag> && value)78 inline void SetTags(Aws::Vector<Tag>&& value) { m_tags = std::move(value); } 79 80 /** 81 * <p>Information about the tags associated with the portfolio.</p> 82 */ WithTags(const Aws::Vector<Tag> & value)83 inline DescribePortfolioResult& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 84 85 /** 86 * <p>Information about the tags associated with the portfolio.</p> 87 */ WithTags(Aws::Vector<Tag> && value)88 inline DescribePortfolioResult& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 89 90 /** 91 * <p>Information about the tags associated with the portfolio.</p> 92 */ AddTags(const Tag & value)93 inline DescribePortfolioResult& AddTags(const Tag& value) { m_tags.push_back(value); return *this; } 94 95 /** 96 * <p>Information about the tags associated with the portfolio.</p> 97 */ AddTags(Tag && value)98 inline DescribePortfolioResult& AddTags(Tag&& value) { m_tags.push_back(std::move(value)); return *this; } 99 100 101 /** 102 * <p>Information about the TagOptions associated with the portfolio.</p> 103 */ GetTagOptions()104 inline const Aws::Vector<TagOptionDetail>& GetTagOptions() const{ return m_tagOptions; } 105 106 /** 107 * <p>Information about the TagOptions associated with the portfolio.</p> 108 */ SetTagOptions(const Aws::Vector<TagOptionDetail> & value)109 inline void SetTagOptions(const Aws::Vector<TagOptionDetail>& value) { m_tagOptions = value; } 110 111 /** 112 * <p>Information about the TagOptions associated with the portfolio.</p> 113 */ SetTagOptions(Aws::Vector<TagOptionDetail> && value)114 inline void SetTagOptions(Aws::Vector<TagOptionDetail>&& value) { m_tagOptions = std::move(value); } 115 116 /** 117 * <p>Information about the TagOptions associated with the portfolio.</p> 118 */ WithTagOptions(const Aws::Vector<TagOptionDetail> & value)119 inline DescribePortfolioResult& WithTagOptions(const Aws::Vector<TagOptionDetail>& value) { SetTagOptions(value); return *this;} 120 121 /** 122 * <p>Information about the TagOptions associated with the portfolio.</p> 123 */ WithTagOptions(Aws::Vector<TagOptionDetail> && value)124 inline DescribePortfolioResult& WithTagOptions(Aws::Vector<TagOptionDetail>&& value) { SetTagOptions(std::move(value)); return *this;} 125 126 /** 127 * <p>Information about the TagOptions associated with the portfolio.</p> 128 */ AddTagOptions(const TagOptionDetail & value)129 inline DescribePortfolioResult& AddTagOptions(const TagOptionDetail& value) { m_tagOptions.push_back(value); return *this; } 130 131 /** 132 * <p>Information about the TagOptions associated with the portfolio.</p> 133 */ AddTagOptions(TagOptionDetail && value)134 inline DescribePortfolioResult& AddTagOptions(TagOptionDetail&& value) { m_tagOptions.push_back(std::move(value)); return *this; } 135 136 137 /** 138 * <p>Information about the associated budgets.</p> 139 */ GetBudgets()140 inline const Aws::Vector<BudgetDetail>& GetBudgets() const{ return m_budgets; } 141 142 /** 143 * <p>Information about the associated budgets.</p> 144 */ SetBudgets(const Aws::Vector<BudgetDetail> & value)145 inline void SetBudgets(const Aws::Vector<BudgetDetail>& value) { m_budgets = value; } 146 147 /** 148 * <p>Information about the associated budgets.</p> 149 */ SetBudgets(Aws::Vector<BudgetDetail> && value)150 inline void SetBudgets(Aws::Vector<BudgetDetail>&& value) { m_budgets = std::move(value); } 151 152 /** 153 * <p>Information about the associated budgets.</p> 154 */ WithBudgets(const Aws::Vector<BudgetDetail> & value)155 inline DescribePortfolioResult& WithBudgets(const Aws::Vector<BudgetDetail>& value) { SetBudgets(value); return *this;} 156 157 /** 158 * <p>Information about the associated budgets.</p> 159 */ WithBudgets(Aws::Vector<BudgetDetail> && value)160 inline DescribePortfolioResult& WithBudgets(Aws::Vector<BudgetDetail>&& value) { SetBudgets(std::move(value)); return *this;} 161 162 /** 163 * <p>Information about the associated budgets.</p> 164 */ AddBudgets(const BudgetDetail & value)165 inline DescribePortfolioResult& AddBudgets(const BudgetDetail& value) { m_budgets.push_back(value); return *this; } 166 167 /** 168 * <p>Information about the associated budgets.</p> 169 */ AddBudgets(BudgetDetail && value)170 inline DescribePortfolioResult& AddBudgets(BudgetDetail&& value) { m_budgets.push_back(std::move(value)); return *this; } 171 172 private: 173 174 PortfolioDetail m_portfolioDetail; 175 176 Aws::Vector<Tag> m_tags; 177 178 Aws::Vector<TagOptionDetail> m_tagOptions; 179 180 Aws::Vector<BudgetDetail> m_budgets; 181 }; 182 183 } // namespace Model 184 } // namespace ServiceCatalog 185 } // namespace Aws 186